.tekgen-ui-page{overflow:hidden;background:var(--tekgen-ui-canvas);color:var(--tekgen-ui-charcoal);font-family:Inter,Arial,sans-serif;line-height:1.5}
.tekgen-ui-page *,.tekgen-ui-page *::before,.tekgen-ui-page *::after{box-sizing:border-box}
.tekgen-ui-page :is(h1,h2,h3,p,figure){margin:0}.tekgen-ui-page img{display:block;max-width:100%}
.tekgen-ui-container{width:min(calc(100% - 48px),var(--tekgen-ui-container));margin-inline:auto}
.tekgen-ui-section{padding:64px 0}.tekgen-ui-section--subtle{background:var(--tekgen-ui-subtle)}.tekgen-ui-section--compact{padding-top:24px}.tekgen-ui-section--strip{padding:0 0 56px}
.tekgen-ui-page h1{font-size:clamp(40px,4vw,56px);line-height:1.13;font-weight:700;letter-spacing:-.025em}.tekgen-ui-page h2{font-size:clamp(32px,3vw,40px);line-height:1.2;font-weight:700;letter-spacing:-.018em}.tekgen-ui-page h3{font-size:18px;line-height:1.35;font-weight:650}.tekgen-ui-page p{color:var(--tekgen-ui-muted);font-size:16px;line-height:1.6}.tekgen-ui-lead{max-width:610px;margin-top:16px!important;font-size:17px!important}
.tekgen-ui-eyebrow{margin-bottom:12px!important;color:var(--tekgen-ui-green)!important;font-size:12px!important;line-height:1.25!important;font-weight:800!important;letter-spacing:.055em!important;text-transform:uppercase}
.tekgen-ui-actions{display:flex;flex-wrap:wrap;gap:12px}.tekgen-ui-button,.tekgen-ui-button:visited{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding:12px 20px;border:1px solid var(--tekgen-ui-deep);border-radius:var(--tekgen-ui-radius-control);background:var(--tekgen-ui-deep);color:#fff!important;font-size:15px;font-weight:650;text-decoration:none!important;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.tekgen-ui-button svg,.tekgen-ui-page article>a svg,.tekgen-ui-category__link svg{width:18px;height:18px}.tekgen-ui-button:hover{border-color:var(--tekgen-ui-green);background:var(--tekgen-ui-green);color:var(--tekgen-ui-deep)!important;transform:translateY(-1px)}.tekgen-ui-button--secondary,.tekgen-ui-button--secondary:visited{border-color:var(--tekgen-ui-border);background:#fff;color:var(--tekgen-ui-deep)!important}.tekgen-ui-button--light,.tekgen-ui-button--light:visited{border-color:#fff;background:#fff;color:var(--tekgen-ui-deep)!important}.tekgen-ui-button--outline,.tekgen-ui-button--outline:visited{border-color:rgba(255,255,255,.7);background:transparent;color:#fff!important}.tekgen-ui-button--disabled{pointer-events:none;opacity:.65}.tekgen-ui-page :is(a,button,input,select):focus-visible{outline:3px solid var(--tekgen-ui-lime);outline-offset:3px}

.tekgen-ui-hero{background:var(--tekgen-ui-deep);color:#fff}.tekgen-ui-hero__grid{display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);align-items:center;gap:clamp(28px,3.5vw,56px);padding-block:50px 70px}.tekgen-ui-hero__copy{max-width:580px}.tekgen-ui-hero h1{color:#fff}.tekgen-ui-hero__copy>p:not(.tekgen-ui-eyebrow){max-width:530px;margin-top:20px;color:rgba(255,255,255,.78);font-size:18px}.tekgen-ui-hero__media{height:clamp(365px,31vw,460px);overflow:hidden;border-radius:10px 0 0 10px;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.tekgen-ui-hero__media img{width:100%;height:100%;object-fit:cover}

.tekgen-ui-why{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);overflow:hidden;border:1px solid var(--tekgen-ui-border);border-radius:var(--tekgen-ui-radius-card);background:#fff;box-shadow:var(--tekgen-ui-shadow)}.tekgen-ui-why__copy{padding:40px}.tekgen-ui-values{position:relative;display:grid;margin-top:28px}.tekgen-ui-values::before{content:"";position:absolute;top:20px;bottom:20px;left:19px;width:1px;background:rgba(72,174,80,.45)}.tekgen-ui-value{position:relative;display:grid;grid-template-columns:40px 1fr;gap:16px;padding-bottom:16px}.tekgen-ui-value:last-child{padding-bottom:0}.tekgen-ui-icon{position:relative;z-index:1;display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--tekgen-ui-border);border-radius:50%;background:var(--tekgen-ui-subtle);color:var(--tekgen-ui-green)}.tekgen-ui-icon svg{width:19px;height:19px}.tekgen-ui-value>div{padding-bottom:15px;border-bottom:1px solid var(--tekgen-ui-border)}.tekgen-ui-value:last-child>div{padding-bottom:0;border:0}.tekgen-ui-value p{margin-top:5px!important;font-size:13px!important}.tekgen-ui-why__stats{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:34px 38px;background:var(--tekgen-ui-deep)}.tekgen-ui-why__stats-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding-bottom:18px;color:#fff}.tekgen-ui-why__stats-head span{color:var(--tekgen-ui-lime);font-size:12px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.tekgen-ui-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.tekgen-ui-stat{display:flex;min-height:144px;flex-direction:column;align-items:center;justify-content:center;padding:18px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);text-align:center}.tekgen-ui-stat svg{width:26px;height:26px;margin-bottom:8px;color:var(--tekgen-ui-green)}.tekgen-ui-stat strong{color:var(--tekgen-ui-lime);font-size:30px;line-height:1.1}.tekgen-ui-stat span{margin-top:7px;color:#fff;font-size:13px;font-weight:600}

.tekgen-ui-category-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;align-items:start}.tekgen-ui-section-intro{padding-top:8px}.tekgen-ui-mosaic{display:grid;grid-template-columns:1.18fr repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,170px);gap:14px}.tekgen-ui-category{position:relative;display:flex;min-width:0;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:20px;border:1px solid var(--tekgen-ui-border);border-radius:var(--tekgen-ui-radius-card);background:linear-gradient(145deg,#26424b,#172d35);color:#fff!important;text-decoration:none!important;box-shadow:0 6px 20px rgba(31,42,48,.09);isolation:isolate;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tekgen-ui-category__media{position:absolute;inset:0;z-index:-2}.tekgen-ui-category__media img{width:100%;height:100%;object-fit:cover;object-position:var(--tekgen-ui-image-position,center);transition:transform .4s ease}.tekgen-ui-category::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(9,27,33,.02) 18%,rgba(7,24,30,.92) 100%)}.tekgen-ui-category--fallback::after{background:radial-gradient(circle at 85% 12%,rgba(172,207,56,.22),transparent 34%),linear-gradient(145deg,rgba(45,101,117,.2),rgba(13,35,43,.92))}.tekgen-ui-category--anchor{grid-row:1/span 3;background:var(--tekgen-ui-deep)}.tekgen-ui-category--anchor::after{background:linear-gradient(180deg,rgba(12,29,35,.03),rgba(12,29,35,.96) 88%)}.tekgen-ui-category:hover{transform:translateY(-3px);border-color:rgba(72,174,80,.7);box-shadow:var(--tekgen-ui-shadow-hover)}.tekgen-ui-category:hover .tekgen-ui-category__media img{transform:scale(1.035)}.tekgen-ui-category__content{position:relative;z-index:1}.tekgen-ui-category__count{display:block;margin-bottom:7px;color:var(--tekgen-ui-lime);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.tekgen-ui-category h3{margin:0!important;color:inherit;font-size:16px;text-shadow:0 1px 10px rgba(0,0,0,.2)}.tekgen-ui-category--anchor h3{font-size:24px}.tekgen-ui-category__link{display:flex;align-items:center;gap:6px;margin-top:12px;color:#d8ee8b;font-size:13px;font-weight:750}.tekgen-ui-category__link svg{stroke:currentColor}
.tekgen-ui-delivery{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--tekgen-ui-border);border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(31,42,48,.03)}.tekgen-ui-delivery strong{display:block;font-size:15px}.tekgen-ui-delivery p{margin-top:2px!important;font-size:13px!important}.tekgen-ui-delivery>a{display:inline-flex;align-items:center;gap:7px;color:#365f39!important;font-size:13px;font-weight:750;text-decoration:none!important}.tekgen-ui-delivery>a svg{width:17px;height:17px}

.tekgen-ui-feature{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);overflow:hidden;border:1px solid var(--tekgen-ui-border);border-radius:var(--tekgen-ui-radius-media);background:#fff;box-shadow:var(--tekgen-ui-shadow)}.tekgen-ui-feature__copy{display:flex;min-height:430px;flex-direction:column;align-items:flex-start;justify-content:center;padding:48px}.tekgen-ui-feature__copy>p:not(.tekgen-ui-eyebrow){max-width:560px;margin-top:16px}.tekgen-ui-feature__price{margin-top:18px;color:var(--tekgen-ui-deep);font-size:20px;font-weight:800}.tekgen-ui-feature__media{min-height:430px;background:var(--tekgen-ui-deep);overflow:hidden}.tekgen-ui-feature__media img{width:100%;height:100%;object-fit:cover}.tekgen-ui-feature__media--fixture{display:grid;place-items:center;background:linear-gradient(135deg,var(--tekgen-ui-deep),var(--tekgen-ui-teal));color:rgba(255,255,255,.8);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tekgen-ui-fixture{position:relative}.tekgen-ui-fixture::before{content:"Private preview fixture";position:absolute;top:14px;right:20px;z-index:4;padding:5px 9px;border-radius:4px;background:#fff6d6;color:#6a5315;font-size:11px;font-weight:750}.tekgen-ui-fixture-note{margin-top:18px!important;padding:12px 14px;border-left:3px solid var(--tekgen-ui-lime);background:#fff;color:var(--tekgen-ui-muted)!important;font-size:13px!important}

.tekgen-ui-corporate{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px;align-items:center}.tekgen-ui-corporate__points{display:grid;gap:14px}.tekgen-ui-corporate__points article{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px;border:1px solid var(--tekgen-ui-border);border-radius:var(--tekgen-ui-radius-card);background:#fff}.tekgen-ui-corporate__points p{margin-top:4px!important;font-size:14px!important}
.tekgen-ui-section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:30px}.tekgen-ui-recognition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.tekgen-ui-recognition-grid article{display:flex;min-height:245px;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--tekgen-ui-border);border-radius:var(--tekgen-ui-radius-card);background:#fff;box-shadow:0 4px 14px rgba(31,42,48,.04)}.tekgen-ui-recognition__mark{display:grid;min-width:74px;height:52px;margin-bottom:24px;place-items:center;border-radius:6px;background:var(--tekgen-ui-subtle);color:var(--tekgen-ui-deep);font-size:16px;font-weight:850}.tekgen-ui-recognition-grid p{margin-top:8px!important;font-size:13px!important}.tekgen-ui-recognition-grid article>a,.tekgen-ui-upcoming-grid article>a,.tekgen-ui-programme-card>div>a{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:18px;color:#365f39!important;font-size:13px;font-weight:750;text-decoration:none!important}
.tekgen-ui-upcoming-grid,.tekgen-ui-review-grid,.tekgen-ui-programme-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tekgen-ui-upcoming-grid article,.tekgen-ui-review-grid article{display:flex;min-height:230px;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid var(--tekgen-ui-border);border-radius:var(--tekgen-ui-radius-card);background:#fff;box-shadow:0 4px 14px rgba(31,42,48,.04)}.tekgen-ui-upcoming-grid article>p:not(.tekgen-ui-eyebrow){margin-top:9px;font-size:14px}.tekgen-ui-price{margin-top:14px;color:var(--tekgen-ui-deep);font-weight:800}.tekgen-ui-empty{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;min-height:180px;padding:30px;border:1px solid var(--tekgen-ui-border);border-left:4px solid var(--tekgen-ui-lime);border-radius:var(--tekgen-ui-radius-card);background:#fff;box-shadow:var(--tekgen-ui-shadow)}.tekgen-ui-empty h3{font-size:24px}.tekgen-ui-empty p:not(.tekgen-ui-eyebrow){margin-top:7px}.tekgen-ui-empty .tekgen-ui-button{margin-top:0}
.tekgen-ui-review-grid article>span{color:var(--tekgen-ui-green);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tekgen-ui-review-grid article>div{display:grid;width:100%;gap:7px;margin:24px 0}.tekgen-ui-review-grid i{height:8px;border-radius:4px;background:var(--tekgen-ui-subtle)}.tekgen-ui-review-grid i:nth-child(2){width:87%}.tekgen-ui-review-grid i:nth-child(3){width:66%}.tekgen-ui-review-grid small{margin-top:auto;padding-top:18px;color:var(--tekgen-ui-muted)}
.tekgen-ui-guidance{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:28px 32px;border-radius:var(--tekgen-ui-radius-card);background:var(--tekgen-ui-deep)}.tekgen-ui-guidance__icon{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:rgba(72,174,80,.18);color:var(--tekgen-ui-lime)}.tekgen-ui-guidance__icon svg{width:28px;height:28px}.tekgen-ui-guidance h2{color:#fff;font-size:24px}.tekgen-ui-guidance p:not(.tekgen-ui-eyebrow){margin-top:5px;color:rgba(255,255,255,.72);font-size:14px}.tekgen-ui-guidance .tekgen-ui-eyebrow{margin-bottom:4px!important;color:var(--tekgen-ui-lime)!important}.tekgen-ui-guidance .tekgen-ui-button{margin-top:0;white-space:nowrap}

.tekgen-ui-awarding-hero{padding:64px 0 76px;background:var(--tekgen-ui-deep);color:#fff}.tekgen-ui-awarding-hero nav{display:flex;gap:8px;margin-bottom:42px;color:rgba(255,255,255,.65);font-size:13px}.tekgen-ui-awarding-hero nav a{color:rgba(255,255,255,.78)!important;text-decoration:none}.tekgen-ui-awarding-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:60px;align-items:center}.tekgen-ui-awarding-hero h1{color:#fff}.tekgen-ui-awarding-hero h1 span{color:var(--tekgen-ui-lime)}.tekgen-ui-awarding-hero__grid>div:first-child>p:not(.tekgen-ui-eyebrow){max-width:620px;margin-top:20px;color:rgba(255,255,255,.76);font-size:18px}.tekgen-ui-awarding-hero__mark{position:relative;display:grid;height:280px;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:radial-gradient(circle,rgba(72,174,80,.18),transparent 62%)}.tekgen-ui-awarding-hero__mark span{position:relative;z-index:2;color:#fff;font-size:44px;font-weight:800}.tekgen-ui-awarding-hero__mark i{position:absolute;inset:50%;width:220px;height:220px;border:1px solid rgba(172,207,56,.32);border-radius:50%;transform:translate(-50%,-50%)}.tekgen-ui-awarding-hero__mark i:nth-of-type(2){width:300px;height:180px}.tekgen-ui-awarding-hero__mark i:nth-of-type(3){width:180px;height:300px}
.tekgen-ui-programme-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--tekgen-ui-border);border-radius:var(--tekgen-ui-radius-card);background:#fff;box-shadow:0 5px 18px rgba(31,42,48,.055);transition:transform .2s ease,box-shadow .2s ease}.tekgen-ui-programme-card:hover{transform:translateY(-3px);box-shadow:var(--tekgen-ui-shadow-hover)}.tekgen-ui-programme-card__media{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--tekgen-ui-subtle)}.tekgen-ui-programme-card__media img{width:100%;height:100%;object-fit:cover}.tekgen-ui-programme-card>div{display:flex;flex:1;flex-direction:column;padding:22px}.tekgen-ui-programme-card h3{font-size:19px}.tekgen-ui-programme-card .tekgen-ui-price{margin:15px 0 0}
.tekgen-ui-preview-heading{padding:42px 0;background:var(--tekgen-ui-canvas)}.tekgen-ui-preview-heading h1{font-size:40px}.tekgen-ui-preview-heading p:last-child{max-width:680px;margin-top:10px}
.tekgen-ui-private-preview .entry-header,.tekgen-ui-private-preview .entry-title{display:none}.tekgen-ui-private-preview .site-content>.ast-container,.tekgen-ui-private-preview .content-area,.tekgen-ui-private-preview .site-main,.tekgen-ui-private-preview .entry-content{width:100%;max-width:none;margin:0;padding:0}

.tekgen-ui-preview-footer .site-footer{display:none!important}
/* Phase 17: exact IOSH visual-family renderer */
body.tekgen-programme-category-page .site-content{padding:0!important}
body.tekgen-programme-category-page .site-content>.ast-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.tekgen-programme-category-page #primary{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.tekgen-programme-category-page .site-main{width:100%!important;margin:0!important;padding:0!important}
body.tekgen-programme-category-page article.page{margin:0!important;padding:0!important}
body.tekgen-programme-category-page article.page>.entry-header{display:none!important}
body.tekgen-programme-category-page .entry-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}

.tekgen-cat-page,.tekgen-cat-page *,.tekgen-cat-page *:before,.tekgen-cat-page *:after{box-sizing:border-box}
.tekgen-cat-page{--tc-dark:#030c13;--tc-green:#8cc63f;--tc-green-dark:#70a832;--tc-text:#14232d;--tc-muted:#71808a;--tc-border:#e3e8eb;--tc-light:#f7f9f9;width:100%;margin:0;font-family:inherit}
.tekgen-cat-container{width:min(1240px,calc(100% - 56px));margin:0 auto}

.tekgen-cat-hero{position:relative;overflow:hidden;padding:28px 0 46px;color:#fff;background:radial-gradient(circle at 82% 47%,rgba(140,198,63,.11),transparent 29%),linear-gradient(115deg,#030c13,#061923 62%,#092530)}
.tekgen-cat-hero:before{content:"";position:absolute;top:32%;right:-8%;width:650px;height:330px;background:radial-gradient(ellipse at center,rgba(140,198,63,.055),transparent 68%);pointer-events:none}
.tekgen-cat-hero:after{content:"";position:absolute;right:-120px;bottom:-255px;width:650px;height:440px;border:1px solid rgba(140,198,63,.08);border-radius:50%;transform:rotate(-12deg)}

.tekgen-cat-breadcrumb{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:24px;color:#93a2aa;font-size:12px}
.tekgen-cat-breadcrumb a{color:#93a2aa!important;text-decoration:none!important}
.tekgen-cat-breadcrumb a:hover{color:var(--tc-green)!important}

.tekgen-cat-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 430px;align-items:center;gap:72px;min-height:275px}
.tekgen-cat-eyebrow{display:inline-flex;align-items:center;margin-bottom:13px;padding:6px 12px;color:var(--tc-green);background:rgba(140,198,63,.09);border:1px solid rgba(140,198,63,.2);border-radius:999px;font-size:11px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}
.tekgen-cat-hero-copy h1{max-width:750px;margin:0 0 11px!important;padding:0!important;color:#fff!important;font-size:clamp(43px,4vw,59px)!important;font-weight:790!important;line-height:1!important;letter-spacing:-.035em}
.tekgen-cat-hero-copy h1 span{display:block;margin-top:3px;color:var(--tc-green)}

.tekgen-cat-full-name{position:relative;max-width:720px;margin:0 0 15px;padding-left:15px;color:#f1f5f6;font-size:17px;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.tekgen-cat-full-name:before{content:"";position:absolute;top:3px;bottom:3px;left:0;width:3px;background:var(--tc-green);border-radius:10px}
.tekgen-cat-long-full-name .tekgen-cat-full-name{max-width:760px;font-size:15px;line-height:1.4}
.tekgen-cat-relationship{max-width:720px;margin:-3px 0 13px;color:#f1f5f6;font-size:14px;font-weight:700;line-height:1.45}.tekgen-cat-access-relationship{max-width:670px;margin:-3px 0 13px;color:#cbd8dc;font-size:13px;font-weight:500;line-height:1.55}
.tekgen-cat-description{max-width:720px;color:#b7c3c9;font-size:14px;line-height:1.72}
.tekgen-cat-description p{margin:0 0 10px;color:inherit}

.tekgen-cat-brand{position:relative;display:flex;align-items:center;justify-content:center;min-height:250px}
.tekgen-cat-logo-shell{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;width:300px;min-height:180px;padding:10px;background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(247,249,250,.97));border:1px solid rgba(255,255,255,.8);border-radius:22px;box-shadow:0 22px 55px rgba(0,0,0,.27),0 0 50px rgba(140,198,63,.075);animation:tekgenLogoReveal .3s cubic-bezier(.22,.75,.28,1) both}
.tekgen-cat-logo-shell:before{content:"";position:absolute;inset:8px;border:1px solid rgba(3,12,19,.035);border-radius:16px}
.tekgen-cat-logo-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:100%;height:155px;overflow:hidden}
.tekgen-cat-logo{display:block;width:auto;max-width:88%;max-height:140px;object-fit:contain;transform-origin:center}.tekgen-cat-brand--with-partner{flex-direction:column;gap:12px;padding-top:8px}.tekgen-cat-brand--with-partner .tekgen-cat-logo-shell{width:285px;min-height:146px}.tekgen-cat-brand--with-partner .tekgen-cat-logo-inner{height:120px}.tekgen-cat-brand--with-partner .tekgen-cat-logo-proqual{max-height:108px}.tekgen-cat-partner{position:relative;z-index:4;width:188px;padding:9px 14px 11px;border:1px solid rgba(255,255,255,.68);border-radius:15px;background:rgba(255,255,255,.97);box-shadow:0 13px 32px rgba(0,0,0,.22)}.tekgen-cat-partner>span{display:block;margin-bottom:5px;color:#53636a;font-size:9px;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase}.tekgen-cat-partner__logo{display:flex;height:42px;align-items:center;justify-content:center;overflow:hidden}.tekgen-cat-logo-safeel{max-width:86%;max-height:40px}
.tekgen-cat-logo-proqual{transform:scale(1.18)}
.tekgen-cat-logo-european-safety-council{transform:scale(1.26)}
.tekgen-cat-logo-iosh{transform:scale(1.10)}
.tekgen-cat-logo-aosh{transform:scale(1.14)}
.tekgen-cat-logo-iq-ohs{transform:scale(1.14)}
.tekgen-cat-logo-nasp-iasp{transform:scale(1.16)}
.tekgen-cat-logo-safqual{transform:scale(1.16)}
.tekgen-cat-logo-fallback{max-width:90%;color:var(--tc-dark);font-size:31px;font-weight:850;line-height:1.08;text-align:center}

.tekgen-cat-orbit{position:absolute;z-index:1;width:365px;height:240px;border:1px solid rgba(140,198,63,.16);border-radius:50%;animation:tekgenOrbit 22s linear infinite}
.tekgen-cat-orbit:before,.tekgen-cat-orbit:after{content:"";position:absolute;border-radius:50%}
.tekgen-cat-orbit:before{inset:18px;border:1px solid rgba(255,255,255,.055)}
.tekgen-cat-orbit:after{inset:43px;border:1px solid rgba(140,198,63,.085)}
.tekgen-cat-orbit span{position:absolute;width:7px;height:7px;background:var(--tc-green);border-radius:50%;box-shadow:0 0 8px rgba(140,198,63,.85),0 0 18px rgba(140,198,63,.4)}
.tekgen-cat-orbit span:nth-child(1){top:12px;left:115px}
.tekgen-cat-orbit span:nth-child(2){right:13px;top:106px}
.tekgen-cat-orbit span:nth-child(3){bottom:18px;left:92px}

@keyframes tekgenLogoReveal{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}
@keyframes tekgenOrbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}

.tekgen-cat-courses{padding:50px 0 68px;background:#fff}
.tekgen-cat-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:24px}
.tekgen-cat-heading span{display:block;margin-bottom:6px;color:var(--tc-green-dark);font-size:11px;font-weight:780;letter-spacing:.065em;text-transform:uppercase}
.tekgen-cat-heading h2{margin:0!important;color:var(--tc-text)!important;font-size:31px!important;font-weight:780!important;line-height:1.12!important;letter-spacing:-.025em}
.tekgen-cat-heading>p{margin:0 0 3px;color:#8b959c;font-size:12px;font-weight:600}

.tekgen-cat-subcats{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 24px}
.tekgen-cat-subcat{appearance:none;display:inline-flex;align-items:center;justify-content:space-between;gap:11px;min-height:39px;margin:0;padding:7px 8px 7px 14px;color:#53606a!important;background:#fff;border:1px solid var(--tc-border);border-radius:999px;font-family:inherit;font-size:11px;font-weight:670;cursor:pointer;box-shadow:none;outline:none}
.tekgen-cat-subcat>span{margin:0;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:0;text-transform:none}
.tekgen-cat-subcat>strong{display:flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 7px;color:#758087;background:#f3f5f5;border-radius:999px;font-size:10px;font-weight:780}
.tekgen-cat-subcat:hover{color:var(--tc-green-dark)!important;background:#fff;border-color:#cfe0bd}
.tekgen-cat-subcat.is-active{color:#fff!important;background:var(--tc-green)!important;border-color:var(--tc-green)!important}
.tekgen-cat-subcat.is-active>strong{color:var(--tc-green-dark);background:#fff}

.tekgen-cat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 20px;width:100%;margin:0}
.tekgen-aosh-grid .tekgen-cat-card[hidden]{display:none!important}

.tekgen-cat-card{display:grid;grid-template-columns:39% minmax(0,1fr);width:100%;min-width:0;height:175px;overflow:hidden;background:#fff;border:1px solid #e2e7ea;border-left:3px solid var(--tc-green);border-radius:11px;box-shadow:0 5px 18px rgba(3,12,19,.045);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.tekgen-cat-card.is-course-placeholder{display:flex;height:auto;min-height:175px}
.tekgen-cat-card.is-course-placeholder .tekgen-cat-card-body{width:100%}
.tekgen-cat-card:hover{transform:translateY(-3px);border-color:#d8e1d1;box-shadow:0 11px 26px rgba(3,12,19,.085)}

.tekgen-cat-card-image{position:relative;display:block;width:100%;height:100%;min-width:0;overflow:hidden;background:#f1f4f4;text-decoration:none!important}
.tekgen-cat-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .32s ease}
.tekgen-cat-card:hover .tekgen-cat-card-image img{transform:scale(1.04)}

.tekgen-cat-card-body{display:flex;flex-direction:column;min-width:0;height:100%;padding:14px 15px 13px}
.tekgen-cat-card-main{min-width:0}
.tekgen-cat-card-body h3{display:-webkit-box;overflow:hidden;margin:0 0 8px!important;color:var(--tc-text)!important;font-size:14px!important;font-weight:780!important;line-height:1.25!important;letter-spacing:-.01em;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.tekgen-cat-card-body h3 a{color:var(--tc-text)!important;text-decoration:none!important}
.tekgen-cat-card-body h3 a:hover{color:var(--tc-green-dark)!important}

.tekgen-cat-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;margin:0;color:#7c878e;font-size:9.5px;line-height:1.3}
.tekgen-cat-card-meta span{position:relative;display:inline-flex;align-items:center;white-space:nowrap}
.tekgen-cat-card-meta span+span:before{content:"•";margin-right:8px;color:#b8c0c5}

.tekgen-cat-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:9px;margin-top:auto;padding-top:10px;border-top:1px solid #edf0f1}
.tekgen-cat-card-price{color:var(--tc-green-dark);font-size:15px;font-weight:820;line-height:1.15;white-space:nowrap}
.tekgen-cat-card-price del{display:block;margin-bottom:2px;color:#9ba3a8;font-size:9px;font-weight:500;opacity:.65}
.tekgen-cat-card-price ins{text-decoration:none}
.tekgen-cat-card-link{display:inline-flex;align-items:center;gap:4px;color:var(--tc-text)!important;font-size:9.5px;font-weight:780;white-space:nowrap;text-decoration:none!important}
.tekgen-cat-card-link span{color:var(--tc-green);font-size:16px;line-height:1}
.tekgen-cat-card-link:hover{color:var(--tc-green-dark)!important}

.tekgen-cat-pagination,.tekgen-cat-js-pagination{display:flex;justify-content:center;margin-top:36px}
.tekgen-cat-pagination ul,.tekgen-cat-js-pagination{align-items:center;justify-content:center;flex-wrap:wrap;gap:7px}
.tekgen-cat-pagination ul{display:flex;margin:0;padding:0;list-style:none}
.tekgen-cat-pagination li{margin:0}
.tekgen-cat-pagination .page-numbers,.tekgen-cat-js-pagination button{appearance:none;display:flex;align-items:center;justify-content:center;min-width:39px;height:39px;margin:0;padding:0 11px;color:#53606a!important;background:#fff;border:1px solid var(--tc-border);border-radius:8px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none!important}
.tekgen-cat-pagination .page-numbers:hover,.tekgen-cat-pagination .page-numbers.current,.tekgen-cat-js-pagination button:hover,.tekgen-cat-js-pagination button.is-active{color:#fff!important;background:var(--tc-green)!important;border-color:var(--tc-green)!important}
.tekgen-cat-js-pagination:empty{display:none}

.tekgen-cat-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:250px;padding:42px 30px;background:linear-gradient(145deg,#f8faf9,#fff);border:1px solid var(--tc-border);border-radius:14px;text-align:center}
.tekgen-coming-icon{position:relative;width:58px;height:58px;margin-bottom:17px;border:1px solid rgba(140,198,63,.3);border-radius:50%}
.tekgen-coming-icon:before{content:"";position:absolute;inset:8px;border:1px solid rgba(140,198,63,.15);border-radius:50%}
.tekgen-coming-icon:after{content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;background:var(--tc-green);border-radius:50%;transform:translate(-50%,-50%)}
.tekgen-coming-icon span{position:absolute;width:5px;height:5px;background:var(--tc-green);border-radius:50%}
.tekgen-coming-icon span:nth-child(1){top:5px;left:23px}
.tekgen-coming-icon span:nth-child(2){right:4px;top:29px}
.tekgen-coming-icon span:nth-child(3){left:9px;bottom:7px}
.tekgen-coming-label{display:block;margin-bottom:6px;color:var(--tc-green-dark)!important;font-size:10px!important;font-weight:780!important;letter-spacing:.07em!important;text-transform:uppercase!important}
.tekgen-cat-coming-soon h3{margin:0 0 8px!important;color:var(--tc-text)!important;font-size:24px!important;font-weight:780!important}
.tekgen-cat-coming-soon p{max-width:520px;margin:0 auto 17px;color:#78838a;font-size:13px;line-height:1.6}
.tekgen-cat-coming-soon a{display:inline-flex;align-items:center;gap:6px;color:var(--tc-green-dark)!important;font-size:12px;font-weight:780;text-decoration:none!important}

@media(min-width:1800px){
    .tekgen-cat-container{width:min(1450px,calc(100% - 100px))}
    .tekgen-cat-hero-grid{grid-template-columns:minmax(0,1fr) 480px;gap:100px}
    .tekgen-cat-hero-copy h1{font-size:62px!important}
    .tekgen-cat-full-name{max-width:820px;font-size:18px}
    .tekgen-cat-long-full-name .tekgen-cat-full-name{font-size:16px}
    .tekgen-cat-description{max-width:820px;font-size:15px}
    .tekgen-cat-logo-shell{width:325px;min-height:195px}
    .tekgen-cat-logo-inner{height:170px}
    .tekgen-cat-logo{max-height:155px}
    .tekgen-cat-orbit{width:395px;height:260px}
    .tekgen-cat-card{height:185px}
    .tekgen-cat-card-body{padding:16px 17px 14px}
    .tekgen-cat-card-body h3{font-size:15px!important}
    .tekgen-cat-card-price{font-size:16px}
}

@media(max-width:1024px){
    .tekgen-cat-container{width:calc(100% - 40px)}
    .tekgen-cat-hero-grid{grid-template-columns:minmax(0,1fr) 310px;gap:38px}
    .tekgen-cat-full-name{font-size:15px}
    .tekgen-cat-logo-shell{width:240px;min-height:150px}
    .tekgen-cat-logo-inner{height:130px}
    .tekgen-cat-logo{max-height:115px}
    .tekgen-cat-orbit{width:290px;height:195px}
    .tekgen-cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    .tekgen-cat-card{height:175px}
}

@media(max-width:767px){
    .tekgen-cat-container{width:calc(100% - 28px)}
    .tekgen-cat-hero{padding:22px 0 37px}
    .tekgen-cat-breadcrumb{margin-bottom:21px;font-size:10px}
    .tekgen-cat-hero-grid{grid-template-columns:1fr;gap:23px;min-height:0}
    .tekgen-cat-hero-copy h1{font-size:35px!important}
    .tekgen-cat-full-name{max-width:none;margin-bottom:13px;padding-left:12px;font-size:14px;line-height:1.4}
    .tekgen-cat-long-full-name .tekgen-cat-full-name{font-size:13px}
    .tekgen-cat-description{font-size:13px;line-height:1.65}
    .tekgen-cat-brand{min-height:185px}.tekgen-cat-brand--with-partner{gap:11px;min-height:275px}
    .tekgen-cat-logo-shell{width:225px;min-height:140px;border-radius:19px}
    .tekgen-cat-logo-inner{height:120px}
    .tekgen-cat-logo{max-height:108px}.tekgen-cat-partner{width:180px}.tekgen-cat-partner__logo{height:38px}.tekgen-cat-logo-safeel{max-height:36px}
    .tekgen-cat-orbit{width:275px;height:180px}
    .tekgen-cat-courses{padding:40px 0 53px}
    .tekgen-cat-heading{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:19px}
    .tekgen-cat-heading h2{font-size:25px!important}
    .tekgen-cat-subcats{flex-wrap:nowrap;overflow-x:auto;gap:8px;margin-right:-14px;margin-bottom:20px;padding-right:14px;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .tekgen-cat-subcats::-webkit-scrollbar{display:none}
    .tekgen-cat-subcat{flex:0 0 auto}
    .tekgen-cat-grid{grid-template-columns:1fr;gap:13px}
    .tekgen-cat-card{grid-template-columns:145px minmax(0,1fr);height:165px}
    .tekgen-cat-card.is-course-placeholder{min-height:165px}
    .tekgen-cat-card-body{padding:13px 14px 12px}
    .tekgen-cat-card-body h3{font-size:14px!important}
    .tekgen-cat-card-price{font-size:15px}
    .tekgen-cat-coming-soon{min-height:225px;padding:35px 20px}
    .tekgen-cat-coming-soon h3{font-size:21px!important}
}

@media(max-width:420px){
    .tekgen-cat-card{grid-template-columns:118px minmax(0,1fr);height:160px}
    .tekgen-cat-card-body{padding:11px 12px 10px}
    .tekgen-cat-card-body h3{font-size:13px!important;-webkit-line-clamp:3}
    .tekgen-cat-card-meta{font-size:9px}
    .tekgen-cat-card-bottom{gap:6px}
    .tekgen-cat-card-price{font-size:14px}
    .tekgen-cat-card-link{font-size:9px}
}

@media(prefers-reduced-motion:reduce){
    .tekgen-cat-logo-shell,.tekgen-cat-orbit{animation:none!important}
    .tekgen-cat-card,.tekgen-cat-card-image img,.tekgen-cat-subcat{transition:none!important}
}

/* Phase 17 homepage restoration overrides. */
.tekgen-ui-button--green,.tekgen-ui-button--green:visited{border-color:var(--tekgen-ui-lime);background:var(--tekgen-ui-lime);color:var(--tekgen-ui-deep)!important}
.tekgen-ui-section--dark{background:var(--tekgen-ui-deep);color:#fff}
.tekgen-ui-section--dark h2,.tekgen-ui-section--dark h3{color:#fff}
.tekgen-ui-section--dark .tekgen-ui-lead{color:rgba(255,255,255,.72)}
.tekgen-ui-section--dark .tekgen-ui-corporate__points{grid-template-columns:repeat(2,minmax(0,1fr))}
.tekgen-ui-section--dark .tekgen-ui-corporate__points article{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.055)}
.tekgen-ui-section--dark .tekgen-ui-corporate__points article .tekgen-ui-icon{border-color:rgba(255,255,255,.13);background:rgba(72,174,80,.13)}
.tekgen-ui-section--dark .tekgen-ui-corporate__points p{color:rgba(255,255,255,.7)!important}
.tekgen-ui-upcoming-section{padding-block:54px;background:#fff}
.tekgen-ui-upcoming-section .tekgen-ui-empty{min-height:138px;padding:24px 26px}
.tekgen-ui-awarding-preview{--tc-dark:#030c13;--tc-green:#8cc63f;--tc-green-dark:#70a832;--tc-text:#14232d;--tc-muted:#71808a;--tc-border:#e3e8eb;--tc-light:#f7f9f9}

/* Phase 18B final homepage content and UX polish. */
.tekgen-ui-why-section{padding-block:52px}.tekgen-ui-why__copy{padding:32px 34px}.tekgen-ui-why__copy .tekgen-ui-lead{margin-top:12px!important}.tekgen-ui-values{margin-top:22px}.tekgen-ui-value{padding-bottom:12px}.tekgen-ui-value>div{padding-bottom:11px}.tekgen-ui-why__stats{padding:28px 32px}.tekgen-ui-why__stats-head{padding-bottom:14px}.tekgen-ui-stat{min-height:116px;padding:14px}.tekgen-ui-stat strong{font-variant-numeric:tabular-nums}
.tekgen-ui-delivery{grid-template-columns:auto minmax(220px,1fr) auto;gap:16px;padding:15px 20px}.tekgen-ui-delivery__modes{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.tekgen-ui-delivery__modes li{margin:0;padding:6px 11px;border:1px solid #dce5da;border-radius:999px;background:var(--tekgen-ui-subtle);color:#365f39;font-size:12px;font-weight:750;line-height:1.25;white-space:nowrap}
.tekgen-ui-recognition-section{padding-block:54px}.tekgen-ui-recognition-section .tekgen-ui-section-head{margin-bottom:24px}.tekgen-ui-recognition-section .tekgen-ui-section-head .tekgen-ui-button{margin-top:0}.tekgen-ui-recognition-grid{gap:14px}.tekgen-ui-recognition-grid article{min-height:184px;padding:18px}.tekgen-ui-recognition__logo{display:flex;width:100%;height:52px;align-items:center;margin-bottom:14px}.tekgen-ui-recognition__logo img{width:auto;max-width:132px;max-height:48px;object-fit:contain;object-position:left center}.tekgen-ui-recognition-grid h3{font-size:16px}.tekgen-ui-recognition-grid p{line-height:1.45!important}
.tekgen-ui-guidance-section{padding:18px 0 48px}.tekgen-ui-guidance{gap:20px;padding:20px 24px}.tekgen-ui-guidance__icon{width:50px;height:50px}.tekgen-ui-guidance h2{font-size:22px}.tekgen-ui-guidance p:not(.tekgen-ui-eyebrow){margin-top:3px}.tekgen-ui-guidance .tekgen-ui-actions{justify-content:flex-end}
[data-category="proqual"] .tekgen-cat-brand{min-height:285px}[data-category="proqual"] .tekgen-cat-logo-inner{overflow:visible}[data-category="proqual"] .tekgen-cat-logo-proqual{width:auto;max-width:90%;max-height:140px;clip-path:none;margin:0;object-fit:contain;transform:none}#tekgen-taxonomy-preview .ttp-mark p{display:none!important}.ttp-mark--safeel{overflow:hidden}.ttp-mark--safeel img{width:auto!important;max-width:92%!important;max-height:112px!important;clip-path:none;margin:0!important;object-fit:contain!important}

/* Phase 18C: taxonomy-controlled artwork fit and final homepage relationship lock. */
.tekgen-ui-category--fit-contain .tekgen-ui-category__media{display:flex;align-items:center;justify-content:center;background:#fff}
.tekgen-ui-category--fit-contain .tekgen-ui-category__media img{width:100%;height:100%;padding:18px;object-fit:contain;object-position:center;transform:none!important}
.tekgen-ui-category--fit-contain::after{background:linear-gradient(180deg,rgba(255,255,255,0) 12%,rgba(7,24,30,.96) 100%)}
.tekgen-ui-recognition-grid article{min-height:184px;align-items:center;justify-content:center;text-align:center}
.tekgen-ui-recognition__logo{height:100px;align-items:center;justify-content:center;margin-bottom:10px}
.tekgen-ui-recognition__logo img{width:auto;max-width:220px;max-height:96px;object-fit:contain;object-position:center}
.tekgen-ui-recognition-grid h3{font-size:16px}
.tekgen-ui-recognition-grid p{margin-top:6px!important;line-height:1.42!important}
