/* Standalone /services/* pages. Display and accent fonts are self-hosted in
   brand.css; the per-service accent colours are set on <body>. */
:root{--bg:#FFF9F0;--fg:#202A44;--muted:rgba(32,42,68,.74);--line:rgba(32,42,68,.14);--card:#FFFFFF;--gutter:var(--site-gutter);--head:"Bebas Neue",Impact,sans-serif;--body:"Inter","Inter Fallback",system-ui,sans-serif;--hand:"Caveat",cursive}
/* On the root, not just body: mobile Chrome widens the layout viewport for
   overflow the body clips (e.g. the hero chips mid-animation). */
html{scroll-behavior:smooth;overflow-x:clip}
body.sv{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased}
.sv *,.sv *::before,.sv *::after{box-sizing:border-box}
.sv img{max-width:100%}
.sv a{color:inherit}
.sv :focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:6px}
.sv-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--fg);color:var(--bg)!important;padding:10px 16px;border-radius:10px;text-decoration:none}
.sv-skip:focus{top:12px}

/* Shared type */
.sv h1,.sv h2,.sv h3{font-family:var(--head);font-weight:400;text-transform:uppercase;letter-spacing:0;margin:0}
.sv-eyebrow{font-family:var(--hand);font-size:clamp(18px,1.5vw,24px);color:var(--accent-ink);margin:0 0 10px}
.sv-section{padding:clamp(72px,9vw,150px) var(--gutter) 0}
.sv-section-head h2{font-size:clamp(44px,5.6vw,108px);line-height:.88}

/* Buttons */
.sv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px}
.sv-link{font-family:var(--hand);font-size:clamp(19px,1.5vw,24px);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:6px}
.sv-link:hover{text-decoration-thickness:3px}
.sv-link-light{color:var(--bg)!important}

/* Hero */
.sv-hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(24px,4vw,72px);padding:clamp(110px,10vw,150px) var(--gutter) clamp(40px,5vw,80px)}
.sv-crumbs{display:flex;gap:10px;font-size:14px;color:var(--muted);margin-bottom:clamp(14px,1.6vw,24px)}
.sv-crumbs a{text-decoration:none}.sv-crumbs a:hover{text-decoration:underline}
.sv-kicker{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-weight:600;font-size:clamp(13px,1vw,16px);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.sv-kicker-num{display:inline-grid;place-items:center;min-width:44px;padding:4px 10px;border-radius:999px;background:var(--accent);color:#fff;font-family:var(--head);font-size:1.25em;letter-spacing:0}
.sv-hero h1{font-size:clamp(52px,min(6.6vw,11.5vh),140px);line-height:.86}
/* The H1 names the service (kicker, styled as before) then the creative line. */
.sv-hero h1 .sv-kicker{font-family:var(--body);line-height:1.4;letter-spacing:.12em!important}
.sv-hero h1 .sv-h1-line{display:block;max-width:11ch}
.sv-lead{font-size:clamp(17px,1.3vw,22px);line-height:1.5;color:var(--muted);max-width:36rem;margin:clamp(18px,2vw,30px) 0 clamp(24px,2.6vw,40px)}

.sv-stage{position:relative;width:100%;max-width:640px;justify-self:center;aspect-ratio:1/1.08}
.sv-stage-disc{position:absolute;inset:9% 6% 5%;border-radius:50%;background:radial-gradient(circle at 50% 42%,#fff 0,var(--accent-soft) 62%);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}
.sv-stage-disc::after{content:'';position:absolute;inset:-5%;border-radius:50%;border:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);animation:sv-orbit 60s linear infinite}
.sv-can{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y;opacity:0;transition:opacity .8s ease}
.sv-can:active{cursor:grabbing}
.sv-stage.is-ready .sv-can{opacity:1}
.sv-can-fallback{display:none;position:absolute;left:50%;top:50%;width:62%;transform:translate(-50%,-50%) rotate(-6deg);border-radius:18px;box-shadow:0 30px 50px -20px rgba(32,42,68,.4)}
.sv-stage.no-3d .sv-can{display:none}
.sv-stage.no-3d .sv-can-fallback{display:block}
.sv-chips{list-style:none;margin:0;padding:0}
.sv-chips li{position:absolute;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--card);box-shadow:0 8px 24px -12px rgba(32,42,68,.35),0 0 0 1px var(--line);font-family:var(--head);font-weight:600;font-size:clamp(14px,1.15vw,20px);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;animation:sv-float 6s ease-in-out infinite;animation-delay:calc(var(--i) * -1.2s)}
.sv-chips li::before{content:'';width:9px;height:9px;border-radius:50%;background:var(--accent)}
.sv-chips li:nth-child(1){left:0;top:16%}
.sv-chips li:nth-child(2){right:0;top:10%}
.sv-chips li:nth-child(3){right:-2%;top:52%}
.sv-chips li:nth-child(4){left:-2%;top:60%}
.sv-chips li:nth-child(5){right:12%;bottom:4%}
.sv-stage-hint{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);margin:0;font-family:var(--hand);font-size:17px;color:var(--muted);opacity:0;transition:opacity .6s ease .6s}
.sv-stage.is-ready .sv-stage-hint{opacity:1}

/* Steps */
.sv-steps .sv-section-head{margin-bottom:clamp(32px,4vw,64px)}
.sv-step-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(12px,1.2vw,20px)}
.sv-step-list li{position:relative;background:var(--card);border-radius:22px;padding:clamp(22px,2vw,32px);box-shadow:0 0 0 1px var(--line);overflow:hidden}
.sv-step-list li::before{content:'';position:absolute;inset:0 0 auto;height:6px;background:var(--accent)}
.sv-step-num{display:block;font-family:var(--head);font-weight:600;font-size:clamp(20px,1.6vw,26px);color:var(--accent-ink);opacity:.8}
.sv-step-list h3{font-size:clamp(26px,2.2vw,40px);line-height:1;margin:clamp(24px,3vw,56px) 0 12px}
.sv-step-list p{margin:0;color:var(--muted);font-size:clamp(15px,1.05vw,17px)}

