/* ==========================================================================
   THE FOUNDERS OFFICE — Aurora design system
   Light, luxe, BCG-close palette. Shared across all pages.
   ========================================================================== */
:root{
  --green-900:#062018; --green-800:#0B3B2C; --green-700:#0E5540;
  --green-600:#177B57; --green-500:#1E9E6A; --accent:#17E17F;
  --mist:#EAF2ED; --mist-2:#F4F9F6; --paper:#FFFFFF;
  --ink:#0C1A15; --muted:#5B6E64; --line:rgba(14,85,64,.14);
  --line-soft:rgba(14,85,64,.08);
  --shadow:0 18px 44px rgba(14,85,64,.10);
  --shadow-lg:0 26px 60px rgba(14,85,64,.16);
  --maxw:1200px; --radius:18px;
  --sans:'Inter',system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans); color:var(--ink); background:var(--mist-2);
  -webkit-font-smoothing:antialiased; overflow-x:hidden; line-height:1.5;}
a{color:inherit}
img{max-width:100%;display:block}
.container{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
.eyebrow{font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--green-600);}
h2.section-title{font-size:clamp(28px,3.6vw,46px); line-height:1.05; letter-spacing:-.03em; font-weight:800; color:var(--green-900);}
.lead{font-size:clamp(17px,1.5vw,21px); line-height:1.6; color:var(--muted);}

/* reveal on scroll */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}

/* ========== top navigation (sticky, glassy) ========== */
.nav{position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between;
  padding:16px max(32px, calc((100% - var(--maxw)) / 2 + 32px)); background:rgba(244,249,246,.72); backdrop-filter:blur(14px);
  border-bottom:1px solid transparent; transition:border-color .3s, background .3s;}
.nav.scrolled{border-bottom-color:var(--line-soft); background:rgba(244,249,246,.9);}
.nav .brand img{height:32px;width:auto}
.nav .links{display:flex; gap:30px; font-size:14px; font-weight:500; color:var(--green-800)}
.nav .links a{text-decoration:none; opacity:.82; transition:opacity .2s; position:relative}
.nav .links a:hover{opacity:1}
.nav .links a::after{content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0; background:var(--accent); transition:width .25s}
.nav .links a:hover::after{width:100%}
.nav .cta{border:1px solid var(--green-700); color:var(--green-700); padding:9px 18px; border-radius:999px;
  font-size:13px; font-weight:600; text-decoration:none; transition:background .2s,color .2s;}
