/* ============================================================
   PRAKUT — shared design system
   Soil Core (Brown) + Living Leaf (Green) + Soft Sage + Prakut White
   ============================================================ */

:root{
  /* Primary Colors - New Palette */
  --soil-core:#5D3A1A;
  --living-leaf:#1B7D3C;
  --logo-green:#06923E;
  --soft-sage:#A8D5BA;
  --prakut-white:#F8F7F1;
  
  /* Legacy variables mapped to new palette */
  --ink:#5D3A1A;
  --ink-70:rgba(93,58,26,0.7);
  --ink-45:rgba(93,58,26,0.45);
  --ink-18:rgba(93,58,26,0.16);
  --paper:#F8F7F1;
  --paper-2:#FAFAF8;
  --slate:#E8EBE5;
  --turmeric:#1B7D3C;
  --turmeric-dark:#156B31;
  --clay:#A8D5BA;
  --signal:#1B7D3C;
  --max:1160px;
  --radius:4px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Fraunces', Georgia, serif; font-weight:600; margin:0 0 0.4em; line-height:1.1; letter-spacing:-0.01em;}
p{margin:0 0 1em;}
a{color:inherit;}
img{max-width:100%; display:block;}
ul,ol{margin:0; padding:0;}
.container{max-width:var(--max); margin:0 auto; padding:0 28px;}
.mono{font-family:'IBM Plex Mono', monospace;}
.eyebrow{
  font-family:'IBM Plex Mono', monospace; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--living-leaf); font-weight:600; display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.eyebrow::before{content:""; width:22px; height:1px; background:var(--living-leaf); display:inline-block;}
.section-head{max-width:660px; margin-bottom:44px;}
.section-head p{color:#6B5A47; font-size:17px;}
section{padding:84px 0;}
section.tight{padding:52px 0;}
.divider{border:none; border-top:1px solid #D9D2C7; margin:0;}
.bg-ink{background:var(--soil-core); color:var(--prakut-white);}
.bg-ink .eyebrow{color:var(--soft-sage);}
.bg-ink .eyebrow::before{background:var(--soft-sage);}
.bg-ink h2, .bg-ink h1{color:var(--prakut-white);}
.bg-ink p{color:rgba(248,247,241,0.9);}
.bg-slate{background:var(--slate);}
.center{text-align:center;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'IBM Plex Mono', monospace; font-size:13.5px; font-weight:500; letter-spacing:0.02em;
  padding:13px 22px; border-radius:var(--radius); text-decoration:none; border:1px solid transparent; cursor:pointer; white-space:nowrap;
}
.btn-primary{background:var(--soil-core); color:var(--prakut-white); border-color:var(--soil-core);}
.btn-primary:hover{background:#4A2E14;}
.btn-ghost{background:transparent; color:var(--ink); border-color:#D9D2C7;}
.btn-ghost:hover{border-color:var(--ink);}
.btn-accent{background:var(--living-leaf); color:var(--prakut-white); border-color:var(--living-leaf);}
.btn-accent:hover{background:var(--turmeric-dark);}
.bg-ink .btn-ghost{border-color:rgba(248,247,241,0.35); color:var(--paper-2);}
.bg-ink .btn-ghost:hover{border-color:var(--paper-2);}
.text-link{font-family:'IBM Plex Mono', monospace; font-size:13.5px; color:var(--living-leaf); text-decoration:none; border-bottom:1px solid var(--living-leaf); padding-bottom:2px;}
.text-link:hover{border-color:var(--soil-core); color:var(--soil-core);}
a:focus-visible, button:focus-visible{outline:2px solid var(--living-leaf); outline-offset:2px;}
.cta-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}

/* ---------- Nav ---------- */
header.site{position:sticky; top:0; z-index:50; background:rgba(248,247,241,0.94); backdrop-filter:blur(6px); border-bottom:1px solid #D9D2C7;}
.nav{display:flex; align-items:center; justify-content:space-between; padding:14px clamp(20px, 4vw, 56px); width:100%;}
.nav__brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
.nav__brand img{height: 60px; width:auto;}
.nav__tagline{font-family:'IBM Plex Mono', monospace; font-size:11px; color:#7A6B5A; letter-spacing:0.04em; border-left:1px solid #D9D2C7; padding-left:10px; display:none;}
.nav__links{display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0;}
.nav__links a{text-decoration:none; font-size:14.5px; font-weight:500; color:var(--soil-core);}
.nav__links a:hover, .nav__links a.is-active{color:var(--living-leaf);}
.nav__actions{display:flex; align-items:center; gap:10px;}
.nav__toggle{display:none; background:none; border:1px solid #D9D2C7; border-radius:var(--radius); width:40px; height:40px; align-items:center; justify-content:center;}
.nav__toggle span, .nav__toggle span::before, .nav__toggle span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);position:relative;}
.nav__toggle:hover{border-color:var(--soil-core); background:rgba(93,58,26,0.06);}
.nav__toggle span::before{position:absolute; top:-6px;}
.nav__toggle span::after{position:absolute; top:6px;}
.nav__toggle[aria-expanded="true"] span{background:transparent;}
.nav__toggle[aria-expanded="true"] span::before{top:0; transform:rotate(45deg);}
.nav__toggle[aria-expanded="true"] span::after{top:0; transform:rotate(-45deg);}
.nav__cta-desktop{display:none;}

@media (max-width:960px){
  .nav__tagline{display:none;}
  .nav__links{
    position:fixed; top:64px; left:0; right:0; bottom:0; background:var(--paper-2);
    flex-direction:column; align-items:flex-start; gap:0; padding:10px 28px 28px;
    transform:translateY(-8px); opacity:0; pointer-events:none; transition:0.18s ease; overflow-y:auto;
    height: fit-content;
  }
  .nav__links.is-open{opacity:1; pointer-events:auto; transform:translateY(0);}
  .nav__links li{width:100%; border-bottom:1px solid #D9D2C7;}
  .nav__links a{display:block; padding:16px 0;}
  .nav__toggle{display:flex;}
}

/* ---------- Page hero (sub-pages) ---------- */
.page-hero{padding:64px 0 60px; border-bottom:1px solid #D9D2C7;}
.page-hero h1{font-size:clamp(30px,4vw,46px); max-width:18ch;}
.page-hero .sub{font-size:17.5px; color:#6B5A47; max-width:60ch;}
.badge{
  display:inline-flex; align-items:center; gap:7px; font-family:'IBM Plex Mono', monospace; font-size:11.5px;
  text-transform:uppercase; letter-spacing:0.08em; padding:7px 13px; border-radius:20px; border:1px solid var(--living-leaf);
  color:var(--living-leaf); margin-bottom:18px;
}
.badge::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--living-leaf);}
.bg-ink .badge{border-color:var(--soft-sage); color:var(--soft-sage);}
.bg-ink .badge::before{background:var(--soft-sage);}

.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#D9D2C7; border:1px solid #D9D2C7; border-radius:6px; overflow:hidden;}
.grid-2 .stepper__cell{background:var(--paper-2);}
@media(max-width:640px){.grid-2{grid-template-columns:1fr;}}

/* ---------- Home hero ---------- */
.hero{padding:76px 0 60px;}
.hero__grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center;}
.hero h1{font-size:clamp(34px,4.6vw,54px); max-width:15ch;}
.hero__sub{font-size:18px; color:#6B5A47; max-width:54ch; margin-bottom:8px;}
.hero__tagline{font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--living-leaf); letter-spacing:0.06em; margin-bottom:26px;}
@media (max-width:860px){.hero__grid{grid-template-columns:1fr; gap:40px;} .hero{padding:44px 0 48px;}}

/* ---------- Chain (signature visual) ---------- */
.chain{position:relative; background:var(--paper-2); border:1px solid #D9D2C7; border-radius:8px; padding:28px 26px 24px; box-shadow:0 18px 40px -22px rgba(28,43,69,0.35);}
.chain__cap{font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:#7A6B5A; margin-bottom:18px;}
.chain__list{list-style:none; margin:0; padding:0; position:relative;}
.chain__list::before{content:""; position:absolute; left:15px; top:22px; bottom:11px; width:1px; background:#D9D2C7;}
.chain__item{position:relative; padding-left:40px; padding-bottom:20px;}
.chain__item:last-child{padding-bottom:0;}
.chain__dot{position:absolute; left:7px; top:2px; width:16px; height:16px; border-radius:50%; background:var(--paper-2); border:2px solid #7A6B5A;}
.chain__item.is-final .chain__dot{border-color:var(--living-leaf); background:var(--living-leaf);}
.chain__label{font-family:'IBM Plex Sans'; font-weight:600; font-size:15px;}
.chain__item.is-final .chain__label{color:var(--turmeric-dark); font-weight:700;}

/* ---------- Inline chains / lens comparison ---------- */
.lens{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.lens__col{padding:26px 24px; border-radius:8px;}
.lens__col.dim{background:var(--paper); color:#6B5A47;}
.lens__col.bright{background:var(--ink); color:var(--paper-2);}
.lens__col .eyebrow{margin-bottom:16px;}
.lens__col .eyebrow{color:#7A6B5A;}
.lens__col.bright .eyebrow{color:#7A6B5A;}
.lens__col.bright .eyebrow::before{background:#7A6B5A;}
.chain-inline{font-family:'IBM Plex Mono', monospace; font-size:15px; line-height:2; margin:0;}
@media (max-width:760px){.lens{grid-template-columns:1fr;}}

.flow-inline{display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:center; margin-top:8px;}
.flow-inline .pill{font-family:'IBM Plex Mono', monospace; font-size:13.5px; padding:10px 18px; border:1px solid #D9D2C7; border-radius:30px; background:var(--paper-2);}
.flow-inline .arrow{color:#7A6B5A; font-family:'IBM Plex Mono', monospace;}

/* ---------- Problem grid ---------- */
.problem-grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #D9D2C7;}
.problem-grid li{padding:15px 20px 15px 0; border-bottom:1px solid #D9D2C7; font-size:15px; display:flex; gap:10px; align-items:baseline;}
.problem-grid li::before{content:"—"; color:var(--clay); flex-shrink:0;}
@media (max-width:700px){.problem-grid{grid-template-columns:1fr;}}
.pull{border-left:3px solid var(--living-leaf); padding:4px 0 4px 22px; font-family:'Fraunces'; font-size:21px; font-weight:500; font-style:italic; color:var(--ink); margin:40px 0 0;}
.bg-ink .pull{border-left-color:var(--living-leaf);}

/* ---------- Stepper (Diagnose/Design/Execute/Grow) ---------- */
.stepper{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#D9D2C7; border:1px solid #D9D2C7; border-radius:6px; overflow:hidden;}
.stepper__cell{background:var(--paper-2); padding:26px 22px; display:flex; flex-direction:column;}
.stepper__num{font-family:'IBM Plex Mono', monospace; color:var(--living-leaf); font-size:12px; margin-bottom:12px; letter-spacing:0.06em;}
.stepper__title{font-family:'Fraunces'; font-size:19px; margin-bottom:6px;}
.stepper__desc{font-size:13.5px; color:#6B5A47; margin-bottom:16px;}
.stepper__tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:auto;}
.stepper__tag{font-family:'IBM Plex Mono', monospace; font-size:10.5px; padding:4px 9px; border:1px solid #D9D2C7; border-radius:20px; color:#6B5A47;}
@media (max-width:860px){.stepper{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.stepper{grid-template-columns:1fr;}}

/* ---------- Pillars ---------- */
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.pillar{border:1px solid #D9D2C7; border-radius:8px; padding:32px 28px; background:var(--paper-2); display:flex; flex-direction:column;}
.pillar__num{font-family:'IBM Plex Mono', monospace; font-size:12px; color:var(--living-leaf); margin-bottom:16px;}
.pillar__title{font-size:22px; margin-bottom:8px;}
.pillar__desc{font-size:14.5px; color:#6B5A47; margin-bottom:18px;}
.pillar__list{list-style:none; display:flex; flex-wrap:wrap; gap:7px; margin-bottom:24px;}
.pillar__list li{font-family:'IBM Plex Mono', monospace; font-size:11px; padding:5px 10px; border:1px solid #D9D2C7; border-radius:20px; color:#6B5A47;}
.pillar__cta{margin-top:auto;}
@media (max-width:900px){.pillars{grid-template-columns:1fr;}}

/* ---------- Segments / target customers ---------- */
.segments{display:flex; flex-direction:column; gap:1px; background:#D9D2C7; border:1px solid #D9D2C7; border-radius:6px; overflow:hidden;}
.segment{background:var(--paper-2); padding:28px 30px; display:grid; grid-template-columns:56px 1fr auto; gap:20px; align-items:center;}
.segment__num{font-family:'IBM Plex Mono', monospace; font-size:13px; color:var(--living-leaf); align-self:start; padding-top:4px;}
.segment__title{font-family:'Fraunces'; font-size:20px; font-weight:600; margin-bottom:4px;}
.segment__desc{font-size:14.5px; color:#6B5A47; max-width:46ch; margin:0;}
@media (max-width:760px){
  .segment{grid-template-columns:36px 1fr; padding:22px 20px;}
  .segment > .btn{grid-column:2; justify-self:start; margin-top:14px;}
}

/* ---------- Framework table ---------- */
.framework{width:100%; border-collapse:collapse; margin-top:8px;}
.framework th, .framework td{text-align:left; padding:14px 18px; border-bottom:1px solid #D9D2C7; font-size:14.5px;}
.framework th{font-family:'IBM Plex Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--clay); border-bottom:2px solid var(--ink);}
.framework td:first-child{font-weight:700; font-family:'Fraunces'; font-size:16px; width:220px;}
.framework tr:hover td{background:rgba(28,43,69,0.03);}
.framework-wrap{overflow-x:auto;}

/* ---------- Case study flow ---------- */
.case-label{font-family:'IBM Mono','IBM Plex Mono', monospace; font-size:11.5px; font-style:normal; color:#7A6B5A; margin:-8px 0 30px;}
.case{display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:18px; align-items:stretch;}
.case__col{background:var(--paper-2); border:1px solid #D9D2C7; border-radius:6px; padding:22px 22px;}
.case__col h4{font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--clay); margin-bottom:12px;}
.case__col ul{list-style:none; display:flex; flex-direction:column; gap:9px;}
.case__col li{font-size:14px; color:#6B5A47; padding-left:14px; position:relative;}
.case__col li::before{content:"–"; position:absolute; left:0; color:#7A6B5A;}
.case__arrow{display:flex; align-items:center; justify-content:center; color:#7A6B5A; font-size:20px;}
@media (max-width:900px){
  .case{grid-template-columns:1fr;}
  .case__arrow{display:none;}
}

/* ---------- Audit grid ---------- */
.audit-tags{display:flex; flex-wrap:wrap; gap:10px; margin:24px 0 8px;}
.audit-tags span{font-family:'IBM Plex Mono', monospace; font-size:12.5px; padding:9px 16px; border:1px solid #D9D2C7; border-radius:20px; background:var(--paper-2);}
.deliverables{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid #D9D2C7; margin-top:8px;}
.deliverables li{padding:14px 16px 14px 0; border-bottom:1px solid #D9D2C7; font-size:14.5px; display:flex; gap:10px; align-items:baseline;}
.deliverables li::before{content:"✓"; color:var(--signal); flex-shrink:0; font-weight:700; font-size:13px;}
@media (max-width:700px){.deliverables{grid-template-columns:1fr;}}

/* ---------- Forms ---------- */
.lead-form{background:var(--paper-2); border:1px solid #D9D2C7; border-radius:8px; padding:36px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.form-field{display:flex; flex-direction:column; gap:6px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-family:'IBM Plex Mono', monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:#6B5A47;}
.form-field input, .form-field select, .form-field textarea{
  padding:12px 13px; border:1px solid #C4B8AE; border-radius:4px; font-family:'IBM Plex Sans'; font-size:14.5px;
  background:var(--paper); color:var(--ink);
}
.form-field textarea{resize:vertical; min-height:90px;}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus{outline:2px solid var(--living-leaf); outline-offset:1px;}
.form-note{font-size:12.5px; color:#7A6B5A; margin-top:16px;}
.mini-form{display:flex; flex-wrap:wrap; gap:0; max-width:340px;}
.mini-form input{flex:1; padding:12px 13px; border:1px solid #C4B8AE; border-right:none; border-radius:4px 0 0 4px; font-family:'IBM Plex Sans'; font-size:14px;}
.mini-form button{border-radius:0 4px 4px 0; border:1px solid var(--living-leaf); background:var(--living-leaf); color:var(--prakut-white); font-family:'IBM Plex Mono'; font-size:12.5px; font-weight:600; padding:0 16px; cursor:pointer;}
.mini-form .form-note{flex-basis:100%; margin-top:8px;}
.bg-ink .mini-form input{background:rgba(248,247,241,0.08); color:var(--prakut-white); border-color:rgba(248,247,241,0.4);}
.bg-ink .mini-form input::placeholder{color:rgba(248,247,241,0.55);}
.bg-ink .mini-form .form-note{color:rgba(248,247,241,0.78);}
@media (max-width:640px){.form-grid{grid-template-columns:1fr;}}

/* ---------- Checklist ---------- */
.checklist{list-style:none; display:flex; flex-direction:column; gap:0;}
.checklist li{display:flex; gap:14px; padding:18px 0; border-top:1px solid #D9D2C7; font-size:15.5px;}
.checklist li:last-child{border-bottom:1px solid #D9D2C7;}
.checklist svg{flex-shrink:0; margin-top:3px;}

/* ---------- Offerings list (pillar sub-pages) ---------- */
.offerings{list-style:none; border-top:1px solid #D9D2C7;}
.offerings li{display:grid; grid-template-columns:210px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid #D9D2C7;}
.offerings strong{font-family:'Fraunces'; font-size:18px; font-weight:600;}
.offerings span{font-size:14.5px; color:#6B5A47;}
@media (max-width:760px){.offerings li{grid-template-columns:1fr; gap:4px;}}

/* ---------- FAQ ---------- */
.faq{max-width:800px;}
.faq-item{border-top:1px solid #D9D2C7;}
.faq-item:last-child{border-bottom:1px solid #D9D2C7;}
.faq-item summary{list-style:none; cursor:pointer; padding:22px 4px; display:flex; justify-content:space-between; align-items:center; gap:20px; font-family:'IBM Plex Sans'; font-weight:600; font-size:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{font-family:'IBM Plex Mono'; font-size:18px; color:var(--clay); flex-shrink:0; transition:transform 0.15s;}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item .faq-a{padding:0 4px 24px; color:#6B5A47; font-size:15px; max-width:66ch;}

/* ---------- Footer ---------- */
footer.site{padding:64px 0 28px; background:var(--logo-green);}
.footer__grid{display:grid; grid-template-columns:1.4fr 0.8fr 0.8fr 1.1fr; gap:40px; margin-bottom:56px;}
.footer__brand img{height:80px; margin-bottom:5px; margin-top: -10px;}
.footer__brand p{font-size:14px; color:rgba(248,247,241,0.82); max-width:34ch;}
.footer h4{font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--soft-sage); margin-bottom:16px;}
.footer ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
.footer ul a{text-decoration:none; font-size:14.5px; color:rgba(248,247,241,0.88);}
.footer ul a:hover{color:var(--soft-sage);}
.footer__bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding-top:26px; border-top:1px solid rgba(248,247,241,0.2); font-size:13px; color:rgba(248,247,241,0.72);}
@media (max-width:860px){.footer__grid{grid-template-columns:1fr 1fr; row-gap:36px;}}
@media (max-width:560px){.footer__grid{grid-template-columns:1fr;}}

/* ---------- Reveal ---------- */
.reveal{opacity:0; transform:translateY(14px); transition:opacity 0.5s ease, transform 0.5s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1; transform:none;}}

.hero {
    position: relative;
    overflow: hidden;
}
.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(39, 28, 17, 0.78), rgba(39, 28, 17, 0.34) 58%, rgba(39, 28, 17, 0.18));
    z-index: 1;
}
.hero__grid {
    position: relative;
    z-index: 2;
}
.hero__grid > div {
    position: relative;
    z-index: 2;
}

/* ---------- Homepage enhancement layer ---------- */
.hero{min-height:720px; display:flex; align-items:center; color:var(--paper-2); padding:96px 0 84px;}
.hero h1{color:var(--paper-2); max-width:15ch;}
.hero .eyebrow{color:var(--soft-sage);}
.hero .eyebrow::before{background:var(--soft-sage);}
.hero__sub{color:rgba(248,247,241,0.88);}
.hero__tagline{color:var(--soft-sage);}
.hero .btn-ghost{color:var(--paper-2); border-color:rgba(248,247,241,0.48);}
.hero .btn-ghost:hover{border-color:var(--paper-2); background:rgba(248,247,241,0.08);}
.hero__explore{margin-top:18px;}
.hero .text-link{color:var(--soft-sage); border-color:var(--soft-sage);}
.hero-video{object-fit:cover;}
.hero__visual{min-width:0;}
.chain{background:rgba(248,247,241,0.96);}
.chain__content{min-height:66px; padding:0 0 18px 40px;}
.chain__description{color:#6B5A47; font-family:'Fraunces', Georgia, serif; font-size:18px; line-height:1.35; margin:0; transition:opacity .25s ease, transform .25s ease;}
.chain__button{display:flex; align-items:baseline; width:100%; padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; cursor:pointer;}
.chain__item.is-active .chain__dot{border-color:var(--living-leaf); background:var(--living-leaf); box-shadow:0 0 0 5px rgba(27,125,60,.13);}
.chain__item.is-active .chain__label{color:var(--living-leaf);}
.chain__dot{transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;}
.chain__label{transition:color .25s ease;}
.problem-grid{gap:12px; border:0;}
.problem-grid li{display:flex; align-items:flex-start; min-height:104px; padding:19px 18px; border:1px solid #D9D2C7; border-radius:6px; background:var(--paper-2); transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
.problem-grid li:hover{transform:translateY(-4px); border-color:var(--living-leaf); box-shadow:0 14px 26px -20px rgba(93,58,26,.6);}
.problem-grid li::before{display:none;}
.problem-grid li > span:last-child{display:flex; flex-direction:column; gap:5px;}
.problem-grid strong{font-family:'Fraunces', Georgia, serif; font-size:17px;}
.problem-grid small{color:#6B5A47; font-size:13px; line-height:1.35;}
.problem-icon{color:var(--living-leaf); font-family:'IBM Plex Mono', monospace; font-size:11px; margin-right:12px; padding-top:2px;}
.stats-band{padding:44px 0; background:var(--soil-core); color:var(--paper-2);}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.stat{padding-right:20px; border-right:1px solid rgba(248,247,241,.22);}
.stat:last-child{border-right:0;}
.stat strong{display:block; font-family:'Fraunces', Georgia, serif; color:var(--soft-sage); font-size:clamp(38px,5vw,58px); line-height:1;}
.stat strong::after{content:'+'; font-family:'IBM Plex Mono', monospace; font-size:.45em; vertical-align:top; margin-left:3px;}
.stat:last-child strong::after{content:'';}
.stat span{display:block; margin-top:9px; color:rgba(248,247,241,.78); font-family:'IBM Plex Mono', monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase;}
.story-grid{display:grid; grid-template-columns:1.08fr .92fr; gap:64px; align-items:center;}
.story-image{overflow:hidden; border-radius:8px; aspect-ratio:4/3; background:var(--slate);}
.story-image img{width:100%; height:100%; object-fit:cover;}
.story-copy{max-width:480px;}
.story-copy h2{font-size:clamp(30px,4vw,48px);}
.story-copy p{color:#6B5A47; font-size:17px;}
.timeline-section{color:var(--paper-2);}
.timeline-section .section-head p{color:rgba(248,247,241,.78);}
.timeline-layout{display:grid; grid-template-columns:270px 1fr; gap:42px; align-items:stretch;}
.timeline{display:flex; flex-direction:column; border-left:1px solid rgba(248,247,241,.28);}
.timeline__stage{position:relative; display:flex; align-items:center; gap:14px; padding:13px 18px; border:0; border-bottom:1px solid rgba(248,247,241,.14); background:none; color:rgba(248,247,241,.66); font-family:'Fraunces', Georgia, serif; font-size:22px; text-align:left; cursor:pointer; transition:color .25s ease, background .25s ease;}
.timeline__stage span{font-family:'IBM Plex Mono', monospace; font-size:11px; color:var(--soft-sage);}
.timeline__stage.is-active{background:rgba(168,213,186,.12); color:var(--paper-2);}
.timeline__stage.is-active::before{content:''; position:absolute; left:-2px; top:0; bottom:0; width:3px; background:var(--soft-sage);}
.timeline-detail{display:grid; grid-template-columns:minmax(240px,.9fr) 1.1fr; gap:34px; align-items:center; padding:24px; border:1px solid rgba(248,247,241,.22); border-radius:8px; background:rgba(248,247,241,.08);}
.timeline-detail img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; transition:opacity .25s ease;}
.timeline-detail .eyebrow{color:var(--soft-sage);}
.timeline-detail .eyebrow::before{background:var(--soft-sage);}
.timeline-detail p{font-family:'Fraunces', Georgia, serif; font-size:clamp(24px,3vw,36px); line-height:1.2;}
.transformation-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.transformation-card{display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid #D9D2C7; border-radius:7px; background:var(--paper-2); text-decoration:none; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;}
.transformation-card:hover{transform:translateY(-5px); border-color:var(--living-leaf); box-shadow:0 18px 32px -24px rgba(93,58,26,.7);}
.card-image{overflow:hidden; aspect-ratio:1.35; background:var(--slate); position:relative;}
.card-image::after{content:''; position:absolute; inset:0; background:rgba(27,125,60,0); transition:background .3s ease;}
.transformation-card:hover .card-image::after{background:rgba(27,125,60,.12);}
.card-image img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease;}
.transformation-card:hover .card-image img{transform:scale(1.04);}
.card-content{position:relative; padding:19px 48px 20px 20px;}
.card-content h3{font-size:21px; margin-bottom:5px;}
.card-content p{font-size:14px; color:#6B5A47; margin:0;}
.card-arrow{position:absolute; right:20px; top:21px; color:var(--living-leaf); font-family:'IBM Plex Mono', monospace; font-size:20px;}
.comparison-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.comparison-column{padding:30px; border-radius:7px; border:1px solid #D9D2C7; background:var(--paper-2);}
.comparison-column h3{font-size:25px; margin-bottom:18px;}
.comparison-column ul{list-style:none; display:grid; gap:12px;}
.comparison-column li{padding:11px 0 11px 26px; border-top:1px solid #D9D2C7; position:relative; color:#6B5A47;}
.comparison-column li::before{position:absolute; left:0; color:#7A6B5A;}
.comparison-column.before li::before{content:'—';}
.comparison-column.after{border-color:var(--living-leaf);}
.comparison-column.after h3{color:var(--living-leaf);}
.comparison-column.after li::before{content:'+'; color:var(--living-leaf);}
.final-cta{position:relative; overflow:hidden; min-height:430px; display:flex; align-items:center; color:var(--paper-2);}
.final-cta > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.final-cta__overlay{position:absolute; inset:0; background:linear-gradient(90deg, rgba(39,28,17,.9), rgba(39,28,17,.58));}
.final-cta__content{position:relative; z-index:1; max-width:760px;}
.final-cta h2{font-size:clamp(32px,5vw,58px); color:var(--paper-2); max-width:14ch;}
.final-cta p{max-width:54ch; color:rgba(248,247,241,.86); font-size:17px;}
.final-cta .eyebrow{color:var(--soft-sage);}
.final-cta .eyebrow::before{background:var(--soft-sage);}
.final-cta .btn-ghost{color:var(--paper-2); border-color:rgba(248,247,241,.5);}
@media(max-width:860px){.hero{min-height:650px; padding:70px 0 60px;}.stats-grid{grid-template-columns:repeat(2,1fr);}.stat:nth-child(2){border-right:0;}.story-grid{grid-template-columns:1fr; gap:34px;}.story-copy{max-width:none;}.timeline-layout{grid-template-columns:1fr; gap:24px;}.transformation-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.hero{min-height:0; padding:60px 0 48px;}.hero__grid{gap:34px;}.chain{padding:22px 18px;}.chain__content{padding-left:38px;}.stats-grid{grid-template-columns:1fr 1fr; gap:20px 12px;}.stat{border-right:0; padding:0;}.stat strong{font-size:39px;}.story-grid{gap:28px;}.timeline-detail{grid-template-columns:1fr; gap:22px; padding:16px;}.transformation-cards{grid-template-columns:1fr;}.comparison-grid{grid-template-columns:1fr; gap:12px;}.comparison-column{padding:22px;}}

.chain__item {
    position: relative;
    cursor: pointer;
    padding: 10px 14px;
    margin: 4px 0;
    border-radius: 8px;
    transition: all 0.25s ease;
    opacity: 0.7;
}

/* Hovered item */
.chain__item:hover {
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    opacity: 1;
    transform: translateX(4px);
}

/* Text */
.chain__label {
    transition: color 0.25s ease;
}

/* Normal text */
.chain__label {
    color: #6f665c;
}

/* Hover text becomes black */
.chain__item:hover .chain__label {
    color: #000;
    font-weight: 700;
}

/* Dot */
.chain__dot {
    transition: all 0.25s ease;
}

/* Hovered dot */
.chain__item:hover .chain__dot {
    background: #16833d;
    border-color: #16833d;
    box-shadow: 0 0 0 5px rgba(22, 131, 61, 0.15);
}
.chain__button {
    display: flex;
    align-items: center;
  gap: 12px;
  padding-left: 28px;
  position: relative;
}

.chain__dot {
    flex: 0 0 20px;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
}

.chain__label {
    flex: 1;
}