/* Included + outcomes */
.sv-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,96px);align-items:start}
.sv-included h2{font-size:clamp(40px,4.6vw,88px);line-height:.9}
.sv-deliverables{list-style:none;margin:clamp(28px,3vw,48px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,3vw,48px)}
.sv-deliverables li{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-size:clamp(16px,1.2vw,19px);font-weight:500}
.sv-deliverables li::before{content:'↗';color:var(--accent-ink);font-weight:700}
.sv-outcomes{display:grid;gap:16px}
.sv-outcomes article{background:var(--accent-soft);border-radius:26px;padding:clamp(24px,2.4vw,40px);border-left:6px solid var(--accent)}
.sv-outcomes h3{font-size:clamp(26px,2.1vw,38px);line-height:1;color:var(--accent-ink)}
.sv-outcomes p{margin:10px 0 0;color:var(--fg)}

/* FAQ */
.sv-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,96px);align-items:start}
.sv-faq-list details{border-bottom:1px solid var(--line)}
.sv-faq-list details:first-child{border-top:1px solid var(--line)}
.sv-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer;list-style:none;font-weight:600;font-size:clamp(18px,1.45vw,24px)}
.sv-faq-list summary::-webkit-details-marker{display:none}
.sv-faq-list summary::after{content:'+';flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);font:400 26px/1 var(--body);transition:transform .3s ease}
.sv-faq-list details[open] summary::after{transform:rotate(45deg)}
.sv-faq-list details p{margin:0 0 26px;color:var(--muted);max-width:44rem;font-size:clamp(16px,1.15vw,19px)}

