:root{--bg:#050d0a;--bg2:#08150f;--bg3:#0c1d15;--saf:#ff9933;--gold:#ffc766;--grn:#19d36b;--blu:#5b86ff;--txt:#b9c9c0;--mut:#8aa093;--head:#fff;--line:rgba(255,255,255,.1);--glass:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.02));--sans:'DM Sans',system-ui,Arial,sans-serif;--disp:'Space Grotesk','DM Sans',system-ui,sans-serif;--r:22px}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:96px;color-scheme:light}
body{font:16px/1.7 var(--sans);color:var(--txt);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--saf);color:#000}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{width:min(1160px,calc(100% - 44px));margin:auto}.skip-link{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:10px;z-index:99}.skip-link:focus{left:10px}
.topbar{background:#030806;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.05em;color:var(--mut)}.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 0}.topbar strong{color:var(--gold)}
header{position:sticky;top:0;z-index:50;background:rgba(5,13,10,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .3s}header.scrolled{box-shadow:0 10px 40px rgba(0,0,0,.55)}
.tricolour-rule{height:3px;display:grid;grid-template-columns:repeat(3,1fr)}.tricolour-rule span:nth-child(1){background:var(--saf)}.tricolour-rule span:nth-child(2){background:#fff}.tricolour-rule span:nth-child(3){background:#138808}
.progress{position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--saf),#fff,var(--grn));transform-origin:left;transform:scaleX(var(--p,0));box-shadow:0 0 14px var(--saf);pointer-events:none}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{background:#fff;border-radius:14px;padding:6px 12px;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 8px 30px rgba(255,153,51,.15)}.brand img{width:215px;height:auto}
.navlinks{display:flex;align-items:center;gap:6px;list-style:none;padding:0}.navlinks a{position:relative;display:block;font-size:13px;font-weight:700;color:#d7e3dc;padding:9px 14px;border-radius:999px;transition:color .2s,background .2s}.navlinks a:hover,.navlinks a.active{color:#fff;background:rgba(255,255,255,.08)}
.navlinks .nav-cta{margin-left:8px;color:#06110c;background:linear-gradient(110deg,var(--saf),var(--gold));box-shadow:0 0 24px rgba(255,153,51,.35)}.navlinks .nav-cta:hover{color:#06110c;background:linear-gradient(110deg,var(--gold),var(--saf));transform:translateY(-2px)}
.menu{display:none;border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:12px;padding:9px 15px;color:#fff;font-weight:700;cursor:pointer}
h1,h2,h3{font-family:var(--disp);line-height:1.1;letter-spacing:-.03em;color:var(--head)}h1{font-size:clamp(40px,5.6vw,72px);font-weight:700;margin:20px 0 22px}h2{font-size:clamp(30px,4vw,46px);margin-bottom:16px}h3{font-size:20px;margin-bottom:10px}
.grad,h1 em{font-style:normal;background:linear-gradient(90deg,var(--saf),var(--gold),#fff 50%,var(--grn) 100%);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 9s linear infinite}
.eyebrow,.kicker,.crumb{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.eyebrow:before,.crumb:before{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--saf),var(--grn));border-radius:2px}.kicker{display:block;color:var(--grn);margin-bottom:12px}
.hero,.page-hero,.dark{position:relative;isolation:isolate;overflow:hidden;background:var(--bg)}
.hero:before,.page-hero:before,.dark:before{content:"";position:absolute;inset:-20%;z-index:-2;background:radial-gradient(40% 40% at 82% 22%,rgba(255,153,51,.3),transparent 70%),radial-gradient(38% 42% at 90% 85%,rgba(25,211,107,.25),transparent 70%),radial-gradient(35% 40% at 8% 90%,rgba(91,134,255,.22),transparent 70%);animation:drift 22s ease-in-out infinite alternate}
.hero:after,.page-hero:after,.dark:after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 10%,transparent 72%);mask-image:radial-gradient(ellipse at 70% 40%,#000 10%,transparent 72%)}
.hero{min-height:clamp(600px,88vh,760px);display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;padding:80px 0}.hero p{font-size:18px;max-width:580px;color:#cfdcd5}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.chips span{font-size:11px;font-weight:800;letter-spacing:.12em;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:#e8f1ec}
.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s}.btn:hover{transform:translateY(-3px)}
.btn-gold,.btn-green{color:#06110c;background:linear-gradient(110deg,var(--saf),var(--gold));box-shadow:0 8px 30px rgba(255,153,51,.35)}.btn-gold:hover,.btn-green:hover{box-shadow:0 12px 40px rgba(255,153,51,.6)}.btn-outline{border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.05)}.btn-outline:hover{border-color:var(--grn);box-shadow:0 0 30px rgba(25,211,107,.35)}
.hero-visual{position:relative;isolation:isolate}.chakra{position:absolute;z-index:-1;right:-70px;top:-80px;width:300px;height:300px;opacity:.5;animation:spin 60s linear infinite}
.frame{position:relative;overflow:hidden;padding:2px;background:linear-gradient(135deg,var(--saf),#fff 50%,var(--grn));clip-path:polygon(0 0,calc(100% - 42px) 0,100% 42px,100% 100%,42px 100%,0 calc(100% - 42px));filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}.hero-photo{width:100%;height:440px;object-fit:cover;object-position:60% 30%;background:var(--bg3);clip-path:inherit}
.scan{position:absolute;left:0;right:0;top:0;height:90px;background:linear-gradient(transparent,rgba(25,211,107,.25),transparent);animation:scan 5s linear infinite;pointer-events:none}
.photo-tag{position:absolute;left:-26px;bottom:34px;background:rgba(8,21,15,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-left:3px solid var(--saf);color:#fff;padding:16px 20px;border-radius:16px;max-width:235px;box-shadow:0 20px 50px rgba(0,0,0,.5)}.photo-tag b{display:block;font:700 15px var(--disp)}.photo-tag span{font-size:12px;color:var(--mut)}
.flag-signature{position:absolute;right:16px;top:18px;z-index:3;display:flex;align-items:center;gap:10px;padding:7px 13px 7px 8px;background:rgba(5,13,10,.8);border:1px solid rgba(255,255,255,.22);border-radius:999px;animation:float 5s ease-in-out infinite}.flag-signature img{width:40px;height:27px;object-fit:cover;border-radius:3px}.flag-signature span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#fff;white-space:nowrap}
.page-hero{padding:84px 0 88px}.page-hero h1{font-size:clamp(36px,5vw,60px);max-width:860px;margin:14px 0}.page-hero p{max-width:680px;color:#cfdcd5;font-size:18px}
section{padding:92px 0}.section-head{max-width:720px;margin-bottom:44px}.section-head.center{text-align:center;margin-inline:auto}.section-head p,.copy p{color:var(--mut)}.section-head.center p{max-width:650px;margin:auto}.copy p+p{margin-top:15px}
.cream{background:linear-gradient(180deg,var(--bg2),var(--bg3));border-block:1px solid var(--line)}.dark{background:#030806}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card,.contact-card,.step{position:relative;overflow:hidden;background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:28px;transition:transform .3s,border-color .3s,box-shadow .3s}
.card:before,.contact-card:before,.step:before{content:"";position:absolute;inset:0;background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%),rgba(255,153,51,.18),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}
.card:hover,.contact-card:hover,.step:hover{transform:translateY(-6px);border-color:rgba(255,153,51,.5);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 40px rgba(255,153,51,.12)}.card:hover:before,.contact-card:hover:before,.step:hover:before{opacity:1}
.card:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:linear-gradient(90deg,var(--saf),#fff,var(--grn));transition:right .4s}.card:hover:after{right:0}
.card-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;margin-bottom:20px;color:var(--gold);background:linear-gradient(135deg,rgba(255,153,51,.2),rgba(25,211,107,.15));border:1px solid rgba(255,255,255,.12)}.card-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card p,.step p{font-size:14px;color:var(--mut)}.mini{display:inline-block;margin-top:14px;font-size:12px;color:var(--saf);font-weight:800;letter-spacing:.06em}.mini:hover{color:var(--gold)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-photo{position:relative}.split-photo:before{content:"";position:absolute;inset:-2px;border-radius:calc(var(--r) + 2px);background:linear-gradient(135deg,var(--saf),transparent 40%,transparent 60%,var(--grn));z-index:0}
.split-photo img{position:relative;z-index:1;width:100%;height:460px;object-fit:cover;border-radius:var(--r);box-shadow:0 30px 70px rgba(0,0,0,.55)}.split-photo img.portrait{height:auto;max-height:560px;object-fit:contain;background:#fff1e3;max-width:420px;margin-inline:auto}
.check-list{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:13px}.check-list li{position:relative;padding-left:32px;color:#d4e0d9}.check-list li:before{content:"✓";position:absolute;left:0;top:1px;width:22px;height:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--saf),var(--grn));color:#04100a;border-radius:50%;font-size:12px;font-weight:900}
.pathway{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:s}.step{counter-increment:s;padding:26px}.step:after{content:"0" counter(s);display:block;order:-1;font:700 34px var(--disp);background:linear-gradient(90deg,var(--saf),var(--grn));-webkit-background-clip:text;background-clip:text;color:transparent;position:absolute;top:16px;right:20px;opacity:.9}
.table-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--line)}.skill-table{width:100%;border-collapse:collapse;min-width:520px;background:var(--glass)}.skill-table th,.skill-table td{text-align:left;padding:17px 20px;border-bottom:1px solid var(--line)}.skill-table th{background:linear-gradient(90deg,rgba(255,153,51,.25),rgba(25,211,107,.2));color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.skill-table td{font-size:14px}.skill-table td:first-child{color:#fff;font-weight:600}.skill-table tr:last-child td{border:0}.skill-table tbody tr:hover{background:rgba(255,255,255,.04)}
.cta-band{position:relative;overflow:hidden;isolation:isolate;border-radius:28px;padding:52px;display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid rgba(255,255,255,.18);background:radial-gradient(60% 120% at 0% 0%,rgba(255,153,51,.35),transparent 60%),radial-gradient(60% 120% at 100% 100%,rgba(25,211,107,.35),transparent 60%),#07140f}.cta-band h2{margin:0 0 10px;font-size:clamp(26px,3.2vw,36px)}.cta-band p{color:#d0ddd4;max-width:580px;font-size:15px}.cta-band .btn{flex-shrink:0}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.contact-card small{display:block;color:var(--grn);text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin-bottom:9px;font-size:11px}.contact-card a:not(.mini),.contact-card strong{font-weight:700;color:var(--gold);overflow-wrap:anywhere}.contact-card .note{font-size:13px;margin-top:10px;color:var(--mut)}
.legal{max-width:850px}.legal h2{font-size:25px;margin:34px 0 12px}.legal p,.legal li{color:#c3d1c9;margin:10px 0}.legal ul{padding-left:22px}.legal strong{color:#fff}
footer{background:#030806;border-top:1px solid var(--line);padding:70px 0 22px;position:relative}footer:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--saf),#fff,var(--grn))}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:35px}.footer-brand img{width:210px;margin-bottom:18px;background:#fff;border-radius:12px;padding:8px 12px}footer p{font-size:13px;color:var(--mut);max-width:330px}footer h4{font:700 12px var(--disp);color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}footer ul{list-style:none;padding:0;display:grid;gap:10px}footer li,footer li a{font-size:13px;color:#c5d2c9}footer li a:hover{color:var(--saf)}.footer-bottom{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:12px;color:var(--mut)}.footer-bottom a:hover{color:var(--saf)}.disclaimer{font-size:11px;color:#7f9387;margin-top:18px;max-width:900px}
.floating-wa{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:8px;background:#1fb85a;color:#fff;border-radius:999px;padding:13px 20px;font-size:13px;font-weight:800;box-shadow:0 0 0 0 rgba(31,184,90,.6),0 12px 30px rgba(0,0,0,.5);animation:pulse 2.4s infinite;transition:transform .25s}.floating-wa:hover{transform:translateY(-3px)}.floating-wa svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.reveal{transition:opacity .6s ease,transform .6s ease}html.js .reveal:not(.visible){opacity:0;transform:translateY(24px)}
@keyframes shine{to{background-position:220% center}}@keyframes drift{to{transform:translate3d(-4%,3%,0) scale(1.08)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes scan{from{transform:translateY(-100%)}to{transform:translateY(520%)}}@keyframes float{50%{transform:translateY(-5px)}}@keyframes pulse{70%{box-shadow:0 0 0 14px rgba(31,184,90,0),0 12px 30px rgba(0,0,0,.5)}100%{box-shadow:0 0 0 0 rgba(31,184,90,0),0 12px 30px rgba(0,0,0,.5)}}
@media(max-width:900px){.nav{height:68px}.brand img{width:160px}.menu{display:block}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(5,13,10,.97);padding:14px 22px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:2px}.navlinks.open{display:flex}.navlinks .nav-cta{margin:8px 0 0;text-align:center}.hero{min-height:0}.hero-grid{grid-template-columns:1fr;gap:44px;padding:60px 0}.hero-visual{max-width:560px}.hero-photo{height:auto;aspect-ratio:4/3}.split{grid-template-columns:1fr;gap:38px}.cards,.contact-grid{grid-template-columns:repeat(2,1fr)}.pathway{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.cta-band{padding:38px 28px}}
@media(max-width:600px){.wrap{width:calc(100% - 34px)}.topbar .wrap span:last-child{display:none}.topbar .wrap{justify-content:center}section{padding:64px 0}.page-hero{padding:58px 0}.actions{flex-direction:column;align-items:stretch}.btn{width:100%}.cards,.contact-grid,.pathway{grid-template-columns:1fr}.photo-tag{left:8px;bottom:12px;padding:12px 15px;max-width:190px}.flag-signature span{display:none}.chakra{width:200px;height:200px;right:-30px;top:-40px}.split-photo img{height:auto;aspect-ratio:16/10}.cta-band{flex-direction:column;align-items:flex-start}.cta-band .btn{width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-brand{grid-column:1/-1}.floating-wa span{display:none}.floating-wa{padding:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}html.js .reveal:not(.visible){opacity:1;transform:none}}
/* ===== Light theme: white header & sections, deep-green hero bands ===== */
:root{--bg:#fff;--bg2:#f6f8f3;--bg3:#ecf2ea;--txt:#405047;--mut:#5f7167;--head:#0f2a1e;--line:rgba(15,60,43,.11)}
html{color-scheme:light}body{background:#fff}
.topbar{background:#0a2a1f;color:#cfe0d6;border:0}
header{background:rgba(255,255,255,.92)}header.scrolled{box-shadow:0 10px 40px rgba(15,60,43,.15)}
.brand{background:none;box-shadow:none;padding:0;border-radius:0}
.navlinks a{color:#2f4339}.navlinks a:hover,.navlinks a.active{color:#0f5a38;background:rgba(15,90,56,.08)}
.navlinks a:not(.nav-cta):after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--saf),var(--grn));transform:scaleX(0);transition:transform .3s}.navlinks a:not(.nav-cta):hover:after,.navlinks a.active:after{transform:scaleX(1)}
.navlinks .nav-cta{color:#fff;background:linear-gradient(110deg,#0f3d2b,#1d6a47);box-shadow:0 8px 24px rgba(15,61,43,.3)}.navlinks .nav-cta:hover{color:#fff;background:linear-gradient(110deg,#1d6a47,#0f3d2b);box-shadow:0 12px 32px rgba(255,153,51,.4)}
.menu{background:#fff;color:#0f3d2b}
.hero,.page-hero{background:linear-gradient(120deg,#061b13 0%,#0f3d2b 55%,#1a5a3d 100%)}.dark{background:#071f17}
.hero h1,.page-hero h1,.dark h2,.dark h3,.cta-band h2,.cta-band h3{color:#fff}
.kicker{color:#b4701a}.dark .kicker{color:var(--gold)}.dark .section-head p{color:#bccdc3}
.cream{background:linear-gradient(180deg,#f6f8f3,#ecf2ea)}
section{background-image:radial-gradient(40% 50% at 100% 0%,rgba(255,153,51,.08),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(19,136,8,.07),transparent 70%)}
.card,.contact-card,.step{background:#fff;box-shadow:0 10px 34px rgba(15,60,43,.07)}
.dark .step{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border-color:rgba(255,255,255,.14);box-shadow:none}.dark .step p{color:#b9c9c0}
.card:hover,.contact-card:hover{box-shadow:0 26px 55px rgba(15,60,43,.16),0 0 34px rgba(255,153,51,.2)}.dark .step:hover{box-shadow:0 24px 60px rgba(0,0,0,.5)}
.card-icon{color:#0f6b3c;background:linear-gradient(135deg,rgba(255,153,51,.22),rgba(19,136,8,.15));border-color:rgba(15,60,43,.1);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}.card:hover .card-icon{transform:rotate(-8deg) scale(1.12)}
.mini{color:#c2630a}.check-list li{color:#34463b}
.split-photo img{box-shadow:0 26px 60px rgba(15,60,43,.22)}
.skill-table{background:#fff}.skill-table th{background:linear-gradient(90deg,#0f3d2b,#1d6a47)}.skill-table td{color:#405047}.skill-table td:first-child{color:#0f2a1e}.skill-table tbody tr:hover{background:#f6f8f3}
.contact-card small{color:#0f7a3f}.contact-card a:not(.mini),.contact-card strong{color:#0f4a30}
.legal p,.legal li{color:#405047}.legal strong{color:#0f2a1e}
footer{background:#071f17}
/* extra motion */
.btn{position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .65s}.btn:hover:after{left:140%}
.reveal .kicker:after{content:"";display:inline-block;vertical-align:middle;margin-left:12px;height:2px;width:0;background:linear-gradient(90deg,var(--saf),var(--grn));transition:width .9s .3s}.reveal.visible .kicker:after{width:44px}
.page-hero .wrap{position:relative}.page-hero .wrap:before{content:"";position:absolute;right:-70px;top:-130px;width:430px;height:430px;background:url(../images/ashoka-chakra.svg) center/contain no-repeat;opacity:.3;animation:spin 70s linear infinite;pointer-events:none}
.frame{transition:transform .25s ease-out;will-change:transform}
@media(max-width:900px){.navlinks{background:rgba(255,255,255,.98)}.page-hero .wrap:before{width:260px;height:260px;right:-60px;top:-70px}}
