  :root{
    --bg:#141824;          /* soft slate blue, lifted well off black */
    --bg-2:#1a1f2d;
    --surface:#212636;
    --surface-2:#282e41;
    --border:#333a4e;
    --border-lit:#434b62;
    --text:#f2f4f9;
    --text-2:#b6bccc;
    --text-3:#8b92a4;
    --accent:#9d94e0;      /* pale blue violet, primary brand and every AI signal */
    --accent-2:#dfb78e;    /* pale amber, the human half */
    --accent-ink:#ffffff;  /* text on violet */
    --accent-dim:rgba(157,148,224,.13);
    --accent-line:rgba(157,148,224,.28);
    --warm-dim:rgba(223,183,142,.12);
    --warm-line:rgba(223,183,142,.28);

    /* gloss system: a light sheen from above, plus a lit top edge */
    --gloss:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.014) 44%,rgba(255,255,255,0) 100%);
    --gloss-edge:inset 0 1px 0 rgba(255,255,255,.075);
    --gloss-edge-lit:inset 0 1px 0 rgba(255,255,255,.13);
    /* bright metal: display text only, clipped to headings */
    --accent-metal:linear-gradient(100deg,#7a70c4 0%,#9d94e0 26%,#c6c0f0 46%,#9d94e0 66%,#7a70c4 100%);
    /* button metal: every stop dark enough to carry white text at AA */
    --accent-metal-btn:linear-gradient(100deg,#4f477f 0%,#5c53a3 28%,#7268c4 47%,#5c53a3 66%,#4f477f 100%);
    --warm-metal:linear-gradient(100deg,#c1955f 0%,#dfb78e 26%,#f0d9bd 46%,#dfb78e 66%,#c1955f 100%);
    --radius:14px;
    --max:1160px;
    --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  }

  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--font);
    font-size:16.5px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  h1,h2,h3,h4{margin:0;line-height:1.15;letter-spacing:-.022em;font-weight:700;}
  p{margin:0;}
  ul{margin:0;padding:0;list-style:none;}

  .wrap{max-width:var(--max);margin:0 auto;padding:0 26px;}
  .section{padding:104px 0;position:relative;}
  .section--alt{
    background-color:var(--bg-2);
    background-image:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0) 30%);
    border-top:1px solid var(--border);border-bottom:1px solid var(--border);
    box-shadow:var(--gloss-edge);
  }

  /* ---------- ambient glow ---------- */
  .glow{
    position:absolute;pointer-events:none;z-index:0;
    border-radius:50%;filter:blur(100px);opacity:.42;
  }
  .glow--a{top:-180px;left:-120px;width:520px;height:520px;
    background:radial-gradient(circle,rgba(157,148,224,.17),transparent 70%);}
  .glow--b{top:120px;right:-160px;width:560px;height:560px;
    background:radial-gradient(circle,rgba(120,150,215,.15),transparent 70%);}

  /* ---------- shared bits ---------- */
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    font-size:12.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;
    color:var(--accent);
    background:linear-gradient(180deg,rgba(157,148,224,.20),rgba(157,148,224,.07));
    border:1px solid var(--accent-line);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
    padding:7px 15px;border-radius:100px;margin-bottom:22px;
  }
  .eyebrow::before{
    content:"";width:6px;height:6px;border-radius:50%;
    background:var(--accent);box-shadow:0 0 8px rgba(157,148,224,.5);
  }
  .section-title{font-size:clamp(1.85rem,4vw,2.7rem);margin-bottom:18px;}
  .section-lead{color:var(--text-2);font-size:1.06rem;max-width:660px;}
  .accent-text{
    background:var(--accent-metal);
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
  }

  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    padding:14px 26px;border-radius:10px;font-weight:600;font-size:.97rem;
    border:1px solid transparent;cursor:pointer;font-family:inherit;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
  }
  .btn--primary{
    background:var(--accent-metal-btn);
    background-size:230% 100%;background-position:100% 0;
    color:var(--accent-ink);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.36),
      inset 0 -1px 0 rgba(0,0,0,.2),
      0 9px 24px -10px rgba(90,80,160,.5);
    transition:background-position .65s ease,transform .18s ease,box-shadow .18s ease;
  }
  .btn--primary:hover{
    transform:translateY(-2px);background-position:0 0;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.44),
      inset 0 -1px 0 rgba(0,0,0,.2),
      0 14px 32px -11px rgba(90,80,160,.6);
  }
  .btn--ghost{
    background:var(--gloss);border-color:var(--border-lit);color:var(--text);
    box-shadow:var(--gloss-edge);
  }
  .btn--ghost:hover{
    border-color:var(--accent);color:var(--accent);
    background:linear-gradient(180deg,rgba(157,148,224,.16),rgba(157,148,224,.06));
    box-shadow:var(--gloss-edge-lit);
  }

  /* ---------- header ---------- */
  .header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(20,24,36,.78);backdrop-filter:blur(14px);
    border-bottom:1px solid transparent;transition:border-color .25s ease,background .25s ease;
  }
  .header.is-stuck{border-bottom-color:var(--border);background:rgba(20,24,36,.95);}
  .header__inner{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px;}

  .logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.13rem;letter-spacing:-.03em;flex:0 0 auto;perspective:700px;}
  /* Brand mark: two interlocking rings, capability meeting culture.
     Rolls continuously about the vertical axis, like a coin turning on a table.
     rotateY only ever compresses the mark horizontally, so it never grows
     beyond its own box and cannot collide with the wordmark. */
  .logo__mark{
    height:34px;width:auto;flex:0 0 auto;display:block;overflow:visible;
    transform-origin:50% 50%;
    animation:logoRoll 12s linear infinite;
  }
  @keyframes logoRoll{ from{transform:rotateY(0deg);} to{transform:rotateY(360deg);} }
  .logo__sub{color:var(--text-3);font-weight:500;font-size:.72rem;letter-spacing:.14em;
    text-transform:uppercase;display:block;margin-top:-3px;}

  .nav{display:flex;align-items:center;gap:24px;}
  .nav a{font-size:.93rem;color:var(--text-2);font-weight:500;transition:color .2s ease;
    white-space:nowrap;position:relative;}
  .nav a:hover{color:var(--text);}
  .nav a:not(.btn)::after{
    content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;
    background:var(--accent);transform:scaleX(0);transform-origin:0 50%;
    transition:transform .35s cubic-bezier(.22,.68,.32,1);
  }
  .nav a.is-active{color:var(--text);}
  .nav a.is-active:not(.btn)::after{transform:scaleX(1);}
  .nav .btn{padding:11px 20px;font-size:.9rem;}

  .burger{
    display:none;background:none;border:1px solid var(--border-lit);border-radius:9px;
    width:42px;height:42px;cursor:pointer;padding:0;place-items:center;
  }
  .burger span{display:block;width:17px;height:2px;background:var(--text);border-radius:2px;
    position:relative;transition:transform .22s ease,opacity .22s ease;}
  .burger span::before,.burger span::after{
    content:"";position:absolute;left:0;width:17px;height:2px;background:var(--text);border-radius:2px;
    transition:transform .22s ease;
  }
  .burger span::before{top:-6px;}
  .burger span::after{top:6px;}
  .burger.is-open span{transform:rotate(45deg);}
  .burger.is-open span::before{transform:translateY(6px) rotate(-90deg);}
  .burger.is-open span::after{opacity:0;}

  /* ---------- hero ---------- */
  .hero{padding:168px 0 104px;position:relative;overflow:hidden;}
  .hero__grid{
    position:absolute;inset:0;z-index:0;opacity:.55;
    background-image:
      linear-gradient(to right,rgba(255,255,255,.028) 1px,transparent 1px),
      linear-gradient(to bottom,rgba(255,255,255,.028) 1px,transparent 1px);
    background-size:62px 62px;
    mask-image:radial-gradient(ellipse 78% 58% at 50% 34%,#000 38%,transparent 100%);
    -webkit-mask-image:radial-gradient(ellipse 78% 58% at 50% 34%,#000 38%,transparent 100%);
  }
  .hero__inner{position:relative;z-index:1;max-width:830px;}
  .hero h1{font-size:clamp(2.3rem,6vw,4rem);letter-spacing:-.035em;margin-bottom:24px;}
  .hero__lead{font-size:clamp(1.03rem,1.9vw,1.22rem);color:var(--text-2);max-width:640px;margin-bottom:38px;}
  .hero__cta{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:56px;}
  .hero__meta{display:flex;flex-wrap:wrap;gap:12px 30px;font-size:.9rem;color:var(--text-3);}
  .hero__meta li{display:flex;align-items:center;gap:8px;}
  .tick{color:var(--accent-2);flex:0 0 auto;}

  /* ---------- cards ---------- */
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px;}
  /* used where the card count doesn't divide by 3, so the last row centres
     instead of hanging left. flex rather than grid, because grid has no way
     to centre an orphan row without hard coding which child starts it. */
  .grid-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:52px;}
  .grid-cards > *{flex:0 1 calc((100% - 44px) / 3);min-width:0;}

  .card__icon{
    width:44px;height:44px;border-radius:11px;display:grid;place-items:center;
    background:linear-gradient(180deg,rgba(157,148,224,.20),rgba(157,148,224,.07));
    border:1px solid var(--accent-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.11);
    color:var(--accent);margin-bottom:19px;
  }
  .card__list{margin-top:17px;display:grid;gap:9px;}

  /* ---------- flip cards (key services) ----------
     Faces are absolutely stacked, so the outer .flip needs a real height.
     Hover and keyboard focus both turn the card. */
  .flip{
    perspective:1400px;
    border-radius:var(--radius);
    outline:none;
    display:flex;
  }
  .flip__inner{
    flex:1;
    /* both faces occupy the same grid cell, so the card sizes itself to
       whichever face is taller. no fixed height to outgrow. */
    display:grid;
    transform-style:preserve-3d;
    transition:transform .75s cubic-bezier(.2,.7,.3,1);
  }
  .flip:hover .flip__inner,
  .flip:focus-visible .flip__inner{transform:rotateY(180deg);}
  .flip:focus-visible{box-shadow:0 0 0 3px var(--accent-dim);}

  .flip__face{
    grid-area:1 / 1;
    -webkit-backface-visibility:hidden;backface-visibility:hidden;
    background-color:var(--surface);background-image:var(--gloss);
    border:1px solid var(--border);border-radius:var(--radius);
    box-shadow:var(--gloss-edge);
    padding:30px;
    display:flex;flex-direction:column;
    transition:border-color .2s ease;
  }
  .flip:hover .flip__face,
  .flip:focus-visible .flip__face{border-color:var(--border-lit);}
  .flip{transition:transform .25s ease;}
  .flip:hover{transform:translateY(-3px);}

  .flip__front{justify-content:center;}
  .flip__front h3{font-size:1.22rem;}
  .flip__front .card__icon{margin-bottom:20px;}

  .flip__back{transform:rotateY(180deg);justify-content:flex-start;}
  .flip__back-title{
    font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--accent);margin-bottom:14px;
  }
  .flip__back p{color:var(--text-2);font-size:.95rem;}
  .flip__back .card__list{margin-top:16px;}
  .card__list li{display:flex;gap:9px;font-size:.9rem;color:var(--text-3);}
  .tag{
    display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
    color:var(--accent);border:1px solid var(--accent-line);
    background:linear-gradient(180deg,rgba(157,148,224,.19),rgba(157,148,224,.06));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
    padding:3px 9px;border-radius:5px;margin-bottom:13px;
  }

  /* ---------- AI pipeline ---------- */
  .pipeline{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px;}
  .pill{
    background-color:var(--surface);background-image:var(--gloss);
    border:1px solid var(--border);border-radius:var(--radius);
    box-shadow:var(--gloss-edge);
    padding:32px 30px;position:relative;overflow:hidden;
    transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
  }
  .pill:hover{
    border-color:var(--border-lit);transform:translateY(-3px);
    box-shadow:var(--gloss-edge-lit),0 20px 42px -24px rgba(0,0,0,.75);
  }
  .pill::after{
    content:"";position:absolute;top:0;left:0;right:0;height:2px;
    background:var(--accent-metal);
    opacity:.95;
  }
  .pill__n{font-size:.74rem;font-weight:700;letter-spacing:.14em;color:var(--accent);margin-bottom:16px;}
  .pill h3{font-size:1.2rem;margin-bottom:12px;}
  .pill p{color:var(--text-2);font-size:.96rem;}
  .pill__list{margin-top:18px;display:grid;gap:9px;}
  .pill__list li{display:flex;gap:9px;font-size:.9rem;color:var(--text-3);}

  .human-note{
    margin-top:22px;background-color:var(--surface);background-image:var(--gloss);
    border:1px solid var(--border-lit);box-shadow:var(--gloss-edge);
    border-radius:var(--radius);padding:28px 30px;
    display:flex;gap:20px;align-items:flex-start;
  }
  .human-note__ico{
    width:44px;height:44px;flex:0 0 auto;border-radius:11px;display:grid;place-items:center;
    background:var(--warm-dim);border:1px solid var(--warm-line);color:var(--accent-2);
  }
  .human-note h3{font-size:1.08rem;margin-bottom:9px;}
  .human-note p{color:var(--text-2);font-size:.96rem;}

  /* ---------- prose block, a single readable column ---------- */
  .prose{max-width:760px;}
  .prose p{color:var(--text-2);font-size:1.03rem;}
  .prose p + p{margin-top:16px;}
  .prose__cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:13px;}

  /* ---------- about ---------- */
  .about__lead{max-width:720px;}
  .about__lead p{color:var(--text-2);font-size:1.06rem;}
  .about__lead p + p{margin-top:18px;}
  .about__lead strong{color:var(--text);font-weight:600;}
  .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:52px;}
  .benefit{padding-top:24px;border-top:1px solid var(--border);}
  .benefit__ico{
    width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
    background:linear-gradient(180deg,rgba(157,148,224,.20),rgba(157,148,224,.07));
    border:1px solid var(--accent-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.11);
    color:var(--accent);margin-bottom:16px;
  }
  .benefit h3{font-size:1.04rem;margin-bottom:8px;}
  .benefit p{font-size:.94rem;color:var(--text-2);}
  .about__close{
    margin-top:52px;padding-top:30px;border-top:1px solid var(--border);
    display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
  }
  .about__close p{color:var(--text-2);font-size:1.02rem;max-width:560px;}

  /* ---------- process ---------- */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px;counter-reset:s;}
  .step{position:relative;padding-top:28px;border-top:2px solid var(--border);}
  .step::before{
    counter-increment:s;content:"0" counter(s);
    position:absolute;top:-2px;left:0;
    font-size:.78rem;font-weight:700;letter-spacing:.1em;color:var(--accent-2);
    background:var(--bg);padding-right:12px;transform:translateY(-50%);
  }
  .step h3{font-size:1.04rem;margin-bottom:9px;}
  .step p{font-size:.92rem;color:var(--text-2);}

  /* ---------- contact ---------- */
  .contact__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;}
  .contact-list{display:grid;gap:20px;margin-top:34px;}
  .contact-item{display:flex;gap:14px;align-items:flex-start;}
  .contact-item__ico{
    width:38px;height:38px;flex:0 0 auto;border-radius:10px;display:grid;place-items:center;
    background:linear-gradient(180deg,var(--surface-2),var(--surface));
    border:1px solid var(--border);box-shadow:var(--gloss-edge);color:var(--accent-2);
  }
  .contact-item__label{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;
    color:var(--text-3);font-weight:600;margin-bottom:2px;}
  .contact-item__val{font-size:.98rem;font-weight:500;word-break:break-word;}
  .contact-item__val a:hover{color:var(--accent);}

  form{background-color:var(--surface);background-image:var(--gloss);
    border:1px solid var(--border);box-shadow:var(--gloss-edge);
    border-radius:var(--radius);padding:32px;}
  .field{margin-bottom:19px;}
  .field-row{display:grid;grid-template-columns:1fr 1fr;gap:19px;}
  label{display:block;font-size:.85rem;font-weight:600;margin-bottom:8px;color:var(--text-2);}
  input,select,textarea{
    width:100%;background:var(--bg);border:1px solid var(--border);
    box-shadow:inset 0 1px 3px rgba(0,0,0,.32);
    border-radius:9px;padding:13px 15px;color:var(--text);
    font-family:inherit;font-size:.96rem;transition:border-color .16s ease,box-shadow .16s ease;
  }
  input::placeholder,textarea::placeholder{color:var(--text-3);}
  input:focus,select:focus,textarea:focus{
    outline:none;border-color:var(--accent);
    box-shadow:inset 0 1px 3px rgba(0,0,0,.28),0 0 0 3px var(--accent-dim);
  }
  select{appearance:none;cursor:pointer;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236f7889' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 15px center;padding-right:42px;}
  textarea{resize:vertical;min-height:112px;}
  form .btn{width:100%;margin-top:5px;}
  .form-note{font-size:.82rem;color:var(--text-3);margin-top:15px;text-align:center;}
  .hp{position:absolute;left:-9999px;}

  /* ---------- CTA band ---------- */
  .cta{
    background:
      linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 40%),
      linear-gradient(120deg,rgba(157,148,224,.12),rgba(223,183,142,.08));
    border:1px solid var(--border-lit);
    box-shadow:var(--gloss-edge-lit);border-radius:18px;
    padding:56px 44px;text-align:center;
  }
  .cta h2{font-size:clamp(1.6rem,3.4vw,2.25rem);margin-bottom:15px;}
  .cta p{color:var(--text-2);max-width:540px;margin:0 auto 30px;}

  /* ---------- footer ---------- */
  .footer{border-top:1px solid var(--border);background:var(--bg-2);padding:54px 0 30px;}
  .footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;}
  .footer p{color:var(--text-3);font-size:.92rem;margin-top:16px;max-width:340px;}
  .footer h4{font-size:.79rem;text-transform:uppercase;letter-spacing:.1em;
    color:var(--text-2);margin-bottom:16px;}
  .footer li{margin-bottom:10px;}
  .footer li a{font-size:.93rem;color:var(--text-3);transition:color .16s ease;}
  .footer li a:hover{color:var(--accent);}
  .footer__bottom{
    margin-top:44px;padding-top:24px;border-top:1px solid var(--border);
    display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
    font-size:.86rem;color:var(--text-3);
  }

  /* ---------- scroll progress ---------- */
  .progress{
    position:fixed;top:0;left:0;right:0;height:2px;z-index:200;pointer-events:none;
  }
  .progress__bar{
    height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;
    background:linear-gradient(90deg,var(--accent),var(--accent-2));
    box-shadow:0 0 12px rgba(157,148,224,.45);
    will-change:transform;
  }

  /* ---------- reveal on scroll ---------- */
  .reveal{
    opacity:0;transform:translateY(26px);
    transition:opacity .75s cubic-bezier(.22,.68,.32,1),
               transform .75s cubic-bezier(.22,.68,.32,1),
               filter .75s ease;
    transition-delay:var(--d,0ms);
    filter:blur(3px);
    will-change:opacity,transform;
  }
  .reveal--left{transform:translateX(-30px);}
  .reveal--right{transform:translateX(30px);}
  .reveal--rise{transform:translateY(34px) scale(.975);}
  .reveal.is-in{opacity:1;transform:none;filter:none;}

  /* parallax layers, moved by script */
  .glow,.hero__grid,.hero__inner{will-change:transform;}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    .reveal,.reveal--left,.reveal--right,.reveal--rise{
      opacity:1;transform:none;filter:none;transition:none;
    }
    .progress__bar{transition:none;}
    .logo__mark{animation:none;}
    .flip__inner{transition:none;}
  }

  /* ---------- responsive ---------- */
  @media (max-width:1040px){
    .nav{gap:18px;}
    .nav a{font-size:.89rem;}
  }
  @media (max-width:980px){
    .contact__grid{grid-template-columns:1fr;gap:40px;}
    .grid-3,.steps,.pipeline,.benefits{grid-template-columns:repeat(2,1fr);}
    .grid-cards > *{flex-basis:calc((100% - 22px) / 2);}
    .footer__top{grid-template-columns:1fr 1fr;}
  }
  @media (max-width:960px){
    .burger{display:grid;}
    .nav{
      position:fixed;top:74px;left:0;right:0;
      flex-direction:column;align-items:stretch;gap:0;
      background:var(--bg-2);border-bottom:1px solid var(--border);
      padding:12px 26px 24px;
      transform:translateY(-14px);opacity:0;pointer-events:none;
      transition:opacity .2s ease,transform .2s ease;
      max-height:calc(100vh - 74px);overflow-y:auto;
    }
    .nav.is-open{transform:none;opacity:1;pointer-events:auto;}
    .nav a{padding:14px 0;border-bottom:1px solid var(--border);font-size:1rem;}
    .nav a:not(.btn)::after{display:none;}
    .nav .btn{margin-top:18px;border-bottom:none;}
  }
  @media (max-width:760px){
    .hero{padding:132px 0 78px;}
    .section{padding:74px 0;}
    .grid-3,.steps,.pipeline,.benefits{grid-template-columns:1fr;}
    .grid-cards > *{flex-basis:100%;}
    .field-row{grid-template-columns:1fr;}
    .footer__top{grid-template-columns:1fr;gap:32px;}
    .cta{padding:40px 24px;}
    form{padding:24px;}
    .human-note{flex-direction:column;gap:14px;}
  }