.nav .cta:hover{background:var(--green-700); color:#fff}
.nav .burger{display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px}
.nav .burger span{width:24px; height:2px; background:var(--green-800); display:block}

/* ========== buttons ========== */
.btn{display:inline-flex; align-items:center; gap:9px; padding:15px 30px; border-radius:999px; font-size:15px;
  font-weight:600; text-decoration:none; transition:transform .2s, box-shadow .2s, background .2s;}
.btn.primary{background:var(--green-700); color:#fff; box-shadow:0 14px 32px rgba(14,85,64,.28)}
.btn.primary:hover{transform:translateY(-2px); box-shadow:0 18px 42px rgba(14,85,64,.38)}
.btn.ghost{color:var(--green-800); border:1px solid var(--line); background:rgba(255,255,255,.6)}
.btn.ghost:hover{background:#fff}
.btn.light{background:#fff; color:var(--green-800)}
.btn.on-dark{background:var(--accent); color:var(--green-900)}
.btn.on-dark:hover{transform:translateY(-2px)}

/* ========== HERO ========== */
.hero{position:relative; min-height:100vh; display:flex; flex-direction:column; overflow:hidden; margin-top:-64px; padding-top:64px;
  background:linear-gradient(180deg,#F7FBF9 0%, #EAF3EE 62%, #E2EEE8 100%);}
.hero .bg{position:absolute; inset:0; z-index:0; overflow:hidden;}
.halo{position:absolute; left:50%; top:42%; width:120vmax; height:120vmax; transform:translate(-50%,-50%);
  opacity:.5; filter:blur(30px);
  background:conic-gradient(from 0deg,rgba(23,225,127,.16),rgba(30,158,106,.05),rgba(23,123,87,.14),rgba(11,59,44,.05),rgba(23,225,127,.16));
  animation:spin 44s linear infinite;}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.aurora{position:absolute; inset:-22% -12%; filter:blur(52px);}
.aurora span{position:absolute; border-radius:50%; mix-blend-mode:multiply;}
.a1{width:52vw;height:52vw;left:-6vw;top:-10vw;background:radial-gradient(circle at 30% 30%,rgba(23,225,127,.55),transparent 60%);animation:d1 20s ease-in-out infinite;}
.a2{width:48vw;height:48vw;right:-6vw;top:-8vw;background:radial-gradient(circle at 60% 40%,rgba(23,123,87,.5),transparent 62%);animation:d2 24s ease-in-out infinite;}
.a3{width:64vw;height:64vw;left:18vw;bottom:-30vw;background:radial-gradient(circle at 50% 50%,rgba(30,158,106,.42),transparent 60%);animation:d3 28s ease-in-out infinite;}
.a4{width:38vw;height:38vw;right:12vw;bottom:-12vw;background:radial-gradient(circle at 50% 50%,rgba(11,59,44,.3),transparent 62%);animation:d1 22s ease-in-out infinite reverse;}
.a5{width:34vw;height:34vw;left:36vw;top:-6vw;background:radial-gradient(circle at 50% 50%,rgba(23,225,127,.32),transparent 62%);animation:d2 26s ease-in-out infinite reverse;}
@keyframes d1{50%{transform:translate(6vw,4vw) scale(1.14)}}
@keyframes d2{50%{transform:translate(-5vw,6vw) scale(1.1)}}
@keyframes d3{50%{transform:translate(4vw,-6vw) scale(1.16)}}
svg.silk{position:absolute; inset:0; width:100%; height:100%; opacity:.9;}
.grain{position:absolute; inset:0; pointer-events:none; opacity:.5;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,0) 0 2px, rgba(14,85,64,.02) 2px 3px);}
.veil{position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(65% 55% at 50% 44%, rgba(247,251,249,.72) 0%, rgba(247,251,249,.15) 55%, transparent 78%);}
.hero .wrap{position:relative; z-index:2; flex:1; display:flex; flex-direction:column; justify-content:center;
  align-items:center; text-align:center; padding:72px 24px 104px;}
.hero .eyebrow{margin-bottom:34px; opacity:0; transform:translateY(12px); animation:rise .8s .15s forwards;}
.hero h1{font-size:clamp(44px,6.6vw,94px); line-height:1.02; letter-spacing:-.035em; font-weight:800; color:var(--green-900); max-width:15ch;}
.hero h1 .word{display:inline-block; opacity:0; transform:translateY(24px) rotate(2deg); filter:blur(6px); animation:word .9s forwards;}
.hero h1 .word:nth-child(1){animation-delay:.30s}
.hero h1 .word:nth-child(2){animation-delay:.46s}
.hero h1 .word:nth-child(3){animation-delay:.62s}
.hero h1 .word:nth-child(4){animation-delay:.78s}
.hero h1 .accent{color:transparent; background:linear-gradient(90deg,var(--green-600) 20%,var(--accent) 55%,var(--green-500) 90%);
  background-size:220% 100%; -webkit-background-clip:text; background-clip:text;
  animation:word .9s .78s forwards, shimmer 5s 1.6s linear infinite;}
@keyframes word{to{opacity:1; transform:none; filter:blur(0)}}
@keyframes shimmer{to{background-position:220% 0}}
@keyframes rise{to{opacity:1; transform:none}}
.hero .sub{margin-top:34px; font-size:clamp(16px,1.45vw,21px); line-height:1.6; color:var(--muted); max-width:600px;
  opacity:0; animation:rise .8s 1.05s forwards;}
.hero .actions{margin-top:44px; display:flex; gap:14px; flex-wrap:wrap; justify-content:center; opacity:0; animation:rise .8s 1.25s forwards;}
.scrollcue{position:absolute; bottom:24px; left:50%; transform:translateX(-50%); z-index:2;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--green-600);
  opacity:0; animation:rise .8s 1.7s forwards;}
.scrollcue::after{content:""; display:block; width:1px; height:32px; margin:9px auto 0;
  background:linear-gradient(var(--green-600),transparent); animation:sd 1.9s infinite;}
@keyframes sd{0%{transform:scaleY(.15);transform-origin:top}50%{transform:scaleY(1)}100%{transform:scaleY(.15);transform-origin:bottom}}

/* ========== trust strip ========== */
.trust{background:var(--green-900); color:#cfeede;}
.trust .container{display:flex; align-items:center; justify-content:center; gap:14px 40px; flex-wrap:wrap; padding-top:20px; padding-bottom:20px;}
.trust .item{display:flex; align-items:center; gap:10px; font-size:13.5px; font-weight:500; letter-spacing:.02em; color:#d7f2e5;}
.trust .item .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}

/* ========== positioning + stats ========== */
.position{padding:100px 0 76px; position:relative;}
.position .grid{display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center;}
.position .statement{font-size:clamp(21px,2.1vw,29px); line-height:1.32; letter-spacing:-.02em; font-weight:600; color:var(--green-900); max-width:20ch;}
.position .statement b{color:var(--green-600); font-weight:600}
.position p.body{margin-top:20px; font-size:16.5px; line-height:1.65; color:var(--muted); max-width:52ch;}
.stats{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.stat{background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius); padding:26px 24px; box-shadow:var(--shadow);}
.stat .n{font-size:40px; font-weight:800; letter-spacing:-.03em; color:var(--green-700); line-height:1;}
.stat .l{margin-top:10px; font-size:13.5px; color:var(--muted); font-weight:500;}
.stat.accenting{background:linear-gradient(150deg,var(--green-700),var(--green-600)); border:none; color:#fff;}
.stat.accenting .n{color:#fff} .stat.accenting .l{color:rgba(255,255,255,.82)}

/* ========== industries marquee band ========== */
.strip-section{position:relative; z-index:2; background:linear-gradient(180deg,#E4EFE9 0%, #EFF5F1 100%);
  padding:84px 0 96px; border-top:1px solid var(--line-soft);}
.strip .cap{text-align:center; margin-bottom:8px;}
.strip .cap2{text-align:center; font-size:clamp(24px,2.8vw,36px); font-weight:800; letter-spacing:-.025em; color:var(--green-900); margin-bottom:38px;}
.marquee{position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.track{display:flex; gap:16px; width:max-content; animation:slide 46s linear infinite;}
.marquee:hover .track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.icard{position:relative; width:260px; height:156px; border-radius:16px; overflow:hidden; flex:none;
  box-shadow:0 14px 30px rgba(14,85,64,.14); border:1px solid rgba(255,255,255,.5);}
.icard img{width:100%; height:100%; object-fit:cover; transform:scale(1.02); transition:transform .5s}
.icard:hover img{transform:scale(1.1)}
.icard::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 38%, rgba(6,32,24,.74));}
.icard b{position:absolute; left:16px; bottom:13px; z-index:2; color:#fff; font-size:13.5px; font-weight:600;}

/* ========== capabilities ========== */
.caps{padding:104px 0 40px;}
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:44px; flex-wrap:wrap;}
.sec-head .intro{max-width:60ch}
.sec-head .intro .eyebrow{margin-bottom:14px}
.sec-head .intro p{margin-top:16px; color:var(--muted); font-size:16.5px; line-height:1.6}
.link-arrow{display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--green-700); text-decoration:none; font-size:15px; white-space:nowrap;}
.link-arrow .arw{transition:transform .25s}
.link-arrow:hover .arw{transform:translateX(5px)}
.caps-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.cap-card{position:relative; display:flex; gap:20px; align-items:flex-start; background:#fff; border:1px solid var(--line-soft);
  border-radius:var(--radius); padding:26px 26px; box-shadow:var(--shadow); text-decoration:none; overflow:hidden;
  transition:transform .25s, box-shadow .25s, border-color .25s;}
.cap-card::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--accent); transform:scaleY(0); transform-origin:top; transition:transform .3s;}
.cap-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-lg); border-color:transparent;}
.cap-card:hover::before{transform:scaleY(1);}
.cap-card .num{font-size:13px; font-weight:700; color:var(--green-500); letter-spacing:.05em; min-width:26px; padding-top:3px;}
.cap-card h3{font-size:19px; font-weight:700; color:var(--green-900); letter-spacing:-.01em;}
.cap-card p{margin-top:8px; font-size:14.5px; line-height:1.55; color:var(--muted);}
.cap-card .arw{position:absolute; right:22px; top:24px; color:var(--green-500); opacity:0; transform:translateX(-4px); transition:opacity .25s, transform .25s;}
.cap-card:hover .arw{opacity:1; transform:none;}

/* ========== matrix motif ========== */
.matrix-band{padding:64px 0 100px;}
.matrix-wrap{background:linear-gradient(150deg,#0B3B2C,#06231A); border-radius:26px; padding:52px clamp(24px,4vw,64px);
  color:#e6f5ec; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; overflow:hidden; position:relative;}
.matrix-wrap .eyebrow{color:var(--accent)}
.matrix-wrap h2{font-size:clamp(26px,3vw,38px); font-weight:800; letter-spacing:-.03em; color:#fff; margin:14px 0 16px; line-height:1.1}
.matrix-wrap p{color:#a9cdba; font-size:16.5px; line-height:1.65; max-width:46ch}
.matrix-wrap .mstat{margin-top:26px; display:flex; gap:30px}
.matrix-wrap .mstat .n{font-size:30px; font-weight:800; color:#fff} .matrix-wrap .mstat .l{font-size:12.5px; color:#8fbfa8; margin-top:4px}
.matrix-grid{display:grid; gap:7px; justify-content:center;}
.matrix-grid .row{display:grid; gap:7px; grid-auto-flow:column;}
.mcell{width:26px; height:26px; border-radius:7px; background:rgba(255,255,255,.07); transition:background .3s, transform .3s;}
.mcell.on{background:rgba(23,225,127,.85); box-shadow:0 0 14px rgba(23,225,127,.5);}
.mcell:hover{transform:scale(1.18);}

/* ========== delivery model (connected stepper) ========== */
.delivery{padding:100px 0; background:linear-gradient(180deg,#E7F1EB 0%, #EEF5F1 100%);
  border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);}
.delivery .node{background:#fff}
.delivery .sec-head{justify-content:center; text-align:center; flex-direction:column; align-items:center; margin-bottom:20px}
.delivery .posline{text-align:center; font-size:clamp(20px,2.2vw,28px); font-weight:600; color:var(--green-900); max-width:24ch; margin:0 auto 56px; line-height:1.3;}
.delivery .posline em{font-style:normal; color:var(--green-600)}
.steps{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.steps .rail{position:absolute; left:6%; right:6%; top:34px; height:2px; background:var(--line); z-index:0;}
.steps .rail .fill{position:absolute; inset:0; width:0; background:linear-gradient(90deg,var(--green-600),var(--accent)); transition:width 1.6s ease;}
.steps.in .rail .fill{width:100%}
.step{position:relative; z-index:1; text-align:center; padding:0 6px;}
.step .node{width:70px; height:70px; margin:0 auto 22px; border-radius:50%; background:#fff; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:800; color:var(--green-700); box-shadow:var(--shadow);
  position:relative; transition:transform .3s, background .3s, color .3s;}
.step .node::after{content:""; position:absolute; inset:-6px; border-radius:50%; border:1px solid var(--accent); opacity:0; transform:scale(.8); transition:opacity .4s, transform .4s;}
.step:hover .node{transform:translateY(-4px)}
.step:hover .node::after{opacity:1; transform:scale(1)}
.step h4{font-size:19px; font-weight:700; color:var(--green-900); margin-bottom:8px}
.step p{font-size:14px; line-height:1.55; color:var(--muted)}
.pillars{margin-top:70px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.pillar{background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow);}
.pillar .ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--green-600),var(--accent)); margin-bottom:18px;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; font-weight:700;}
.pillar h4{font-size:17px; font-weight:700; color:var(--green-900); margin-bottom:8px}
.pillar p{font-size:14.5px; line-height:1.55; color:var(--muted)}

/* ========== insights ========== */
.insights{padding:96px 0 100px;}
.ins-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.ins-card{background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
  text-decoration:none; display:flex; flex-direction:column; transition:transform .25s, box-shadow .25s;}
.ins-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-lg)}
.ins-card .thumb{position:relative; aspect-ratio:16/10; overflow:hidden}
.ins-card .thumb img{width:100%;height:100%;object-fit:cover; transition:transform .5s}
.ins-card:hover .thumb img{transform:scale(1.06)}
.ins-card .tag{position:absolute; top:14px; left:14px; z-index:2; background:rgba(6,32,24,.8); color:#d7f2e5; font-size:11px;
  font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:6px 12px; border-radius:999px;}
.ins-card .body{padding:22px 22px 24px; display:flex; flex-direction:column; flex:1}
.ins-card h3{font-size:19px; font-weight:700; color:var(--green-900); line-height:1.25; letter-spacing:-.01em}
.ins-card p{margin-top:10px; font-size:14.5px; line-height:1.55; color:var(--muted); flex:1}
.ins-card .meta{margin-top:18px; font-size:12.5px; color:var(--green-600); font-weight:600; letter-spacing:.04em}

/* ========== CTA band (compact, split) ========== */
.cta-band{position:relative; padding:66px 0;}
.cta-inner{position:relative; overflow:hidden; border-radius:26px; padding:46px clamp(28px,4vw,58px);
  background:linear-gradient(150deg,#0E5540 0%, #062018 100%);
  display:grid; grid-template-columns:1.4fr auto; align-items:center; gap:36px;
  box-shadow:var(--shadow-lg);}
.cta-inner .glow{position:absolute; width:44vw; height:44vw; right:-8vw; top:-18vw; border-radius:50%; filter:blur(78px);
  background:radial-gradient(circle,rgba(23,225,127,.34),transparent 60%); animation:d1 18s ease-in-out infinite;}
.cta-inner .ring{position:absolute; right:-40px; bottom:-60px; width:220px; height:220px; border-radius:50%;
  border:1px solid rgba(23,225,127,.28); box-shadow:0 0 0 22px rgba(23,225,127,.05), inset 0 0 40px rgba(23,225,127,.12);}
.cta-inner .txt{position:relative; z-index:2}
.cta-inner .eyebrow{color:var(--accent); margin-bottom:12px}
.cta-inner h2{font-size:clamp(25px,2.9vw,38px); font-weight:800; letter-spacing:-.03em; color:#fff; max-width:18ch; line-height:1.08}
.cta-inner p{margin-top:14px; color:#a9cdba; font-size:16px; line-height:1.6; max-width:52ch}
.cta-inner .actions{position:relative; z-index:2; display:flex; flex-direction:column; gap:12px}
@media(max-width:800px){.cta-inner{grid-template-columns:1fr; gap:24px; padding:38px 26px} .cta-inner .actions{flex-direction:row; flex-wrap:wrap} .cta-inner .ring{display:none}}

/* ========== footer ========== */
.footer{background:#041711; color:#9dc3b1; padding:72px 0 34px; font-size:14px;}
.footer .top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.08);}
.footer .brand-col .brand{margin-bottom:18px}
.footer .brand-col p{max-width:34ch; line-height:1.6; color:#7ea892}
.footer h5{color:#e6f5ec; font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; font-weight:600}
.footer ul{list-style:none} .footer li{margin-bottom:11px}
.footer a{text-decoration:none; color:#9dc3b1; transition:color .2s} .footer a:hover{color:var(--accent)}
.footer .credentials{margin-top:30px; padding-top:24px; font-size:12.5px; color:#6c9683; line-height:1.7;}
.footer .bottom{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:26px; font-size:12.5px; color:#6c9683}

/* ========== responsive ========== */
@media(max-width:960px){
  .position .grid{grid-template-columns:1fr; gap:40px}
  .matrix-wrap{grid-template-columns:1fr; gap:34px}
  .caps-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,1fr); gap:40px 20px} .steps .rail{display:none}
  .pillars{grid-template-columns:1fr}
  .ins-grid{grid-template-columns:1fr}
  .footer .top{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .container{padding:0 20px}
  .nav{padding:14px 20px}
  .nav .links, .nav .cta{display:none}
  .nav .burger{display:flex}
  .nav.open .links{display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:18px;
    background:rgba(244,249,246,.98); padding:22px 24px; border-bottom:1px solid var(--line-soft)}
  .hero .wrap{padding:44px 20px 92px}
  .stats{grid-template-columns:1fr 1fr}
  .footer .top{grid-template-columns:1fr}
  .footer .bottom{flex-direction:column}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; scroll-behavior:auto !important}
  .reveal{opacity:1 !important; transform:none !important}
  .hero .eyebrow,.hero .sub,.hero .actions,.hero h1 .word{opacity:1 !important; transform:none !important; filter:none !important}
}

/* ==========================================================================
   INNER PAGES
   ========================================================================== */
.nav .links a[aria-current="page"]{opacity:1}
.nav .links a[aria-current="page"]::after{width:100%}

/* ----- sub-hero (compact aurora banner) ----- */
.subhero{position:relative; overflow:hidden; margin-top:-64px; padding:150px 0 74px;
  background:linear-gradient(180deg,#F7FBF9 0%, #E9F2ED 100%);}
.subhero .bg{position:absolute; inset:0; z-index:0; overflow:hidden}
.subhero .veil{background:radial-gradient(72% 90% at 50% 24%, rgba(247,251,249,.66), transparent 82%)}
.subhero .inner{position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding:0 32px}
.subhero .breadcrumb{font-size:12.5px; color:var(--muted); margin-bottom:18px; letter-spacing:.02em}
.subhero .breadcrumb a{color:var(--green-600); text-decoration:none}
.subhero .eyebrow{margin-bottom:18px}
.subhero h1{font-size:clamp(34px,5vw,64px); line-height:1.04; letter-spacing:-.035em; font-weight:800; color:var(--green-900); max-width:18ch}
.subhero .lead{margin-top:22px; max-width:62ch}
.subhero .actions{margin-top:32px; display:flex; gap:14px; flex-wrap:wrap}

/* ----- generic section ----- */
.section{padding:88px 0}
.section.tint{background:linear-gradient(180deg,#E7F1EB,#EEF5F1); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft)}
.section .head{max-width:66ch; margin-bottom:44px}
.section .head .eyebrow{margin-bottom:14px}
.section .head h2{margin-top:8px}
.section .head p{margin-top:16px; color:var(--muted); font-size:16.5px; line-height:1.62}
.chips{margin-top:18px; display:flex; flex-wrap:wrap; gap:8px}
.chip{font-size:12.5px; font-weight:500; color:var(--green-800); background:var(--mist); border:1px solid var(--line-soft); padding:7px 13px; border-radius:999px}

/* ----- capability detail rows ----- */
.cap-list{display:grid; gap:16px}
.cap-row{display:grid; grid-template-columns:60px 1fr; gap:24px; background:#fff; border:1px solid var(--line-soft);
  border-radius:var(--radius); padding:30px; box-shadow:var(--shadow); position:relative; overflow:hidden; transition:transform .25s, box-shadow .25s}
.cap-row:hover{transform:translateY(-3px); box-shadow:var(--shadow-lg)}
.cap-row .accent-bar{position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--accent); transform:scaleY(0); transform-origin:top; transition:transform .3s}
.cap-row:hover .accent-bar{transform:scaleY(1)}
.cap-row .idx{font-size:15px; font-weight:700; color:var(--green-500); letter-spacing:.04em; padding-top:5px}
.cap-row h3{font-size:22px; font-weight:700; color:var(--green-900); letter-spacing:-.02em}
.cap-row p{margin-top:10px; color:var(--muted); font-size:15.5px; line-height:1.6; max-width:72ch}

/* ----- industry feature rows ----- */
.ind-row{display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; margin-bottom:40px}
.ind-row:nth-child(even) .media{order:2}
.ind-row .media{position:relative; border-radius:22px; overflow:hidden; aspect-ratio:16/11; box-shadow:var(--shadow-lg)}
.ind-row .media img{width:100%; height:100%; object-fit:cover; transition:transform .6s}
.ind-row:hover .media img{transform:scale(1.05)}
.ind-row .media .num{position:absolute; top:16px; left:18px; z-index:2; color:#fff; font-weight:700; font-size:12.5px; letter-spacing:.1em; background:rgba(6,32,24,.5); padding:6px 12px; border-radius:999px; backdrop-filter:blur(6px)}
.ind-row .txt .eyebrow{margin-bottom:12px}
.ind-row .txt h3{font-size:clamp(24px,2.6vw,32px); font-weight:800; letter-spacing:-.025em; color:var(--green-900)}
.ind-row .txt p{margin-top:14px; color:var(--muted); font-size:16px; line-height:1.62; max-width:58ch}

/* ----- card grids ----- */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.pcard{background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow)}
.pcard .ic{width:46px; height:46px; border-radius:12px; background:linear-gradient(135deg,var(--green-600),var(--accent)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:19px; font-weight:700; margin-bottom:18px}
.pcard h3{font-size:19px; font-weight:700; color:var(--green-900); margin-bottom:9px; letter-spacing:-.01em}
.pcard p{color:var(--muted); font-size:15px; line-height:1.58}

/* ----- founder ----- */
.founder{display:grid; grid-template-columns:.82fr 1.18fr; gap:48px; align-items:center}
.founder .photo{border-radius:22px; overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/5}
.founder .photo img{width:100%; height:100%; object-fit:cover}
.founder .q{font-size:clamp(21px,2.3vw,29px); font-weight:700; letter-spacing:-.02em; color:var(--green-900); line-height:1.32}
.founder .role{margin-top:22px; font-size:12.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--green-600); font-weight:600}
.founder .name{font-size:22px; font-weight:800; color:var(--green-900); margin-top:6px}
.founder .bio{margin-top:16px; color:var(--muted); font-size:15.5px; line-height:1.65}
.founder .bio p{margin-bottom:13px}

/* ----- feature band (dark) ----- */
.feature-band{background:linear-gradient(150deg,#0B3B2C,#06231A); border-radius:26px; padding:52px clamp(26px,4vw,60px); color:#e6f5ec}
.feature-band .eyebrow{color:var(--accent)}
.feature-band h2{color:#fff; margin:14px 0 16px; font-size:clamp(24px,3vw,36px); font-weight:800; letter-spacing:-.03em}
.feature-band p{color:#a9cdba; font-size:16.5px; line-height:1.65; max-width:72ch}
.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:30px}
.feature-band .fb{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:22px}
.feature-band .fb b{color:#fff; font-size:15px} .feature-band .fb span{display:block; color:#8fbfa8; font-size:13px; margin-top:6px; line-height:1.5}

/* ----- insights filter + feature ----- */
.filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px}
.filter{font-size:13.5px; font-weight:600; color:var(--green-800); background:#fff; border:1px solid var(--line); padding:9px 16px; border-radius:999px; cursor:pointer; transition:all .2s}
.filter.active, .filter:hover{background:var(--green-700); color:#fff; border-color:var(--green-700)}
.feature-article{display:grid; grid-template-columns:1.1fr .9fr; background:#fff; border:1px solid var(--line-soft); border-radius:22px; overflow:hidden; box-shadow:var(--shadow-lg); margin-bottom:46px}
.feature-article .media{position:relative; min-height:340px}
.feature-article .media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.feature-article .body{padding:46px}
.feature-article .tag{display:inline-block; background:var(--green-900); color:#d7f2e5; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:6px 12px; border-radius:999px; margin-bottom:18px}
.feature-article h2{font-size:clamp(24px,2.7vw,34px); font-weight:800; letter-spacing:-.02em; color:var(--green-900); line-height:1.16}
.feature-article p{margin-top:16px; color:var(--muted); font-size:16px; line-height:1.6}
.feature-article .meta{margin-top:22px; font-size:12.5px; color:var(--green-600); font-weight:600; letter-spacing:.04em}

/* ----- contact ----- */
.contact-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:start}
.contact-info .block{margin-bottom:26px}
.contact-info h4{font-size:13px; letter-spacing:.1em; text-transform:uppercase; color:var(--green-600); margin-bottom:8px}
.contact-info p{color:var(--green-900); font-size:16px; line-height:1.55}
.contact-info p span{color:var(--muted)}
form.enq{background:#fff; border:1px solid var(--line-soft); border-radius:22px; padding:34px; box-shadow:var(--shadow)}
form.enq .row{display:grid; grid-template-columns:1fr 1fr; gap:16px}
form.enq label{display:block; font-size:13px; font-weight:600; color:var(--green-800); margin:14px 0 6px}
form.enq input, form.enq select, form.enq textarea{width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:12px; font-family:inherit; font-size:15px; color:var(--ink); background:var(--mist-2); transition:border-color .2s}
form.enq input:focus, form.enq select:focus, form.enq textarea:focus{outline:none; border-color:var(--green-500)}
form.enq textarea{min-height:120px; resize:vertical}
form.enq .note{margin-top:14px; font-size:12.5px; color:var(--muted)}
form.enq .ok{display:none; margin-top:16px; padding:14px 16px; background:rgba(23,225,127,.14); border:1px solid rgba(23,225,127,.4); border-radius:12px; color:var(--green-800); font-size:14px}
form.enq.sent .ok{display:block}
.cred-strip{background:var(--green-900); color:#bfe6d4; border-radius:18px; padding:26px 30px; font-size:13.5px; line-height:1.75}
.cred-strip b{color:#e6f5ec}

/* ----- careers roles ----- */
.role{display:flex; justify-content:space-between; align-items:center; gap:20px; background:#fff; border:1px solid var(--line-soft); border-radius:14px; padding:22px 24px; box-shadow:var(--shadow); margin-bottom:12px}
.role h4{font-size:17px; font-weight:700; color:var(--green-900)} .role p{font-size:13.5px; color:var(--muted); margin-top:4px}
.role .btn{flex:none}

/* ----- responsive (inner) ----- */
@media(max-width:900px){
  .founder{grid-template-columns:1fr; gap:28px}
  .ind-row{grid-template-columns:1fr; gap:22px} .ind-row:nth-child(even) .media{order:0}
  .grid-3, .grid-2, .grid-4{grid-template-columns:1fr}
  .feature-band .grid-4{grid-template-columns:1fr 1fr}
  .feature-article{grid-template-columns:1fr} .feature-article .media{min-height:240px}
  .contact-grid{grid-template-columns:1fr; gap:30px}
  form.enq .row{grid-template-columns:1fr}
}
@media(max-width:680px){
  .cap-row{grid-template-columns:1fr; gap:10px}
  .subhero{padding:120px 0 54px}
  .role{flex-direction:column; align-items:flex-start}
}

/* ===== brand lockup — concept #5 "TF" mark ===== */
.brand{display:inline-flex; align-items:center; gap:11px; text-decoration:none}
.nav .brand .brand-mark{height:34px; width:auto; display:block}
.brand-word{display:flex; flex-direction:column; line-height:1; text-align:left}
.brand-word .bw-the{font-size:9px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:#8A968F; margin-bottom:3px}
.brand-word .bw-main{font-size:18px; font-weight:800; letter-spacing:-.03em; color:var(--green-900); white-space:nowrap}
.brand-word .bw-o{color:var(--green-600)}
.footer .brand-col .brand-mark{height:36px; width:auto; display:block}
.footer .brand-col .bw-the{color:#6c9683}
.footer .brand-col .bw-main{color:#e6f5ec}
.footer .brand-col .bw-o{color:var(--accent)}
