
  :root{
    --orange:#E8582E;--orange-ink:#BF3F1A;--orange-btn:#C8431D;--orange-hover:#A8360F;--orange-bright:#EE6B41;
    --orange-deep:#C8431D;
    --orange-soft:#F4B89E;
    --green:#1B5E3B;
    --green-deep:#134628;
    --green-soft:#2A7A52;
    --green-bright:#5DCB8E;
    --navy:#0F1A2E;
    --navy-soft:#1A2740;
    --sand:#FFFFFF;
    --sand-warm:#FAFAFA;
    --sand-deep:#F5F5F5;
    --ink:#0F1A2E;
    --ink-mute:#5C6577;
    --ink-light:#646D7C;
    --rule:rgba(15,26,46,.10);
    --pad:104px;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--sand);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55;overflow-x:hidden}
  h1,h2,h3,h4{font-family:'Fraunces',serif;font-weight:600;letter-spacing:-0.01em;margin:0;line-height:1.08;text-wrap:balance}
  p{margin:0;text-wrap:pretty}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:1240px;margin:0 auto;padding:0 32px}
  section{position:relative}

  .progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:80;transform:scaleX(0);transform-origin:0 50%;background:var(--orange);will-change:transform}

  /* ---------- NAV ---------- */
  .nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);transition:background .25s}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
  .brand{display:flex;align-items:center;gap:10px;font-family:'DM Sans',system-ui,sans-serif;font-weight:500;font-size:21px;letter-spacing:-0.02em;color:var(--navy)}
  .brand img{height:32px;width:auto;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
  .brand:hover img{transform:rotate(-6deg) scale(1.06)}
  .nav-links{display:flex;gap:26px;font-size:14.5px;font-weight:500;color:var(--ink-mute)}
  .nav-links a{position:relative;padding:4px 0;transition:color .15s}
  .nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  .nav-links a:hover{color:var(--navy)}
  .nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:600;font-size:14.5px;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .18s,border-color .18s;cursor:pointer;border:none;font-family:inherit}
  .btn-primary{background:var(--orange);color:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04),0 6px 20px -8px rgba(232,88,46,.55)}
  .btn-primary:hover{background:var(--orange-deep);transform:translateY(-2px);box-shadow:0 10px 28px -10px rgba(232,88,46,.7)}
  .btn-lg{padding:17px 32px;font-size:16px;border-radius:999px}
  .btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1.5px solid rgba(255,255,255,.4);backdrop-filter:blur(6px)}
  .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.14);transform:translateY(-2px)}
  .btn-ghost-dark{background:transparent;color:var(--navy);border:1.5px solid rgba(15,26,46,.2)}
  .btn-ghost-dark:hover{border-color:var(--navy);background:rgba(15,26,46,.04);transform:translateY(-2px)}

  .nav-toggle{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--rule);background:#fff;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
  .nav-toggle span{display:block;width:18px;height:1.75px;background:var(--navy);border-radius:2px;transition:transform .28s,opacity .2s}
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.75px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.75px) rotate(-45deg)}
  .nav-drawer{display:none;position:fixed;inset:72px 0 0 0;z-index:55;background:rgba(255,255,255,.98);backdrop-filter:blur(18px);padding:28px 32px 40px;overflow-y:auto}
  .nav-drawer.open{display:block;animation:drawerIn .28s cubic-bezier(.2,.8,.2,1) both}
  @keyframes drawerIn{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
  .nav-drawer a.dl{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--rule);font-family:'Fraunces',serif;font-size:26px;font-weight:500;color:var(--navy)}
  .nav-drawer a.dl .ar{color:var(--orange);font-size:20px}
  .nav-drawer .drawer-cta{margin-top:28px;display:grid;gap:12px}
  .nav-drawer .drawer-meta{margin-top:28px;font-size:14px;color:var(--ink-mute);display:grid;gap:8px}

  /* ---------- HERO ---------- */
  .hero{position:relative;min-height:660px;color:#fff;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:center;padding:96px 0 72px}
  .hero-bg{position:absolute;inset:-4%;z-index:-2;background-image:url('hero-tulips.webp');background-size:cover;background-position:center 42%;animation:kenburns 28s ease-in-out infinite alternate;will-change:transform}
  @keyframes kenburns{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.10) translate3d(-1.2%,-1.4%,0)}}
  .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,26,46,.94) 0%,rgba(15,26,46,.80) 42%,rgba(15,26,46,.34) 72%,rgba(15,26,46,.55) 100%),linear-gradient(180deg,rgba(15,26,46,.72) 0%,rgba(15,26,46,.10) 40%,rgba(15,26,46,.78) 100%)}
  .hero-watermark{position:absolute;right:-70px;bottom:-90px;width:520px;opacity:.07;z-index:-1;pointer-events:none;animation:floaty 14s ease-in-out infinite alternate}
  @keyframes floaty{from{transform:translateY(0) rotate(0deg)}to{transform:translateY(-22px) rotate(3deg)}}
  .hero-inner{max-width:760px}
  .hero .kicker{font-family:'DM Sans',system-ui,sans-serif;font-size:12.5px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;color:var(--orange);margin-bottom:22px;display:flex;align-items:center;gap:10px}
  .hero .kicker::before{content:"";width:28px;height:1px;background:var(--orange);display:inline-block}
  .hero h1{font-size:clamp(44px,6.4vw,86px);font-weight:500;letter-spacing:-0.02em;line-height:1.0}
  .hero h1 em{color:var(--orange);font-style:italic;font-weight:500}
  .hero .lede{font-size:19.5px;color:rgba(255,255,255,.88);max-width:560px;margin-top:24px;line-height:1.55}
  .hero-ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
  .scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:24px;height:38px;border:1.5px solid rgba(255,255,255,.3);border-radius:14px;display:flex;justify-content:center;padding-top:7px;z-index:2}
  .scroll-cue i{display:block;width:3px;height:7px;border-radius:2px;background:rgba(255,255,255,.7);animation:cue 1.9s ease-in-out infinite}
  @keyframes cue{0%,100%{transform:translateY(0);opacity:.25}50%{transform:translateY(11px);opacity:1}}

  /* ---------- PROOF BAND ---------- */
  .proofband{background:var(--navy);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
  .proofband-inner{display:grid;grid-template-columns:repeat(4,1fr)}
  .pb{padding:34px 26px;border-right:1px solid rgba(255,255,255,.09);transition:background .25s}
  .pb:last-child{border-right:none}
  .pb:hover{background:rgba(255,255,255,.035)}
  .pb .v{font-family:'DM Sans',system-ui,sans-serif;font-size:32px;font-weight:500;letter-spacing:-0.03em;color:#fff;font-feature-settings:'tnum';line-height:1}
  .pb .v .u{color:var(--green-bright);font-size:20px;margin-left:2px}
  .pb .k{margin-top:12px;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.6);max-width:210px}

  /* ---------- MANUFACTURING TRACK RECORD ---------- */
  .mfg-proof{padding:96px 0;background:var(--sand-warm);overflow:hidden}
  .mfg-proof-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
  .mfg-proof h2{font-size:clamp(38px,4.6vw,60px);font-weight:500;margin-top:16px}
  .mfg-proof h2 em{color:var(--orange);font-style:italic;font-weight:500}
  .mfg-proof .intro{font-size:18px;line-height:1.7;color:var(--ink-mute);margin-top:24px;max-width:590px}
  .mfg-proof .proof-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:32px}
  .mfg-proof .text-link{font-size:14px;font-weight:600;color:var(--green);border-bottom:1px solid rgba(27,94,59,.3);padding-bottom:2px}
  .mfg-evidence{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  .mfg-stat{padding:28px;border:1px solid var(--rule);border-radius:18px;background:#fff;box-shadow:0 18px 48px -36px rgba(15,26,46,.45)}
  .mfg-stat .number{font-family:'DM Sans',system-ui,sans-serif;font-size:clamp(34px,4vw,50px);font-weight:500;letter-spacing:-.04em;color:var(--navy);line-height:1}
  .mfg-stat .label{font-size:13.5px;line-height:1.5;color:var(--ink-mute);margin-top:12px}

  /* ---------- SECTION COMMON ---------- */
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'DM Sans',system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange)}
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--orange);animation:pulse 2.8s ease-in-out infinite}
  @keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.45}}
  .eyebrow.on-dark{color:var(--orange-soft)}
  .eyebrow.on-dark .dot{background:var(--orange-soft)}
  .eyebrow.green{color:var(--green)}
  .eyebrow.green .dot{background:var(--green)}
  .section-head{max-width:820px;margin-bottom:48px}
  .section-head h2{font-size:clamp(36px,4.4vw,56px);margin-top:16px;letter-spacing:-0.015em;font-weight:500}
  .section-head .sub{font-size:17.5px;color:var(--ink-mute);line-height:1.62;margin-top:18px;max-width:660px}
  .on-dark .section-head .sub{color:rgba(255,255,255,.74)}
  .on-dark .section-head h2{color:#fff}
  .glow-line{border:none;height:1px;margin:0;background:linear-gradient(90deg,transparent,rgba(232,88,46,.35),transparent)}
  .link-arrow{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--orange)}
  .link-arrow .ar{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .link-arrow:hover .ar{transform:translateX(6px)}

  /* ---------- MOTION RAIL (the six systems) ---------- */
  .services{background:var(--sand);padding:var(--pad) 0}
  .motion{border:1px solid var(--rule);border-radius:24px;overflow:hidden;background:var(--sand-warm)}
  .rail-hint{
    padding:16px 22px 0;background:#fff;font-family:'JetBrains Mono',monospace;
    font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-light);
    display:flex;align-items:center;gap:9px;
  }
  .rail-hint::before{content:"";width:18px;height:1px;background:var(--orange)}
  .rail{
    display:grid;grid-template-columns:repeat(6,1fr);position:relative;
    background:#fff;border-bottom:1px solid var(--rule);
  }
  .rail::before{content:"";position:absolute;left:10%;right:10%;top:62px;height:1px;background:var(--rule)}
  .rail-btn{
    appearance:none;background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:center;
    padding:24px 10px 20px;position:relative;transition:background .25s;
  }
  .rail-btn:hover{background:var(--sand-warm)}
  .rail-btn:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
  .rail-btn .stage{
    font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:0.11em;text-transform:uppercase;
    color:var(--ink-light);display:block;min-height:26px;transition:color .25s;
  }
  .rail-btn .node{
    display:block;width:20px;height:20px;border:0;background:transparent url('bloombound-icon-color.svg') center/contain no-repeat;
    margin:6px auto 0;position:relative;z-index:2;opacity:.28;filter:grayscale(1);
    transition:opacity .3s,filter .3s,transform .3s cubic-bezier(.2,.8,.2,1);
  }
  .rail-btn .lbl{
    display:block;margin-top:16px;font-family:'DM Sans',system-ui,sans-serif;font-size:13.5px;font-weight:500;
    color:var(--ink-mute);letter-spacing:-0.01em;transition:color .25s;
  }
  .rail-btn .idx{
    display:block;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--ink-light);margin-top:5px;letter-spacing:0.08em;
  }
  .rail-btn[aria-selected="true"] .node{opacity:1;filter:drop-shadow(0 0 5px rgba(232,88,46,.42));transform:scale(1.18)}
  .rail-btn[aria-selected="true"] .lbl{color:var(--navy);font-weight:600}
  .rail-btn[aria-selected="true"] .stage{color:var(--orange)}
  .rail-btn[aria-selected="true"] .idx{color:var(--orange)}
  .rail-btn::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--orange);transform:scaleX(0);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .rail-btn[aria-selected="true"]::after{transform:scaleX(1)}

  .mpanel{display:none;padding:44px 44px 46px;grid-template-columns:1.1fr .9fr;gap:52px;align-items:start}
  .mpanel.active{display:grid;animation:panelIn .45s cubic-bezier(.2,.8,.2,1) both}
  @keyframes panelIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .mpanel .pnum{font-family:'DM Sans',system-ui,sans-serif;font-size:64px;font-weight:500;color:rgba(15,26,46,.09);letter-spacing:-0.04em;line-height:.8}
  .mpanel h3{font-size:34px;color:var(--navy);font-weight:600;letter-spacing:-0.025em;margin-top:12px}
  .mpanel p{margin-top:16px;font-size:17px;color:var(--ink-mute);line-height:1.65}
  .mpanel .out{
    background:#fff;border:1px solid var(--rule);border-radius:16px;padding:24px 26px;
  }
  .mpanel .out .oh{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--green);display:flex;align-items:center;gap:9px}
  .mpanel .out .oh::before{content:"";width:18px;height:1px;background:var(--green)}
  .mpanel .out ul{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:11px}
  .mpanel .out li{position:relative;padding-left:22px;font-size:14.5px;color:var(--ink-mute);line-height:1.5}
  .mpanel .out .out-note{
    margin-top:18px;padding-top:14px;border-top:1px solid var(--rule);
    font-size:13.5px;color:var(--ink-mute);line-height:1.55;
  }
  .mpanel .out .out-note b{color:var(--navy);font-weight:600}
  .mpanel .out li::before{content:"";position:absolute;left:0;top:8px;width:11px;height:1px;background:var(--orange)}
  .mpanel .icon{width:44px;height:44px;border-radius:11px;background:rgba(27,94,59,.08);border:1px solid rgba(27,94,59,.2);display:flex;align-items:center;justify-content:center;color:var(--green);margin-top:22px}

  /* mobile stacked version of the systems */
  .msys{display:none}
  .msys .m{padding:26px 0;border-bottom:1px solid var(--rule);position:relative;padding-left:34px}
  .msys .m:last-child{border-bottom:none}
  .msys .m::before{content:"";position:absolute;left:2px;top:31px;width:17px;height:17px;background:transparent url('bloombound-icon-color.svg') center/contain no-repeat}
  .msys .m::after{content:"";position:absolute;left:10px;top:44px;bottom:-10px;width:1px;background:var(--rule)}
  .msys .m:last-child::after{display:none}
  .msys .stage{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.11em;text-transform:uppercase;color:var(--orange)}
  .msys h3{font-size:22px;margin-top:8px;color:var(--navy);font-weight:600;letter-spacing:-0.02em}
  .msys p{margin-top:9px;font-size:15px;color:var(--ink-mute);line-height:1.6}


  /* foundation and handoff bookends around the six systems */
  .bookend{
    display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;
  }
  .be{
    border:1px solid var(--rule);border-radius:16px;padding:24px 26px 26px;background:var(--sand-warm);
    position:relative;transition:border-color .25s,background .25s;
  }
  .be:hover{border-color:rgba(27,94,59,.3);background:#fff}
  .be .bl{
    font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.14em;
    text-transform:uppercase;color:var(--green);display:flex;align-items:center;gap:9px;
  }
  .be .bl::before{content:"";width:16px;height:1px;background:var(--green)}
  .be h3{font-size:20px;margin-top:12px;color:var(--navy);font-weight:600;letter-spacing:-0.02em}
  .be p{margin-top:10px;font-size:14.5px;color:var(--ink-mute);line-height:1.6}
  .shape{
    margin-top:30px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
    font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.12em;
    text-transform:uppercase;color:var(--ink-light);
  }
  .shape b{
    color:var(--navy);font-weight:600;background:#fff;border:1px solid var(--rule);
    border-radius:999px;padding:9px 16px;letter-spacing:0.1em;
  }
  .shape b.mid{border-color:rgba(232,88,46,.35);color:var(--orange)}
  .shape i{font-style:normal;color:rgba(15,26,46,.25)}
  @media (max-width:760px){ .bookend{grid-template-columns:1fr} }
  /* ---------- STACK RAIL ---------- */
  @keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .stackrail{margin-top:52px;padding-top:38px;border-top:1px solid var(--rule);overflow:hidden;position:relative}
  .stackrail .sr-label{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange);display:block}
  .sr-lede{margin-top:14px;font-size:17px;color:var(--ink);max-width:660px;line-height:1.6}
  .sr-lede strong{font-weight:600}
  .sr-track-wrap{margin-top:28px;overflow:hidden;position:relative}
  .sr-track-wrap::before,.sr-track-wrap::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
  .sr-track-wrap::before{left:0;background:linear-gradient(90deg,var(--sand),transparent)}
  .sr-track-wrap::after{right:0;background:linear-gradient(-90deg,var(--sand),transparent)}
  .sr-track{display:flex;gap:44px;width:max-content;align-items:center;animation:ticker 46s linear infinite;padding:6px 0}
  .sr-track-wrap:hover .sr-track{animation-play-state:paused}
  .sr-track span{
    font-family:'DM Sans',system-ui,sans-serif;font-size:23px;font-weight:500;letter-spacing:-0.02em;white-space:nowrap;
    color:rgba(15,26,46,.32);transition:color .25s,transform .25s cubic-bezier(.2,.8,.2,1);
  }
  .sr-track span:hover{color:var(--navy);transform:translateY(-2px)}
  .stackrail .sr-note{margin-top:26px;font-size:13px;color:var(--ink-light);max-width:760px;line-height:1.55}

  /* ---------- FREE TOOLS ---------- */
  .tools{background:var(--sand-warm);padding:var(--pad) 0;position:relative;overflow:hidden}
  .tools::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(15,26,46,.035) 1px,transparent 1px);background-size:30px 30px}
  .tools .wrap{position:relative}

  .tool-hero{
    display:grid;grid-template-columns:1.25fr .75fr;gap:0;background:#fff;border:1px solid var(--rule);
    border-radius:24px;overflow:hidden;position:relative;
    box-shadow:0 24px 60px -40px rgba(15,26,46,.45);
    transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;
  }
  .tool-hero:hover{transform:translateY(-4px);box-shadow:0 30px 70px -40px rgba(15,26,46,.55)}
  .tool-hero::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--orange)}
  .th-left{padding:44px 44px 40px}
  .th-flag{display:inline-flex;align-items:center;gap:9px;background:rgba(232,88,46,.10);border:1px solid rgba(232,88,46,.28);color:var(--orange);font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;padding:7px 14px;border-radius:999px}
  .th-left h3{font-size:38px;margin-top:20px;color:var(--navy);font-weight:600;letter-spacing:-0.025em}
  .th-q{margin-top:14px;font-family:'Fraunces',serif;font-style:italic;font-size:21px;color:var(--green);line-height:1.35}
  .th-left p{margin-top:16px;font-size:16.5px;color:var(--ink-mute);line-height:1.65;max-width:520px}
  .th-meta{margin-top:24px;display:flex;flex-wrap:wrap;gap:9px}
  .th-meta span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.06em;color:var(--ink-mute);background:var(--sand-deep);border-radius:999px;padding:7px 13px}
  .th-left .btn{margin-top:28px}
  .th-right{
    background:var(--sand-deep);border-left:1px solid var(--rule);padding:44px 36px;
    display:flex;flex-direction:column;justify-content:center;gap:18px;
  }
  .th-right .rl{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-light)}
  .th-step{display:flex;gap:14px;align-items:flex-start}
  .th-step .n{
    width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--rule);flex-shrink:0;
    display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--green);
  }
  .th-step p{font-size:14.5px;color:var(--ink-mute);line-height:1.5}

  .tool-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
  .tool{
    display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);border-radius:20px;
    padding:28px 26px 24px;position:relative;overflow:hidden;
    transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .25s;
  }
  .tool::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .38s cubic-bezier(.2,.8,.2,1)}
  .tool:hover{transform:translateY(-5px);box-shadow:0 22px 44px -30px rgba(15,26,46,.4);border-color:rgba(27,94,59,.28)}
  .tool:hover::after{transform:scaleX(1)}
  .tool .tnum{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-light)}
  .tool h4{font-size:21px;margin-top:12px;color:var(--navy);font-weight:600;letter-spacing:-0.02em;font-family:'Fraunces',serif}
  .tool .tq{margin-top:10px;font-family:'Fraunces',serif;font-style:italic;font-size:16px;color:var(--green);line-height:1.4}
  .tool p{margin-top:12px;color:var(--ink-mute);font-size:14.5px;line-height:1.6;flex:1}
  .tool .meta{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
  .tool .meta span{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.06em;color:var(--ink-light);background:var(--sand-deep);border-radius:999px;padding:5px 11px}
  .tool .go{margin-top:18px;display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--orange)}
  .tool .go .ar{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
  .tool:hover .go .ar{transform:translateX(6px)}

  /* ---------- DIAGNOSTIC CTA ---------- */
  .diag{
    margin-top:44px;background:var(--navy);border-radius:24px;position:relative;overflow:hidden;
    box-shadow:0 30px 70px -40px rgba(15,26,46,.8);
  }
  .diag::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(700px 320px at 88% 15%, rgba(232,88,46,.30), transparent 62%),
               radial-gradient(560px 300px at 4% 92%, rgba(27,94,59,.36), transparent 66%);
  }
  .diag-inner{position:relative;display:grid;grid-template-columns:1.45fr .8fr;gap:44px;align-items:center;padding:48px 46px}
  .diag .de{display:inline-flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--orange-soft)}
  .diag .de::before{content:"";width:20px;height:1px;background:var(--orange-soft)}
  .diag h3{font-size:clamp(30px,3.6vw,44px);color:#fff;font-weight:500;letter-spacing:-0.025em;margin-top:16px;line-height:1.08}
  .diag h3 em{color:var(--orange);font-style:italic;font-weight:400}
  .diag .dsub{margin-top:16px;font-size:17px;color:rgba(255,255,255,.76);line-height:1.6;max-width:560px}
  .diag .dfacts{margin-top:26px;display:flex;flex-wrap:nowrap;gap:8px}
  .diag .dfacts span{
    display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.86);white-space:nowrap;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 13px;
  }
  .diag .dfacts span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green-bright);flex-shrink:0}
  .diag-right{text-align:center}
  .diag .price{font-family:'DM Sans',system-ui,sans-serif;font-size:64px;font-weight:500;color:#fff;letter-spacing:-0.04em;line-height:1;font-feature-settings:'tnum'}
  .diag .pnote{margin-top:12px;font-size:14px;color:var(--green-bright);line-height:1.5}
  .diag .btn{margin-top:24px;width:100%;white-space:nowrap}
  .diag .dlink{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-size:14px;color:rgba(255,255,255,.7);border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px}
  .diag .dlink:hover{color:#fff;border-color:#fff}

  /* ---------- WHAT MAKES US DIFFERENT ---------- */
  .diff{background:var(--navy);color:#fff;padding:120px 0 116px;position:relative;overflow:hidden;isolation:isolate}
  .diff-bg{position:absolute;inset:0;z-index:-2;background-image:url('hero-windmill.webp');background-size:cover;background-position:center 52%;opacity:.5;filter:grayscale(.2)}
  .diff-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,26,46,.94) 0%,rgba(15,26,46,.80) 34%,rgba(15,26,46,.90) 100%)}
  .diff::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--orange),transparent);opacity:.7}
  .diff-head{max-width:820px}
  .diff-head h2{font-size:clamp(40px,5.6vw,74px);color:#fff;font-weight:500;letter-spacing:-0.028em;margin-top:20px;line-height:1.02}
  .diff-head h2 em{color:var(--orange);font-style:italic;font-weight:400}
  .diff-head .sub{margin-top:22px;font-size:18.5px;color:rgba(255,255,255,.76);line-height:1.6;max-width:640px}
  .cmts{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:0 52px}
  .cmt{
    display:grid;grid-template-columns:78px 1fr;gap:24px;align-items:start;
    padding:32px 8px 32px 0;border-top:1px solid rgba(255,255,255,.14);position:relative;
    transition:padding-left .35s cubic-bezier(.2,.8,.2,1);
  }
  .cmt:nth-last-child(1),.cmt:nth-last-child(2){border-bottom:1px solid rgba(255,255,255,.14)}
  .cmt::before{
    content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;
    background:linear-gradient(90deg,var(--orange),rgba(232,88,46,0));
    transform:scaleX(0);transform-origin:left;transition:transform .55s cubic-bezier(.2,.8,.2,1);
  }
  .cmt:hover::before{transform:scaleX(1)}
  .cmt:hover{padding-left:16px}
  .cmt .cn{
    font-family:'DM Sans',system-ui,sans-serif;font-size:46px;font-weight:500;line-height:.8;letter-spacing:-0.05em;
    color:transparent;-webkit-text-stroke:1.5px rgba(232,88,46,.55);transition:color .4s,-webkit-text-stroke-color .4s;
  }
  .cmt:hover .cn{color:rgba(232,88,46,.18);-webkit-text-stroke-color:var(--orange)}
  .cmt h3{font-size:clamp(21px,1.9vw,25px);font-weight:500;color:#fff;letter-spacing:-0.025em;line-height:1.12}
  .cmt p{margin-top:12px;color:rgba(255,255,255,.72);font-size:15px;line-height:1.65;max-width:520px}
  .cmt .ask{
    margin-top:14px;padding:10px 15px;border-left:2px solid var(--orange);
    background:rgba(255,255,255,.045);border-radius:0 10px 10px 0;max-width:620px;
    font-family:'Fraunces',serif;font-style:italic;font-size:14.5px;color:#fff;line-height:1.45;
  }
  .cmt .ask b{
    display:block;font-family:'JetBrains Mono',monospace;font-style:normal;font-size:10px;
    letter-spacing:0.15em;text-transform:uppercase;color:var(--orange-soft);font-weight:400;margin-bottom:7px;
  }
  .diff-foot{margin-top:32px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .diff-links{display:flex;gap:14px;flex-wrap:wrap}
  .diff-links a{display:inline-flex;align-items:center;gap:10px;padding:15px 24px;border-radius:999px;border:1.5px solid rgba(255,255,255,.26);font-size:15px;font-weight:600;color:#fff;transition:border-color .2s,background .2s,transform .2s cubic-bezier(.2,.8,.2,1)}
  .diff-links a:hover{border-color:#fff;background:rgba(255,255,255,.09);transform:translateY(-2px)}
  .diff-links a.solid{background:var(--orange);border-color:var(--orange)}
  .diff-links a.solid:hover{background:var(--orange-deep);border-color:var(--orange-deep)}
  .diff-links a .ar{color:var(--orange)}
  .diff-links a.solid .ar{color:#fff}

  /* ---------- WHO ---------- */
  .who-sec{background:var(--sand);padding:var(--pad) 0}
  .who-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .who-col{border:1px solid var(--rule);border-radius:20px;padding:30px 28px 32px;background:var(--sand-warm);transition:border-color .25s,transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
  .who-col:hover{border-color:rgba(27,94,59,.3);transform:translateY(-4px);box-shadow:0 18px 40px -28px rgba(15,26,46,.35)}
  .who-col .wn{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange)}
  .who-col h3{font-size:24px;margin-top:12px;color:var(--navy);font-weight:600;letter-spacing:-0.02em}
  .who-col .cue{margin-top:12px;font-size:15px;color:var(--ink-mute);line-height:1.6}
  .who-chips{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px}
  .who-chips span{font-size:13px;color:var(--ink-mute);background:#fff;border:1px solid var(--rule);border-radius:999px;padding:7px 14px;transition:border-color .2s}
  .who-col:hover .who-chips span{border-color:rgba(27,94,59,.22)}
  .who-signals{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;font-size:14.5px;color:var(--ink-mute)}
  .who-signals span{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:999px;background:rgba(15,26,46,.035);border:1px solid var(--rule)}
  .who-signals span::before{content:"";width:18px;height:1px;background:var(--green);display:inline-block;flex-shrink:0}

  /* ---------- ROOTS TEASER ---------- */
  .roots-teaser{background:var(--sand-deep);padding:88px 0;position:relative;overflow:hidden}
  .rt-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
  .rt-text h2{font-size:clamp(34px,4.2vw,52px);font-weight:500;color:var(--navy);letter-spacing:-0.02em;margin-top:16px}
  .rt-text h2 em{font-style:italic;color:var(--orange);font-weight:400}
  .rt-text p{margin-top:20px;font-size:17px;color:#3B4252;line-height:1.7;max-width:520px}
  .rt-quote{margin-top:26px;max-width:540px}
  .rt-quote .q{font-size:17px;color:var(--navy);line-height:1.7;font-weight:500}
  .rt-quote .q em{color:var(--orange);font-style:italic}
  .rt-quote .c{
    margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.12em;
    text-transform:uppercase;color:var(--ink-light);display:flex;align-items:center;gap:10px;
  }
  .rt-quote .c::before{content:"";width:26px;height:1px;background:var(--orange)}
  .rt-quote .c strong{color:var(--navy);font-weight:600;letter-spacing:0.06em}
  .rt-quote .c strong{color:var(--navy);font-weight:600}
  .rt-text .link-arrow{margin-top:26px;display:flex;width:fit-content}
  .rt-photos{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;align-items:stretch}
  .rt-photos .ph{border-radius:16px;overflow:hidden;background:#222;position:relative;min-height:230px}
  .rt-photos .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
  .rt-photos .ph:hover img{transform:scale(1.06)}
  .rt-photos .ph-name{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 11px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff;font-family:'DM Sans',system-ui,sans-serif;font-weight:500;font-size:13.5px;letter-spacing:-0.01em}
  .rt-photos .ph-name small{display:block;font-weight:400;font-size:11.5px;color:rgba(255,255,255,.72);margin-top:2px}
  .rt-photos .stack{display:grid;grid-template-rows:1fr 1fr;gap:14px}
  .founder-card{margin-top:26px;background:#fff;border:1px solid var(--rule);border-radius:16px;padding:16px 20px;display:flex;align-items:center;gap:16px;width:fit-content}
  .founder-photo{width:52px;height:52px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#E8DCC8}
  .founder-photo img{width:100%;height:100%;object-fit:cover}
  .founder-card .who{font-size:13.5px;color:var(--ink-mute)}
  .founder-card .who strong{display:block;color:var(--navy);font-weight:600;font-size:15px;margin-bottom:1px}

  /* ---------- PATH IN ---------- */
  .path{background:var(--sand);padding:var(--pad) 0}
  .path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
  .pcard{display:flex;flex-direction:column;background:var(--sand-warm);border:1px solid var(--rule);border-radius:20px;padding:32px 28px 30px;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .25s}
  .pcard:hover{transform:translateY(-6px);box-shadow:0 22px 44px -28px rgba(15,26,46,.4);border-color:rgba(232,88,46,.3)}
  .pcard.featured{background:#fff;border-color:rgba(232,88,46,.32);box-shadow:0 16px 40px -30px rgba(232,88,46,.6)}
  .pcard .flag{position:absolute;top:0;right:24px;background:var(--orange);color:#fff;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;padding:6px 12px;border-radius:0 0 8px 8px}
  .pcard .pn{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--orange)}
  .pcard h3{font-size:25px;margin-top:12px;color:var(--navy);font-weight:600;letter-spacing:-0.02em}
  .pcard .price{margin-top:12px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-family:'DM Sans',system-ui,sans-serif;font-size:25px;font-weight:500;color:var(--green);letter-spacing:-0.03em;line-height:1.15;font-feature-settings:'tnum'}
  .pcard .price small{display:block;font-size:13.5px;color:var(--ink-mute);font-weight:400;letter-spacing:0;line-height:1.4;margin:0}
  .pcard p{margin-top:14px;color:var(--ink-mute);font-size:15px;line-height:1.6;flex:1}
  .pcard ul{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:10px;align-content:start}
  .pcard li{position:relative;padding-left:20px;font-size:14.2px;color:var(--ink-mute);line-height:1.5}
  .pcard li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:1px;background:var(--green)}
  .pcard .link-arrow{margin-top:auto;padding-top:22px}

  /* ---------- BLUEPRINTS ---------- */
  .bp-home{background:var(--sand);padding:var(--pad) 0;border-top:1px solid var(--rule)}
  .bp-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:8px}
  .bp-home-card{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:20px;overflow:hidden;background:var(--sand-warm);transition:transform .25s,box-shadow .25s,border-color .25s}
  .bp-home-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px -30px rgba(15,26,46,.4);border-color:rgba(232,88,46,.28)}
  .bp-home-art{padding:14px 14px 0;background:var(--sand-deep)}
  .bp-home-art img{width:100%;aspect-ratio:8.5/5.8;object-fit:cover;object-position:top;border-radius:10px 10px 0 0;border:1px solid var(--rule)}
  .bp-home-copy{display:flex;flex-direction:column;flex:1;padding:24px}
  .bp-home-copy .label{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:.14em;color:var(--orange-ink)}
  .bp-home-copy h3{font-size:24px;margin-top:10px;color:var(--navy);font-weight:600}
  .bp-home-copy p{font-size:14px;color:var(--ink-mute);margin-top:12px;line-height:1.55}
  .bp-home-copy .link-arrow{margin-top:auto;padding-top:20px}
  .bp-home-all{display:flex;justify-content:center;margin-top:34px}

  /* ---------- CTA / FOOTER ---------- */
  .cta{background:var(--navy);color:#fff;padding:112px 0 104px;position:relative;overflow:hidden}
  .cta-watermark{position:absolute;left:30%;top:50%;width:680px;opacity:.05;pointer-events:none;transform:translate(-50%,-50%);animation:floatyC 20s ease-in-out infinite alternate}
  @keyframes floatyC{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,calc(-50% - 20px)) rotate(3deg)}}
  .cta-panel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:clamp(48px,7vw,96px);align-items:center;position:relative}
  .cta-copy{max-width:760px}
  .cta h2{font-size:clamp(46px,6vw,78px);font-weight:500;letter-spacing:-0.02em;line-height:1.02;position:relative}
  .cta h2 em{color:var(--orange);font-style:italic;font-weight:400}
  .cta .sub{font-size:18.5px;color:rgba(255,255,255,.72);margin-top:26px;max-width:590px;line-height:1.6;position:relative}
  .cta-action{background:var(--sand);color:var(--navy);border-radius:22px;padding:34px;box-shadow:0 28px 70px -36px rgba(0,0,0,.7);position:relative}
  .cta-window{display:flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
  .cta-window::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green-bright);box-shadow:0 0 0 5px rgba(46,160,103,.12)}
  .cta-action strong{display:block;font-family:'Fraunces',serif;font-size:clamp(27px,3vw,35px);font-weight:500;line-height:1.08;letter-spacing:-.02em;margin-top:22px}
  .cta-action p{font-size:15px;line-height:1.6;color:var(--ink-mute);margin-top:14px}
  .cta-action .btn{width:100%;margin-top:28px}
  .cta-action .email-link{display:table;margin:18px auto 0;color:var(--ink-mute);font-size:13.5px;border-color:rgba(15,26,46,.22)}
  .email-link{color:rgba(255,255,255,.85);font-size:15.5px;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;transition:color .2s,border-color .2s}
  .email-link:hover{color:var(--orange);border-color:var(--orange)}
  .values-strip{background:var(--sand-deep);padding:48px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .values-inner{text-align:center}
  .values-text{font-size:16.5px;color:var(--ink-mute);max-width:560px;margin:0 auto;line-height:1.65}
  .values-text strong{color:var(--ink);font-weight:600}
  footer{background:var(--navy);color:rgba(255,255,255,.6);padding:48px 0 40px;border-top:1px solid rgba(255,255,255,.08);font-size:13.5px}
  .foot-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
  .foot-brand{display:flex;align-items:center;gap:10px;color:#fff;font-family:'DM Sans',system-ui,sans-serif;font-weight:500;font-size:16px}
  .foot-brand img{width:22px;height:auto}
  .foot-links{display:flex;gap:26px;flex-wrap:wrap}
  .foot-links a{transition:color .2s}
  .foot-links a:hover{color:#fff}
  .foot-meta{color:rgba(255,255,255,.35);font-size:12px;width:100%;text-align:center;padding-top:14px;letter-spacing:0.01em}

  /* ---------- REVEAL ---------- */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
  .reveal.visible{opacity:1;transform:none}
  .stagger > *{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.2,.8,.2,1),transform .65s cubic-bezier(.2,.8,.2,1)}
  .stagger.visible > *{opacity:1;transform:none}
  .stagger.visible > *:nth-child(1){transition-delay:.05s}
  .stagger.visible > *:nth-child(2){transition-delay:.13s}
  .stagger.visible > *:nth-child(3){transition-delay:.21s}
  .stagger.visible > *:nth-child(4){transition-delay:.29s}
  .stagger.visible > *:nth-child(5){transition-delay:.37s}
  .hero-rise > *{opacity:0;transform:translateY(22px);animation:rise .85s cubic-bezier(.2,.8,.2,1) forwards}
  .hero-rise > *:nth-child(1){animation-delay:.08s}
  .hero-rise > *:nth-child(2){animation-delay:.18s}
  .hero-rise > *:nth-child(3){animation-delay:.28s}
  .hero-rise > *:nth-child(4){animation-delay:.36s}
  .hero-rise > *:nth-child(5){animation-delay:.44s}
  .hero-rise > *:nth-child(6){animation-delay:.52s}
  @keyframes rise{to{opacity:1;transform:none}}

  /* ---------- THE MOTION MAP ---------- */
  .map{background:var(--sand-warm);padding:var(--pad) 0;position:relative;overflow:hidden}
  .map::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(15,26,46,.035) 1px,transparent 1px);background-size:30px 30px}
  .map .wrap{position:relative}
  .cats{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--rule);border-radius:18px;overflow:hidden;background:#fff}
  .cat{padding:24px 20px 26px;border-right:1px solid var(--rule);transition:background .25s}
  .cat:last-child{border-right:none}
  .cat:hover{background:var(--sand-warm)}
  .cat .cnum{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:0.14em;color:var(--orange)}
  .cat h3{font-size:18px;margin-top:12px;color:var(--navy);font-weight:600;letter-spacing:-0.02em;line-height:1.2}
  .cat .cbuilt{
    margin-top:16px;padding-top:12px;border-top:1px solid var(--rule);
    font-family:'JetBrains Mono',monospace;font-size:10.5px;line-height:1.5;color:var(--green);
  }
  .cat .cbuilt span{display:block;color:var(--ink-light);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:5px}
  .cat p{margin-top:10px;font-size:13.5px;color:var(--ink-mute);line-height:1.55}


  /* ---------- FIT / NOT FIT ---------- */
  .fit-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:8px}
  .fitcard{border-radius:20px;padding:30px 30px 32px;border:1px solid var(--rule);background:var(--sand-warm)}
  .fitcard.yes{border-color:rgba(27,94,59,.3);background:rgba(27,94,59,.035)}
  .fitcard.no{border-color:rgba(15,26,46,.14);background:rgba(15,26,46,.025)}
  .fitcard .fh{display:flex;align-items:center;gap:11px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.14em;text-transform:uppercase}
  .fitcard.yes .fh{color:var(--green)}
  .fitcard.no .fh{color:var(--ink-light)}
  .fitcard .fh i{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-style:normal;font-size:12px}
  .fitcard.yes .fh i{background:var(--green);color:#fff}
  .fitcard.no .fh i{background:rgba(15,26,46,.14);color:var(--navy)}
  .fitcard h3{font-size:22px;margin-top:16px;color:var(--navy);font-weight:600;letter-spacing:-0.02em}
  .fitcard ul{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:12px}
  .fitcard li{position:relative;padding-left:22px;font-size:15px;color:var(--ink-mute);line-height:1.55}
  .fitcard li::before{content:"";position:absolute;left:0;top:10px;width:12px;height:1px}
  .fitcard.yes li::before{background:var(--green)}
  .fitcard.no li::before{background:rgba(15,26,46,.28)}
  .fitcard .fnote{margin-top:20px;padding-top:16px;border-top:1px solid var(--rule);font-size:14px;color:var(--ink-light);line-height:1.55}
  .who-chips-row{margin-top:24px;display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
  .who-chips-row span{
    font-size:12.5px;color:var(--ink-mute);background:#fff;border:1px solid var(--rule);
    border-radius:9px;padding:10px 10px;text-align:center;line-height:1.3;
    display:flex;align-items:center;justify-content:center;
  }
  .founder-direct{display:flex;align-items:center;gap:10px;margin:-12px 0 30px;
    color:var(--navy);font-size:15px;font-weight:500;line-height:1.5}
  .founder-direct::before{content:"";width:7px;height:7px;border-radius:50%;
    background:var(--green);box-shadow:0 0 0 5px rgba(27,94,59,.09);flex:0 0 auto}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:1080px){
    .proofband-inner{grid-template-columns:repeat(2,1fr)}
    .mfg-proof-grid{grid-template-columns:1fr;gap:44px}
    .pb:nth-child(2n){border-right:none}
    .pb:nth-child(1),.pb:nth-child(2){border-bottom:1px solid rgba(255,255,255,.09)}
    .diag-inner{grid-template-columns:1fr;gap:34px;padding:40px 36px}
    .diag-right{text-align:left}
    .diag .btn{width:auto}
    .tool-hero{grid-template-columns:1fr}
    .th-right{border-left:none;border-top:1px solid var(--rule)}
  }
  @media (max-width:980px){
    :root{--pad:76px}
    .nav-links{display:none}
    .nav-toggle{display:flex}
    .nav-inner > .btn-primary{display:none}
    .hero{min-height:auto;padding:72px 0 64px}
    .hero .lede{font-size:18px}
    .scroll-cue{display:none}
    .section-head{grid-template-columns:1fr;gap:18px;align-items:start;margin-bottom:40px}
    .section-head .sub{padding-bottom:0}
    .motion{border:none;background:transparent;border-radius:0}
    .rail,.mpanel,.rail-hint{display:none !important}
    .msys{display:block;border-top:1px solid var(--rule)}
    .tool-two{grid-template-columns:1fr}
    .th-left{padding:32px 26px 30px}
    .th-left h3{font-size:30px}
    .th-right{padding:30px 26px}
    .diag .dfacts{flex-wrap:wrap}
    .who-chips-row{grid-template-columns:repeat(3,1fr)}
    .cmts{margin-top:44px}
    .cmts{grid-template-columns:1fr;gap:0}
    .cmt{grid-template-columns:56px 1fr;gap:18px;padding:26px 4px}
    .cmt .cn{font-size:36px}
    .cmt:nth-last-child(2){border-bottom:none}
    .diff{padding:84px 0 80px}
    .who-two{grid-template-columns:1fr}
    .cats{grid-template-columns:1fr}
    .cat{border-right:none;border-bottom:1px solid var(--rule)}
    .cat:last-child{border-bottom:none}
    .fit-two{grid-template-columns:1fr}
    .bp-home-grid{grid-template-columns:1fr 1fr}
    .rt-grid{grid-template-columns:1fr;gap:36px}
    .path-grid{grid-template-columns:1fr}
    .cta{padding:88px 0 80px}
    .cta-panel{grid-template-columns:1fr;gap:42px}
    .cta-copy{max-width:700px}
    .cta-action{max-width:520px}
    .foot-inner{justify-content:center;text-align:center}
    .foot-links{justify-content:center;gap:18px}
  }
  @media (max-width:600px){
    .wrap{padding:0 20px}
    .proofband-inner{grid-template-columns:repeat(2,1fr)}
    .mfg-proof{padding:72px 0}
    .mfg-evidence{grid-template-columns:1fr}
    .cta-action{padding:28px 24px;max-width:none}
    .pb{padding:22px 16px}
    .pb .v{font-size:26px}
    .pb .k{font-size:12.5px}
    .hero-ctas .btn{width:100%}
    .diag-inner{padding:32px 24px}
    .diag .price{font-size:52px}
    .rt-photos{grid-template-columns:1fr}
    .rt-photos .stack{grid-template-columns:1fr 1fr;grid-template-rows:none}
    .sr-track{gap:30px}
    .sr-track span{font-size:19px}
    .who-chips-row{grid-template-columns:repeat(2,1fr)}
    .bp-home-grid{grid-template-columns:1fr}
  }
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
    html{scroll-behavior:auto}
    .reveal,.stagger > *,.hero-rise > *{opacity:1 !important;transform:none !important}
  }

  /* ---------- WCAG AA contrast corrections (18Aug2026) ----------
     White on #E8582E measures 3.58:1 and the CTA renders at 14.5px, which
     is normal text, so it needs 4.5:1. Orange text on white has the same
     3.58:1 problem. Orange on navy already passes at 4.86:1 and is left
     alone. So is every decorative use (dots, rules, bars, glows, borders),
     which carries no text contrast requirement. */
  .btn-primary,.diff-links a.solid,.pcard .flag{background:var(--orange-btn)}
  .btn-primary:hover{background:var(--orange-hover)}
  .eyebrow,.commit-num,.who-num,.svc-num,.faq-num,.cat .cnum,.pcard .pn,
  .shape b.mid,.stackrail .sr-label,.msys .stage,.tool .go,.link-arrow,
  .nav-drawer a.dl .ar,.loading-state .loading-label,.capture-success a,
  .doc .contact-block .email,.framework-box .cite a,.progress-label .cat,
  .verdict .eyebrow,.ns-card.paid .tag,.rt-text h2 em,.rt-quote .q em,
  .th-flag,.start-flag,.who-col .wn,.f-body h2 em,.diag h3 em,
  .rail-btn[aria-selected="true"] .idx,
  .rail-btn[aria-selected="true"] .stage{color:var(--orange-ink)}
  .qualified-label{color:var(--orange-bright)}
  /* Text sitting directly on a photograph. Orange could not reach AA there
     without darkening the picture by roughly two thirds, so the accent word
     and the kicker carry the contrast instead and the photograph is left at
     full brightness. */
  .hero h1 em,.rhero h1 em{color:#FFFFFF}
  .hero .kicker,.rhero .kicker,.hero-kicker{color:#FDE9DF}
  .foot-meta{color:rgba(255,255,255,.58)}
    .shape i{color:rgba(15,26,46,.62)}
  .sr-track span{color:rgba(15,26,46,.68)}

  .diff-tithe{
    max-width:780px;margin:46px auto 0;text-align:center;
    font-family:'Fraunces',serif;font-size:19px;line-height:1.55;
    color:rgba(255,255,255,.84);
  }
  .diff-tithe strong{color:#fff;font-weight:600}
  @media (max-width:720px){.diff-tithe{font-size:17px;margin-top:32px}}

  /* ---------- Footer structure (1Sep2026) ----------
     One flat row of equally weighted links had wrapped into a two-line cloud
     once the Blueprint links landed. Now two deliberate groups, with the
     legal items in a quieter utility row above the copyright. Colours are
     measured against --navy #0F1A2E: .foot-h is 6.00:1 and .foot-utility a
     is 5.15:1, both clearing AA for small text. rgba(255,255,255,.45) was
     the obvious choice for the labels and lands at 4.44:1, just under. */
  .foot-inner{align-items:flex-start;justify-content:space-between;text-align:left;gap:40px 56px}
  .foot-cols{display:flex;gap:clamp(32px,7vw,72px);flex-wrap:wrap}
  .foot-col{display:flex;flex-direction:column;gap:9px;min-width:150px}
  .foot-h{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;
    letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:3px}
  .foot-col a{transition:color .2s}
  .foot-col a:hover{color:#fff}
  .foot-utility{width:100%;display:flex;justify-content:center;gap:22px;
    padding-top:20px;border-top:1px solid rgba(255,255,255,.09)}
  .foot-utility a{font-size:13px;color:rgba(255,255,255,.5);transition:color .2s}
  .foot-utility a:hover{color:#fff}
  .foot-meta{width:100%;text-align:center;padding-top:12px}
  @media(max-width:640px){
    .foot-inner{gap:28px}
    .foot-cols{gap:28px 40px}
    .foot-col{min-width:44%}
  }

  /* ---------- Primary nav: About disclosure (1Sep2026) ----------
     Top level is now offer / market / proof / story / engagement path.
     The panel reuses .nav-links type and colour, --rule for its border and
     the 16px radius used elsewhere, so it reads as part of the header
     rather than a new component. This is the W3C disclosure-navigation
     pattern, not role="menu": for site navigation a plain group of links
     behind an aria-expanded button is more predictable for screen reader
     users than application menu semantics. Arrow keys work as an
     enhancement on top. Only relevant above 980px, where .nav-links is
     visible; below that the existing drawer handles navigation. */
  .nav-item{position:relative;display:flex;align-items:center}
  .nav-menu-btn{display:inline-flex;align-items:center;gap:7px;position:relative;
    padding:4px 0;font-family:inherit;font-size:14.5px;font-weight:500;
    color:var(--ink-mute);background:none;border:0;cursor:pointer;transition:color .15s}
  .nav-menu-btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;
    background:var(--orange);transform:scaleX(0);transform-origin:right;
    transition:transform .28s cubic-bezier(.2,.8,.2,1)}
  .nav-menu-btn:hover{color:var(--navy)}
  .nav-menu-btn:hover::after{transform:scaleX(1);transform-origin:left}
  .nav-menu-btn[aria-expanded="true"]{color:var(--navy)}
  .nav-menu-btn[aria-expanded="true"]::after{transform:scaleX(1);transform-origin:left}
  .nav-caret{width:6px;height:6px;border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;transform:rotate(45deg);
    margin-top:-3px;transition:transform .2s}
  .nav-menu-btn[aria-expanded="true"] .nav-caret{transform:rotate(225deg);margin-top:2px}
  .nav-menu{position:absolute;top:calc(100% + 15px);left:50%;transform:translateX(-50%);
    min-width:212px;display:none;flex-direction:column;padding:8px;background:#fff;
    border:1px solid var(--rule);border-radius:16px;
    box-shadow:0 18px 40px -24px rgba(15,26,46,.38);z-index:70}
  .nav-menu[data-open="true"]{display:flex}
  .nav-menu a{padding:9px 12px;border-radius:10px;font-size:14.5px;font-weight:500;
    color:var(--ink-mute);white-space:nowrap;transition:background .15s,color .15s}
  .nav-menu a::after{display:none}
  .nav-menu a:hover,.nav-menu a:focus-visible{background:rgba(15,26,46,.05);color:var(--navy)}
  /* The site has no global focus style; it uses a per-component rule
     (.rail-btn:focus-visible). These match that treatment so the new
     controls do not fall back to the browser default ring. The orange
     outline is 3.58:1 on white, clearing the 3:1 that WCAG 1.4.11 asks
     of a focus indicator. */
  .nav-menu-btn:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:3px}
  .nav-menu a:focus-visible{outline:2px solid var(--orange);outline-offset:-2px}
  /* Drawer section labels, so the mobile list carries the same grouping. */
  .drawer-group{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;
    letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);
    padding:20px 0 4px}

  .foot-brand-col{gap:11px;max-width:300px}
  .foot-brand-col .foot-brand{margin-bottom:5px}
  /* Three groups with space-between left an ~800px hole at desktop widths,
     which reads as broken rather than airy. Left-aligned with a controlled
     gap instead, which also makes room for a fourth group later. */
  .foot-inner{justify-content:flex-start;gap:40px clamp(48px,9vw,104px)}
  .foot-cols{gap:clamp(40px,7vw,88px)}

  /* ---------- Desktop-to-drawer breakpoint (1Sep2026) ----------
     The five-item nav plus brand plus CTA needs about 1008px of viewport
     before "What we build", "Blueprints", "Diagnostic" and the button
     start breaking onto two lines. The old 980px switch left a band from
     981 to 1007 where the nav was visible and wrapped, which shipped
     unnoticed because it is a narrow sliver.
     Set at 1039 rather than 1007: at the true threshold the gap between
     the nav and the CTA is exactly the 24px flex gap, with no slack, and
     the measurement was taken with fallback fonts because this test
     environment cannot reach fonts.googleapis.com. 1040 leaves roughly
     46px of breathing room for the real typeface.
     Selectors cover all three header variants. */
  @media (max-width:1039px){
    .nav-links{display:none}
    .nav-toggle,.bb-toggle{display:flex}
    .nav-inner > .btn-primary,.nav-inner > .btn{display:none}
  }
