  /* ==================================================================
     The Marketing Surgeon
     Palette and marks come from the supplied brand kit. Burgundy and
     gold on ivory, a high-contrast serif for display, a sans for every
     label. Editorial and clinical rather than agency-loud.
     ================================================================== */

  :root{
    --burgundy:#701F32;
    --burgundy-dark:#541726;
    --burgundy-soft:#F3E9EB;
    --gold:#BF9756;
    --gold-on-dark:#CDA666;   /* gold reads under 4.5:1 on burgundy */
    --gold-dark:#8A6832;
    --ivory:#FAF8F4;        /* house paper, shared across the group */
    --ivory-2:#F3F1EC;      /* house paper-2 */
    --ink:#14110E;
    --ink-2:#3A3633;
    --muted:#6B655C;
    --faint:#6C685E;
    --gold-on-cream:#81612F;  /* gold-dark falls to 4.19:1 on ivory-2 */
    --faint-on-cream:#6C685E; /* same as --faint now that the creams match */
    --rule:#E2DCD2;
    --rule-2:#EDE8E0;
    --paper:#FFFFFF;

    /* The wordmark is a high-contrast serif. No webfont is loaded, so
       this stack reaches for the closest thing already on the machine
       before falling back. See DEPLOY.txt if you want the real face. */
    --text:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
    --serif:"Playfair Display",Didot,"Bodoni MT","Hoefler Text","Iowan Old Style",Garamond,"Times New Roman",serif;
    --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,"Helvetica Neue",Arial,sans-serif;
    --maxw:1140px;
    --bar:76px;
  }

  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
  body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--text);
       font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;}
  a{color:inherit;}
  img{display:block;max-width:100%;}
  ::selection{background:var(--burgundy);color:var(--ivory);}
  :focus-visible{outline:2px solid var(--burgundy);outline-offset:3px;}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
  .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
                   overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

  /* ---------------- Header ---------------- */
  .site-header{position:sticky;top:0;z-index:60;background:rgba(250,248,244,.93);
    backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);
    border-bottom:1px solid var(--rule);}
  .site-header .wrap{min-height:var(--bar);display:flex;align-items:center;
    justify-content:space-between;gap:14px 30px;flex-wrap:wrap;padding-top:13px;padding-bottom:13px;}
  .brand{display:inline-flex;align-items:center;text-decoration:none;flex:none;}
  .brand img{width:150px;height:auto;}
  nav.menu{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;
    font-family:var(--sans);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;}
  nav.menu a{text-decoration:none;color:var(--muted);padding:4px 0;white-space:nowrap;
    border-bottom:1px solid transparent;transition:color .18s,border-color .18s;}
  nav.menu a:hover,nav.menu a[aria-current]{color:var(--burgundy);border-bottom-color:var(--burgundy);}
  nav.menu a.cta{color:var(--ivory);background:var(--burgundy);border:1px solid var(--burgundy);
    padding:10px 18px;letter-spacing:.12em;}
  nav.menu a.cta:hover{background:var(--burgundy-dark);border-color:var(--burgundy-dark);color:var(--ivory);}

  /* ---------------- Buttons ---------------- */
  .btn{display:inline-block;font-family:var(--sans);font-size:12px;letter-spacing:.14em;
       text-transform:uppercase;font-weight:700;text-decoration:none;padding:16px 30px;
       border:1px solid var(--burgundy);transition:background .2s,color .2s,border-color .2s;
       white-space:nowrap;}
  .btn.solid{background:var(--burgundy);color:var(--ivory);}
  .btn.solid:hover{background:var(--burgundy-dark);border-color:var(--burgundy-dark);}
  .btn.ghost{background:transparent;color:var(--burgundy);}
  .btn.ghost:hover{background:var(--burgundy);color:var(--ivory);}
  .btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink);}
  .btn.gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:var(--ivory);}

  /* ---------------- Hero ---------------- */
  .hero{position:relative;background:var(--ivory);border-bottom:1px solid var(--rule);padding:0;}
  .hero-in{max-width:var(--maxw);margin:0 auto;padding:clamp(66px,7vw,104px) 40px;
           display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
           gap:54px 68px;align-items:center;}
  .kicker{margin:0 0 24px;font-family:var(--sans);font-size:11px;letter-spacing:.2em;
          text-transform:uppercase;font-weight:700;color:var(--burgundy);
          display:flex;align-items:center;gap:13px;}
  .kicker::after{content:"";height:1px;flex:1;max-width:110px;background:var(--gold);}
  .hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,4.6vw,3.7rem);
           line-height:1.06;letter-spacing:-0.015em;margin:0 0 24px;max-width:17ch;
           text-wrap:balance;color:var(--ink);}
  .hero h1 em{font-style:normal;color:var(--burgundy);}
  .hero .lede{margin:0;max-width:52ch;color:var(--muted);font-size:clamp(1.02rem,1.35vw,1.14rem);
              line-height:1.68;text-wrap:pretty;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:14px 16px;margin-top:36px;}
  .hero-facts{display:flex;flex-wrap:wrap;gap:24px 40px;margin:44px 0 0;padding-top:26px;
              border-top:1px solid var(--rule);}
  .hero-facts > div{display:flex;flex-direction:column;gap:5px;}
  .hero-facts dt{font-family:var(--sans);font-size:9.5px;letter-spacing:.18em;
                 text-transform:uppercase;color:var(--faint);font-weight:600;}
  .hero-facts dd{margin:0;font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--ink);}

  .hero-art{position:relative;display:flex;align-items:center;justify-content:center;}
  .hero-art .plate{position:relative;width:100%;background:var(--burgundy);
                   padding:44px 38px;border:1px solid var(--burgundy);}
  .hero-art .plate::after{content:"";position:absolute;inset:9px;border:1px solid rgba(191,151,86,.42);
                          pointer-events:none;}
  .hero-art img{width:100%;max-width:290px;margin:0 auto;}
  .hero-art .cap{margin:26px 0 0;text-align:center;font-family:var(--sans);font-size:10px;
                 letter-spacing:.2em;text-transform:uppercase;color:var(--gold-on-dark);font-weight:600;}

  /* ---------------- Trust strip ---------------- */
  .strip{background:var(--ivory-2);border-bottom:1px solid var(--rule);}
  .strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 36px;
               padding-top:30px;padding-bottom:30px;}
  .strip p{margin:0;font-family:var(--sans);font-size:11px;letter-spacing:.14em;
           text-transform:uppercase;font-weight:600;color:var(--muted);line-height:1.6;}

  /* ---------------- Sections ---------------- */
  section{padding:118px 0;border-top:1px solid var(--rule);
          scroll-margin-top:calc(var(--bar) + 8px);}
  section.no-rule{border-top:0;}
  .sec-head{margin-bottom:62px;}
  .sec-head .idx{margin:0 0 14px;font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;
                 text-transform:uppercase;font-weight:700;color:var(--gold-dark);}
  .eyebrow{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3.4vw,2.6rem);
           line-height:1.14;letter-spacing:-0.012em;color:var(--ink);margin:0;
           max-width:34ch;text-wrap:balance;}
  .sec-head .sub{margin:22px 0 0;color:var(--muted);font-size:1.02rem;max-width:72ch;
                 line-height:1.68;text-wrap:pretty;}

  /* ---------------- Service list ---------------- */
  .svcs{border-top:1px solid var(--rule);}
  .svc{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,250px);
       gap:0 34px;padding:32px 0;border-bottom:1px solid var(--rule);align-items:start;}
  .svc::before{content:"";position:absolute;inset:8px -24px;pointer-events:none;
               background:transparent;transition:background .18s;}
  .svc:hover::before{background:var(--paper);}
  .svc > *{position:relative;}
  .svc .n{margin:0;font-family:var(--sans);font-size:11px;letter-spacing:.1em;font-weight:700;
          color:var(--gold-dark);padding-top:5px;}
  .svc h3{margin:0 0 10px;font-family:var(--serif);font-weight:400;font-size:1.35rem;
          line-height:1.28;letter-spacing:-0.008em;}
  .svc .body > p{margin:0;color:var(--muted);font-size:.99rem;line-height:1.68;
                 max-width:60ch;text-wrap:pretty;}
  .svc .go{display:inline-block;margin-top:16px;font-family:var(--sans);font-size:10.5px;
           letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--burgundy);
           text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:3px;
           cursor:pointer;transition:border-color .18s;}
  .svc .go:hover{border-bottom-color:var(--burgundy);}
  .svc .out{padding-left:34px;border-left:1px solid var(--rule-2);}
  .svc .out .k{margin:0 0 7px;font-family:var(--sans);font-size:9.5px;letter-spacing:.16em;
               text-transform:uppercase;color:var(--faint);font-weight:600;}
  .svc .out .v{margin:0;font-size:.97rem;line-height:1.45;color:var(--burgundy);font-weight:600;}

  /* ---------------- Specialty cards ---------------- */
  .specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
         border:1px solid var(--rule);}
  .spec{background:var(--ivory);padding:30px 28px 32px;display:grid;grid-row:span 3;
        align-content:start;transition:background .18s;}
  @supports (grid-template-rows:subgrid){.spec{grid-template-rows:subgrid;}}
  .spec:hover{background:var(--paper);}
  .spec .k{margin:0 0 16px;font-family:var(--sans);font-size:9.5px;letter-spacing:.18em;
           text-transform:uppercase;font-weight:700;color:var(--gold-dark);align-self:start;}
  .spec h3{margin:0 0 12px;font-family:var(--serif);font-weight:400;font-size:1.28rem;
           line-height:1.24;align-self:start;}
  .spec p{margin:0;color:var(--muted);font-size:.96rem;line-height:1.62;align-self:start;
          text-wrap:pretty;}

  /* ---------------- Case studies ---------------- */
  .case{border:1px solid var(--rule);background:var(--paper);margin-bottom:26px;}
  .case:last-child{margin-bottom:0;}
  .chead{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:0 34px;
         align-items:baseline;padding:26px 30px;border-bottom:1px solid var(--rule);
         background:var(--ivory-2);}
  /* The case header and fact strip sit on the darker cream, where
     gold-dark and faint both fall just under 4.5:1. Two tokens that
     exist only for that background. */
  .chead .k{margin:0;font-family:var(--sans);font-size:11px;letter-spacing:.1em;
            font-weight:700;color:var(--gold-on-cream);}
  .chead h3{margin:0;font-family:var(--serif);font-weight:400;font-size:1.34rem;
            line-height:1.24;letter-spacing:-0.008em;}
  .chead h3 .sub{display:block;margin-top:9px;font-family:var(--sans);font-size:11px;
                 letter-spacing:.14em;text-transform:uppercase;font-weight:600;
                 color:var(--faint-on-cream);}
  .chead a.live{font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;
                text-transform:uppercase;font-weight:700;color:var(--burgundy);
                text-decoration:none;border-bottom:1px solid var(--rule);
                padding-bottom:3px;white-space:nowrap;}
  .chead a.live:hover{border-bottom-color:var(--burgundy);}
  .crow{display:grid;grid-template-columns:200px minmax(0,1fr);gap:0 34px;
        padding:20px 30px;border-top:1px solid var(--rule-2);align-items:baseline;}
  .crow:first-of-type{border-top:0;}
  .crow h4{margin:0;font-family:var(--sans);font-size:10px;letter-spacing:.16em;
           text-transform:uppercase;font-weight:700;color:var(--faint);}
  .crow p{margin:0;color:var(--muted);font-size:.98rem;line-height:1.68;text-wrap:pretty;}
  .cfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
          border-top:1px solid var(--rule);}
  .cfacts div{background:var(--ivory-2);padding:17px 24px 18px;}
  .cfacts .k{margin:0 0 6px;font-family:var(--sans);font-size:9.5px;letter-spacing:.16em;
             text-transform:uppercase;font-weight:700;color:var(--faint-on-cream);}
  .cfacts .v{margin:0;font-size:.95rem;line-height:1.45;color:var(--ink-2);font-weight:600;}

  /* ---------------- Phases ---------------- */
  .phases{border-top:1px solid var(--rule);}
  .phase{display:grid;grid-template-columns:52px minmax(0,220px) minmax(0,1fr);gap:0 34px;
         padding:28px 0;border-bottom:1px solid var(--rule);align-items:baseline;}
  .phase .k{margin:0;font-family:var(--sans);font-size:11px;letter-spacing:.1em;font-weight:700;
            color:var(--gold-dark);}
  .phase h3{margin:0;font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.26;}
  .phase p{margin:0;color:var(--muted);font-size:.99rem;line-height:1.68;max-width:64ch;
           text-wrap:pretty;}

  /* ---------------- Two-column prose ---------------- */
  .split2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px;
          align-items:start;}
  .split2 p{margin:0 0 18px;color:var(--muted);line-height:1.7;text-wrap:pretty;}
  .split2 p:last-child{margin-bottom:0;}
  .ticks{list-style:none;margin:0;padding:0;}
  .ticks li{position:relative;padding:13px 0 13px 28px;border-top:1px solid var(--rule-2);
            font-size:.98rem;line-height:1.56;color:var(--ink-2);}
  .ticks li:first-child{border-top:0;padding-top:0;}
  .ticks li::before{content:"";position:absolute;left:0;top:21px;width:9px;height:9px;
                    background:var(--gold);transform:rotate(45deg);}
  .ticks li:first-child::before{top:8px;}

  /* ---------------- Burgundy band ---------------- */
  .band{background:var(--burgundy);color:var(--ivory);border-top:0;padding:0;}
  .band .wrap{padding-top:92px;padding-bottom:92px;text-align:center;display:flex;
              flex-direction:column;align-items:center;}
  .band .idx{margin:0 0 18px;font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;
             text-transform:uppercase;font-weight:700;color:var(--gold-on-dark);}
  .band h2{margin:0 0 18px;font-family:var(--serif);font-weight:400;
           font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.16;letter-spacing:-0.012em;
           max-width:22ch;text-wrap:balance;color:var(--ivory);}
  .band p{margin:0 0 34px;max-width:54ch;color:#E4D5D8;font-size:1.02rem;line-height:1.7;
          text-wrap:pretty;}
  .band .btn{background:var(--gold);border-color:var(--gold);color:var(--ink);}
  .band .btn:hover{background:var(--ivory);border-color:var(--ivory);color:var(--burgundy);}

  /* ---------------- Sister-company note ---------------- */
  .sister{background:var(--paper);border-top:1px solid var(--rule);padding:0;}
  .sister .wrap{padding-top:80px;padding-bottom:80px;display:grid;
                grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px 64px;align-items:start;}
  .sister .idx{margin:0 0 14px;font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;
               text-transform:uppercase;font-weight:700;color:var(--gold-dark);}
  .sister h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.9vw,2.1rem);
             line-height:1.18;letter-spacing:-0.012em;max-width:18ch;text-wrap:balance;}
  .sister p{margin:0 0 18px;color:var(--muted);line-height:1.7;text-wrap:pretty;}
  .sister a.more{display:inline-block;font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;
                 text-transform:uppercase;font-weight:700;color:var(--burgundy);text-decoration:none;
                 border-bottom:1px solid var(--rule);padding-bottom:3px;transition:border-color .18s;}
  .sister a.more:hover{border-bottom-color:var(--burgundy);}

  /* ---------------- Page header ---------------- */
  .pagehead{padding:72px 0 0;}
  .pagehead .crumbs{margin:0 0 20px;font-family:var(--sans);font-size:10.5px;letter-spacing:.16em;
                    text-transform:uppercase;font-weight:600;}
  .pagehead .crumbs a{color:var(--faint);text-decoration:none;}
  .pagehead .crumbs a:hover{color:var(--burgundy);}
  .pagehead .idx{margin:0 0 14px;font-family:var(--sans);font-size:10.5px;letter-spacing:.2em;
                 text-transform:uppercase;font-weight:700;color:var(--gold-dark);}
  .pagehead h1{margin:0;font-family:var(--serif);font-weight:400;
               font-size:clamp(2rem,3.9vw,2.9rem);line-height:1.1;letter-spacing:-0.015em;
               max-width:26ch;text-wrap:balance;}
  .pagehead .lede{margin:22px 0 0;max-width:68ch;color:var(--muted);
                  font-size:clamp(1rem,1.3vw,1.08rem);line-height:1.7;text-wrap:pretty;}
  .wrap:has(> .pagehead) + .wrap > section:first-child{border-top:0;}

  .teaser-more{margin:44px 0 0;}
  .teaser-more a{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
                 font-weight:700;color:var(--burgundy);text-decoration:none;
                 border-bottom:1px solid var(--rule);padding-bottom:3px;transition:border-color .18s;}
  .teaser-more a:hover{border-bottom-color:var(--burgundy);}
  .footnote{margin:26px 0 0;font-size:.88rem;line-height:1.66;color:var(--faint);max-width:74ch;}

  /* ---------------- FAQ ---------------- */
  .faq details{border-top:1px solid var(--rule);}
  .faq details:first-child{border-top:0;}
  .faq summary{list-style:none;cursor:pointer;padding:24px 0 24px 34px;position:relative;
               font-family:var(--serif);font-size:1.16rem;line-height:1.36;color:var(--ink);}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary::before{content:"+";position:absolute;left:0;top:24px;font-family:var(--sans);
                       font-size:16px;font-weight:600;color:var(--gold-dark);}
  .faq details[open] summary::before{content:"\2212";}
  .faq summary:hover{color:var(--burgundy);}
  .faq .a{padding:0 0 26px 34px;max-width:70ch;}
  .faq .a p{margin:0 0 15px;color:var(--muted);line-height:1.72;text-wrap:pretty;}
  .faq .a p:last-child{margin-bottom:0;}

  /* ---------------- Contact ---------------- */
  .contact-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
                  gap:44px 60px;align-items:start;}
  .enquiry{background:var(--paper);border:1px solid var(--rule);padding:34px 32px 30px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .field{margin-bottom:20px;}
  .field label{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;
               text-transform:uppercase;font-weight:700;color:var(--faint);margin-bottom:8px;}
  .field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:15px;
    color:var(--ink);background:var(--ivory);border:1px solid var(--rule);padding:13px 14px;
    transition:border-color .18s;}
  .field textarea{min-height:128px;resize:vertical;line-height:1.6;}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:var(--burgundy);outline:none;}
  .field input::placeholder,.field textarea::placeholder{color:#A79C8F;}
  .submit{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
          font-weight:700;background:var(--burgundy);color:var(--ivory);border:1px solid var(--burgundy);
          padding:16px 32px;cursor:pointer;transition:background .2s;}
  .submit:hover{background:var(--burgundy-dark);}
  .submit:disabled{opacity:.6;cursor:default;}
  .form-status{margin:16px 0 0;font-size:.94rem;color:var(--burgundy);min-height:1.2em;}
  .form-status.err{color:#9E2A2B;}
  .form-note{margin:18px 0 0;font-size:.84rem;line-height:1.62;color:var(--faint);}

  .details .blk{padding:20px 0;border-top:1px solid var(--rule);}
  .details .blk:first-child{border-top:0;padding-top:0;}
  .details h3{margin:0 0 10px;font-family:var(--sans);font-size:10px;letter-spacing:.18em;
              text-transform:uppercase;font-weight:700;color:var(--faint);}
  .details p{margin:0;font-size:1rem;line-height:1.66;color:var(--ink-2);}
  .details a{color:var(--burgundy);text-decoration:none;border-bottom:1px solid var(--rule);}
  .details a:hover{border-bottom-color:var(--burgundy);}

  /* ---------------- Footer ---------------- */
  footer{background:var(--burgundy);color:#E4D5D8;padding:44px 0;}
  footer .wrap{display:flex;flex-wrap:wrap;gap:20px 34px;justify-content:space-between;
               align-items:center;}
  footer .parent{display:flex;align-items:center;gap:14px;font-size:.9rem;}
  footer .parent img{width:132px;height:auto;}
  footer nav{display:flex;flex-wrap:wrap;gap:10px 24px;font-family:var(--sans);font-size:11px;
             letter-spacing:.13em;text-transform:uppercase;font-weight:600;}
  footer a{color:#E4D5D8;text-decoration:none;border-bottom:1px solid transparent;
           transition:color .18s,border-color .18s;}
  footer a:hover{color:var(--gold-on-dark);border-bottom-color:var(--gold-on-dark);}

  /* ---------------- Legal documents ---------------- */
  .doc{padding:64px 40px 96px;max-width:var(--maxw);}
  .doc .updated{margin:0 0 42px;font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;
                text-transform:uppercase;font-weight:600;color:var(--faint);
                padding-bottom:22px;border-bottom:1px solid var(--rule);}
  .doc h2{margin:50px 0 16px;font-family:var(--serif);font-size:1.32rem;font-weight:400;
          line-height:1.3;color:var(--ink);}
  .doc h3{margin:30px 0 10px;font-family:var(--sans);font-size:10.5px;letter-spacing:.16em;
          text-transform:uppercase;font-weight:700;color:var(--gold-dark);}
  .doc p{margin:0 0 16px;max-width:72ch;color:var(--muted);font-size:1rem;line-height:1.74;
         text-wrap:pretty;}
  .doc strong{color:var(--ink);font-weight:600;}
  .doc a{color:var(--burgundy);text-decoration:none;border-bottom:1px solid var(--rule);}
  .doc a:hover{border-bottom-color:var(--burgundy);}
  .doc ul,.doc ol{margin:0 0 18px;padding-left:22px;max-width:72ch;color:var(--muted);}
  .doc li{margin-bottom:9px;line-height:1.68;}
  .doc .note{margin-top:42px;padding:22px 24px;background:var(--paper);border:1px solid var(--rule);
             font-size:.94rem;line-height:1.72;color:var(--muted);max-width:none;}

  /* ---------------- Reveal ---------------- */
  .reveal{opacity:0;transform:translateY(10px);
          transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);
          transition-delay:var(--d,0ms);}
  .reveal.in{opacity:1;transform:none;}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

  /* ---------------- Responsive ---------------- */
  @media (max-width:1020px){
    .hero-in{grid-template-columns:1fr;gap:46px;}
    .hero-art{order:-1;}
    .hero-art .plate{max-width:420px;margin:0 auto;}
    .hero h1{max-width:20ch;}
    .specs{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(6,auto);}
    .split2{grid-template-columns:1fr;gap:34px;}
    .sister .wrap{grid-template-columns:1fr;gap:22px;}
    .contact-layout{grid-template-columns:1fr;gap:44px;}
    .strip .wrap{grid-template-columns:repeat(2,1fr);}
  }
  @media (max-width:860px){
    .chead{grid-template-columns:44px minmax(0,1fr);gap:0 22px;padding:22px 22px;}
    .chead a.live{grid-column:2;justify-self:start;margin-top:14px;}
    .crow{grid-template-columns:1fr;gap:10px;padding:18px 22px;}
    .cfacts{grid-template-columns:1fr;}
    .svc{grid-template-columns:44px minmax(0,1fr);gap:0 22px;}
    .svc .out{grid-column:2;padding-left:0;border-left:0;margin-top:18px;padding-top:16px;
              border-top:1px solid var(--rule-2);}
    .phase{grid-template-columns:44px minmax(0,1fr);gap:8px 22px;}
    .phase .k{grid-column:1;}
    .phase h3,.phase p:not(.k){grid-column:2;}
  }
  @media (max-width:760px){
    :root{--bar:62px;}
    .wrap{padding:0 28px;}
    .site-header{position:static;background:var(--ivory);}
    .site-header .wrap{justify-content:flex-start;gap:12px 20px;}
    .brand img{width:132px;}
    nav.menu{width:100%;gap:8px 18px;font-size:10px;letter-spacing:.09em;}
    nav.menu a.cta{padding:8px 14px;}
    section{padding:80px 0;}
    .sec-head{margin-bottom:42px;}
    .hero-in{padding-left:28px;padding-right:28px;}
    .form-row{grid-template-columns:1fr;gap:0;}
    .doc{padding:48px 28px 72px;}
  }
  @media (max-width:620px){
    body{font-size:16px;}
    .specs{grid-template-columns:1fr;grid-template-rows:repeat(18,auto);}
    .strip .wrap{grid-template-columns:1fr;gap:12px;}
    .hero-facts{gap:20px 30px;}
    .band .wrap{padding-top:64px;padding-bottom:64px;}
    .sister .wrap{padding-top:58px;padding-bottom:58px;}
    .enquiry{padding:26px 22px 24px;}
  }
  @media (max-width:440px){
    nav.menu{gap:6px 13px;font-size:9.5px;letter-spacing:.05em;}
    .brand img{width:124px;}
  }
