/* Aeterna Automation — site styles */
  :root{
    --base:#FFFFFF; --base-2:#F4F4F4; --surface:#FFFFFF; --surface-2:#F7F7F7;
    --line:#E6E6E6; --line-2:#CFCFCF; --text:#000000; --muted:#5E5E5E; --muted-2:#A2A2A2;
    --molten:#1A1A1A; --molten-soft:#4A4A4A; --signal:#A65A2E; --signal-soft:#C47A50;
    --ore:#8C8C8C;
    --display:"Space Grotesk",sans-serif; --body:"IBM Plex Sans",sans-serif; --mono:"IBM Plex Mono",monospace;
    --maxw:1200px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  /* Section snap only on the marketing home page (index.html — <html class="home">) */
  html.home{scroll-snap-type:y mandatory;scroll-padding-top:68px}
  html.home section,html.home footer.ft{scroll-snap-align:start}

  /* Each home-page section fills the viewport (minus the 68 px sticky nav)
     AND lays its children out as a flex column so the content stretches to
     fill the available vertical space instead of leaving empty bands. */
  html.home section{
    min-height:calc(100vh - 68px);
    display:flex;flex-direction:column;justify-content:center;
    padding-top:32px;padding-bottom:32px
  }
  html.home section > .wrap{width:100%}

  /* Hero keeps its own internal grid; just center it in the viewport. */
  html.home .hero{padding:32px 0;display:flex;align-items:center}

  /* Carousel section becomes a full-page layout: toolbar at top, carousel
     stretched in the middle so the slide content is vertically centred and
     fills the available space, dots at the bottom. */
  html.home .modules{padding:32px 0;justify-content:flex-start}
  html.home .modules > .wrap{flex:1;display:flex;flex-direction:column;min-height:0}
  html.home .modules .mod-toolbar{flex:none}
  html.home .modules .mod-carousel{flex:1;display:flex;align-items:center}
  html.home .modules .mod-track{width:100%}
  html.home .modules .mod-dots{flex:none;margin-top:18px}

  /* CTA band keeps centred copy but with tighter padding. */
  html.home .cta-band{padding:48px 0}
  body{background:var(--base);color:var(--text);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--signal);font-weight:500}
  h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.08;letter-spacing:-.02em}
  .mono{font-family:var(--mono)}

  /* NAV */
  header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
  .brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:1.18rem;letter-spacing:-.01em}
  .brand .mark{height:44px;width:auto;flex:none;display:block}
  .brand-name{display:inline-flex;flex-direction:column;line-height:1;gap:3px}
  .brand small{font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.18em;color:var(--muted)}
  nav.links{display:flex;gap:30px;align-items:center}
  nav.links a{font-size:.92rem;color:var(--muted);transition:color .2s}
  nav.links a:hover{color:var(--text)}
  .btn{font-family:var(--body);font-weight:600;font-size:.92rem;padding:11px 20px;border-radius:7px;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,box-shadow .2s ease,background .2s;display:inline-block;white-space:nowrap}
  .btn-primary{background:var(--signal);color:#ffffff}
  .btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 26px rgba(166,90,46,.35)}
  .btn-ghost{border-color:var(--line-2);color:var(--text)}
  .btn-ghost:hover{border-color:var(--signal);color:var(--signal)}
  .nav-cta{display:flex;gap:14px;align-items:center}
  .nav-btn .btn-glyph{display:none;width:18px;height:18px;flex:none}

  /* HERO */
  .hero{position:relative;padding:78px 0 60px;overflow:hidden}
  .hero::before{content:"";position:absolute;top:-180px;right:-160px;width:620px;height:620px;background:radial-gradient(circle,rgba(0,0,0,.04),transparent 62%);pointer-events:none}
  .hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:54px;align-items:center}
  .hero h1{font-size:clamp(2.3rem,4.4vw,3.5rem);margin:18px 0 22px}
  .hero h1 .hl{color:var(--signal)}
  .hero p.lede{font-size:1.14rem;color:var(--muted);max-width:38ch;margin-bottom:30px}
  .hero p.lede b{color:var(--signal);font-weight:600}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
  .hero-stats{display:flex;gap:32px;border-top:1px solid var(--line);padding-top:22px}
  .hstat .n{font-family:var(--display);font-weight:700;font-size:1.7rem;color:var(--text)}
  .hstat .n small{font-size:.95rem;color:var(--molten);font-family:var(--mono)}
  .hstat .l{font-size:.76rem;color:var(--muted);font-family:var(--mono);letter-spacing:.03em}

  .chart-panel{background:linear-gradient(180deg,var(--surface),var(--base-2));border:1px solid var(--line);border-radius:14px;padding:20px 20px 16px;box-shadow:0 30px 70px -30px rgba(30,41,51,.12);position:relative}
  .chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
  .chart-head .t{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;color:var(--muted)}
  .chart-head .live{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.7rem;color:var(--signal)}
  .chart-head .live .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 9px var(--signal);animation:pulse 1.8s infinite}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
  .chart-legend{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-family:var(--mono);font-size:.7rem;color:var(--muted)}
  .chart-legend span{display:flex;align-items:center;gap:8px}
  .swatch{width:14px;height:3px;border-radius:2px;display:inline-block;flex:none}
  svg.trend{width:100%;height:auto;display:block}

  /* TRUST */
  .trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--base-2)}
  .trust-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;flex-wrap:wrap}
  .trust .label{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
  .trust .items{display:flex;gap:24px;flex-wrap:wrap}
  .trust .items span{font-family:var(--mono);font-size:.85rem;color:var(--muted)}

  /* SECTION */
  section.block{padding:84px 0}
  .sec-head{max-width:62ch;margin-bottom:46px}
  .sec-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin:14px 0 16px}
  .sec-head p{color:var(--muted);font-size:1.08rem}

  /* PROBLEM */
  .problem{background:var(--base-2);border-top:1px solid var(--line)}
  .prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .prob-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px;transition:border-color .2s,transform .2s}
  .prob-card:hover{border-color:var(--line-2);transform:translateY(-3px)}
  .prob-card .ic{font-family:var(--mono);color:var(--molten);font-size:.8rem;letter-spacing:.1em;margin-bottom:14px}
  .prob-card h3{font-size:1.16rem;margin-bottom:9px}
  .prob-card p{color:var(--muted);font-size:.95rem}

  /* INSIGHTS CAROUSEL */
  .insights{background:var(--base-2);border-top:1px solid var(--line)}
  .carousel{display:flex;align-items:stretch;gap:14px}
  .carousel-track{flex:1;display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 4px 14px;scrollbar-width:thin}
  .carousel-track::-webkit-scrollbar{height:6px}
  .carousel-track::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}
  .insight-card{flex:0 0 calc((100% - 44px)/3);min-width:280px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s;text-decoration:none;color:inherit}
  .insight-card:hover{border-color:var(--line-2);transform:translateY(-3px)}
  .circuit-tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--signal);font-weight:600;text-transform:uppercase}
  .insight-card h3{font-size:1.16rem}
  .insight-card p{color:var(--muted);font-size:.95rem;flex:1;line-height:1.55}
  .read-more{color:var(--signal);font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.04em;margin-top:auto;align-self:flex-start}
  .read-more:hover{text-decoration:underline}
  .carousel-btn{flex:none;align-self:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);background:var(--surface);color:var(--text);font-size:1.4rem;font-family:var(--display);cursor:pointer;display:grid;place-items:center;transition:border-color .2s,color .2s,background .2s;line-height:1;padding:0}
  .carousel-btn:hover{border-color:var(--signal);color:var(--signal)}
  @media(max-width:900px){.insight-card{flex:0 0 calc((100% - 22px)/2)}}
  @media(max-width:560px){.insight-card{flex:0 0 85%}.carousel-btn{display:none}}

  /* ARTICLE PAGE (shared by blog/*.html) */
  .article{padding:60px 0 80px}
  .article .inner{max-width:740px;margin:0 auto}
  .article .back{font-family:var(--mono);color:var(--muted);font-size:.82rem;display:inline-block;margin-bottom:28px;letter-spacing:.04em}
  .article .back:hover{color:var(--signal);text-decoration:underline}
  .article .circuit-tag{display:inline-block;margin-bottom:14px}
  .article h1{font-family:var(--display);font-weight:600;font-size:clamp(2rem,3.6vw,2.8rem);line-height:1.12;letter-spacing:-.02em;margin-bottom:18px}
  .article .meta{font-family:var(--mono);font-size:.78rem;color:var(--muted);margin-bottom:36px;letter-spacing:.04em}
  .article .body p{font-size:1.06rem;color:var(--text);margin-bottom:22px;line-height:1.65}
  .article .body h2{font-family:var(--display);font-size:1.45rem;margin:36px 0 12px;letter-spacing:-.01em}
  .article .body ul{margin:0 0 22px 22px;color:var(--text)}
  .article .body ul li{margin-bottom:8px;line-height:1.6}

  /* TWIN / CIRCUIT */
  .twin{border-top:1px solid var(--line)}
  .analyzer{border-top:1px solid var(--line)}
  .twin-panel{background:linear-gradient(180deg,var(--surface),var(--base-2));border:1px solid var(--line);border-radius:16px;padding:26px 24px 20px;box-shadow:0 30px 70px -34px rgba(30,41,51,.12);margin-bottom:34px}
  .twin-panel .tp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:wrap;gap:10px}
  .twin-panel .tp-head .t{font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;color:var(--muted)}
  .twin-panel .tp-head .live{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.7rem;color:var(--signal)}
  .twin-panel .tp-head .live .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 9px var(--signal);animation:pulse 1.8s infinite}
  svg.circuit{width:100%;height:auto;display:block}
  .flow-dot{animation:flowx 2.4s linear infinite}
  .flow-dot.d2{animation-delay:.8s}
  .flow-dot.d3{animation-delay:1.6s}
  @keyframes flowx{from{transform:translateX(0)}to{transform:translateX(var(--fx,60px))}}

  .pillar-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
  .analyzer-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center;margin-bottom:44px}
  .analyzer-viz{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
  .analyzer-copy .tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--signal);margin-bottom:14px;display:block}
  .analyzer-copy h3{font-size:1.5rem;margin-bottom:12px}
  .analyzer-copy > p{color:var(--muted);font-size:1rem;margin-bottom:18px}
  .feat{list-style:none}
  .feat li{display:flex;gap:11px;align-items:flex-start;padding:10px 0;color:var(--text);font-size:.95rem;border-top:1px solid var(--line)}
  .feat li::before{content:"\203A";color:var(--molten);font-family:var(--mono);font-weight:600;flex:none}
  .feat li b{color:var(--signal-soft);font-weight:600}
  .stack-flow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:34px;font-family:var(--mono);font-size:.82rem;color:var(--muted)}
  .stack-flow .node{padding:7px 14px;border:1px solid var(--line-2);border-radius:8px;color:var(--text)}
  .stack-flow .node.on{border-color:var(--signal);color:var(--signal)}
  .stack-flow .ar{color:var(--molten)}
  .pillar{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px;transition:border-color .2s,transform .2s}
  .pillar:hover{border-color:var(--signal);transform:translateY(-3px)}
  .pillar .tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--signal);margin-bottom:14px}
  .pillar h3{font-size:1.45rem;margin-bottom:12px}
  .pillar > p{color:var(--muted);font-size:.98rem;margin-bottom:18px}
  .pillar ul{list-style:none}
  .pillar li{display:flex;gap:11px;align-items:flex-start;padding:8px 0;color:var(--text);font-size:.93rem;border-top:1px solid var(--line)}
  .pillar li::before{content:"›";color:var(--molten);font-family:var(--mono);font-weight:600;flex:none}

  /* HOW — chevron-arrow infographic */
  .steps{display:flex;align-items:stretch;gap:6px;border:none;border-radius:0;overflow:visible}
  .step{flex:1 1 200px;min-width:0;padding:0;border:none;background:transparent;display:flex;flex-direction:column}
  .step-chevron{
    background:#E2E2E2;
    clip-path:polygon(0 0, calc(100% - 28px) 0, 100% 50%, calc(100% - 28px) 100%, 0 100%, 28px 50%);
    padding:22px 38px 22px 50px;
    display:flex;align-items:center;gap:16px;min-height:72px;
    margin-bottom:20px;
    transition:background .2s
  }
  .step:first-child .step-chevron{
    clip-path:polygon(0 0, calc(100% - 28px) 0, 100% 50%, calc(100% - 28px) 100%, 0 100%);
    padding-left:28px
  }
  .step:hover .step-chevron{background:#D0D0D0}
  .step-chevron .num{font-family:var(--display);font-size:1.85rem;font-weight:700;color:var(--text);line-height:1;flex:none}
  .step-chevron .step-title{font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--text);line-height:1.2}
  .step p{color:var(--muted);font-size:.95rem;line-height:1.55;padding:0 18px 0 28px}

  /* RESULTS */
  .results{background:var(--base-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .res-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .res-card .big{font-family:var(--display);font-weight:700;font-size:clamp(2rem,3.6vw,2.9rem);color:var(--signal);line-height:1}
  .res-card .big span{color:var(--molten);font-size:.55em;font-family:var(--mono);vertical-align:top}
  .res-card .cap{color:var(--muted);font-size:.88rem;margin-top:10px;max-width:24ch}

  /* MODULE CAROUSEL (Product — borderless, fade-based, swipeable) */
  .modules{border-top:1px solid var(--line);padding:60px 0}
  .mod-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
  .mod-toolbar .eyebrow{margin:0}
  .mod-carousel{position:relative}
  .mod-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--muted-2);font-size:2rem;font-family:var(--display);cursor:pointer;display:grid;place-items:center;line-height:1;padding:0;transition:color .2s,background .2s}
  .mod-btn:hover{color:var(--signal);background:rgba(0,0,0,.04)}
  .mod-btn.prev{left:-8px}
  .mod-btn.next{right:-8px}
  .mod-track{display:grid;grid-template-columns:1fr;touch-action:pan-y;cursor:grab;user-select:none}
  .mod-track.dragging{cursor:grabbing}
  .mod-slide{grid-area:1/1;background:transparent;border:none;border-radius:0;padding:0;box-shadow:none;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .65s ease,transform .65s ease,visibility .65s}
  .mod-slide.active{opacity:1;visibility:visible;transform:translateY(0)}
  .mod-slide .analyzer-grid{margin-bottom:0}
  .mod-slide .analyzer-viz{background:transparent;border:none;padding:0}
  .mod-slide .stack-flow{margin-bottom:22px}
  .mod-title{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
  .mod-title:hover{color:var(--signal);border-bottom-color:var(--signal)}
  .mod-dots{display:flex;justify-content:center;gap:10px;margin-top:26px}
  .mod-dot{width:9px;height:9px;border-radius:50%;border:1px solid var(--line-2);background:transparent;cursor:pointer;padding:0;transition:background .2s,border-color .2s,transform .2s}
  .mod-dot.active{background:var(--signal);border-color:var(--signal);transform:scale(1.2)}
  .mod-dot:hover{border-color:var(--signal)}

  /* per-slide animations */
  .pulse-dot{animation:pulse 1.8s infinite}
  .scan-cone{animation:scanPulse 2.6s ease-in-out infinite}
  @keyframes scanPulse{0%,100%{opacity:.08}50%{opacity:.20}}
  .roller{transform-box:fill-box;transform-origin:center;animation:rollerSpin 1.6s linear infinite}
  .roller-spoke{transform-box:fill-box;transform-origin:60px 219px;animation:rollerSpin 1.6s linear infinite}
  .roller.r2,.roller-spoke.r2{animation-duration:1.6s}
  @keyframes rollerSpin{to{transform:rotate(360deg)}}
  .conveyor-rocks{animation:rockScroll 4.5s linear infinite}
  @keyframes rockScroll{from{transform:translateX(0)}to{transform:translateX(-50px)}}
  .psd-bars rect{transform-origin:bottom;animation:barPulse 3s ease-in-out infinite}
  .psd-bars rect:nth-child(2){animation-delay:.2s}
  .psd-bars rect:nth-child(3){animation-delay:.4s}
  .psd-bars rect:nth-child(4){animation-delay:.6s}
  .psd-bars rect:nth-child(5){animation-delay:.8s}
  .psd-bars rect:nth-child(6){animation-delay:1.0s}
  .psd-bars rect:nth-child(7){animation-delay:1.2s}
  .psd-bars rect:nth-child(8){animation-delay:1.4s}
  .psd-bars rect:nth-child(9){animation-delay:1.6s}
  @keyframes barPulse{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.92)}}

  /* Ball Counter — small dots flow along feed and discharge conveyors */
  .ball-flow.feed .ball-dot{animation:ballFlowFeed 3.6s linear infinite}
  .ball-flow.feed .f1{animation-delay:0s}
  .ball-flow.feed .f2{animation-delay:-0.72s}
  .ball-flow.feed .f3{animation-delay:-1.44s}
  .ball-flow.feed .f4{animation-delay:-2.16s}
  .ball-flow.feed .f5{animation-delay:-2.88s}
  @keyframes ballFlowFeed{
    0%{transform:translate(22px,176px);opacity:0}
    8%{opacity:1}
    92%{opacity:1}
    100%{transform:translate(166px,176px);opacity:0}
  }
  .ball-flow.discharge .ball-dot{animation:ballFlowDischarge 3.6s linear infinite}
  .ball-flow.discharge .d1{animation-delay:0s}
  .ball-flow.discharge .d2{animation-delay:-0.9s}
  .ball-flow.discharge .d3{animation-delay:-1.8s}
  .ball-flow.discharge .d4{animation-delay:-2.7s}
  @keyframes ballFlowDischarge{
    0%{transform:translate(352px,176px);opacity:0}
    8%{opacity:1}
    92%{opacity:1}
    100%{transform:translate(496px,176px);opacity:0}
  }

  /* Froth Analyzer — bubbles drift, flow arrows shimmer */
  .froth-bubbles circle{transform-box:fill-box;transform-origin:center;animation:bubbleDrift 6s ease-in-out infinite}
  .froth-bubbles circle:nth-child(2n){animation-duration:7s;animation-delay:-1s}
  .froth-bubbles circle:nth-child(3n){animation-duration:5.2s;animation-delay:-2s}
  .froth-bubbles circle:nth-child(4n){animation-duration:6.5s;animation-delay:-3s}
  @keyframes bubbleDrift{
    0%{transform:translate(0,0) scale(1)}
    50%{transform:translate(18px,-12px) scale(1.04)}
    100%{transform:translate(0,0) scale(1)}
  }
  .flow-arrows path{animation:flowFade 2.4s ease-in-out infinite}
  .flow-arrows path:nth-child(2){animation-delay:.3s}
  .flow-arrows path:nth-child(3){animation-delay:.6s}
  .flow-arrows path:nth-child(4){animation-delay:.9s}
  .flow-arrows path:nth-child(5){animation-delay:1.2s}
  .flow-arrows path:nth-child(6){animation-delay:1.5s}
  @keyframes flowFade{0%,100%{opacity:.45}50%{opacity:.95}}

  /* MPC — NOW line subtle pulse */
  .now-line{animation:nowPulse 2.4s ease-in-out infinite}
  @keyframes nowPulse{0%,100%{opacity:.65}50%{opacity:1}}

  /* Digital Twin — flowing dots in pipes */
  .twin-flow{animation:twinFlow 2.6s linear infinite}
  .twin-flow.d2{animation-delay:-.9s}
  .twin-flow.d3{animation-delay:-1.8s}
  @keyframes twinFlow{from{transform:translateX(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateX(var(--fx,60px));opacity:0}}

  @media(prefers-reduced-motion:reduce){
    .pulse-dot,.scan-cone,.roller,.roller-spoke,.conveyor-rocks,.psd-bars rect,
    .ball-flow .ball-dot,.froth-bubbles circle,.flow-arrows path,
    .now-line,.twin-flow,.mod-slide{animation:none!important;transition:none!important}
  }
  @media(max-width:760px){
    .mod-slide{padding:22px 18px}
    .mod-btn{width:38px;height:38px}
  }

  /* OUTCOME PILLARS */
  .ct-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
  .ct-grid-3{grid-template-columns:repeat(3,1fr)}
  .ct-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px;display:flex;gap:18px;align-items:flex-start;transition:border-color .2s,transform .2s}
  .ct-card:hover{border-color:var(--signal);transform:translateY(-3px)}
  .ct-card .glyph{width:44px;height:44px;border-radius:9px;flex:none;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--line-2)}
  .ct-card .glyph svg{width:23px;height:23px;stroke:var(--molten);fill:none;stroke-width:1.6}
  .ct-card h3{font-size:1.12rem;margin-bottom:5px}
  .ct-card .mv{font-family:var(--mono);font-size:.76rem;color:var(--signal);margin-bottom:8px}
  .ct-card p{color:var(--muted);font-size:.92rem}

  /* ROI */
  .roi{background:var(--base-2);border-top:1px solid var(--line)}
  .roi-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:stretch}
  .roi-form{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px}
  .field{margin-bottom:18px}
  .field label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:7px}
  .field label .u{font-family:var(--mono);color:var(--muted-2);font-size:.76rem}
  .field input[type=number]{width:100%;background:var(--base);border:1px solid var(--line-2);border-radius:8px;color:var(--text);font-family:var(--mono);font-size:1rem;padding:10px 13px;transition:border-color .2s}
  .field input[type=number]:focus{outline:none;border-color:var(--signal)}
  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .slider-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}
  .slider-row .val{font-family:var(--display);font-weight:700;color:var(--signal);font-size:1.2rem}
  input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:5px;border-radius:5px;background:var(--line-2);outline:none}
  input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--molten);cursor:pointer;box-shadow:0 0 12px rgba(0,0,0,.2);border:3px solid var(--base-2)}
  input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--molten);cursor:pointer;border:3px solid var(--base-2)}
  .roi-out{background:linear-gradient(165deg,var(--surface),var(--base-2));border:1px solid var(--line);border-radius:14px;padding:30px;display:flex;flex-direction:column}
  .roi-out .ro-eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;margin-bottom:6px}
  .roi-out .savings{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,4.6vw,3.4rem);color:var(--signal);line-height:1;margin:6px 0 4px}
  .roi-out .sub{color:var(--muted);font-size:.9rem;margin-bottom:22px}
  .ro-rows{border-top:1px solid var(--line);margin-top:auto}
  .ro-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:.93rem}
  .ro-row .k{color:var(--muted)}
  .ro-row .v{font-family:var(--mono);font-weight:500}
  .ro-row .v.pay{color:var(--molten)}
  .roi-out .disclaimer{font-size:.73rem;color:var(--muted-2);margin-top:16px;line-height:1.5}
  .roi-out .ro-cta{margin-top:18px}
  .scenario{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px;display:flex;flex-direction:column}
  .sc-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem}
  .sc-row:last-of-type{border-bottom:none}
  .sc-row .k{color:var(--muted)}
  .sc-row .v{font-family:var(--mono);font-weight:500}
  .sc-row .v.hl{color:var(--signal)}
  .price-badge{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-family:var(--mono);font-size:.7rem;color:var(--signal);border:1px solid var(--line-2);border-radius:20px;padding:4px 11px;margin-top:16px}
  .price-badge .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);box-shadow:0 0 8px var(--signal);animation:pulse 1.8s infinite}
  .price-badge.stale{color:var(--molten-soft)}
  .price-badge.stale .dot{background:var(--molten-soft);box-shadow:none;animation:none}
  .benefit-range{font-family:var(--display);font-weight:700;font-size:clamp(2rem,4.6vw,3.2rem);color:var(--signal);line-height:1.05;margin:6px 0 6px}

  /* CASE */
  .case{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:center}
  .case .quote{font-family:var(--display);font-weight:500;font-size:clamp(1.35rem,2.5vw,1.95rem);line-height:1.32}
  .case .quote .hl{color:var(--signal)}
  .case .attrib{margin-top:22px;font-family:var(--mono);font-size:.83rem;color:var(--muted)}
  .case .metricbox{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px;display:grid;grid-template-columns:1fr 1fr;gap:26px}
  .case .metricbox .big{font-family:var(--display);font-weight:700;font-size:2.2rem;color:var(--molten);line-height:1}
  .case .metricbox .lab{color:var(--muted);font-size:.84rem;margin-top:6px}

  /* CTA */
  .cta-band{padding:88px 0;text-align:center;position:relative;overflow:hidden}
  .cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(0,0,0,.06),transparent 60%);pointer-events:none}
  .cta-band h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:18px;max-width:20ch;margin-left:auto;margin-right:auto}
  .cta-band p{color:var(--muted);font-size:1.08rem;margin-bottom:30px;max-width:50ch;margin-left:auto;margin-right:auto}
  .cta-band .btn{font-size:1rem;padding:14px 28px}
  .demo-form{max-width:560px;margin:0 auto;text-align:left}
  .demo-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .demo-form label{display:block;font-size:.84rem;font-weight:600;color:var(--text);margin-bottom:15px}
  .demo-form label .opt{color:var(--muted);font-weight:400}
  .demo-form input,.demo-form select,.demo-form textarea{width:100%;margin-top:7px;padding:12px 13px;font-family:var(--body);font-size:.95rem;color:var(--text);background:var(--surface);border:1px solid var(--line-2);border-radius:8px;transition:border-color .15s}
  .demo-form select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%235E5E5E' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M2 4l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 12px;padding-right:40px}
  .demo-form input:focus,.demo-form select:focus,.demo-form textarea:focus{outline:none;border-color:var(--text)}
  .demo-form textarea{resize:vertical}
  .demo-form .hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
  .demo-form button{width:100%;margin-top:8px;cursor:pointer}
  .demo-form button:disabled{opacity:.55;cursor:default}
  .cf-turnstile{margin:2px 0 12px}
  .form-note{margin-top:15px;font-size:.92rem;min-height:1.2em;text-align:center}
  .form-note.ok{color:var(--text);font-weight:600}
  .form-note.err{color:var(--text);font-weight:600;text-decoration:underline}
  @media(max-width:560px){.demo-form .row2{grid-template-columns:1fr}}

  /* FOOTER */
  footer.ft{border-top:1px solid var(--line);background:var(--base-2);padding:50px 0 34px}
  .ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;margin-bottom:38px}
  .ft-grid h4{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:16px}
  .ft-grid a{display:block;color:var(--muted);font-size:.92rem;margin-bottom:10px;transition:color .2s}
  .ft-grid a:hover{color:var(--text)}
  .ft-grid .blurb{color:var(--muted);font-size:.92rem;max-width:36ch;margin-top:14px}
  .ft-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:.82rem;color:var(--muted-2);flex-wrap:wrap;gap:10px}

  @media(max-width:900px){
    .hero-grid,.roi-grid,.case,.pillar-grid,.analyzer-grid{grid-template-columns:1fr;gap:38px}
    .prob-grid,.res-grid,.ct-grid,.ct-grid-3{grid-template-columns:1fr 1fr}
    .steps{flex-direction:column;padding-top:0;padding-left:0}
    .step{padding:0 0 18px 0}
    .step-chevron,.step:first-child .step-chevron{
      clip-path:none;border-radius:8px;margin-right:0;padding:16px 22px
    }
    .step p{padding:0 8px}
    nav.links{display:none}
    .ft-grid{grid-template-columns:1fr 1fr}
  }
  @media(max-width:720px){
    .nav-cta{gap:10px}
    .nav-btn{padding:0;width:40px;height:40px;display:inline-grid;place-items:center}
    .nav-btn .btn-label{display:none}
    .nav-btn .btn-glyph{display:block}
  }
  @media(max-width:560px){
    .prob-grid,.res-grid,.ct-grid,.ct-grid-3,.two-col{grid-template-columns:1fr}
    .hero-stats{flex-wrap:wrap;gap:20px}
    .case .metricbox{grid-template-columns:1fr}
    .ft-grid{grid-template-columns:1fr}
    .wrap{padding:0 20px}
  }
  /* BACK TO TOP */
  .to-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;border-radius:50%;border:none;background:var(--text);color:var(--base);cursor:pointer;display:grid;place-items:center;z-index:40;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,background .2s;box-shadow:0 8px 24px rgba(0,0,0,.16)}
  .to-top.visible{opacity:1;transform:translateY(0);pointer-events:auto}
  .to-top:hover{background:var(--molten-soft)}
  .to-top:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
  .to-top svg{width:22px;height:22px;display:block}
  @media(max-width:560px){.to-top{bottom:16px;right:16px;width:42px;height:42px}}

  /* MOBILE SIDEBAR NAV */
  .nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;flex:none;margin-left:8px}
  .nav-burger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .25s,opacity .25s}
  .nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-burger.open span:nth-child(2){opacity:0}
  .nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:100}
  .nav-overlay.open{display:block}
  .nav-drawer{position:fixed;top:0;right:-320px;width:300px;height:100dvh;height:100vh;background:var(--base);z-index:101;display:flex;flex-direction:column;border-left:1px solid var(--line);transition:right .3s ease;box-shadow:-8px 0 30px rgba(0,0,0,.08)}
  .nav-drawer.open{right:0}
  .nav-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:68px;border-bottom:1px solid var(--line);flex:none}
  .nav-drawer-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1.4rem;line-height:1;padding:4px;transition:color .2s}
  .nav-drawer-close:hover{color:var(--text)}
  .nav-drawer-links{flex:1;overflow-y:auto;padding:8px 0}
  .nav-drawer-links a{display:block;padding:15px 24px;font-size:1rem;color:var(--muted);border-bottom:1px solid var(--line);transition:color .2s,background .2s;text-decoration:none}
  .nav-drawer-links a:hover{color:var(--text);background:var(--base-2)}
  .nav-drawer-cta{flex:none;padding:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
  .nav-drawer-cta .btn{text-align:center;width:100%;display:block;box-sizing:border-box}
  @media(max-width:900px){
    nav.links{display:none}
    .nav-cta{display:none}
    .nav-burger{display:flex}
  }

  /* 7-DAY TRIAL BAND */
  .trial-band{background:var(--molten);padding:60px 0}
  .trial-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
  .trial-pill{display:inline-block;background:var(--signal);color:#fff;font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;padding:5px 14px;border-radius:20px;margin-bottom:16px}
  .trial-text h2{font-size:clamp(1.6rem,2.8vw,2.2rem);color:#fff;margin-bottom:12px;max-width:30ch;line-height:1.2}
  .trial-text p{color:rgba(255,255,255,.68);font-size:1rem;max-width:46ch;line-height:1.65}
  .trial-cta{flex:none;font-size:1rem;padding:14px 30px;white-space:nowrap}
  @media(max-width:700px){.trial-inner{flex-direction:column}.trial-cta{width:100%;text-align:center}}

  /* DEMO SPLIT — trial info + contact form side by side on dark background */
  .demo-section{padding:80px 0;background:var(--text)}
  .demo-split{display:grid;grid-template-columns:1fr 1fr;gap:60px}
  .demo-split-left{display:flex;flex-direction:column}
  .demo-split-left .trial-pill{align-self:flex-start;margin-bottom:20px}
  .demo-split-left h2{color:#fff;font-size:clamp(1.45rem,2.4vw,1.95rem);margin-bottom:16px;line-height:1.2}
  .demo-split-left p{color:rgba(255,255,255,.65);font-size:.97rem;line-height:1.65}
  .demo-split-right{border-left:1px solid rgba(255,255,255,.1);padding-left:60px}
  .demo-split-right > h2{font-size:clamp(1.3rem,2vw,1.65rem);margin-bottom:10px;color:#fff}
  .demo-split-right > p{color:rgba(255,255,255,.55);font-size:.97rem;margin-bottom:22px}
  .demo-split .demo-form{max-width:none;margin:0}
  .demo-split .demo-form label{color:rgba(255,255,255,.75)}
  .demo-split .demo-form label .opt{color:rgba(255,255,255,.4)}
  .demo-split .demo-form input,
  .demo-split .demo-form select,
  .demo-split .demo-form textarea{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:#fff}
  .demo-split .demo-form input::placeholder,
  .demo-split .demo-form textarea::placeholder{color:rgba(255,255,255,.3)}
  .demo-split .demo-form input:focus,
  .demo-split .demo-form select:focus,
  .demo-split .demo-form textarea:focus{border-color:rgba(255,255,255,.5)}
  .demo-split .demo-form select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23aaaaaa' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M2 4l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 12px}
  .demo-split .demo-form select option{background:#111;color:#fff}
  .demo-split .demo-form select option:disabled{color:rgba(255,255,255,.55)}
  .demo-split .form-note.ok,.demo-split .form-note.err{color:#fff}
  @media(max-width:800px){
    .demo-split{grid-template-columns:1fr;gap:40px}
  }

  /* COMMODITY TOGGLE (ROI section) */
  .com-toggle{display:flex;gap:4px;background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:3px;width:fit-content;margin-bottom:28px}
  .com-btn{font-family:var(--mono);font-size:.82rem;font-weight:500;padding:7px 20px;border:none;border-radius:6px;cursor:pointer;background:transparent;color:var(--muted);transition:background .15s,color .15s;letter-spacing:.04em}
  .com-btn.active{background:var(--text);color:var(--base)}

  /* FAQ PAGE */
  .faq-hero{padding:72px 0 48px;border-bottom:1px solid var(--line)}
  .faq-hero h1{font-size:clamp(2rem,4vw,3rem);margin:12px 0 16px}
  .faq-hero p{color:var(--muted);font-size:1.08rem;max-width:52ch;line-height:1.65}
  .faq-list{padding:56px 0}
  .faq-item{border-bottom:1px solid var(--line);padding:28px 0}
  .faq-item:first-child{border-top:1px solid var(--line)}
  .faq-q{font-family:var(--display);font-weight:600;font-size:1.2rem;margin-bottom:14px}
  .faq-a{color:var(--muted);font-size:1rem;line-height:1.68;max-width:64ch}
  .faq-a p{margin-bottom:12px}
  .faq-a p:last-child{margin-bottom:0}
  .faq-cta{background:var(--base-2);border-top:1px solid var(--line);padding:56px 0;text-align:center}
  .faq-cta h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:14px}
  .faq-cta p{color:var(--muted);font-size:1rem;margin-bottom:28px;max-width:44ch;margin-left:auto;margin-right:auto}

  /* BLOG INDEX */
  .blog-hero{padding:72px 0 48px;border-bottom:1px solid var(--line)}
  .blog-hero h1{font-size:clamp(2rem,4vw,3rem);margin:12px 0 16px}
  .blog-hero p{color:var(--muted);font-size:1.08rem;max-width:52ch;line-height:1.65}
  .blog-grid{padding:56px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .blog-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,transform .2s;text-decoration:none;color:inherit}
  .blog-card:hover{border-color:var(--line-2);transform:translateY(-3px)}
  .blog-card h2{font-size:1.16rem}
  .blog-card p{color:var(--muted);font-size:.95rem;flex:1;line-height:1.55}
  .blog-read{color:var(--signal);font-family:var(--mono);font-size:.8rem;font-weight:600;letter-spacing:.04em;margin-top:auto}
  @media(max-width:760px){.blog-grid{grid-template-columns:1fr}}

  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
