
  :root{
    --void:#0a1526; --void-2:#0e1c33; --panel:#13233c; --panel-2:#1a2d4a; --line:rgba(255,255,255,.09);
    --white:#f4f6fa; --dim:#94a0b3; --bright:#dbe3ef; --amber:#f5a800; --amber-soft:rgba(245,168,0,.14);
    --display:'Space Grotesk',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif;
    --r:16px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html.no-js{scroll-behavior:smooth}
  body{font-family:var(--body);background:var(--void);color:var(--white);line-height:1.6;overflow-x:hidden}
  .wrap{max-width:1220px;margin:0 auto;padding:0 28px}
  img{max-width:100%;display:block}

  /* ---- nav ---- */
  .nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:100;width:min(1060px,calc(100% - 32px));
    display:flex;justify-content:space-between;align-items:center;gap:12px;
    background:rgba(6,11,21,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);
    border-radius:999px;padding:10px 12px 10px 22px;box-shadow:0 8px 32px rgba(0,0,0,.45)}
  .brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.06em;white-space:nowrap;color:var(--white);text-decoration:none}
  .brand .markwrap{width:54px;height:54px;margin:-9px 0;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.25),0 4px 14px rgba(0,0,0,.4)}
  .brand img{width:46px;height:46px}
  .brand .lock{color:#4a7ae0}
  .nav-links{display:flex;gap:22px;font-size:14px;color:#c9d2e0;white-space:nowrap}
  @media(max-width:1100px){.nav-links{gap:15px;font-size:13px}}
  .nav-links a{color:inherit;text-decoration:none;transition:color .2s}
  .nav-links a:hover{color:var(--white)}
  .nav-drop{position:relative}
  .nav-drop>a::after{content:" ▾";font-size:11px}
  .nav-drop-menu{position:absolute;top:calc(100% + 14px);left:50%;--gap:16px;transform:translateX(-50%) translateY(6px);
    background:rgba(8,15,28,.97);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);border-radius:16px;
    padding:10px;min-width:230px;display:grid;gap:2px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 18px 48px rgba(0,0,0,.55)}
  .nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;pointer-events:auto;transform:translateX(-50%)}
  .nav-drop-menu::before{content:"";position:absolute;top:-18px;left:-20px;right:-20px;height:20px}
  .nav-drop-menu a{display:block;padding:9px 14px;border-radius:10px;font-size:13px;color:var(--bright)}
  .nav-drop-menu a:hover{background:var(--amber-soft);color:var(--white)}
  .nav-drop-menu a b{font-family:var(--display);font-weight:600}
  .nav-drop-menu .nd-note{padding:8px 14px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#8a97ab}
  .nav-call{display:inline-flex;align-items:center;gap:8px;background:var(--amber);color:var(--void);font-family:var(--display);font-weight:700;font-size:14px;padding:11px 20px;border-radius:999px;text-decoration:none;white-space:nowrap;transition:transform .2s}
  .nav-call:hover{transform:scale(1.04)}
  .nav-call-m{display:none}
  .nav-ic-call{display:none;width:42px;height:42px;border-radius:50%;background:var(--amber);color:var(--void);place-items:center;flex:none}


  /* mobile burger menu */
  .nav-burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:none;cursor:pointer;place-items:center;flex:none}
  .nav-burger span{display:block;width:18px;height:2px;background:var(--white);border-radius:2px;margin:2.5px auto;transition:transform .25s,opacity .25s}
  .mobmenu{position:fixed;inset:0;z-index:99;background:rgba(6,11,21,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;padding:100px 30px 34px;opacity:0;pointer-events:none;transition:opacity .25s;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .mobmenu.open{opacity:1;pointer-events:auto}
  .mobmenu .mm-link{display:block;width:100%;font-family:var(--display);font-weight:600;font-size:26px;color:var(--white);text-decoration:none;padding:10px 0;line-height:1.3}
  .mobmenu .mm-locs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
  .mobmenu .mm-locs a{font-size:13px;color:var(--bright);text-decoration:none;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 13px}
  .mobmenu .mm-ctas{margin-top:26px;display:grid;gap:10px;flex:none}
  .mobmenu .mm-ctas a{text-align:center;font-family:var(--display);font-weight:700;font-size:16px;padding:15px;border-radius:999px;text-decoration:none}
  .mobmenu .mm-call{background:var(--amber);color:var(--void)}
  .mobmenu .mm-wa{background:#25D366;color:#fff}
  @media(max-width:900px){.nav-burger{display:grid}}
  body.menu-open{overflow:hidden}

  /* ---- hero ---- */
  .hero{min-height:100vh;min-height:min(100svh,920px);position:relative;display:flex;align-items:flex-end;padding:120px 0 96px}
  .hero-bg{position:absolute;inset:0;overflow:hidden}
  .hero-bg img,.hero-bg video{width:100%;height:100%;object-fit:cover;object-position:center}
  .hero-bg::after{content:"";position:absolute;inset:0;
    background:linear-gradient(100deg,rgba(8,15,28,.8) 0%,rgba(8,15,28,.5) 42%,rgba(8,15,28,.12) 70%),
    linear-gradient(180deg,rgba(8,15,28,.5) 0%,rgba(8,15,28,.15) 35%,rgba(8,15,28,.85) 78%,var(--void) 100%)}
  .hero .wrap{position:relative;z-index:1;width:100%}
  .kicker{font-family:var(--display);font-size:12px;letter-spacing:.42em;text-transform:uppercase;color:var(--bright);margin-bottom:14px}
  .kicker b{color:var(--amber);font-weight:600}
  h1{font-family:var(--display);font-weight:700;font-size:clamp(36px,5.4vw,60px);line-height:1.06;letter-spacing:-.015em;max-width:19ch;text-shadow:0 2px 30px rgba(0,0,0,.65)}
  h1 em{font-style:normal;color:var(--amber)}
  h1 .line{display:block;overflow:hidden}
  h1 .line span{display:inline-block}
  .hero .sub{color:var(--bright);font-size:18px;max-width:54ch;margin:20px 0 30px;text-shadow:0 1px 16px rgba(0,0,0,.6)}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
  .btn-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--amber);color:var(--void);font-family:var(--display);font-weight:700;font-size:17px;height:54px;padding:0 30px;border-radius:999px;text-decoration:none;box-shadow:0 0 40px rgba(245,168,0,.3);transition:transform .2s,box-shadow .2s}
  .btn-call:hover{transform:translateY(-2px);box-shadow:0 0 55px rgba(245,168,0,.45)}
  .btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.35);color:var(--white);font-size:15px;height:54px;padding:0 26px;border-radius:999px;text-decoration:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:border-color .2s,background .2s}
  .btn-ghost:hover{border-color:var(--amber);background:rgba(245,168,0,.08)}
  .vow{margin-top:26px;display:inline-flex;gap:12px;align-items:flex-start;background:rgba(12,22,38,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-left:4px solid var(--amber);padding:14px 20px;border-radius:0 var(--r) var(--r) 0;max-width:520px}
  .vow p{font-size:16px;font-weight:600;line-height:1.45}
  .vow p small{display:block;font-weight:400;color:var(--bright);font-size:13px;margin-top:3px}

  .hero-brand{display:none;position:absolute;left:0;right:0;top:16px;z-index:2;justify-content:center;
    font-family:var(--display);font-weight:700;font-size:clamp(20px,5.6vw,26px);letter-spacing:.09em;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.8)}
  .hero-brand b{color:#6d9af0;font-weight:700}

  /* ---- shared section grammar: ONE panel style everywhere ---- */
  section{padding:80px 0}
  .ch-num{font-family:var(--display);font-size:13px;letter-spacing:.3em;color:var(--amber);display:block;margin-bottom:14px}
  h2{font-family:var(--display);font-weight:600;font-size:clamp(27px,3.8vw,42px);letter-spacing:-.015em;line-height:1.12;max-width:22ch}
  .panel{background:var(--panel);border-radius:var(--r);padding:24px}
  a.panel{text-decoration:none;color:var(--white);transition:transform .25s,background .25s}
  a.panel:hover{transform:translateY(-4px);background:var(--panel-2)}

  /* quick tiles */
  .quick{padding:40px 0 0}
  .quick .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .quick b{display:block;font-family:var(--display);font-weight:600;font-size:15px;margin-bottom:4px}
  .quick span{font-size:13px;color:var(--dim)}
  .quick .go{color:var(--amber);font-size:17px;float:right;margin-top:-2px}

  /* steps */
  .steps{padding:38px 0 0}
  .steps .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
  .step{display:flex;gap:14px;align-items:flex-start}
  .step .n{font-family:var(--display);font-weight:700;font-size:24px;color:var(--amber);line-height:1.1}
  .step b{display:block;font-family:var(--display);font-weight:600;font-size:15px;margin-bottom:3px}
  .step span{font-size:13px;color:var(--dim)}

  /* chapters */
  .ch-body{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;margin-top:32px}
  .ch-body p{color:var(--dim);font-size:16px;max-width:50ch}
  .ch-body p+p{margin-top:14px}
  .ch-body p b{color:var(--white);font-weight:600}
  .stat-row{display:flex;gap:38px;margin-top:30px;flex-wrap:wrap}
  .stat .n{font-family:var(--display);font-weight:700;font-size:30px}
  .stat .n i{font-style:normal;color:var(--amber)}
  .stat .l{font-size:13px;color:var(--dim);margin-top:2px;max-width:18ch}
  .media-img{border-radius:var(--r);overflow:hidden}
  .media-img img{width:100%;aspect-ratio:4/3;object-fit:cover;scale:1.12}
  .media-img video{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}

  /* vow band */
  .vow-band{position:relative;padding:72px 28px;text-align:center;overflow:hidden}
  .vow-band .bg{position:absolute;inset:0}
  .vow-band .bg img{width:100%;height:118%;object-fit:cover}
  .vow-band .bg::after{content:"";position:absolute;inset:0;background:rgba(8,15,28,.78)}
  .vow-band blockquote{position:relative;z-index:1;font-family:var(--display);font-weight:500;font-size:clamp(22px,3vw,32px);line-height:1.35;max-width:26ch;margin:0 auto;letter-spacing:-.01em}
  .vow-band blockquote em{font-style:normal;color:var(--amber)}
  .vow-band cite{position:relative;z-index:1;display:block;margin-top:20px;font-style:normal;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:#c3ccda}

  /* services */
  .svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px}
  .svc b{display:block;font-family:var(--display);font-weight:600;font-size:16px;margin-bottom:6px}
  .svc span{font-size:13px;color:var(--dim);display:block}
  .svc .from{margin-top:12px;display:inline-block;font-family:var(--display);color:var(--amber);font-size:14px;font-weight:600}

  /* makes marquee */
  .makes{padding:0 0 100px}
  .marquee{overflow:hidden;margin-top:40px;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .marquee-track{display:flex;align-items:center;gap:18px;width:max-content;animation:marquee 45s linear infinite}
  .marquee:hover .marquee-track{animation-play-state:paused}
  @keyframes marquee{to{transform:translateX(-50%)}}
  .marquee-track .chip{background:#fff;border-radius:16px;height:64px;min-width:104px;padding:10px 20px;display:flex;align-items:center;justify-content:center;transition:transform .25s}
  .marquee-track .chip:hover{transform:translateY(-3px)}
  .marquee-track img{height:38px;width:auto}
  .makes .note{margin-top:20px;font-size:14px;color:var(--dim);max-width:60ch}

  /* pricing */
  .pricing{background:var(--void-2)}
  .pricelist{margin-top:32px}
  .pricerow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:21px 4px;border-bottom:1px solid var(--line)}
  .pricerow:first-child{border-top:1px solid var(--line)}
  .pricerow .job{font-size:16px}
  .pricerow .dots{flex:1;border-bottom:1px dotted rgba(255,255,255,.18);transform:translateY(-5px)}
  .pricerow .price{font-family:var(--display);font-weight:600;color:var(--amber);font-size:16px;white-space:nowrap}
  .costtable{width:100%;border-collapse:collapse;margin:18px 0 6px}
  .costtable th{text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600;padding:10px 4px;border-bottom:1px solid var(--line)}
  .costtable th:last-child{text-align:right}
  .costtable td{padding:15px 4px;border-bottom:1px solid var(--line);font-size:15px;vertical-align:baseline}
  .costtable td.price{font-family:var(--display);font-weight:600;color:var(--amber);font-size:16px;white-space:nowrap;text-align:right}
  .price-grid{display:grid;grid-template-columns:1fr .92fr;gap:36px;margin-top:40px;align-items:start}
  .price-grid .pricelist{margin-top:0}
  .quote-panel{padding:28px}
  .quote-panel h3{font-family:var(--display);font-weight:600;font-size:20px;margin-bottom:6px}
  .quote-panel .qsub{color:var(--dim);font-size:14px;margin-bottom:18px}
  .qform{display:grid;gap:12px}
  .plate{display:flex;border-radius:10px;overflow:hidden;border:2px solid #b89b00}
  .plate .band{background:#003399;color:#fff;display:grid;place-items:center;padding:0 10px;font-size:11px;font-weight:700;font-family:var(--body)}
  .plate input{flex:1;background:#FFD523;border:none;color:#111;font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:.14em;text-transform:uppercase;text-align:center;padding:12px 8px;min-width:0}
  .plate input::placeholder{color:#8a7a1a;font-size:18px;letter-spacing:.08em}
  .qform input:not(.plate input),.qform select{background:var(--void);border:1px solid var(--line);border-radius:12px;padding:13px 16px;color:var(--white);font-family:var(--body);font-size:14px;width:100%}
  .qform input::placeholder{color:#8a97ab}
  .qform .qrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .qform button{background:var(--amber);color:var(--void);font-family:var(--display);font-weight:700;font-size:16px;padding:15px;border:none;border-radius:999px;cursor:pointer;transition:transform .2s}
  .qform button:hover{transform:translateY(-2px)}
  .qform .qnote{font-size:12px;color:#8a97ab;text-align:center}
  @media(max-width:900px){.price-grid{grid-template-columns:1fr}}
  .price-note{margin-top:24px;color:var(--dim);font-size:15px;max-width:66ch}
  .price-note b{color:var(--white)}

  /* people + reviews */
  .people-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
  .photo-frame{background:repeating-linear-gradient(-45deg,var(--panel) 0 14px,var(--void-2) 14px 28px);border-radius:var(--r);aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:22px;color:var(--dim);font-size:13px;letter-spacing:.1em;text-transform:uppercase;line-height:2}
  .people p.body{color:var(--dim);font-size:16px;margin-top:16px;max-width:52ch}
  .people p.body b{color:var(--white)}
  .reviews{margin-top:44px}
  .rev-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
  .stars{color:var(--amber);font-size:19px;letter-spacing:2px}
  .rev-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .rev{font-size:14px;color:var(--dim);position:relative}
  .rev .rhead{display:flex;align-items:center;gap:12px;margin-bottom:12px}
  .rev .avatar{width:40px;height:40px;border-radius:50%;background:var(--panel-2);color:var(--amber);font-family:var(--display);font-weight:700;display:grid;place-items:center;font-size:16px}
  .rev .who b{display:block;color:var(--white);font-size:14px;font-weight:600}
  .rev .who span{font-size:12px;color:#8a97ab}
  .rev .rstars{color:var(--amber);font-size:13px;letter-spacing:1.5px;margin-bottom:8px}
  .rev .ex{position:absolute;top:14px;right:16px;font-size:11px;letter-spacing:.08em;color:#4a5568;text-transform:uppercase}
  .rev-note{margin-top:12px;font-size:12px;color:#8a97ab}


  /* contact */
  .contact{background:var(--void-2)}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
  .contact .panel{padding:30px}
  .contact h3{font-family:var(--display);font-weight:600;font-size:19px;margin-bottom:6px}
  .contact .sub3{color:var(--dim);font-size:14px;margin-bottom:20px}
  .bignum{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:clamp(24px,3vw,32px);color:var(--white);text-decoration:none;margin-bottom:14px}
  .bignum:hover{color:var(--amber)}
  .wa-line a{color:var(--bright);text-decoration:none;border-bottom:1px solid var(--amber);font-size:15px}
  .bform{display:grid;gap:12px}
  .bform input,.bform select{background:var(--void);border:1px solid var(--line);border-radius:12px;padding:13px 16px;color:var(--white);font-family:var(--body);font-size:14px;width:100%}
  .bform input::placeholder{color:#8a97ab}
  .bform .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .bform button{background:var(--amber);color:var(--void);font-family:var(--display);font-weight:700;font-size:15px;padding:14px;border:none;border-radius:999px;cursor:pointer;transition:transform .2s}
  .bform button:hover{transform:translateY(-2px)}
  .bform .fnote{font-size:12px;color:#8a97ab}
  .mapwrap{margin-top:14px;border-radius:var(--r);overflow:hidden;position:relative}
  .mapwrap iframe{width:100%;height:340px;border:0;display:block;filter:grayscale(.2)}
  .mapmeta{position:absolute;left:14px;bottom:14px;background:rgba(6,11,21,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:12px 18px;font-size:13px;line-height:1.7}
  .mapmeta b{font-family:var(--display)}
  @media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

  /* live chip */
  .livechip{display:inline-flex;align-items:center;gap:8px;background:rgba(12,22,38,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bright)}
  .livechip i{width:8px;height:8px;border-radius:50%;background:#2ecc71;animation:pulse 1.8s infinite}
  @keyframes pulse{50%{opacity:.35}}

  /* film grain on hero */
  .hero::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.055;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}


  /* scroll progress */
  .progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--amber);transform-origin:0 50%;transform:scaleX(0);z-index:200}

  /* floating contact dock */
  .fab-stack{position:fixed;right:20px;bottom:20px;z-index:150;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
  .fab-left{position:fixed;left:20px;bottom:20px;z-index:150}
  .fab{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;cursor:pointer;border:none;box-shadow:0 8px 24px rgba(0,0,0,.45);transition:transform .2s}
  .fab:hover{transform:scale(1.08)}
  .fab svg{width:28px;height:28px;fill:#fff}
  .fab-wa{background:#25D366;position:relative}
  .fab-wa::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.5);animation:waPulse 2.4s infinite}
  @keyframes waPulse{0%{transform:scale(.9);opacity:1}70%{transform:scale(1.25);opacity:0}100%{opacity:0}}
  .fab-chat{background:var(--panel-2);border:1px solid rgba(255,255,255,.18)}
  .fab-top{background:rgba(12,22,38,.85);border:1px solid rgba(255,255,255,.18);width:46px;height:46px;opacity:0;pointer-events:none;transition:opacity .3s,transform .2s}
  .fab-top svg{width:22px;height:22px}
  .fab-top.show{opacity:1;pointer-events:auto}
  .chatdock{position:fixed;left:20px;bottom:90px;z-index:151;width:min(330px,calc(100vw - 40px));
    background:var(--void-2);border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden;
    box-shadow:0 24px 64px rgba(0,0,0,.6);opacity:0;pointer-events:none;transform:translateY(14px) scale(.97);transition:opacity .25s,transform .25s}
  .chatdock.open{opacity:1;pointer-events:auto;transform:none}
  .chatdock .cd-head{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--panel);border-bottom:1px solid var(--line)}
  .chatdock .cd-head .cd-mark{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center}
  .chatdock .cd-head .cd-mark img{width:34px;height:34px}
  .chatdock .cd-head b{font-family:var(--display);font-size:15px;display:block}
  .chatdock .cd-head span{font-size:12px;color:#2ecc71;display:flex;align-items:center;gap:6px}
  .chatdock .cd-head span i{width:7px;height:7px;border-radius:50%;background:#2ecc71;display:inline-block}
  .chatdock .cd-x{margin-left:auto;background:none;border:none;color:var(--dim);font-size:20px;cursor:pointer;line-height:1}
  .chatdock .cd-body{padding:16px 18px}
  .chatdock .cd-msg{background:var(--panel);border-radius:4px 16px 16px 16px;padding:12px 14px;font-size:14px;color:var(--bright);margin-bottom:14px}
  .chatdock .cd-chips{display:flex;flex-direction:column;gap:8px}
  .chatdock .cd-chips a{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:10px 16px;font-size:13px;color:var(--white);text-decoration:none;transition:background .2s,border-color .2s}
  .chatdock .cd-chips a:hover{background:var(--amber-soft);border-color:var(--amber)}
  .chatdock .cd-foot{padding:0 18px 16px;font-size:11px;color:#8a97ab}


  /* footer */
  .footer-cta{padding:72px 28px 92px;text-align:center;
    background:radial-gradient(ellipse 60% 55% at 50% 100%, #142744 0%, var(--void) 72%)}
  .footer-cta .areas{color:var(--dim);font-size:13px;letter-spacing:.08em;margin:18px 0 10px}
  .footer-cta .microvow{color:var(--amber);font-weight:600;font-size:15px;margin-bottom:30px}
  .foot-meta{margin-top:56px;font-size:12px;color:#8a97ab;line-height:2}

  .sticky-call{position:fixed;inset:auto 0 0 0;z-index:120;display:none;background:rgba(8,15,28,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .sticky-call a{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--amber);color:var(--void);font-family:var(--display);font-weight:700;font-size:17px;padding:14px;border-radius:999px;text-decoration:none}

  @media(max-width:900px){
    .nav-links{display:none}
    .nav{padding:8px 10px 8px 14px;top:12px}
    .brand .markwrap{width:42px;height:42px;margin:0;box-shadow:none}
    .brand img{width:35px;height:35px}
    .nav-call-d{display:none}
    .nav-call-m{display:inline-flex;background:none;border:1px solid rgba(255,255,255,.35);color:var(--white)}
    .nav-ic-call{display:grid}
    body{padding-bottom:0}
    .quick .wrap,.svc-grid{grid-template-columns:1fr 1fr}
    .steps .wrap{grid-template-columns:1fr;gap:18px}
    .ch-body,.people-grid{grid-template-columns:1fr}
    .rev-cards{grid-template-columns:1fr}
    section{padding:80px 0}
  }
  @media(max-width:520px){.quick .wrap,.svc-grid{grid-template-columns:1fr}}
  @media(max-width:900px){
    .hero{min-height:min(100svh,830px);padding:104px 0 64px}
    .stat-row{gap:26px}
    .chatdock{max-height:min(62vh,520px);overflow:auto}
    .vow-band{padding:64px 24px}
  }
  @media(max-width:700px){
    .hero{display:block;min-height:0;padding:84px 0 48px}
    .hero-bg{position:relative;inset:auto;height:60vw;border-radius:0 0 16px 16px}
    .hero-bg video{object-position:center}
    .hero-bg::after{background:linear-gradient(180deg,rgba(10,21,38,.18) 0%,transparent 30%,transparent 72%,rgba(10,21,38,.55) 100%)}
    .hero::before{display:none}
    .hero .wrap{padding-top:26px}
    .hero-brand{display:flex}
    h1{text-shadow:none}
    .hero .sub{text-shadow:none}
  }
  @media(max-width:560px){
    .btxt{display:none}
    .stat-row{gap:12px;flex-wrap:nowrap;width:100%}
    .stat{flex:1}
    .stat .n{font-size:21px}
    .stat .n i{font-size:16px}
    .stat .l{font-size:11px;max-width:11ch}
    .nav-call{font-size:13px;padding:10px 16px}
    .btn-call{font-size:16px;height:48px;padding:0 24px}
    .marquee-track .chip{height:54px;min-width:88px;padding:8px 14px}
    .marquee-track img{height:30px}
  }
  @media(prefers-reduced-motion:reduce){
    .marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
    .media-img img{scale:1}
  }
  .bform input[type="date"]{color-scheme:dark}

  .hero-headline{font-family:var(--display);font-weight:700;font-size:clamp(36px,5.4vw,60px);line-height:1.06;letter-spacing:-.015em;max-width:19ch;text-shadow:0 2px 30px rgba(0,0,0,.65)}
  .hero-headline em{font-style:normal;color:var(--amber)}
  .hero-headline .line{display:block;overflow:hidden}
  .hero-headline .line span{display:inline-block}
  @media(max-width:700px){.hero-headline{text-shadow:none}}

  /* scroll stability */
  .reveal{backface-visibility:hidden}
  .reveal.in,.reveal[style*="opacity: 1"]{will-change:auto}
  .plx,.plx-band{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}
  .svc-hero img,.media-img img,.media-img video{backface-visibility:hidden;transform:translateZ(0)}
  .marquee-track{will-change:transform;backface-visibility:hidden}
  img{content-visibility:auto}

  /* mobile spacing trim */
  @media(max-width:700px){
    .article{padding:104px 0 52px}
    .article h2{margin-top:36px}
    .svc-hero{margin:26px 0 14px}
    .hero{padding:96px 0 56px}
  }

  /* google reviews widget */
  .grev{padding:34px 0 0}
  .grev-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}
  .grev-badge{display:flex;align-items:center;gap:13px;background:var(--panel);border-radius:var(--r);padding:14px 20px}
  .grev-badge .gscore{font-family:var(--display);font-weight:700;font-size:30px;line-height:1}
  .grev-badge .gmeta{font-size:12px;color:var(--dim);line-height:1.5}
  .grev-stars{color:#fbbc04;font-size:15px;letter-spacing:1.5px}
  .grev-note{font-size:12px;color:#8a97ab}
  .grev-rail{display:flex;gap:14px;overflow-x:auto;padding:2px 2px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .grev-rail::-webkit-scrollbar{height:6px}
  .grev-rail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:3px}
  .grev-card{flex:0 0 300px;scroll-snap-align:start;background:var(--panel);border-radius:var(--r);padding:20px;position:relative}
  .grev-card .gtop{display:flex;align-items:center;gap:11px;margin-bottom:10px}
  .grev-card .gav{width:38px;height:38px;border-radius:50%;background:var(--panel-2);color:var(--amber);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:16px;flex:none}
  .grev-card .gwho b{display:block;font-size:14px;font-weight:600}
  .grev-card .gwho span{font-size:12px;color:#8a97ab}
  .grev-card .gtext{font-size:14px;color:var(--dim);line-height:1.55}
  .grev-card .gg{position:absolute;top:18px;right:18px;width:16px;height:16px;opacity:.9}
  .grev-cta{display:inline-flex;align-items:center;gap:9px;margin-top:6px;font-size:14px;color:var(--bright);text-decoration:none;border-bottom:1px solid var(--amber);padding-bottom:2px}
  @media(max-width:700px){.grev-card{flex:0 0 84%}}

  /* homepage rhythm */
  .quick{padding:56px 0 0}
  .steps{padding:64px 0 0}
  .grev{padding:56px 0 8px}
  .makes{padding:64px 0 8px;background:var(--void-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .makes .marquee{margin-top:30px}
  /* quieter brand chips */
  .marquee-track{gap:14px}
  .marquee-track .chip{background:rgba(255,255,255,.93);height:54px;min-width:92px;padding:9px 16px;opacity:.82;transition:opacity .25s,transform .25s}
  .marquee-track .chip:hover{opacity:1;transform:translateY(-3px)}
  .marquee-track img{height:30px}
  .marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
  /* review rail reads as scrollable, not cut off */
  .grev-rail{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:40px}
  .grev-head{margin-bottom:22px}
  .grev-badge{padding:12px 18px}
  .grev-badge .gscore{font-size:26px}

  /* trust tick strip */
  .trustbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--void-2);padding:15px 0}
  .trustbar .wrap{display:flex;flex-wrap:wrap;gap:10px 30px;justify-content:center;font-size:13px;color:var(--bright)}
  .trustbar span{white-space:nowrap}
  @media(max-width:700px){.trustbar .wrap{gap:8px 18px;font-size:12px;justify-content:flex-start}}
  /* alternating bands so each block is its own zone */
  .band-2{background:var(--void-2)}
  .quick{padding:64px 0 64px}
  .steps.band-2{padding:64px 0 64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .grev{padding:64px 0 64px}
  #roadside.band-2,#services.band-2,#guides.band-2{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .makes{background:var(--void);border-top:none;border-bottom:1px solid var(--line)}

  .steps .steps-head{display:block;margin-bottom:26px}
  .steps .steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
  @media(max-width:900px){.steps .steps-grid{grid-template-columns:1fr;gap:18px}}

  /* mobile hardening */
  .svc-grid.cols-3{grid-template-columns:repeat(3,1fr)}
  @media(max-width:900px){.svc-grid.cols-3{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.svc-grid.cols-3{grid-template-columns:1fr}}
  html,body{overflow-x:clip;max-width:100%}
  .grev-cta{display:inline-flex;align-items:center;min-height:44px;padding:6px 0}
  .qnote a,.wa-line a{display:inline-block;min-height:44px;padding:11px 0}
  .cd-x{min-width:44px;min-height:44px;display:grid;place-items:center;margin:-8px -8px -8px auto}
  @media(max-width:420px){
    .nav{padding:7px 8px 7px 10px;gap:8px}
    .nav-call-m{font-size:13px;padding:9px 14px}
    .nav-ic-call,.nav-burger{width:42px;height:42px}
    .brand .markwrap{width:42px;height:42px}
    .brand img{width:34px;height:34px}
  }

  /* mobile forms: 16px prevents iOS auto-zoom on focus; stack cramped rows */
  @media(max-width:700px){
    .bform input,.bform select,.bform textarea,
    .qform input:not(.plate input),.qform select,.qform textarea{font-size:16px}
    .plate input{font-size:26px}
  }
  @media(max-width:560px){
    .bform .row2,.qform .qrow{grid-template-columns:1fr}
  }

  .cardh{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.25;margin:0 0 10px}

  .hero-chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
  .revchip{display:inline-flex;align-items:center;gap:9px;background:rgba(12,22,38,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:999px;padding:6px 15px;font-family:var(--display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--bright);text-decoration:none;transition:border-color .2s,transform .2s}
  .revchip:hover{border-color:var(--amber);transform:translateY(-1px)}
  .revchip svg{width:15px;height:15px;flex:none}
  .revchip b{font-size:14px;letter-spacing:0;color:var(--white)}
  .revchip .rc-stars{color:#f5a800;letter-spacing:1px;font-size:11px}
  .revchip .rc-count{opacity:.85}
  .revchip em{font-style:normal;color:var(--amber)}
  .revchip[hidden]{display:none}
  @media(max-width:700px){.revchip{font-size:11px;padding:6px 13px;gap:7px}.revchip b{font-size:13px}.revchip .rc-count{display:none}}

  .grev-badge-float{position:absolute;right:max(28px,calc((100vw - 1220px)/2 + 28px));bottom:120px;z-index:4;
    display:block;width:186px;background:#fff;border-radius:16px;padding:15px 16px 13px;text-decoration:none;
    box-shadow:0 18px 50px rgba(0,0,0,.45),0 2px 0 rgba(255,255,255,.5) inset;
    transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s}
  .grev-badge-float:hover{transform:translateY(-4px);box-shadow:0 26px 64px rgba(0,0,0,.55)}
  .grev-badge-float .gbf-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
  .grev-badge-float .gbf-score{font-family:var(--display);font-size:40px;line-height:.95;font-weight:700;color:#1f2733;letter-spacing:-.02em}
  .grev-badge-float .gbf-brand{text-align:right;padding-top:3px}
  .grev-badge-float .gbf-brand b{display:block;font-family:var(--display);font-size:14px;font-weight:600;color:#3c4043}
  .grev-badge-float .gbf-brand small{display:block;font-size:11px;color:#70787f;margin-top:1px;letter-spacing:.01em}
  .grev-badge-float .gbf-bot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
  .grev-badge-float .gbf-stars{color:#fbbc05;font-size:15px;letter-spacing:1.5px}
  .grev-badge-float .gbf-bot svg{width:22px;height:22px;flex:none}
  .grev-badge-float .gbf-cnt{display:block;margin-top:7px;padding-top:8px;border-top:1px solid #e7eaee;
    font-size:11px;color:#70787f;letter-spacing:.02em}
  .grev-badge-float[hidden]{display:none}
  @media(max-width:1100px){.grev-badge-float{right:28px;bottom:100px;width:168px}}
  @media(max-width:860px){.grev-badge-float{display:none}}

  .grev-badge-float.gbf-dark{background:rgba(13,24,42,.82);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);
    border:1px solid rgba(148,170,205,.22);box-shadow:0 18px 50px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.07) inset}
  .grev-badge-float.gbf-dark:hover{border-color:rgba(245,168,0,.55);box-shadow:0 26px 64px rgba(0,0,0,.6)}
  .grev-badge-float.gbf-dark .gbf-score{color:#fff}
  .grev-badge-float.gbf-dark .gbf-brand b{color:#dbe3ef}
  .grev-badge-float.gbf-dark .gbf-brand small{color:#8a97ab}
  .grev-badge-float.gbf-dark .gbf-stars{color:#f5a800}
  .grev-badge-float.gbf-dark .gbf-cnt{color:#8a97ab;border-top-color:rgba(148,170,205,.18)}

  /* ---- rhythm map: deliberate section weights ---- */
  section#roadside,section#bench{padding:120px 0}
  section#services,section#prices,section#about{padding:96px 0}
  section#guides{padding:64px 0}
  @media(max-width:700px){
    section#roadside,section#bench{padding:80px 0}
    section#services,section#prices,section#about{padding:64px 0}
    section#guides{padding:48px 0}
  }

  /* ---- grouped footer (§36) ---- */
  .footgrid-outer{border-top:1px solid var(--line);background:var(--void-2);padding:56px 0 0}
  .footgrid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:40px 32px;padding-bottom:44px}
  /* Five children - brand + Services, Areas, Makes, Help - so the desktop grid
     needs five tracks. With four, Help dropped to a second row on its own and
     sat next to a column of empty space. Below the widest breakpoint the brand
     spans the full width instead, which keeps the link columns evenly divisible
     at every size rather than orphaning the last one again. */
  .fg-h{display:block;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--white);margin-bottom:14px}
  .fg-col a{display:block;font-size:14px;color:var(--dim);text-decoration:none;padding:4px 0;transition:color .15s}
  .fg-col a:hover{color:var(--white)}
  .fg-brand p{font-size:14px;color:var(--dim);line-height:1.6;margin:0 0 12px}
  .fg-tel{display:inline-block;font-family:var(--display);font-weight:600;font-size:18px;color:var(--white);text-decoration:none;margin-bottom:8px}
  .fg-soc{display:block;font-size:14px;color:var(--dim);text-decoration:none;padding:2px 0}
  .fg-soc:hover{color:var(--white)}
  .fg-legal{border-top:1px solid var(--line);padding-top:20px;padding-bottom:24px;font-size:12px;color:var(--dim);line-height:1.6;max-width:82ch}
  @media(max-width:1080px){.footgrid{grid-template-columns:repeat(4,1fr)}.fg-brand{grid-column:1/-1}}
  @media(max-width:760px){.footgrid{grid-template-columns:repeat(2,1fr);gap:36px 24px}.fg-brand{grid-column:1/-1}}
  @media(max-width:360px){.footgrid{grid-template-columns:1fr}.fg-brand{grid-column:auto}}
  /* Two link columns survive down to ~400px - the longest item,
     Newcastle-under-Lyme, measures ~140px against a ~155px track - and it
     halves a footer that was otherwise 1716px tall on a 390px phone. Single
     column only below 360px. */

  .article.no-hero{padding-bottom:48px}
  .article-cont{padding:48px 0 64px}
  @media(max-width:700px){.article-cont{padding:40px 0 48px}}

  /* ---- prototype: two-column conversion-rail layout (option C) ---- */
  header.page-hero.rail-h>.wrap{max-width:1220px}
  main.article.rail-layout>.wrap{max-width:1220px}
  .rl-grid{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:24px 72px;align-items:start}
  .rl-content{max-width:720px}
  .rl-rail{position:sticky;top:100px}
  .rail-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px 24px}
  .rail-card .rc-kick{display:block;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--amber);margin-bottom:16px}
  .rail-card .rc-btn{display:flex;width:100%;margin-bottom:10px}
  .rail-card .rc-wa{display:block;text-align:center;font-size:14px;color:var(--bright);text-decoration:none;padding:8px 0 2px}
  .rail-card .rc-wa:hover{color:var(--white)}
  .rail-card .rc-vow{border-left:3px solid var(--amber);background:var(--void-2);border-radius:8px;padding:12px 14px;font-size:13px;color:var(--dim);line-height:1.55;margin:16px 0}
  .rail-card .rc-vow b{display:block;color:var(--white);margin-bottom:3px}
  .rail-card .rc-ticks{list-style:none;margin:0;padding:0}
  .rail-card .rc-ticks li{font-size:13px;color:var(--bright);padding:5px 0 5px 22px;position:relative}
  .rail-card .rc-ticks li::before{content:"✓";position:absolute;left:0;color:var(--amber)}
  .rc-note{font-size:13px;color:var(--dim);margin:-6px 0 12px;line-height:1.5}
  .page-hero .grev-badge-float{bottom:44px;top:auto}
  @media(max-width:1160px){
    .rl-grid{grid-template-columns:minmax(0,1fr) 300px;gap:24px 44px}
  }
  @media(max-width:860px){
    .rl-grid{grid-template-columns:1fr}
    .rl-rail{position:static;order:2}
    .rl-content{max-width:none}
    .rail-card{max-width:480px}
  }

  .page-hero.no-img{background:var(--void-2);border-bottom:1px solid var(--line);padding:132px 0 40px}
  .page-hero.no-img .grev-badge-float{bottom:36px}
  @media(max-width:700px){.page-hero.no-img{padding:104px 0 30px}}

  /* problem tiles: icon anchors + keyline & lift */
  .quick .panel{border:1px solid var(--line);transition:transform .25s,border-color .25s,background .25s}
  .quick .panel:hover{border-color:var(--amber);background:var(--panel-2);transform:translateY(-3px)}
  .quick .go{transition:transform .25s}
  .quick .panel:hover .go{transform:translateX(4px)}

  .quick .qhead{display:block;margin-bottom:18px}
  .quick b{font-size:16px}
  .quick .panel{padding:22px 24px}

  /* ---- mobile hero: commercial actions first (QA) - hero-mobile-order ---- */
  @media(max-width:700px){
    .hero .wrap{display:flex;flex-direction:column}
    .hero .wrap>.kicker{order:0}
    .hero .wrap>.hero-headline{order:1;font-size:clamp(27px,8vw,34px)}
    .hero .wrap>.cta-row{order:2;margin-top:16px}
    .hero .wrap>.vow{order:3}
    .hero .wrap>.sub{order:4;margin-top:18px}
    .hero .wrap>.hero-chips{order:5}
    .hero .wrap>p{order:6}
    .hero .wrap p a,a[style*="border-bottom"]{display:inline-block;padding:9px 0}
  }

  /* covmap-reserve: map keeps its box while lazy-loading (no void on slow connections) */
  .covmap{background:var(--panel)}
  .covmap img{width:100%;height:auto;aspect-ratio:1400/600;object-fit:cover;display:block}
  @media(max-width:700px){.covmap img{aspect-ratio:760/700}}
  /* iOS layer diet: no backdrop blurs on phones (solid fills are visually identical here) */
  @media(max-width:700px){
    .nav,.livechip,.revchip,.chatdock,.grev-badge-float,.btn-ghost{-webkit-backdrop-filter:none;backdrop-filter:none}
    .nav{background:rgba(10,18,32,.97)}
  }

  /* hero-follow-fix: the 104px mobile nav-clearance padding is for pages that START
     with the article — after a page-hero it's dead air */
  .rl-content>h2:first-child{margin-top:0}
  @media(max-width:700px){
    .page-hero~.article,.trustbar~.article,main.article.rail-layout{padding-top:28px}
  }

  .form-ok{border:1px solid rgba(245,168,0,.4);border-radius:12px;background:var(--void-2);padding:22px}
  .form-ok b{display:block;font-family:var(--display);font-size:17px;margin-bottom:6px;color:var(--white)}
  .form-ok p{margin:0;font-size:14px;color:var(--dim)}
  .form-ok a{color:var(--bright)}

  .gbf-sample{display:block;margin-top:6px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#8a97ab;text-align:center}

  /* badge-mobile-hero: slim one-line Google strip, bottom-right of the hero film (mobile) */
  @media(max-width:700px){
    .hero .grev-badge-float{display:none}
    .page-hero .grev-badge-float{display:none}
    .hero .revchip{position:absolute;right:14px;top:-12px;transform:translateY(-100%);
      z-index:4;display:inline-flex;background:rgba(13,24,42,.88);border:1px solid rgba(148,170,205,.28);
      padding:7px 12px;gap:7px;font-size:11px}
    .hero .revchip b{font-size:13px}
    .hero .revchip .rc-count{display:none}
    .hero .revchip .rc-sample{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:#8a97ab}
    .hero .revchip em{display:none}
  }
  @media(min-width:701px){
    .hero .revchip{display:none}
    .hero .revchip[hidden]{display:none}
  }

/* Scope statement in the footer brand block (28 Aug 2026): stops house-lockout
   calls Jude has to turn down, and tells crawlers what we are. */
.fg-scope{margin:14px 0 0;font-size:13px;line-height:1.5;color:var(--muted,#9aa3ad);max-width:34ch}
.fg-scope b{color:var(--white,#fff);font-weight:600}

  /* ---- customer testimonials (emailed feedback, NOT Google reviews) ---- */
  .tmn{margin:34px 0 8px}
  .tmn-head{margin-bottom:16px}
  .tmn-head h2{margin-bottom:6px}
  .tmn-sub{font-size:14px;color:var(--dim);max-width:62ch}
  .tmn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
  .tmn-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px 24px}
  .tmn-card .tmn-job{display:block;font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--amber);margin-bottom:10px}
  .tmn-card blockquote{font-size:15px;color:var(--bright);line-height:1.6;margin:0}
  .tmn-card blockquote::before{content:open-quote}
  .tmn-card blockquote::after{content:close-quote}
  .tmn-foot{font-size:13px;color:#8a97ab;margin-top:14px}
  @media(max-width:820px){.tmn-grid{grid-template-columns:1fr}}

  /* ---- micro-note under a CTA band ----
     Constrained measure on purpose: unbounded, this line ran the full column
     width and broke with a single orphaned word on the second line. */
  .article .cta-note{font-size:13px;color:#8a97ab;margin-top:12px;max-width:46ch;line-height:1.5}

  /* ---- reviews page rhythm ----
     One gap value between major blocks. These were previously 96 / 56 / 48 / 48
     depending on which component happened to follow which, which is what read as
     "gaps all over the place". Specificity is deliberately above .article h2 and
     .tmn so those base rules cannot cancel it. */
  .article .rl-content > .grev,
  .article .rl-content > .tmn,
  .article .rl-content > h2{margin-top:56px}
  .article .rl-content > .grev{margin-bottom:0}
  @media(max-width:700px){
    .article .rl-content > .grev,
    .article .rl-content > .tmn,
    .article .rl-content > h2{margin-top:40px}
  }