/* Other services */
.sv-more .sv-section-head{margin-bottom:clamp(28px,3vw,52px)}
/* Sub-services ("Specialty brews"): one card each, linkable by #anchor */
.sv-subs .sv-section-head{margin-bottom:clamp(28px,3vw,52px)}
.sv-sub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(16px,1.6vw,28px)}
.sv-sub{scroll-margin-top:110px;padding:clamp(24px,2.8vw,48px);border-radius:clamp(22px,2vw,34px);background:var(--accent-soft);border:1.5px solid color-mix(in srgb,var(--accent) 28%,transparent)}
.sv-sub-tag{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.sv .sv-sub h3{margin:18px 0 6px;font-size:clamp(36px,3.4vw,64px);line-height:.92}
.sv-sub .sv-sub-line{margin:0 0 16px;font-family:var(--hand);font-size:clamp(20px,1.6vw,26px);color:var(--accent-ink)}
.sv-sub p{margin:0;max-width:40rem}
.sv-sub .sv-deliverables{margin-top:clamp(18px,2vw,28px)}
.sv-sub:only-child .sv-deliverables{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px){.sv-sub:only-child .sv-deliverables{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sv-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,24px)}
.sv-more-card{position:relative;display:flex;flex-direction:column;min-height:clamp(240px,22vw,360px);padding:clamp(24px,2.2vw,36px);border-radius:26px;background:var(--card-soft);text-decoration:none;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.sv-more-card::before{content:'';position:absolute;inset:0 0 auto;height:8px;background:var(--card)}
.sv-more-card:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(32,42,68,.45)}
.sv-more-num{font-family:var(--head);font-weight:600;font-size:22px;opacity:.7}
.sv-more-card h3{font-size:clamp(30px,2.6vw,48px);line-height:.95;margin-top:auto}
.sv-more-card p{margin:10px 0 20px;color:var(--muted)}
.sv-more-go{display:inline-flex;align-items:center;gap:10px;font-family:var(--hand);font-size:21px}
.sv-more-go svg{width:20px;transition:transform .3s ease}
.sv-more-card:hover .sv-more-go svg{transform:translateX(5px)}


/* Reveal */
.sv-reveal-ready :is(.sv-section-head,.sv-step-list>li,.sv-deliverables,.sv-outcomes>article,.sv-faq-list,.sv-more-card,.ft-cta>*){opacity:0;transform:translateY(26px);transition:opacity .7s ease var(--d,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.sv-reveal-ready :is(.sv-section-head,.sv-step-list>li,.sv-deliverables,.sv-outcomes>article,.sv-faq-list,.sv-more-card,.ft-cta>*).is-in{opacity:1;transform:none}
.sv-reveal-ready .sv-more-card.is-in:hover{transform:translateY(-6px)}

@keyframes sv-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sv-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.sv-chips li,.sv-stage-disc::after{animation:none}html{scroll-behavior:auto}}

/* Tablet */
@media(max-width:1100px){
  .sv-step-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sv-split,.sv-faq{grid-template-columns:1fr}
}
/* Phone / small tablet */
@media(max-width:860px){
  .sv-hero{grid-template-columns:1fr;min-height:0;padding-top:110px;gap:36px}
  .sv-hero h1 .sv-h1-line{max-width:none}
  .sv-stage{max-width:440px}
  .sv-step-list{grid-template-columns:1fr 1fr}
  .sv-more-grid{grid-template-columns:1fr}
  .sv-more-card{min-height:200px}
}
@media(max-width:520px){
  body.sv{font-size:16px}
  .sv-step-list,.sv-deliverables,.sv-sub:only-child .sv-deliverables{grid-template-columns:1fr}
  .sv-step-list h3{margin-top:18px}
  .sv-chips li{font-size:13px;padding:6px 11px}
  .sv-chips li:nth-child(3){right:0}
  .sv-chips li:nth-child(4){left:0}
  .sv-actions{gap:16px 24px}
}

/* Site nav + full-screen menu, matching the homepage (same logo, Caveat
   MENU/CLOSE toggle, navy overlay with large Bebas Neue links and "Say hello"). */
/* Shared header spec: keep in sync with body > nav.fixed in rebrand.css (home). */
.ov-nav{position:fixed;inset:0 0 auto;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:1vw;padding:clamp(12px,1vw,20px) var(--site-gutter);pointer-events:none;background:rgba(255,249,240,.78);-webkit-backdrop-filter:blur(18px) saturate(120%);backdrop-filter:blur(18px) saturate(120%)}
.ov-open .ov-nav{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.ov-nav>*{pointer-events:auto}
.ov-nav-logo{display:inline-flex}
.ov-nav-logo img{display:block;height:2.2vw;min-height:30px;width:auto}
.ov-menu-btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;height:48px;border:0;border-radius:6px;cursor:pointer;background:var(--fg);color:#ECE2B1;font:clamp(18px,1.5vw,24px)/1 var(--hand);letter-spacing:-.04em;padding:0 clamp(18px,2vw,30px);transition:background-color .3s ease,color .3s ease}
.ov-menu-label{display:grid}
.ov-menu-label>span{grid-area:1/1;transition:transform .4s ease,opacity .4s ease}
.ov-menu-label>span:last-child{transform:translateY(130%);opacity:0}
.ov-open .ov-menu-btn{background:#ECE2B1;color:var(--fg)}
.ov-open .ov-menu-label>span:first-child{transform:translateY(-130%);opacity:0}
.ov-open .ov-menu-label>span:last-child{transform:none;opacity:1}
.ov-menu{position:fixed;inset:0;z-index:800;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6vw 3vw;background:radial-gradient(ellipse 45% 55% at 50% 22%,rgba(255,249,240,.1),transparent 70%),var(--fg);color:#ECE2B1;clip-path:circle(0% at calc(100% - 7vw) 3vw);visibility:hidden;transition:clip-path .8s cubic-bezier(.65,0,.35,1),visibility 0s linear .8s}
.ov-open .ov-menu{clip-path:circle(150% at calc(100% - 7vw) 3vw);visibility:visible;transition-delay:0s}
.ov-open{overflow:hidden}
.ov-menu-links{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ov-menu-links a{position:relative;display:block;overflow:hidden;padding:.04em .5vw .18em;margin-block:-.13em;font:400 min(8vw,13vh)/1 var(--head);letter-spacing:0;text-decoration:none;color:inherit}
.ov-menu-text,.ov-menu-fill{display:block;transform:translateY(110%);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.ov-menu-fill{position:absolute;inset:.04em .5vw .18em;color:var(--bg);clip-path:inset(0 100% 0 0);transition:transform .7s cubic-bezier(.2,.8,.2,1),clip-path .5s cubic-bezier(.65,0,.35,1)}
.ov-menu-links a:hover .ov-menu-fill,.ov-menu-links a:focus-visible .ov-menu-fill{clip-path:inset(0 0 0 0)}
.ov-open .ov-menu-text,.ov-open .ov-menu-fill{transform:none}
.ov-open .ov-menu-links a:nth-child(1) span{transition-delay:.25s}
.ov-open .ov-menu-links a:nth-child(2) span{transition-delay:.31s}
.ov-open .ov-menu-links a:nth-child(3) span{transition-delay:.37s}
.ov-open .ov-menu-links a:nth-child(4) span{transition-delay:.43s}
.ov-open .ov-menu-links a:nth-child(5) span{transition-delay:.49s}
.ov-menu-foot{display:flex;flex-direction:column;align-items:center;gap:.2vw;opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.ov-open .ov-menu-foot{opacity:1;transform:none;transition-delay:.5s}
.ov-menu-foot p{margin:0;font:1.45rem/1.2 var(--hand);color:#D7EDE5}
.ov-menu-mail{display:flex;align-items:center;gap:.8vw}
.ov-menu-mail a{font-size:1.3rem;letter-spacing:-.04em;text-decoration:none;transition:color .3s ease}
.ov-menu-mail a:hover{color:#D7EDE5}
.ov-copy{position:relative;display:grid;place-items:center;width:2vw;height:2vw;min-width:32px;min-height:32px;border:1px solid rgba(236,226,177,.4);border-radius:6px;background:transparent;color:#ECE2B1;cursor:pointer;transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .15s ease}
.ov-copy:hover{background:#ECE2B1;color:var(--fg);border-color:#D7EDE5}
.ov-copy:active{transform:scale(.9)}
.ov-copy svg{grid-area:1/1;width:55%;transition:transform .3s ease,opacity .3s ease}
.ov-copy svg:last-of-type{transform:scale(.5);opacity:0}
.ov-copy.is-copied svg:first-of-type{transform:scale(.5);opacity:0}
.ov-copy.is-copied svg:last-of-type{transform:none;opacity:1}
.ov-copy-tip{position:absolute;bottom:calc(100% + .5vw);left:50%;padding:.2vw .6vw;border-radius:6px;background:#D7EDE5;color:var(--fg);font:min(.9rem,2vh)/1.4 var(--hand);white-space:nowrap;pointer-events:none;opacity:0;transform:translate(-50%,.4vw);transition:opacity .3s ease,transform .3s ease}
.ov-copy.is-copied .ov-copy-tip{opacity:1;transform:translate(-50%,0)}
.ov-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ov-menu :focus-visible{outline-color:#ECE2B1}
@media(max-width:767.98px){
  .ov-nav-logo img{height:28px;min-height:0}
  .ov-menu{padding:8vh 5vw}
  .ov-menu-links a{font-size:min(15vw,13vh)}
  .ov-menu-foot p,.ov-menu-mail a{font-size:1.1rem}
  .ov-menu-mail{gap:8px}
}
@media(prefers-reduced-motion:reduce){.ov-menu,.ov-menu-text,.ov-menu-fill,.ov-menu-foot,.ov-menu-label>span{transition:none!important}}

/* Sub-page hero, matching the /services "Our Services" hero exactly: centred
   Caveat eyebrow, Bebas Neue 9rem title, Inter subtitle. rem values
   follow the site's root size (1.04167vw desktop) from the Next stylesheet. */
.pg-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12vw var(--site-gutter) 6vw;background:var(--bg);color:var(--fg)}
.pg-hero-eyebrow{margin:0 0 1vw;font-family:var(--hand);font-size:1.3rem;line-height:1.3;letter-spacing:-.04em}
.sv .pg-hero-title{width:100%;margin:0;font-family:var(--head);font-weight:400;font-size:9rem;line-height:.9;letter-spacing:0;text-transform:uppercase}
.pg-hero-sub{max-width:50vw;margin:1.5vw auto 0;font-family:var(--body);font-weight:500;font-size:1.45rem;line-height:1.2;letter-spacing:-.04em;opacity:.9}
.pg-hero>*{animation:pg-hero-in .9s cubic-bezier(.2,.7,.2,1) both}
.pg-hero>:nth-child(2){animation-delay:.08s}
.pg-hero>:nth-child(3){animation-delay:.16s}
/* Longer hero titles (a sentence rather than two words) step down in size. */
.sv .pg-hero-title-long{max-width:17ch;margin-inline:auto;font-size:6.2rem;line-height:.88}
@keyframes pg-hero-in{from{opacity:0;transform:translateY(24px)}}
@media(prefers-reduced-motion:reduce){.pg-hero>*{animation:none}}
@media(max-width:1025px){
  .pg-hero{padding-inline:var(--site-gutter)}
  .pg-hero-eyebrow{font-size:1.05rem}
  .sv .pg-hero-title{font-size:4.5rem}
  .pg-hero-sub{font-size:1.15rem}
  .sv .pg-hero-title-long{font-size:3.6rem}
}
@media(max-width:767.98px){
  .pg-hero{padding:28vw var(--site-gutter) 10vw}
  .pg-hero-eyebrow{margin-bottom:.75rem}
  .sv .pg-hero-title{font-size:14vw;line-height:.9}
  .sv .pg-hero-title-long{font-size:11vw}
  .pg-hero-sub{max-width:90vw;margin-top:1rem}
}

/* Taking action (service-page.js): pick-what-you-need list, quote tray,
   sub-service links, FAQ help card and the sticky quick-action bar. */
#enquiry{scroll-margin-top:0}
.sv-pick-hint{margin:clamp(14px,1.4vw,20px) 0 0;color:var(--muted);font-size:clamp(15px,1.05vw,17px)}
.sv-deliverables.is-picker{margin-top:clamp(16px,1.8vw,28px);row-gap:6px}
.sv-deliverables.is-picker li{display:block;padding:0;border:0}
.sv-deliverables.is-picker li::before{content:none}
.sv-pick{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);font:inherit;font-size:clamp(15px,1.1vw,18px);font-weight:500;line-height:1.3;text-align:left;color:inherit;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.sv-pick:hover{border-color:var(--accent);transform:translateY(-1px)}
.sv-pick[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--accent)}
.sv-pick-box{position:relative;flex:none;width:22px;height:22px;border:2px solid color-mix(in srgb,var(--accent) 70%,var(--fg));border-radius:7px;transition:background-color .2s ease}
.sv-pick-box::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .2s ease}
.sv-pick[aria-pressed="true"] .sv-pick-box{background:var(--accent);border-color:var(--accent)}
.sv-pick[aria-pressed="true"] .sv-pick-box::after{transform:rotate(45deg) scale(1)}
.sv-brief{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:clamp(18px,2vw,28px);padding:10px 10px 10px 22px;border-radius:999px;background:var(--card);box-shadow:0 0 0 1px var(--line),0 18px 36px -24px rgba(32,42,68,.5)}
.sv-brief-count{margin:0;font-weight:600}
.sv-brief:not(.has-picks) .sv-brief-count{font-weight:400;color:var(--muted)}
.sv-brief-clear{padding:6px 4px;border:0;background:none;font:inherit;font-size:15px;color:var(--muted);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.sv-brief:not(.has-picks) .sv-brief-clear{visibility:hidden}
.sv-brief .ov-btn{margin-left:auto}
.sv-sub-cta{display:inline-flex;align-items:center;gap:.5em;margin-top:clamp(20px,2vw,30px);padding:12px 20px;border-radius:999px;background:var(--fg);color:var(--bg)!important;font-weight:600;text-decoration:none;transition:background-color .25s ease}
.sv-sub-cta span{transition:transform .25s ease}
.sv-sub-cta:hover{background:color-mix(in srgb,var(--fg) 85%,var(--accent))}
.sv-sub-cta:hover span{transform:translateX(4px)}
.sv-ask{margin-top:clamp(24px,3vw,44px);padding:clamp(22px,2.2vw,34px);border-radius:24px;background:var(--accent-soft);border:1.5px solid color-mix(in srgb,var(--accent) 28%,transparent)}
.sv-ask-title{margin:0 0 6px;font-family:var(--head);font-size:clamp(28px,2.4vw,42px);line-height:1;text-transform:uppercase}
.sv-ask p{margin:0;color:var(--muted)}
.sv-ask .sv-ask-title{color:var(--fg)}
.sv-ask-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:18px}
.sv-ask-links a{font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:5px}
.sv-ask-links .sv-ask-main{padding:10px 18px;border-radius:999px;background:var(--fg);color:var(--bg)!important;text-decoration:none}
.sv-dock{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:700;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 32px);padding:8px 8px 8px 20px;border-radius:999px;background:var(--fg);color:var(--bg);box-shadow:0 20px 40px -18px rgba(32,42,68,.6);transform:translate(-50%,150%);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .3s ease}
.sv-dock.is-on{transform:translate(-50%,0);opacity:1}
.ov-open .sv-dock{opacity:0;pointer-events:none}
.sv-dock-name{display:flex;align-items:center;gap:10px;margin:0 6px 0 0;font-weight:600;font-size:15px;white-space:nowrap}
.sv-dock-dot{width:10px;height:10px;border-radius:50%;background:var(--accent)}
.sv-dock-count{padding:2px 9px;border-radius:999px;background:var(--accent);color:#fff;font-size:12px}
.sv-dock-call{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;color:var(--bg)!important;font-weight:600;font-size:15px;text-decoration:none;box-shadow:inset 0 0 0 1.5px rgba(255,249,240,.35)}
.sv-dock-call:hover{box-shadow:inset 0 0 0 1.5px var(--bg)}
.sv-dock-call svg{width:17px;height:17px}
.sv-dock :focus-visible{outline-color:#F6BE4F}
/* Steps read as a sequence: hover lifts the card and fills its number. */
.sv-step-list li{transition:transform .3s ease,box-shadow .3s ease}
.sv-step-list li:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--accent),0 22px 40px -28px rgba(32,42,68,.5)}
@media(prefers-reduced-motion:reduce){.sv-dock,.sv-pick,.sv-step-list li{transition:none}}
@media(max-width:860px){
  .sv-dock{left:16px;right:16px;width:auto;max-width:none;justify-content:space-between;transform:translateY(150%)}
  .sv-dock.is-on{transform:none}
  .sv-dock-name{display:none}
  .sv-dock-go{flex:1;justify-content:space-between}
  .site-footer{padding-bottom:0}
}
@media(max-width:520px){
  .sv-brief{border-radius:22px;padding:14px}
  .sv-brief .ov-btn{width:100%;margin-left:0}
}

/* Phones: small text links get a ~44px tap area without moving the layout. */
@media(max-width:767.98px){
  .ov-nav-logo,.sv-crumbs a,.sv-link,.ft-link,.sv-ask-links a:not(.sv-ask-main){position:relative}
  .ov-nav-logo::after,.sv-crumbs a::after,.sv-link::after,.ft-link::after,.sv-ask-links a:not(.sv-ask-main)::after{content:'';position:absolute;inset:-10px -6px}
}
