/* Shaman — shared design system (promoted from Option E concept) */
    /* ============ TOKENS ============ */
    :root {
      --green-dark:#1D4845; --green-deep:#16332f; --green-bright:#06f47c; --green:#00a670;
      --green-soft:#d5e6c5; --bg:#fbfbfb; --beige:#efeeeb; --beige-2:#dad6c9;
      --ink:#15130e; --dark:#262626; --white:#fff; --orange:#DD790E; --charcoal:#323232; --line-grey:#dddddd;

      --line:rgba(21,19,14,.08);
      --line-strong:rgba(21,19,14,.14);
      --line-light:rgba(255,255,255,.14);

      --r:16px; --r-sm:10px; --r-pill:999px;
      --maxw:1200px; --gutter:32px; --rail-right:78px; /* rail left(14)+width(64) */
      --eyebrow:.72rem;
      --head-font:"Playfair Display",Georgia,serif; /* switch via ?font=playfair|space|hanken */
    }
    *,*::before,*::after{box-sizing:border-box;}
    html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
    body{margin:0;font-family:"Open Sans",system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6;color:var(--charcoal);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
    img{max-width:100%;display:block;height:auto;}
    a{color:inherit;text-decoration:none;}
    ul{list-style:none;margin:0;padding:0;}
    h1,h2,h3,h4{font-family:var(--head-font);font-weight:700;letter-spacing:-0.03em;line-height:1.05;margin:0;color:var(--ink);}
    p{margin:0;}

    /* ============ LAYOUT ============ */
    .container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
    .section{padding:96px 0;position:relative;}
    .section--tight{padding:48px 0;}
    .bg-beige{background:var(--beige);}
    .bg-light{background:var(--bg);}
    .bg-white{background:#fff;}
    .bg-deep{background:var(--green-deep);color:#fff;}

    .eyebrow{font-size:var(--eyebrow);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green-dark);margin-bottom:18px;display:inline-flex;align-items:center;gap:10px;}
    /* Left-aligned labels: hang the geo bullet into the gutter so the label TEXT
       lines up flush-left with headings/body below (centered eyebrows keep the inline bullet). */
    .eyebrow:not([style*="center"]){position:relative;}
    .eyebrow:not([style*="center"]) .geo{position:absolute;right:100%;margin-right:10px;top:50%;transform:translateY(-50%);}
    .eyebrow--light{color:var(--green-bright);}
    .pill{display:inline-flex;align-items:center;gap:9px;font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:7px 15px;border-radius:var(--r-pill);background:rgba(6,244,124,.12);color:var(--green-bright);border:1px solid rgba(6,244,124,.3);}
    .pill .dot{width:7px;height:7px;border-radius:50%;background:var(--green-bright);}

    .section-head{max-width:760px;}
    .section-head--center{margin:0 auto;text-align:center;}
    .section-head h2{font-size:clamp(2.3rem,4.6vw,3.5rem);margin-bottom:16px;letter-spacing:-0.04em;line-height:1.0;}
    /* Green heading emphasis: Playfair upright, on its own line (in line with the hero H1) */
    .section-head h2 em{display:block;font-style:normal;}
    .section-head p{font-size:1.06rem;color:rgba(21,19,14,.62);max-width:640px;}
    .section-head--center p{margin-left:auto;margin-right:auto;}

    /* ============ BUTTONS ============ */
    .btn{display:inline-flex;align-items:center;gap:9px;font-family:"Open Sans",sans-serif;font-weight:600;font-size:.92rem;line-height:1;padding:13px 22px;border-radius:var(--r-pill);border:1px solid transparent;cursor:pointer;transition:transform .14s ease,background .18s ease,border-color .18s ease,color .18s ease;white-space:nowrap;}
    .btn--primary{background:var(--green-bright);color:var(--green-deep);}
    .btn--primary:hover{transform:translateY(-1px);}
    .btn--dark{background:var(--ink);color:#fff;}
    .btn--dark:hover{background:var(--green-deep);transform:translateY(-1px);}
    .btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.32);}
    .btn--ghost-light:hover{background:rgba(255,255,255,.1);}
    .btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong);}
    .btn--ghost:hover{background:var(--ink);color:#fff;}
    .btn--lg{padding:15px 26px;font-size:1rem;}
    .btn__arrow{line-height:0;transition:transform .15s ease;}
    .btn:hover .btn__arrow{transform:translateX(3px);}
    .link-arrow{display:inline-flex;align-items:center;gap:7px;font-weight:600;font-size:.88rem;color:var(--green-dark);}
    .link-arrow::after{content:"\2192";font-size:1.05em;line-height:1;transition:transform .15s ease;}
    .link-arrow:hover{font-weight:700;}
    .link-arrow:hover::after{transform:translateX(3px);}
    .link-arrow--light{color:var(--green-bright);}

    /* ============ HEADER ============ */
    .site-header{position:sticky;top:0;z-index:200;background:rgba(251,251,251,.88);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line-strong);}
    .nav{display:flex;align-items:center;height:68px;gap:30px;}
    .nav__logo img{height:26px;width:auto;}
    .nav__menu{display:flex;align-items:center;gap:2px;margin-left:6px;}
    .nav__item{position:relative;}
    .nav__link{display:inline-flex;align-items:center;gap:6px;font-size:.9rem;font-weight:500;color:rgba(21,19,14,.74);padding:8px 11px;transition:color .15s ease;}
    .nav__link:hover{color:var(--ink);}
    .nav__caret{height:8px;width:auto;opacity:.55;transition:transform .2s ease;}
    .nav__item:hover .nav__caret{transform:rotate(180deg);}
    .nav__dropdown{position:absolute;top:calc(100% + 10px);left:0;min-width:236px;background:#fff;border:1px solid var(--line-strong);border-radius:var(--r-sm);box-shadow:0 12px 34px rgba(21,19,14,.1);padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .18s ease;}
    .nav__item:hover .nav__dropdown{opacity:1;visibility:visible;transform:translateY(0);}
    .nav__dropdown li a{display:block;font-size:.88rem;font-weight:500;color:rgba(21,19,14,.78);padding:9px 12px;border-radius:7px;transition:background .12s ease,color .12s ease;}
    .nav__dropdown li a:hover{background:var(--beige);color:var(--ink);}
    .nav__dd-head{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-dark);padding:10px 12px 4px;}
    /* mega-menu for the 5 themes */
    .nav__mega{min-width:320px;}
    .nav__mega li a{display:flex;align-items:flex-start;gap:12px;}
    .nav__mega .midx{flex-shrink:0;font-weight:800;font-size:.74rem;color:var(--green-bright);background:var(--green-deep);width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0;margin-top:1px;}
    .nav__mega .mtxt{display:flex;flex-direction:column;}
    .nav__mega .mtxt strong{font-weight:700;font-size:.88rem;color:var(--ink);}
    .nav__mega .mtxt span{font-size:.76rem;color:rgba(21,19,14,.55);font-weight:500;}
    .nav__actions{margin-left:auto;display:flex;align-items:center;gap:12px;}
    .nav__toggle{display:none;}

    /* ============ HERO (dark-green orbital moment) ============ */
    .hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--green-deep) 0%,var(--green-dark) 100%);color:#fff;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;}
    .hero__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(640px 460px at 82% 42%,rgba(6,244,124,.16),transparent 70%);}
    .hero__brand{position:absolute;top:54px;left:0;right:0;z-index:6;}
    .hero__brand img{height:44px;width:auto;}
    @media(min-width:1001px){ .hero__brand{padding-left:max(calc(var(--rail-right) + 16px), calc((100% - var(--maxw))/2 + var(--rail-right)/2));} }
    @media(max-width:1000px){ .hero__brand{display:none;} }
    .hero__inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:44px;padding-bottom:24px;flex:1;min-height:0;}
    .hero .pill{margin-bottom:26px;}
    .hero h1{font-size:clamp(2.5rem,5vw,3.8rem);letter-spacing:-0.04em;line-height:1.0;margin-bottom:22px;color:#fff;}
    .hero h1 em{font-style:normal;color:var(--green-bright);}
    .hero__sub{font-size:1.14rem;color:rgba(255,255,255,.74);max-width:520px;margin-bottom:32px;}
    .hero__cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}

    /* ORBITAL DIAGRAM */
    .orbit{position:relative;width:100%;max-width:440px;aspect-ratio:1/1;margin:0 auto;}
    .orbit__ring{position:absolute;top:50%;left:50%;border-radius:50%;}
    .orbit__ring--2{width:74%;height:74%;border:1px solid rgba(6,244,124,.30);transform:translate(-50%,-50%);animation:orbit-spin 130s linear infinite;}
    .orbit__ring--3{width:100%;height:100%;border:1px dashed rgba(255,255,255,.16);transform:translate(-50%,-50%);animation:orbit-spin 190s linear infinite reverse;}
    /* Knowledge Engine — a layer wrapping the approved-content core */
    .orbit__kengine{position:absolute;top:50%;left:50%;width:52%;height:52%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,.04) 72%);border:1.5px solid rgba(255,255,255,.55);z-index:2;animation:kengine-pulse 9s ease-in-out infinite;}
    .orbit__kengine-label{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:#fff;padding:4px 12px;border-radius:100px;font-size:.55rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-deep);white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.18);}
    /* Approved Content core (orange, cloud) */
    .orbit__core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:124px;height:124px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#f1a85f,#DD790E 80%);border:1.5px solid rgba(255,255,255,.55);box-shadow:0 0 0 7px rgba(221,121,14,.16),0 14px 40px rgba(0,0,0,.34);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:5;padding:0 12px;animation:core-float 7s ease-in-out infinite;}
    .orbit__core svg{width:34px;height:34px;color:#fff;margin-bottom:5px;}
    .orbit__core-label{font-size:.82rem;font-weight:700;letter-spacing:-0.01em;color:#fff;line-height:1.05;}
    /* satellites: outer point sets position, inner chip floats */
    .sat{position:absolute;top:50%;left:50%;z-index:3;}
    .satin{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-pill);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);font-size:.7rem;font-weight:600;color:rgba(255,255,255,.92);white-space:nowrap;backdrop-filter:blur(4px);transform:translate(-50%,-50%);animation:sat-float 7.5s ease-in-out infinite;}
    .satin .sat__dot{width:6px;height:6px;border-radius:50%;background:var(--green-bright);flex-shrink:0;}
    .material-symbols-rounded{font-family:"Material Symbols Rounded";font-weight:normal;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24;}
    .satin .sat__ico{font-size:17px;color:var(--green-bright);flex-shrink:0;}
    .sat--bright .satin{background:rgba(6,244,124,.16);border-color:rgba(6,244,124,.4);}
    .sat--email .satin,.sat--social .satin{animation-delay:-1.4s;}
    .sat--banner .satin,.sat--mod .satin{animation-delay:-2.8s;}
    .sat--lp .satin,.sat--detail .satin{animation-delay:-4.1s;}
    /* satellite placement: output channels the module is reused across */
    .sat--clm{transform:translate(0,-208px);}
    .sat--email{transform:translate(150px,-148px);}
    .sat--banner{transform:translate(198px,4px);}
    .sat--lp{transform:translate(150px,150px);}
    .sat--social{transform:translate(0,200px);}
    .sat--mod{transform:translate(-150px,150px);}
    .sat--detail{transform:translate(-198px,4px);}
    .sat--reuse{transform:translate(-150px,-148px);}
    /* gentle motion */
    @keyframes orbit-spin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
    @keyframes kengine-pulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.85}50%{transform:translate(-50%,-50%) scale(1.02);opacity:1}}
    @keyframes core-float{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 5px))}}
    @keyframes sat-float{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 4px))}}
    @media (prefers-reduced-motion:reduce){
      .orbit__ring--2,.orbit__ring--3,.orbit__kengine,.orbit__core,.satin{animation:none!important;}
      .orbit__ring--2,.orbit__ring--3,.orbit__kengine,.orbit__core,.satin{transform:translate(-50%,-50%);}
    }

    /* ============ TRUST BAR ============ */
    .trustbar{text-align:center;}
    .trustbar__text{max-width:760px;margin:0 auto 36px;font-size:.98rem;color:rgba(21,19,14,.58);}
    .logo-row{display:grid;grid-template-columns:repeat(5,1fr);gap:30px 36px;align-items:center;justify-items:center;}
    .logo-row img{height:30px;width:auto;max-width:140px;object-fit:contain;opacity:.9;transition:opacity .2s ease;}
    .logo-row img:hover{opacity:1;}

    /* ============ THEME OVERVIEW STRIP ============ */
    .themenav{margin-top:52px;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
    .themecard{background:#fff;border:1px solid var(--line-strong);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;transition:transform .16s ease,border-color .16s ease;}
    .themecard:hover{transform:translateY(-3px);border-color:var(--green);}
    .themecard__no{font-weight:800;font-size:1.1rem;color:var(--green-bright);background:var(--green-deep);width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0;margin-bottom:16px;}
    .themecard h3{font-size:1.02rem;margin-bottom:6px;line-height:1.15;}
    .themecard p{font-size:.82rem;color:rgba(21,19,14,.6);}

    /* ============ FEATURE ROWS (the 5 themes) ============ */
    .feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
    .feature--rev .feature__media{order:1;}
    .feature--rev .feature__body{order:2;}
    .feature__eyebrow{font-size:var(--eyebrow);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green-dark);margin-bottom:18px;display:inline-flex;align-items:center;gap:12px;}
    .feature__eyebrow .fno{font-weight:800;font-size:.78rem;color:var(--green-bright);background:var(--green-deep);width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0;}
    .feature__body h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin-bottom:16px;letter-spacing:-0.035em;}
    .feature__lead{font-size:1.06rem;color:rgba(21,19,14,.64);margin-bottom:26px;max-width:520px;}
    .feature__media{position:relative;background:var(--beige);border:1px solid var(--line-strong);border-radius:var(--r);padding:34px;display:flex;align-items:center;justify-content:center;}
    .feature__media img{border-radius:10px;width:100%;}
    .feature__media-mark{position:absolute;top:18px;right:20px;height:22px;width:auto;opacity:.5;}

    .checklist{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;}
    .checklist li{display:flex;align-items:center;gap:12px;font-size:.95rem;font-weight:500;color:var(--ink);}
    .checklist .ck{width:20px;height:20px;border-radius:50%;background:var(--green-bright);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
    .checklist .ck img{height:11px;width:auto;}

    /* dark-green moment variant of a feature (theme 3 MLR) */
    .feature-moment{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--green-deep),var(--green-dark));color:#fff;}
    .feature-moment .feature__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px 420px at 18% 40%,rgba(6,244,124,.15),transparent 70%);}
    .feature-moment .container{position:relative;}
    .feature-moment .feature__eyebrow{color:var(--green-bright);}
    .feature-moment .feature__body h2{color:#fff;}
    .feature-moment .feature__lead{color:rgba(255,255,255,.74);}
    .feature-moment .checklist li{color:#fff;}
    .feature-moment .checklist .ck{background:var(--green-bright);}
    .feature-moment .feature__media{background:rgba(255,255,255,.05);border-color:var(--line-light);}
    .feature-moment .link-arrow{color:var(--green-bright);}
    .metric-emph{display:flex;align-items:baseline;gap:14px;margin-bottom:24px;}
    .metric-emph__num{font-weight:800;font-size:clamp(3.4rem,6vw,4.6rem);letter-spacing:-0.04em;line-height:.9;color:var(--green-bright);font-variant-numeric:tabular-nums;}
    .metric-emph__label{font-size:1rem;font-weight:600;color:#fff;max-width:200px;line-height:1.3;}

    /* ============ STATS MOMENT (dark) ============ */
    .stats-deep{position:relative;overflow:hidden;}
    .stats-deep .container{position:relative;}
    .statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line-light);border-radius:var(--r);overflow:hidden;}
    .statcard{padding:36px 28px;border-right:1px solid var(--line-light);}
    .statcard:last-child{border-right:0;}
    .statcard__num{font-weight:800;font-size:clamp(2.6rem,4.4vw,3.6rem);letter-spacing:-0.04em;line-height:1;color:var(--green-bright);margin-bottom:14px;font-variant-numeric:tabular-nums;}
    .statcard__label{display:block;font-size:.92rem;font-weight:600;color:#fff;}
    .statcard__desc{font-size:.84rem;color:rgba(255,255,255,.62);margin-top:10px;line-height:1.55;}

    /* ============ TESTIMONIALS ============ */
    .quotes{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
    .quote{margin:0;background:#fff;border:1px solid var(--line-strong);border-radius:var(--r);padding:34px 30px;display:flex;flex-direction:column;}
    .quote__mark{font-weight:800;font-size:2.6rem;line-height:.5;color:var(--green-bright);height:22px;margin-bottom:22px;}
    .quote__text{font-size:1rem;line-height:1.55;color:var(--ink);margin:0 0 24px;flex:1;}
    .quote figcaption{display:flex;align-items:center;gap:12px;}
    .quote__avatar{width:40px;height:40px;border-radius:50%;background:var(--green-soft);color:var(--green-deep);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;}
    .quote__name{font-weight:700;font-size:.92rem;}
    .quote__role{font-size:.82rem;color:rgba(21,19,14,.55);}

    /* ============ ARTICLE ============ */
    .article-card{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid transparent;box-shadow:0 8px 28px rgba(21,19,14,.07);border-radius:var(--r);overflow:hidden;background:#fff;margin-top:28px;}
    .article-card__body{padding:48px;display:flex;flex-direction:column;justify-content:center;}
    .article-card__body h3{font-size:1.7rem;margin-bottom:16px;}
    .article-card__body p{font-size:1rem;color:rgba(21,19,14,.64);margin-bottom:24px;}
    .article-card__media{background:var(--beige);border-left:1px solid var(--line-strong);}
    .article-card__media img{width:100%;height:100%;object-fit:cover;}

    /* ============ CTA ============ */
    .cta{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--green-deep),var(--green-dark));border-radius:18px;padding:76px 48px;text-align:center;color:#fff;}
    .cta__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(500px 320px at 50% 0%,rgba(6,244,124,.16),transparent 70%);}
    .cta__inner{position:relative;}
    .cta h2{color:#fff;font-size:clamp(2rem,3.6vw,2.8rem);margin-bottom:18px;letter-spacing:-0.035em;}
    .cta h2 em{font-style:normal;color:var(--green-bright);}
    .cta p{color:rgba(255,255,255,.72);max-width:560px;margin:0 auto 30px;font-size:1.05rem;}

    /* ============ FOOTER ============ */
    .site-footer{background:#595959;color:rgba(255,255,255,.78);padding:74px 0 40px;}
    .footer-tagline{font-family:var(--head-font);font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:600;letter-spacing:-0.02em;line-height:1.14;color:#fff;margin-bottom:14px;}
    .footer-tagline em{font-style:normal;color:var(--green-bright);}
    .footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding-bottom:44px;border-bottom:1px solid var(--line-light);}
    @media(max-width:600px){ .footer-grid{grid-template-columns:1fr;gap:28px;} }
    .footer-grid h4{font-family:"Open Sans",sans-serif;color:#fff;font-size:var(--eyebrow);letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px;font-weight:700;}
    .footer-grid li{margin-bottom:10px;}
    .footer-grid a{font-size:.9rem;color:rgba(255,255,255,.6);transition:color .15s ease;}
    .footer-grid a:hover{color:#fff;}
    .footer-bottom{display:flex;align-items:center;gap:20px;padding-top:28px;flex-wrap:wrap;}
    .footer-bottom img{height:30px;width:auto;}
    .footer-bottom span{font-size:.82rem;color:rgba(255,255,255,.5);}
    .footer-social{margin-left:auto;display:flex;gap:12px;}
    .footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-light);display:flex;align-items:center;justify-content:center;transition:background .15s ease;}
    .footer-social a:hover{background:rgba(255,255,255,.08);}
    .footer-social img{height:16px;}

    /* ============ RESPONSIVE ============ */
    @media (max-width:1000px){
      .hero__inner{grid-template-columns:1fr;gap:48px;padding-top:64px;padding-bottom:64px;}
      .orbit{max-width:400px;}
      .statgrid{grid-template-columns:repeat(2,1fr);}
      .statcard:nth-child(2){border-right:0;}
      .statcard{border-bottom:1px solid var(--line-light);}
      .quotes{grid-template-columns:1fr;}
      .logo-row{grid-template-columns:repeat(4,1fr);}
      .themenav{grid-template-columns:repeat(2,1fr);}
      .feature{grid-template-columns:1fr;gap:40px;}
      .feature--rev .feature__media{order:0;}
      .feature--rev .feature__body{order:0;}
    }
    @media (max-width:860px){
      .nav__menu{display:none;}
      .nav__toggle{display:inline-flex;margin-left:auto;background:none;border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:9px 14px;font-size:.85rem;font-weight:600;cursor:pointer;gap:6px;align-items:center;}
      .nav__actions{margin-left:12px;}
      .article-card{grid-template-columns:1fr;}
      .article-card__media{border-left:0;border-top:1px solid var(--line-strong);aspect-ratio:16/9;}
      /* simplify orbital: hide outer ring + far satellites */
      .orbit__ring--3{display:none;}
      .sat--banner,.sat--lp,.sat--social,.sat--mod,.sat--detail,.sat--reuse{display:none;}
    }
    @media (max-width:760px){
      /* Tighten section vertical rhythm on phones */
      .section{padding:56px 0;}
      .section--tight{padding:36px 0;}
      /* Tighten hero inner so there's room but not a wall of space */
      .hero__inner{gap:32px;padding-top:40px;padding-bottom:32px;}
      /* Reduce section-head bottom margins */
      .section-head h2{font-size:clamp(1.9rem,6vw,2.8rem);}
      /* Contain the caps-sec orbit background so it doesn't drive page width */
      .caps-sec{overflow:hidden;}
      /* Carousel: overflow clipped in page-scoped styles */
      /* Hero trust strip: ensure marquee can't drive page width */
      .hero__trust{overflow:hidden;}
      /* Bottleneck cards already stack via 1fr at 900px — ensure gutters are tight */
      .bottleneck{padding:22px 20px;}
      /* Feature lead tighter on phones */
      .feature__lead{font-size:.98rem;}
    }
    @media (max-width:600px){
      .section{padding:48px 0;}
      :root{--gutter:20px;}
      .statgrid{grid-template-columns:1fr;}
      .statcard{border-right:0;}
      .logo-row{grid-template-columns:repeat(2,1fr);gap:24px;}
      .cta{padding:44px 20px;}
      .article-card__body{padding:28px 20px;}
      .themenav{grid-template-columns:1fr;}
      /* simplest orbital: core + inner ring only */
      .orbit{max-width:240px;}
      .orbit__ring--2{display:none;}
      .sat{display:none;}
      /* Hero inner: tighter still */
      .hero__inner{padding-top:32px;padding-bottom:24px;}
      /* Buttons: ensure comfortable tap targets */
      .btn{min-height:44px;}
      /* Hero trust strip bottom padding tighter */
      .hero__trust{padding-bottom:28px;}
    }
    /* ============ FLOATING SIDE RAIL — hover-flyout model ============ */

    /* Rail container — fixed, vertically centred, fixed width (never expands) */
    .sidenav{
      position:fixed;
      left:14px;
      top:50%;
      transform:translateY(-50%);
      z-index:300;
      width:64px;
      box-sizing:border-box;
      display:flex;
      flex-direction:column;
      align-items:center;
      gap:3px;
      background:rgba(255,255,255,.5);
      border:1px solid rgba(255,255,255,.7);
      box-shadow:0 10px 36px rgba(21,19,14,.13),inset 0 1px 0 rgba(255,255,255,.65);
      border-radius:16px;
      padding:8px;
      -webkit-backdrop-filter:blur(22px) saturate(180%);
      backdrop-filter:blur(22px) saturate(180%);
      max-height:calc(100vh - 28px);
      overflow:visible;
      scrollbar-width:none;
    }
    .sidenav::-webkit-scrollbar{display:none;}

    /* When rail is too tall to stay centred, JS adds .sidenav--tall */
    .sidenav--tall{
      top:14px;
      transform:none;
    }

    .sidenav__logo{
      width:48px;height:48px;border-radius:13px;
      background:#fff;
      box-shadow:0 1px 5px rgba(21,19,14,.12);
      display:flex;align-items:center;justify-content:center;
      flex-shrink:0;
    }
    .sidenav__logo img{width:42px;height:42px;object-fit:contain;}
    /* Hairline dividers — keep spacing, invisible fill */
    .sidenav__sep{width:100%;height:1px;background:transparent;margin:2px 0;display:block;}

    /* ── Base nav item ── */
    .snav{
      position:relative;
      width:100%;min-height:48px;box-sizing:border-box;
      border-radius:8px;
      display:flex;flex-direction:column;
      align-items:center;justify-content:center;
      gap:2px;
      padding:5px 2px;
      color:var(--charcoal);
      text-decoration:none;
      background:none;
      border:0;
      cursor:pointer;
      font-family:"Open Sans",sans-serif;
      transition:background .15s ease,color .15s ease;
      flex-shrink:0;
    }
    .snav .material-symbols-rounded{font-size:23px;line-height:1;display:block;}
    .snav__label{font-size:.55rem;font-weight:600;letter-spacing:-0.005em;line-height:1;text-align:center;white-space:nowrap;color:inherit;}

    /* Hover */
    .snav:hover{background:var(--green-soft);color:var(--green-deep);}

    /* Active — flat green fill, no border, no shadow */
    a.snav[aria-current="page"],
    a.snav[aria-current="page"]:hover{
      background:var(--green);
      border:0;
      color:#fff;
      width:calc(100% + 10px);
      margin-left:-5px;margin-right:-5px;
      border-radius:13px;
      box-shadow:0 4px 11px rgba(21,19,14,.12);
    }

    /* CTA item — always bright green */
    .snav--cta,
    .snav--cta:hover,
    .snav--cta[aria-current="page"],
    .snav--cta[aria-current="page"]:hover{
      background:var(--green-bright);
      color:var(--green-deep);
      border:0;
      box-shadow:none;
      margin-top:4px;
    }

    /* Focus ring */
    .snav:focus-visible{
      outline:2px solid var(--green-bright);
      outline-offset:2px;
    }

    /* ── Group wrapper (flyout trigger) ── */
    .snav-grp{
      position:relative;
      display:flex;
      flex-direction:column;
      align-items:stretch;
      width:100%;
    }

    /* ── Parent item active states ── */
    /* When on the parent overview page — flat green, no border/shadow */
    .snav-grp > a.snav-parent[aria-current="page"],
    .snav-grp > a.snav-parent[aria-current="page"]:hover{
      background:var(--green);
      border:0;
      color:#fff;
      width:calc(100% + 10px);
      margin-left:-5px;margin-right:-5px;
      border-radius:13px;
      box-shadow:0 4px 11px rgba(21,19,14,.12);
    }

    /* ── Stacked active-sub block (JS adds .snav-grp--active-sub + injects .snav-grp__stack) ── */
    .snav-grp__stack{
      display:flex;
      flex-direction:column;
      width:calc(100% + 10px);
      margin:2px -5px;
      border-radius:13px;
      overflow:hidden;
      cursor:pointer;
      box-shadow:0 8px 20px rgba(21,19,14,.22);
    }
    /* Top row: parent label text only, darker green bg */
    .snav-grp__stack-parent{
      background:#0a7a52;
      color:rgba(255,255,255,.9);
      font-family:"Open Sans",sans-serif;
      font-size:.56rem;
      font-weight:700;
      letter-spacing:.01em;
      text-align:center;
      padding:12px 4px 11px;
      line-height:1;
    }
    /* Bottom row: active sub-item with small icon + label */
    .snav-grp__stack-sub{
      background:var(--green);
      color:#fff;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:3px;
      padding:9px 2px 10px;
      min-height:44px;
    }
    .snav-grp__stack-sub .material-symbols-rounded{
      font-size:22px;line-height:1;display:block;
    }
    .snav-grp__stack-sub span:not(.material-symbols-rounded){
      font-family:"Open Sans",sans-serif;
      font-size:.5rem;
      font-weight:600;
      line-height:1;
    }
    /* Hover tint on the stack block */
    .snav-grp--active-sub .snav-grp__stack:hover .snav-grp__stack-parent{background:#006b45;}
    .snav-grp--active-sub .snav-grp__stack:hover .snav-grp__stack-sub{background:#008f5e;}

    /* ── Flyout popover (CSS-only show/hide via group hover) ── */
    .snav__sub{
      position:absolute;
      left:calc(100% + 8px);
      top:50%;
      transform:translateY(-50%);
      min-width:160px;
      background:#fff;
      border:1px solid rgba(21,19,14,.1);
      border-radius:10px;
      box-shadow:0 8px 28px rgba(21,19,14,.14);
      padding:6px;
      display:flex;
      flex-direction:column;
      gap:2px;
      /* Hidden by default */
      opacity:0;
      pointer-events:none;
      transition:opacity .15s ease, transform .15s ease;
      transform:translateY(-50%) translateX(-4px);
      z-index:400;
    }
    /* Show flyout on group hover — includes an invisible bridge so mouse can travel */
    .snav-grp:hover > .snav__sub{
      opacity:1;
      pointer-events:auto;
      transform:translateY(-50%) translateX(0);
    }
    /* Invisible bridge between rail item and flyout (8px gap) */
    .snav-grp::after{
      content:'';
      position:absolute;
      left:100%;
      top:0;
      width:10px;
      height:100%;
      display:none; /* enabled only when flyout is visible */
    }
    .snav-grp:hover::after{display:block;}

    /* Flyout sub-item links */
    .snav__sub a{
      display:flex;
      flex-direction:row;
      align-items:center;
      gap:8px;
      width:100%;
      min-height:34px;
      border-radius:6px;
      padding:6px 10px;
      font-family:"Open Sans",sans-serif;
      font-size:.82rem;
      font-weight:600;
      color:var(--charcoal);
      text-decoration:none;
      white-space:nowrap;
      transition:background .12s ease,color .12s ease;
      box-sizing:border-box;
    }
    .snav__sub a .material-symbols-rounded{
      font-size:17px;
      line-height:1;
      flex-shrink:0;
      color:var(--green);
    }
    .snav__sub a:hover{background:rgba(0,166,112,.08);color:var(--green-deep);}
    .snav__sub a:hover .material-symbols-rounded{color:var(--green-deep);}
    .snav__sub a:focus-visible{outline:2px solid var(--green-bright);outline-offset:2px;border-radius:6px;}

    /* Active sub-item in flyout — flat green, no border/shadow */
    .snav__sub a[aria-current="page"],
    .snav__sub a[aria-current="page"]:hover{
      background:var(--green);
      border:0;
      box-shadow:none;
      color:#fff;
    }
    .snav__sub a[aria-current="page"] .material-symbols-rounded,
    .snav__sub a[aria-current="page"]:hover .material-symbols-rounded{color:#fff;}

    /* Overview link — separator line below */
    .snav__sub a.snav__sub-overview{
      font-size:.78rem;
      color:rgba(50,50,50,.65);
      border-bottom:1px solid rgba(215,215,215,.6);
      border-radius:0;
      margin-bottom:2px;
      padding-bottom:8px;
    }
    .snav__sub a.snav__sub-overview:hover{background:transparent;color:var(--green-deep);}
    .snav__sub a.snav__sub-overview[aria-current="page"],
    .snav__sub a.snav__sub-overview[aria-current="page"]:hover{
      background:var(--green);
      border:0;
      box-shadow:none;
      border-radius:6px;
      color:#fff;
      padding-bottom:6px;
      margin-bottom:2px;
    }
    .snav__sub a.snav__sub-overview[aria-current="page"] .material-symbols-rounded{color:#fff;}

    /* Reduced motion */
    @media(prefers-reduced-motion:reduce){
      .snav__sub{transition:none;}
      .snav{transition:none;}
    }

    /* Give all content room for the rail on desktop */
    @media(min-width:1001px){
      .container{
        padding-left:0; padding-right:0;
        margin-left:max(calc(var(--rail-right) + 16px), calc((100% - var(--maxw))/2 + var(--rail-right)/2));
        margin-right:max(var(--gutter), calc((100% - var(--maxw))/2 - var(--rail-right)/2));
      }
    }

    /* Hide rail on mobile (mobile menu handles it) */
    @media(max-width:1000px){ .sidenav{display:none;} }

    /* ============ TOP BAR — removed (nav is the side rail) ============ */
    .topbar{display:none;}

    /* ============ IN-HERO TRUST STRIP (single line) ============ */
    .hero__trust{position:relative;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter) 38px;}
    .hero__trust__row{display:flex;align-items:center;gap:28px;border-top:1px solid rgba(255,255,255,.14);padding-top:22px;}
    .hero__trust__label{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.66);white-space:nowrap;flex:0 0 auto;}
    .marquee{position:relative;flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
    .marquee__track{display:flex;align-items:center;gap:52px;width:max-content;animation:marquee 42s linear infinite;}
    .marquee:hover .marquee__track{animation-play-state:paused;}
    .marquee__track img{height:25px;width:auto;flex:0 0 auto;filter:brightness(0) invert(1);opacity:1;}
    @keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
    @media (prefers-reduced-motion:reduce){.marquee__track{animation:none;}}
    @media(max-width:1000px){.hero__trust__row{flex-wrap:wrap;}.hero__trust__label{flex:1 1 100%;}}
    @media(min-width:1001px){
      .hero__trust{
        width:auto; padding-left:0; padding-right:0;
        margin-left:max(calc(var(--rail-right) + 16px), calc((100% - var(--maxw))/2 + var(--rail-right)/2));
        margin-right:max(var(--gutter), calc((100% - var(--maxw))/2 - var(--rail-right)/2));
      }
    }

    /* ============ ORBITAL FLOW (Approved Content -> Knowledge Engine -> New content) ============ */
    .orbit__pulse{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(6,244,124,.5);transform:translate(-50%,-50%);animation:ripple 6.5s ease-out infinite;pointer-events:none;z-index:1;}
    .orbit__pulse--2{animation-delay:2.2s;}
    .orbit__pulse--3{animation-delay:4.4s;}
    @keyframes ripple{0%{width:34%;height:34%;opacity:.30;}80%{opacity:.04;}100%{width:104%;height:104%;opacity:0;}}
    .orbit__legend{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:30px;flex-wrap:wrap;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.66);}
    .orbit__legend .step{display:inline-flex;align-items:center;gap:7px;color:#fff;}
    .orbit__legend .sw{width:11px;height:11px;border-radius:50%;flex-shrink:0;}
    .orbit__legend .arr{color:var(--green-bright);font-weight:800;}

    @media(max-width:1000px){
      .hero{min-height:auto;}
    }
    @media (prefers-reduced-motion:reduce){ .orbit__pulse{animation:none;display:none;} }


/* ============================================================
   Brief components (proof bar, capabilities, partners, channels,
   bottlenecks, steps) — shared across the rebuilt site
   ============================================================ */
.muted{color:rgba(50,50,50,.7);}
.section-head .eyebrow{margin-bottom:14px;}

/* Proof bar */
.proofbar{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line-grey);border-radius:var(--r);overflow:hidden;background:#fff;}
.proofbar--4{grid-template-columns:repeat(4,1fr);}
.proof{padding:30px 20px;border-right:1px solid var(--line-grey);text-align:center;}
.proof:last-child{border-right:0;}
.proof__num{font-family:var(--head-font);font-weight:600;font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1;color:var(--green-dark);margin-bottom:8px;}
.proof__label{font-size:.84rem;color:rgba(50,50,50,.66);}
.proofbar--dark{background:transparent;border-color:var(--line-light);}
.proofbar--dark .proof{border-color:var(--line-light);}
.proofbar--dark .proof__num{color:var(--green-bright);}
.proofbar--dark .proof__label{color:rgba(255,255,255,.7);}

/* Capability cards (layered Atlas -> MLR -> Authoring) */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.cap{background:#fff;border:1px solid transparent;box-shadow:0 8px 28px rgba(21,19,14,.07);border-radius:var(--r);padding:32px;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease;}
.cap:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(21,19,14,.1);}
.cap__tag{font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:16px;}
.cap__ico{width:48px;height:48px;border-radius:13px;background:var(--green-deep);color:var(--green-bright);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.cap__ico .material-symbols-rounded{font-size:25px;}
.cap h3{font-size:1.32rem;margin-bottom:10px;}
/* Card headings use the body sans (no Playfair in cards) */
.cap h3,.step-card h3,.article-card__body h3{font-family:"Open Sans",sans-serif;font-weight:700;letter-spacing:-0.005em;}
.cap p{font-size:.95rem;color:rgba(50,50,50,.72);margin-bottom:20px;flex:1;}
.cap .link-arrow{margin-top:auto;}

/* Channel chips */
.channels-strip{display:flex;flex-wrap:wrap;gap:14px;}
.chan{display:inline-flex;align-items:center;gap:9px;padding:13px 18px;border:1px solid var(--line-grey);border-radius:var(--r-pill);background:#fff;font-weight:600;font-size:.92rem;color:var(--charcoal);}
.chan .material-symbols-rounded{font-size:20px;color:var(--green);}

/* Two-bottleneck problem */
.bottlenecks{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.bottleneck{background:#fff;border:1px solid var(--line-grey);border-left:4px solid var(--orange);border-radius:var(--r);padding:30px;}
.bottleneck__time{font-family:var(--head-font);font-weight:600;font-size:2rem;line-height:1;color:var(--orange);margin-bottom:8px;}
.bottleneck h3{font-size:1.15rem;margin-bottom:8px;}
.bottleneck p{font-size:.92rem;color:rgba(50,50,50,.7);}

/* Numbered steps (Atlas) */
.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.step-card{background:#fff;border:1px solid transparent;box-shadow:0 8px 28px rgba(21,19,14,.07);border-radius:var(--r);padding:28px;display:flex;gap:18px;align-items:flex-start;}
.step-card__no{flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:var(--green-deep);color:var(--green-bright);font-family:var(--head-font);font-size:1.15rem;display:flex;align-items:center;justify-content:center;}
.step-card h3{font-size:1.12rem;margin-bottom:6px;}
.step-card p{font-size:.92rem;color:rgba(50,50,50,.72);}

/* Footer partner badges */
.partners{display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;}
.partner{display:flex;align-items:center;gap:13px;}
.partner__badge{height:48px;width:auto;}
.partner__mark{height:40px;display:flex;align-items:center;justify-content:center;padding:0 16px;border:1px solid var(--line-light);border-radius:10px;font-family:var(--head-font);font-weight:600;font-size:1rem;color:#fff;}
.partner__txt{font-size:.8rem;color:rgba(255,255,255,.6);line-height:1.4;}
.partner__txt b{color:#fff;display:block;font-size:.88rem;font-weight:600;}

@media(max-width:900px){
  .proofbar,.proofbar--4{grid-template-columns:repeat(2,1fr);}
  .proof{border-bottom:1px solid var(--line-grey);}
  .caps,.steps{grid-template-columns:1fr;}
  .bottlenecks{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .proofbar,.proofbar--4{grid-template-columns:1fr;}
}

/* rail icons via Material Symbols + footer partner row */
.footer-partners{padding:26px 0;margin-top:6px;}

/* extra section backgrounds (brief rhythm) */
.bg-green-soft{background:var(--green-soft);}
.bg-warm{background:var(--beige-2);}

/* compact hero for inner pages */
.hero--page{min-height:auto;}
.hero--page .hero__inner{padding-top:120px;padding-bottom:78px;}
@media(max-width:1000px){.hero--page .hero__inner{padding-top:84px;padding-bottom:56px;}}

.partner__logo{height:38px;width:auto;}

/* ---- Problem: alert eyebrow, orange accent, x-axis timeline ---- */
.eyebrow--alert{color:var(--orange);}
.eyebrow--alert .geo--square,.eyebrow--alert .geo--circle{background:var(--orange);box-shadow:none;}
.accent-orange{color:var(--orange);}
.timeline{margin-top:52px;}
.timeline__row{display:grid;grid-template-columns:1fr 1fr;}
.tphase{padding:0 30px 4px;}
.tphase + .tphase{border-left:1px dashed rgba(21,19,14,.2);}
.tphase__num{font-family:var(--head-font);font-weight:600;font-size:clamp(2.6rem,5vw,3.9rem);line-height:.92;color:var(--orange);display:flex;align-items:baseline;gap:9px;}
.tphase__num span{font-family:"Open Sans",sans-serif;font-size:1.05rem;font-weight:600;color:var(--charcoal);}
.tphase__name{font-weight:700;font-size:1.1rem;margin:12px 0 8px;color:var(--ink);}
.tphase__desc{font-size:.93rem;color:rgba(50,50,50,.7);max-width:42ch;}
.timeline__bars{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 30px 0;}
.timeline__bars span{height:10px;border-radius:6px;background:linear-gradient(90deg,rgba(221,121,14,.9),rgba(221,121,14,.4));}
.timeline__axis{position:relative;margin:12px 30px 0;border-top:2px dashed rgba(21,19,14,.28);height:42px;}
.timeline__axis .tk{position:absolute;top:0;width:2px;height:11px;background:rgba(21,19,14,.32);transform:translateX(-1px);}
.timeline__axis .tlabel{position:absolute;top:18px;font-size:.8rem;font-weight:600;color:rgba(50,50,50,.6);transform:translateX(-50%);white-space:nowrap;}
.timeline__axis .tlabel[style*="left:0%"]{transform:translateX(0);}
.timeline__axis .tlabel--end{color:var(--orange);transform:translateX(-100%);}
@media(max-width:760px){
  .timeline__row{grid-template-columns:1fr;}
  .tphase + .tphase{border-left:0;border-top:1px dashed rgba(21,19,14,.2);padding-top:22px;margin-top:22px;}
  .timeline__bars,.timeline__axis{display:none;}
}

/* eyebrow color must win over .section-head p */
.section-head .eyebrow{color:var(--green-dark);}
.section-head .eyebrow--alert{color:var(--orange);}
.section-head .eyebrow--light{color:var(--green-bright);}

/* real font italic (loads Playfair/Open Sans italic faces) */
.italic{font-style:italic;}

/* ---- Outcome: before -> after savings comparison ---- */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.cmp{background:#fff;border:1px solid var(--line-grey);border-radius:var(--r);padding:30px 32px;}
.cmp__title{font-weight:700;font-size:1.06rem;color:var(--ink);margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.cmp__title .material-symbols-rounded{font-size:20px;color:var(--green);}
.cmp__row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;}
.cmp__row + .cmp__row{margin-top:16px;}
.cmp__tag{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(50,50,50,.48);}
.cmp__bar{height:12px;border-radius:6px;min-width:14px;}
.cmp__bar--before{width:100%;background:repeating-linear-gradient(90deg,rgba(221,121,14,.6) 0 7px,rgba(221,121,14,.14) 7px 13px);}
.cmp__bar--after{background:var(--green);box-shadow:0 2px 8px rgba(0,166,112,.35);}
.cmp__val{white-space:nowrap;justify-self:end;}
.cmp__row--before .cmp__val{color:var(--orange);text-decoration:line-through;text-decoration-thickness:2px;font-weight:600;font-size:.96rem;}
.cmp__row--after .cmp__val{font-family:var(--head-font);font-weight:600;color:var(--green-dark);font-size:1.7rem;line-height:1;}
.cmp__save{margin-top:18px;font-size:.85rem;font-weight:600;color:var(--green);display:inline-flex;align-items:center;gap:6px;}
.cmp__save .material-symbols-rounded{font-size:18px;}

.vstats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;}
.vstat{background:var(--green-deep);color:#fff;border-radius:var(--r);padding:26px 32px;display:flex;align-items:center;gap:20px;}
.vstat__num{font-family:var(--head-font);font-weight:600;font-size:clamp(2rem,3.4vw,2.7rem);line-height:1;color:var(--green-bright);white-space:nowrap;}
.vstat__label{font-size:.98rem;color:rgba(255,255,255,.8);}
@media(max-width:760px){
  .compare,.vstats{grid-template-columns:1fr;}
}

/* ---- Capability cards: orbit-echo styling ---- */
.caps-sec{position:relative;overflow:hidden;}
.caps-orbit{position:absolute;top:-150px;left:50%;transform:translateX(-50%);width:560px;height:560px;pointer-events:none;opacity:.85;animation:caps-pulse 6s ease-in-out infinite;
  background:radial-gradient(circle,
    transparent 29%, rgba(0,166,112,.10) 30%, transparent 32%,
    transparent 47%, rgba(0,166,112,.07) 48%, transparent 50%,
    transparent 65%, rgba(0,166,112,.05) 66%, transparent 68%);}
.caps{position:relative;}
.cap{position:relative;overflow:hidden;padding:36px 34px;}
.cap__rings{position:absolute;right:-72px;bottom:-72px;width:210px;height:210px;pointer-events:none;
  background:radial-gradient(circle,
    transparent 25%, rgba(0,166,112,.13) 26%, transparent 28.5%,
    transparent 43%, rgba(0,166,112,.10) 44%, transparent 46.5%,
    transparent 61%, rgba(0,166,112,.07) 62%, transparent 64.5%);
  transition:transform .3s ease;}
.cap:hover .cap__rings{transform:scale(1.08) rotate(8deg);}
.cap__no{position:absolute;top:28px;right:32px;font-family:var(--head-font);font-weight:600;font-size:2.7rem;line-height:1;color:rgba(0,166,112,.18);}
.cap__ico{position:relative;width:58px;height:58px;border-radius:50%;background:var(--green-bright);color:var(--green-deep);}
.cap__ico::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(0,166,112,.45);transition:inset .25s ease;}
.cap:hover .cap__ico::after{inset:-13px;}
.cap__ico .material-symbols-rounded{font-size:27px;}
.cap__tag,.cap__ico,.cap h3,.cap p,.cap .link-arrow{position:relative;z-index:1;}

/* heading <em> = green accent (upright), green-bright on dark contexts */
h1 em,h2 em,h3 em{font-style:normal;color:var(--green);}
.hero em,.cta em,.feature-moment em,.bg-deep em,.approach-teaser em{color:var(--green-bright);}

/* channels as the platform's output */
.caps-result{margin-top:48px;text-align:center;position:relative;z-index:1;}
.caps-result__label{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--green-dark);margin-bottom:22px;font-size:.95rem;}
.caps-result__label .material-symbols-rounded{font-size:20px;color:var(--green);}
.caps-result .channels-strip{justify-content:center;}

/* integration note inside the platform description */
.tech-note{margin:22px auto 0;display:inline-flex;align-items:center;justify-content:center;gap:14px 22px;flex-wrap:wrap;max-width:760px;font-size:.92rem;color:rgba(50,50,50,.66);}
.tech-note__logos{display:inline-flex;align-items:center;gap:22px;}
.tech-note__logos img{height:40px;width:auto;}

/* ---- Testimonials: coverflow carousel ---- */
.qcarousel{margin-top:50px;position:relative;}
.qstage{position:relative;height:360px;}
.qcard{position:absolute;top:50%;left:50%;width:min(470px,86vw);background:#fff;border:1px solid var(--line-grey);border-radius:var(--r);padding:42px 40px;display:flex;flex-direction:column;opacity:0;transform:translate(-50%,-50%) scale(.7);pointer-events:none;transition:transform .55s cubic-bezier(.4,0,.2,1),opacity .55s ease,box-shadow .55s ease;}
.qcard.is-active{opacity:1;transform:translate(-50%,-50%) scale(1);z-index:3;box-shadow:0 30px 64px rgba(21,19,14,.14);}
.qcard.is-prev{opacity:.5;transform:translate(calc(-50% - 360px),-50%) scale(.84);z-index:2;pointer-events:auto;cursor:pointer;}
.qcard.is-next{opacity:.5;transform:translate(calc(-50% + 360px),-50%) scale(.84);z-index:2;pointer-events:auto;cursor:pointer;}
.qcard__mark{height:40px;width:auto;align-self:flex-start;margin-bottom:18px;}
.qcard__text{font-size:1.14rem;line-height:1.5;color:var(--ink);margin:0 0 24px;flex:1;}
.qcard__name{font-weight:700;font-size:.96rem;color:var(--ink);}
.qcard__role{font-size:.85rem;color:rgba(50,50,50,.6);margin-top:2px;}
.qcard__cap{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.qcard__logo{height:22px;width:auto;max-width:130px;flex-shrink:0;opacity:.75;object-fit:contain;object-position:right center;}
.qdots{display:flex;justify-content:center;gap:9px;margin-top:30px;}
.qdot{width:8px;height:8px;border-radius:50%;background:rgba(21,19,14,.18);border:0;padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.qdot.is-on{background:var(--green);transform:scale(1.35);}
@media(max-width:820px){
  .qcard.is-prev,.qcard.is-next{opacity:0;pointer-events:none;}
  .qstage{height:400px;overflow:hidden;}
}
@media(prefers-reduced-motion:reduce){.qcard{transition:opacity .3s ease;}}

/* ---- Our Approach teaser: gradient moment + illustration pattern ---- */
.approach-teaser{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--green-deep),var(--green-dark));color:#fff;}
.approach-teaser__bg{position:absolute;inset:0;pointer-events:none;background:url("/assets/illustrations/illustrations_back.webp") center top / 560px auto repeat;opacity:.10;mix-blend-mode:screen;}
.approach-teaser .container{position:relative;}
.approach-teaser .feature__lead{color:rgba(255,255,255,.78);}
.approach-proof{max-width:620px;margin:6px auto 0;grid-template-columns:repeat(2,1fr);}

@keyframes caps-pulse{0%,100%{transform:translateX(-50%) scale(1);opacity:.8;}50%{transform:translateX(-50%) scale(1.05);opacity:.45;}}
@media(prefers-reduced-motion:reduce){.caps-orbit{animation:none;}}

/* ---- Value bar-chart cards (before/now) + drawn arrow ---- */
.cmp__chart{margin-top:8px;}
.cmp__crow{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:14px;}
.cmp__crow + .cmp__crow{margin-top:20px;}
.cmp__bars{display:flex;align-items:center;gap:12px;min-width:0;}
.cmp__chart .cmp__bar{height:30px;border-radius:7px;}
.cmp__bar--after{min-width:16px;}
.cmp__barval{font-family:"Open Sans",sans-serif;font-weight:700;white-space:nowrap;line-height:1;}
.cmp__crow--before .cmp__barval{color:var(--orange);text-decoration:line-through;text-decoration-thickness:2px;font-size:.98rem;}
.cmp__crow--after .cmp__barval{color:var(--green-dark);font-size:1.3rem;}
.cmp__arrow{flex:0 0 auto;width:74px;height:40px;color:var(--green);transform:translateY(-3px);}
@media(max-width:760px){.cmp__arrow{display:none;}}

/* building-block pills (Content Hub / Content Modules) differ from channels */
.chan--alt{background:var(--green-soft);border-color:transparent;}
.chan--alt .material-symbols-rounded{color:var(--green-dark);}
.channels-strip__break{width:100%;height:0;}

/* ---- Tier-2 light hero (solution sub-pages): cream surface, dark text ---- */
.hero--light{background:linear-gradient(165deg,var(--beige) 0%,#fdfdfb 75%);color:var(--charcoal);border-bottom:1px solid var(--line-strong);}
.hero--light .hero__glow{display:none;}
.hero--light .hero__brand{display:none;}
.hero--light h1{color:var(--ink);}
.hero--light .hero__sub{color:rgba(50,50,50,.72);}
.hero--light .eyebrow,.hero--light .eyebrow--light{color:var(--green-dark);}
.hero--light .eyebrow--light .geo--square,.hero--light .eyebrow--light .geo--circle{background:var(--green);}
.hero--light .eyebrow--light .geo--tri{border-bottom-color:var(--green);}
.hero--light .btn--ghost-light{color:var(--ink);border-color:var(--line-strong);background:transparent;}
.hero--light .btn--ghost-light:hover{background:var(--ink);color:#fff;}

/* ---- Illustration images: clean (no card fill/shadow), smaller, centered ---- */
.feature__media--illus{background:transparent;border-color:transparent;padding:0;}
.feature__media--illus img{box-shadow:none;width:auto;max-width:63%;margin:0 auto;}
@media(max-width:760px){.feature__media--illus img{max-width:82%;}}

.footer-grid li.footer-sub{padding-left:14px;}

.channels-strip--blocks{margin-bottom:22px;}

/* "The problem" timeline reveal-on-scroll */
.timeline__bars span{transition:transform 1.5s cubic-bezier(.22,1,.36,1);}
.timeline.is-armed .timeline__bars span{transform:scaleX(0);transform-origin:left center;}
.timeline.is-armed.is-visible .timeline__bars span{transform:scaleX(1);}
.timeline.is-armed.is-visible .timeline__bars span:nth-child(2){transition-delay:.35s;}

.footer-cred{font-size:.9rem;font-weight:600;letter-spacing:.01em;color:rgba(255,255,255,.5);margin:0 0 46px;}

.tphase__num .tphase__count{font-family:var(--head-font);font-size:clamp(2.6rem,5vw,3.9rem);font-weight:600;line-height:.92;color:var(--orange);}

/* Section sub-nav: breadcrumb + sibling pills (top of section pages) */
.subnav{background:rgba(255,255,255,.72);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:90;transition:transform .3s ease;will-change:transform;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);}
.subnav--preload{transition:none !important;}
.subnav--hidden{transform:translateY(-100%);}
.subnav__inner{display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;padding-top:13px;padding-bottom:13px;}
.subnav__crumbs{display:inline-flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;color:rgba(50,50,50,.6);flex-wrap:wrap;}
.subnav__crumbs a{color:rgba(50,50,50,.6);}
.subnav__crumbs a:hover{color:var(--green-dark);}
.subnav__sep{color:rgba(50,50,50,.32);}
.subnav__current{color:var(--ink);}
.subnav__pills{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;}
.subnav__pill{padding:6px 14px;border-radius:var(--r-pill);border:1px solid var(--line-strong);font-size:.84rem;font-weight:600;color:var(--charcoal);white-space:nowrap;}
.subnav__pill:hover{border-color:var(--green);color:var(--green-dark);}
.subnav__pill.is-active{background:var(--green);border-color:var(--green);color:#fff;}

/* Dark-green glass sub-nav (for pages with a dark hero, e.g. Authoring) */
.subnav--dark{background:rgba(22,51,47,.55);border-bottom-color:rgba(255,255,255,.14);}
.subnav--dark .subnav__crumbs,.subnav--dark .subnav__crumbs a{color:rgba(255,255,255,.7);}
.subnav--dark .subnav__crumbs a:hover{color:#fff;}
.subnav--dark .subnav__current{color:#fff;}
.subnav--dark .subnav__sep{color:rgba(255,255,255,.4);}
.subnav--dark .subnav__pill{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.28);}
.subnav--dark .subnav__pill:hover{border-color:var(--green-bright);color:#fff;}
.subnav--dark .subnav__pill.is-active{background:var(--green-bright);border-color:var(--green-bright);color:var(--green-deep);}

@media(max-width:1000px){.subnav{top:67px;z-index:150;}}

/* Interview byline: avatar + "Interview with <name>" */
.post-byline{display:inline-flex;align-items:center;gap:12px;margin-bottom:22px;}
.post-byline__avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 12px rgba(21,19,14,.14);flex:0 0 auto;}
.post-byline__text{font-size:.95rem;font-weight:600;color:var(--green-dark);}
.post-byline__text strong{color:var(--ink);}

/* Continue reading: related post cards */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.related-card{display:flex;flex-direction:column;background:#fff;border:1px solid transparent;box-shadow:0 8px 28px rgba(21,19,14,.07);border-radius:var(--r);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;}
.related-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(21,19,14,.08);}
.related-card__img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center top;display:block;background:#fff;}
.related-card__body{display:flex;flex-direction:column;gap:8px;padding:18px 20px;}
.related-card__cat{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-dark);}
.related-card__title{font-family:"Open Sans",sans-serif;font-weight:700;font-size:1.02rem;line-height:1.28;color:var(--ink);margin:0;letter-spacing:-0.01em;}
@media(max-width:900px){.related{grid-template-columns:repeat(3,1fr);gap:14px;}}
@media(max-width:680px){.related{grid-template-columns:1fr;}}

/* "The value" compare bars: grow in on scroll, then reveal labels (re-triggers) */
.compare.is-armed .cmp__bar{transform:scaleX(0);transform-origin:left center;}
.compare.is-armed.is-visible .cmp__bar{transform:scaleX(1);transition:transform .9s cubic-bezier(.22,1,.36,1);}
.compare.is-armed.is-visible .cmp__crow--after .cmp__bar{transition-delay:.12s;}
.compare.is-armed .cmp__barval,.compare.is-armed .cmp__arrow{opacity:0;}
.compare.is-armed.is-visible .cmp__barval,.compare.is-armed.is-visible .cmp__arrow{opacity:1;transition:opacity .45s ease .8s;}
@media(prefers-reduced-motion:reduce){.compare.is-armed .cmp__bar{transform:none;}.compare.is-armed .cmp__barval,.compare.is-armed .cmp__arrow{opacity:1;}}

/* Home "The platform": pulse the stroke ring around each capability icon */
.caps-sec .cap__ico::after{animation:cap-ring-pulse 2.8s ease-in-out infinite;transform-origin:center;}
.caps-sec .caps .cap:nth-child(2) .cap__ico::after{animation-delay:-.9s;}
.caps-sec .caps .cap:nth-child(3) .cap__ico::after{animation-delay:-1.8s;}
.caps-sec .cap:hover .cap__ico::after{animation-play-state:paused;}
@keyframes cap-ring-pulse{0%,100%{transform:scale(1);opacity:.4;}50%{transform:scale(1.16);opacity:.9;}}

/* ============================================================
   MOBILE NAV — hamburger toggle + full-page overlay
   Hidden at ≥1001px (side rail takes over).
   ============================================================ */

/* --- Top bar: logo left + hamburger right --- */
.mnav-topbar{
  display:none; /* shown only at ≤1000px */
  position:fixed;
  top:0;left:0;right:0;
  height:56px;
  z-index:400;
  align-items:center;
  justify-content:space-between;
  padding:0 16px;
  background:rgba(22,51,47,.92);
  backdrop-filter:blur(12px) saturate(160%);
  -webkit-backdrop-filter:blur(12px) saturate(160%);
}
.mnav-topbar__logo img{
  height:28px;
  width:auto;
  display:block;
}

/* Hamburger button */
.mnav-toggle{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:10px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  cursor:pointer;
  padding:0;
  flex-shrink:0;
  transition:background .15s ease,border-color .15s ease;
}
.mnav-toggle:hover{
  background:rgba(255,255,255,.2);
  border-color:rgba(255,255,255,.35);
}
.mnav-toggle:focus-visible{
  outline:2px solid var(--green-bright);
  outline-offset:2px;
}
/* Hamburger icon: 3 bars → X via CSS */
.mnav-toggle__icon{
  display:flex;
  flex-direction:column;
  gap:5px;
  width:20px;
}
.mnav-toggle__icon span{
  display:block;
  width:100%;
  height:2px;
  border-radius:2px;
  background:#fff;
  transform-origin:center;
  transition:transform .2s ease,opacity .2s ease,width .2s ease;
}
/* Open state: top → /, bottom → \, middle fades */
.mnav-toggle[aria-expanded="true"] .mnav-toggle__icon span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}
.mnav-toggle[aria-expanded="true"] .mnav-toggle__icon span:nth-child(2){
  opacity:0;
  width:0;
}
.mnav-toggle[aria-expanded="true"] .mnav-toggle__icon span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

/* --- Full-page overlay --- */
.mnav-overlay{
  display:none; /* JS toggles .is-open */
  position:fixed;
  inset:0;
  z-index:390;
  background:var(--green-deep);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:72px 0 48px; /* clear the 56px topbar */
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .22s ease,transform .22s ease;
}
.mnav-overlay.is-open{
  display:block;
  opacity:1;
  transform:translateY(0);
}
/* Soft glow behind the menu */
.mnav-overlay::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(480px 380px at 80% 20%,rgba(6,244,124,.13),transparent 70%);
  z-index:0;
}
.mnav-overlay__inner{
  position:relative;
  z-index:1;
  padding:8px 24px 24px;
}

/* Nav items */
.mnav-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
}

/* Top-level row */
.mnav-item{
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mnav-item:first-child{
  border-top:1px solid rgba(255,255,255,.08);
}

/* Top-level link or button trigger */
.mnav-link,
.mnav-trigger{
  display:flex;
  align-items:center;
  width:100%;
  padding:18px 4px;
  font-family:"Open Sans",sans-serif;
  font-size:1.18rem;
  font-weight:600;
  color:rgba(255,255,255,.92);
  text-decoration:none;
  background:none;
  border:0;
  cursor:pointer;
  text-align:left;
  letter-spacing:-0.01em;
  gap:10px;
  transition:color .14s ease;
}
.mnav-link:hover,
.mnav-trigger:hover{
  color:#fff;
}
.mnav-trigger:focus-visible,
.mnav-link:focus-visible{
  outline:2px solid var(--green-bright);
  outline-offset:2px;
  border-radius:6px;
}
/* Caret for accordion items */
.mnav-caret{
  margin-left:auto;
  width:20px;
  height:20px;
  flex-shrink:0;
  opacity:.55;
  transition:transform .2s ease,opacity .2s ease;
  color:var(--green-bright);
  display:flex;
  align-items:center;
  justify-content:center;
}
.mnav-caret svg{
  width:16px;
  height:16px;
  stroke:currentColor;
  stroke-width:2.2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease;
}
.mnav-item.is-open .mnav-caret svg{
  transform:rotate(180deg);
}
.mnav-item.is-open .mnav-caret{
  opacity:1;
}

/* Sub-item list (accordion) */
.mnav-sub{
  list-style:none;
  margin:0;
  padding:0 0 12px 16px;
  display:none;
}
.mnav-item.is-open .mnav-sub{
  display:block;
}
.mnav-sub li a{
  display:block;
  padding:11px 8px;
  font-size:1rem;
  font-weight:500;
  color:rgba(255,255,255,.68);
  text-decoration:none;
  border-radius:8px;
  transition:color .14s ease,background .14s ease;
}
.mnav-sub li a:hover{
  color:#fff;
  background:rgba(255,255,255,.07);
}
.mnav-sub li a:focus-visible{
  outline:2px solid var(--green-bright);
  outline-offset:2px;
}

/* "Book a call" CTA button inside overlay */
.mnav-cta{
  display:flex;
  justify-content:center;
  padding:28px 4px 0;
}
.mnav-cta a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:"Open Sans",sans-serif;
  font-weight:700;
  font-size:1.05rem;
  padding:16px 32px;
  border-radius:var(--r-pill);
  background:var(--green-bright);
  color:var(--green-deep);
  text-decoration:none;
  transition:transform .14s ease,background .15s ease;
  width:100%;
  justify-content:center;
}
.mnav-cta a:hover{
  transform:translateY(-1px);
  background:#1ffb82;
}
.mnav-cta a:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}

/* --- Responsive visibility --- */
@media(max-width:1000px){
  .mnav-topbar{display:flex;}
  /* push page content below the fixed top bar */
  body{padding-top:56px;}
  /* hero pages: the dark hero has its own brand bar so offset the overlap */
}
@media(min-width:1001px){
  .mnav-topbar{display:none!important;}
  .mnav-overlay{display:none!important;}
  body{padding-top:0!important;}
}

/* Body scroll lock when menu is open */
body.mnav-open{overflow:hidden;}

/* Reduced motion: disable slide animation, keep instant show/hide */
@media(prefers-reduced-motion:reduce){
  .mnav-overlay{transition:none;}
  .mnav-toggle__icon span{transition:none;}
  .mnav-caret svg{transition:none;}
}
@media(prefers-reduced-motion:reduce){.caps-sec .cap__ico::after{animation:none;}}

/* BUILDER CARDS — shared component for "Part of Shaman Authoring" dark bands */
@keyframes builder-dot-orbit{
  from{transform:rotate(0deg) translateX(29px) rotate(0deg);}
  to  {transform:rotate(360deg) translateX(29px) rotate(-360deg);}
}
.builder-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin:36px auto 40px;
  max-width:960px;
}
.builder-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  gap:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r);
  padding:24px 20px 22px;
  text-decoration:none;
  color:#fff;
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.builder-card:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.10);
  box-shadow:0 12px 32px rgba(0,0,0,.25);
}
.builder-card:focus-visible{
  outline:2px solid var(--green-bright);
  outline-offset:3px;
}
/* Icon circle with orbiting dot */
.builder-card__icon{
  position:relative;
  width:52px;
  height:52px;
  border-radius:50%;
  background:rgba(6,244,124,.13);
  border:1px solid rgba(6,244,124,.30);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.builder-card__icon .material-symbols-rounded{
  font-size:24px;
  color:var(--green-bright);
}
/* Orbiting dot — pseudo-element anchor at circle center, dot offset by radius */
.builder-card__icon::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:6px;
  height:6px;
  margin-top:-3px;
  margin-left:-3px;
  border-radius:50%;
  background:var(--green-bright);
  box-shadow:0 0 6px rgba(6,244,124,.7);
  animation:builder-dot-orbit 3.6s linear infinite;
  transform-origin:0 0;
}
.builder-card .builder-card__title{
  font-family:"Open Sans",sans-serif;
  font-size:.93rem;
  font-weight:700;
  color:#fff;
  margin:0;
  line-height:1.25;
}
.builder-card .builder-card__text{
  font-size:.88rem;
  color:rgba(255,255,255,.92);
  margin:0;
  line-height:1.5;
  flex:1;
}
/* Responsive grid */
@media(max-width:900px){
  .builder-cards{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:480px){
  .builder-cards{grid-template-columns:1fr;gap:12px;margin:28px auto 32px;}
  .builder-card{padding:20px 18px 18px;}
}
/* Reduced-motion: stop orbit animation */
@media(prefers-reduced-motion:reduce){
  .builder-card__icon::after{animation:none;}
  .builder-card{transition:none;}
}

/* Self-hosted Material Symbols — subset of the 46 icons used (~5KB vs ~454KB) */
@font-face{font-family:'Material Symbols Rounded';font-style:normal;font-weight:400;font-display:block;src:url('/assets/fonts/material-symbols.woff2') format('woff2');}
.material-symbols-rounded{font-family:'Material Symbols Rounded';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;}