/* ============ SUBPAGE ADDITIONS (SEO landing pages) ============ */
.hero--sub{min-height:auto;padding:132px 0 72px}
.hero--sub h1{font-size:clamp(2rem,4.4vw,3.15rem);max-width:17ch}
.hero--sub .hero__lead{max-width:62ch}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  font-size:.79rem;letter-spacing:.02em;color:var(--text-3);margin-bottom:22px}
.crumbs a{color:var(--text-3);text-decoration:none;transition:color .2s}
.crumbs a:hover{color:var(--accent)}
.crumbs__sep{opacity:.4}
.crumbs [aria-current]{color:var(--text-2)}
.faq{display:grid;gap:2px;margin-top:34px}
.faq details{background:var(--surface);border:1px solid var(--border);border-radius:12px;
  padding:20px 24px;transition:border-color .2s}
.faq details[open]{border-color:var(--border-lit)}
.faq summary{cursor:pointer;font-weight:600;color:var(--text);list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:1.35rem;font-weight:400;
  line-height:1;flex-shrink:0;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:14px 0 0;color:var(--text-2);line-height:1.72}
.rolegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:18px;margin-top:34px}
.rolegrid>div{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px}
.rolegrid h3{margin:0 0 14px;font-size:1.02rem;color:var(--accent-2)}
.rolegrid ul{margin:0;padding-left:18px;color:var(--text-2);line-height:1.95;font-size:.93rem}
.linkrow{margin-top:30px;color:var(--text-3);font-size:.92rem}
.linkrow a{color:var(--accent);text-decoration:none}
.linkrow a:hover{text-decoration:underline}
.hero__kicker{font-size:clamp(.98rem,1.5vw,1.1rem);font-weight:600;color:var(--accent-2);
  letter-spacing:-.005em;line-height:1.45;margin:22px 0 0;max-width:46ch}
.hero__kicker + .hero__lead{margin-top:20px;padding-top:20px;
  border-top:1px solid var(--border)}
.footer__top{grid-template-columns:1.5fr 1fr 1fr 1fr}
@media(max-width:900px){.footer__top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer__top{grid-template-columns:1fr}}
/* subpage: breathing room between the section lead and the body prose */
.section-lead + .prose,.reveal + .prose{margin-top:26px}
.prose + .benefits,.prose + .rolegrid{margin-top:38px}
.section-lead{max-width:66ch}
