/* Layout: Clay (clay.global) design file, applied verbatim. Monochrome UI chrome, square corners, one pill CTA.
   Colour lives in the imagery, as Clay does it: glossy 3D-style renders (drawn as SVG) carry the palette. */
:root{
  color-scheme:light;
  --color-white:#ffffff;
  --color-gray-5:#f3f4f6;
  --color-gray-100:#e6e8eb;
  --color-gray-200:#cbd0d6;
  --color-gray-300:#b2b8c2;
  --color-gray-400:#989fab;
  --color-gray-500:#7f8694;
  --color-gray-600:#666c7a;
  --color-gray-700:#4e5361;
  --color-gray-800:#353945;
  --color-gray-850:#252833;
  --color-gray-900:#171921;
  --color-black:#06070a;
  --color-red-600:#cf3723;
  --color-blue-200:#e9e1cc;
  --color-blue-600:#0E0E0F;
  --color-header-white:#ffffff80;
  --color-header-dark:#17191f80;
  --r-coral:#CEAA32;
  --r-sun:#ffc54a;
  --r-mint:#b59a5b;
  --r-violet:#9aa1ad;
  --ph:#cf3723;
  --font-sans:"Inter Tight","Inter",Arial,sans-serif;
  --easeOutExpo:cubic-bezier(0.16,1,0.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--color-white);color:var(--color-black);font-family:var(--font-sans);font-weight:500;font-size:16px;line-height:1.4;letter-spacing:-.02em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--color-white)}
::selection{background:var(--color-blue-200)}
:focus-visible{outline:2px solid var(--color-blue-600);outline-offset:3px}
.on-dark :focus-visible,.hdr.dark :focus-visible,.mnav :focus-visible,.tier.feat :focus-visible{outline-color:#fff}
.tlink,.ftr-links a,.in{transition:text-decoration-color .2s ease}
@media (hover:hover){.tlink:hover,.ftr-links a:hover,.in:hover{text-decoration-color:currentColor}}
html{scrollbar-color:var(--color-gray-300) var(--color-gray-5)}
p{text-wrap:pretty}
a{color:inherit}
h1,h2,h3,h4{font-weight:750;margin:0;text-wrap:balance}
p{margin:0}
svg{max-width:100%}

.wrap{max-width:1400px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media (min-width:768px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
@media (min-width:1250px){.wrap{padding-left:max(75px,env(safe-area-inset-left,0px));padding-right:max(75px,env(safe-area-inset-right,0px))}}
@media (min-width:1900px){.wrap{max-width:1536px}}
section{padding-block:64px}
@media (min-width:1250px){section{padding-block:100px}}

.t-h1{font-size:40px;line-height:1.1;letter-spacing:-.04em;margin-left:-2px}
.t-h2{font-size:30px;line-height:1.1;letter-spacing:-.03em;margin-left:-1px}
.t-h3{font-size:20px;line-height:1.2;letter-spacing:-.02em}
.t-lead{font-size:18px;line-height:1.4;letter-spacing:-.01em;font-weight:500}
.t-body{font-size:16px;line-height:1.4;letter-spacing:-.02em}
.t-small{font-size:15px;line-height:1.35;letter-spacing:0}
.t-cap{font-size:14px;line-height:1.4;letter-spacing:0;color:var(--color-gray-600)}
@media (min-width:768px){.t-h1{font-size:52px}.t-h2{font-size:40px}.t-h3{font-size:30px}.t-lead{font-size:20px}.t-cap{font-size:16px}}
@media (min-width:1250px){.t-h1{font-size:74px}.t-h2{font-size:52px}.t-lead{font-size:28px}.t-body{font-size:20px;line-height:1.45}.t-small{font-size:18px}}
@media (min-width:1900px){.t-h1{font-size:80px}.t-h2{font-size:66px}.t-h3{font-size:38px}.t-lead{font-size:34px}}
.muted{color:var(--color-gray-600)}
.measure{max-width:620px}

.pill{display:inline-flex;align-items:center;gap:10px;background:var(--color-gray-900);color:#fff;text-decoration:none;font-weight:740;font-size:16px;padding:15px 21px 14px 20px;border-radius:999px;border:0;cursor:pointer;font-family:inherit;letter-spacing:0;transition:background .15s var(--easeOutExpo),color .15s var(--easeOutExpo)}
@media (min-width:1250px){.pill{font-size:18px}}
.pill:hover{background:var(--color-gray-800)}
.pill.inv{background:#fff;color:var(--color-black)}
.pill.inv:hover{background:var(--color-gray-100)}
.tlink{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:500;text-decoration:underline;text-decoration-color:var(--color-gray-200);text-decoration-thickness:1px;text-underline-offset:4px;letter-spacing:0;min-height:44px}
@media (min-width:1250px){.tlink{font-size:18px}}
.tlink svg{transition:transform .15s var(--easeOutExpo)}
.tlink:hover svg{transform:translateX(4px)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--color-blue-600);outline-offset:3px}
.on-dark a:focus-visible,.on-dark button:focus-visible,.on-dark summary:focus-visible{outline-color:var(--color-blue-200)}

/* Header */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;transition:background .3s var(--easeOutExpo),color .3s var(--easeOutExpo)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:84px;gap:24px}
@media (min-width:1250px){.hdr .wrap{height:110px}}
.hdr.dark{background:var(--color-header-dark);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff}
.hdr.dark .wrap{height:84px}
@media (min-width:1250px){.hdr.dark{margin-bottom:26px}} /* keeps page flow constant when the header compacts, so scroll-linked sections stay measured */
.hdr.dark .pill{background:#fff;color:var(--color-black)}
.hdr.dark .pill:hover{background:var(--color-gray-100)}
.hdr.dark .logo-mark{background:#fff;color:var(--color-black)}
.logo{display:flex;align-items:center;min-height:44px;gap:10px;text-decoration:none;font-weight:800;font-size:22px;letter-spacing:-.04em}
.logo-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--color-black);color:#fff;transition:background .3s,color .3s}
.nav{display:none;align-items:center;gap:27px}
.nav>a,.nav .dd>button{font-size:18px;line-height:26px;font-weight:500;text-decoration:none;padding:10px;background:none;border:0;color:inherit;font-family:inherit;cursor:pointer;letter-spacing:0}
@media (min-width:1400px){.nav{gap:37px}.nav>a,.nav .dd>button{font-size:20px}}
.nav>a:hover,.nav .dd>button:hover{opacity:.6}
.dd{position:relative}
.dd-menu{position:absolute;top:100%;left:0;margin-top:8px;background:var(--color-gray-900);padding:16px 0;min-width:380px;display:none}
.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}
.dd-menu::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.dd-menu a{display:block;color:#fff;padding:10px 24px;font-size:18px;text-decoration:none;letter-spacing:-.01em}
.dd-menu a:hover{color:var(--color-gray-400)}
.hdr-cta{display:none}
.burger{display:inline-flex;align-items:center;gap:12px;background:none;border:0;color:inherit;font:600 16px var(--font-sans);cursor:pointer;padding:10px 0;min-height:44px}
.burger i{display:block;width:22px;height:2px;background:currentColor;position:relative}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor}
.burger i::before{top:-7px}.burger i::after{top:7px}
.mnav{position:fixed;inset:0;z-index:80;background:var(--color-gray-900);color:#fff;overflow-y:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.mnav .top{display:flex;justify-content:space-between;align-items:center;height:84px}
.mnav .close{display:inline-flex;align-items:center;background:none;border:0;color:#fff;font:600 16px var(--font-sans);cursor:pointer;padding:10px 0;min-height:44px}
.mnav nav{display:grid;padding-block:16px 40px}
.mnav nav a{color:#fff;text-decoration:none;font-size:36px;font-weight:740;letter-spacing:-.03em;padding:8px 0}
.mnav nav a.pill{justify-self:start;margin-top:24px;font-size:16px;font-weight:740;letter-spacing:0;padding:15px 21px 14px 20px;color:var(--color-black)}
.mnav nav a.s{font-size:18px;font-weight:500;color:var(--color-gray-400);padding:6px 0 6px 2px;letter-spacing:-.01em}
.mnav .pill{margin-top:28px;justify-self:start}
@media (min-width:1150px){.nav{display:flex}.hdr-cta{display:inline-flex}.burger{display:none}}

/* Hero */
.hero{padding-bottom:0;padding-top:24px}
@media (min-width:1250px){.hero{padding-top:40px}}
.hero-top{display:grid;gap:32px}
@media (min-width:1100px){.hero-top{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:64px;align-items:end}}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--color-gray-600);font-size:15px;font-weight:500;letter-spacing:0}
@media (min-width:1250px){.eyebrow{font-size:18px}}
.eyebrow::before{display:none;content:"";width:8px;height:8px;border-radius:50%;background:var(--r-coral);flex:none}
.hero h1{margin-top:24px}
.hero h1 .g{color:var(--color-gray-500)}
.hero-side{display:grid;gap:20px}
.hero-side a.in{text-decoration:underline;text-decoration-color:var(--color-gray-200);text-underline-offset:4px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:32px}
.fine{margin-top:18px}
.hero-render{margin-top:56px;position:relative;background:var(--color-gray-5);overflow:hidden}
@media (min-width:1250px){.hero-render{margin-top:72px}}
.hero-render>svg{display:block;width:100%;height:clamp(420px,70vh,760px)}
@media (max-width:767px){.hero-render>svg{height:auto;min-height:360px}}
.live{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:16px 18px;display:grid;gap:10px;max-width:calc(100% - 32px)}
@media (min-width:768px){.live{left:32px;bottom:32px;padding:20px 24px;min-width:360px}}
@media (min-width:768px){.live{left:40px;bottom:40px;padding:20px 24px;gap:12px}}
@media (min-width:1250px){.live{left:max(75px,calc((100vw - 1400px)/2 + 75px));bottom:56px}}
.live-top{display:flex;justify-content:space-between;gap:16px;font-size:13px;color:var(--color-gray-600);letter-spacing:0}
.live-q{font-size:15px;font-weight:600}
@media (min-width:768px){.live-q{font-size:18px}}
.live-up svg{display:inline-block;width:10px;height:10px;min-height:0}
.live-up{color:#16805a;font-weight:700;font-size:14px;letter-spacing:0}
.live-grid{display:grid;grid-template-columns:repeat(4,auto);gap:4px 22px;border-top:1px solid var(--color-gray-100);padding-top:12px}
.live-grid b{display:block;font-size:22px;font-weight:750;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.live-grid span{font-size:12px;color:var(--color-gray-600);letter-spacing:0}
@media (max-width:520px){.live{position:static;max-width:none;background:#fff}.live-grid{grid-template-columns:repeat(2,auto)}}

/* Stat strip */
.stats{padding-block:0}
.stat-row{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--color-gray-100)}
@media (min-width:700px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.stat-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat{padding:28px 24px 28px 0;display:grid;gap:10px;align-content:start;border-bottom:1px solid var(--color-gray-100)}
@media (min-width:1100px){.stat{border-bottom:0;border-right:1px solid var(--color-gray-100);padding:36px 28px 0}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}}
.stat b{font-size:52px;line-height:1;letter-spacing:-.04em;font-weight:750;font-variant-numeric:tabular-nums}
@media (min-width:1250px){.stat b{font-size:74px}}
.stat p{max-width:300px}
.stat em{font-style:normal;color:var(--color-black);font-size:14px;letter-spacing:0;text-decoration:underline;text-decoration-color:var(--color-gray-200);text-underline-offset:4px}

/* Intro + services accordion */
.svc .wrap{display:grid;gap:40px}
@media (min-width:1100px){.svc .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px}}
.svc-intro{display:grid;gap:24px;align-content:start}
@media (min-width:1100px){.svc-intro{position:sticky;top:130px}}
.acc details{border-top:1px solid var(--color-gray-100)}
.acc details:last-child{border-bottom:1px solid var(--color-gray-100)}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}
.acc summary::-webkit-details-marker{display:none}
.acc summary .lab{display:flex;align-items:center;gap:16px}
.acc summary .dot{width:16px;height:16px;border-radius:50%;flex:none}
.acc .chev{flex:none;transition:transform .33s var(--easeOutExpo)}
.acc details[open] .chev{transform:rotate(180deg)}
.acc .panel{padding:0 0 28px 32px;display:grid;gap:18px;max-width:640px}

/* Work grid */
.work-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:40px}
.work-grid{display:grid;gap:56px 24px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.work{display:grid;gap:20px;align-content:start}
.work-img{position:relative;overflow:hidden;background:var(--color-gray-5)}
.work-img svg{display:block;width:100%;height:auto}
.work-meta{display:grid;gap:10px}
.nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--color-gray-100);padding-top:20px}
.nums b{display:block;font-size:34px;line-height:1;letter-spacing:-.04em;font-weight:750;font-variant-numeric:tabular-nums}
@media (min-width:1250px){.nums b{font-size:52px}}
@media (max-width:600px){.nums{gap:12px}.nums b{font-size:28px}}
.nums span{font-size:15px;color:var(--color-gray-600);letter-spacing:0}

/* Dark band */
.band{background:radial-gradient(60% 80% at 85% 20%,rgba(245,241,234,.18),transparent 60%),radial-gradient(40% 60% at 5% 100%,rgba(206,170,50,.14),transparent 60%),var(--color-gray-900);color:#fff}
.band .wrap{display:grid;gap:32px}
@media (min-width:1100px){.band .wrap{grid-template-columns:minmax(0,9fr) minmax(0,3fr);align-items:end;gap:64px}}
.band .eyebrow{color:var(--color-gray-400)}
.band blockquote{margin:24px 0 0}
.band blockquote p::before{content:"\201C"}
.band blockquote p::after{content:"\201D"}
.band-art svg{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}
@media (min-width:1000px){.band .wrap{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:64px}.band-art svg{max-width:420px}}

/* Process */
.proc-head{display:grid;gap:24px;margin-bottom:48px}
@media (min-width:1100px){.proc-head{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:80px}}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}}
@media (min-width:1250px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.step{border-top:1px solid var(--color-gray-100);padding:24px 0 40px;display:grid;gap:16px;align-content:start}
.step .n{font-size:52px;line-height:1;font-weight:750;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
@media (min-width:1250px){.step .n{font-size:74px}}
.step .n span{display:inline-block;width:12px;height:12px;border-radius:50%;margin-left:6px;vertical-align:top;margin-top:8px}
.step h3{font-size:20px;line-height:1.2;letter-spacing:-.02em}
@media (min-width:1250px){.step h3{font-size:24px}}

/* Case study */
.cs{background:var(--color-gray-5)}
.cs-head{display:grid;gap:24px;margin-bottom:40px}
@media (min-width:1100px){.cs-head{grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end;gap:64px}}
.cs-head h2{margin-top:20px}
.ph-note{font-size:14px;color:var(--color-gray-600);border-left:1px solid var(--ph);padding:4px 0 4px 14px;letter-spacing:0}
.ph{color:var(--ph);text-decoration:underline dashed;text-decoration-thickness:1px;text-underline-offset:4px;cursor:help}
.cs-img{position:relative;overflow:hidden;background:#fff}
.cs-img svg{display:block;width:100%;height:auto;min-height:300px}
.cs-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-bottom:1px solid var(--color-gray-200)}
@media (min-width:900px){.cs-meta{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cs-meta div{padding:20px 16px 20px 0;display:grid;gap:4px;min-width:0}
.cs-meta dt{font-size:14px;color:var(--color-gray-600);letter-spacing:0}
.cs-meta dd{margin:0;font-size:18px;font-weight:600}
.cs-body{display:grid;gap:48px;margin-top:56px}
@media (min-width:1100px){.cs-body{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px}}
.cs-col{display:grid;gap:18px;align-content:start}
.cs-col strong{color:var(--color-black);font-weight:600}
.cs-steps{list-style:none;margin:0;padding:0}
.cs-steps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:20px 0;border-top:1px solid var(--color-gray-200)}
.cs-steps li:last-child{border-bottom:1px solid var(--color-gray-200)}
.cs-steps .k{font-size:28px;font-weight:750;letter-spacing:-.04em;line-height:1}
.cs-steps b{display:block;font-size:18px;font-weight:700;margin-bottom:6px;letter-spacing:-.01em}
.chart{margin-top:64px;background:#fff;padding:24px}
@media (min-width:768px){.chart{padding:40px}}
.chart-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.chart-wrap{overflow-x:auto}
.chart-wrap svg{display:block;width:100%;height:auto}
@media (max-width:600px){.chart-wrap svg g[font-size="12"]{font-size:22px}.chart-wrap svg g[font-size="14"]{font-size:22px}}
.cs-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--color-black);margin-top:64px}
@media (min-width:900px){.cs-out{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cs-out div{padding:24px 16px 0 0;display:grid;gap:8px;align-content:start}
.cs-out b{font-size:44px;line-height:1;letter-spacing:-.04em;font-weight:750;font-variant-numeric:tabular-nums}
@media (min-width:1250px){.cs-out b{font-size:74px}}
.cs-cta{margin-top:48px;display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}

/* Pricing */
.price-head{display:grid;gap:24px;margin-bottom:48px}
@media (min-width:1100px){.price-head{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:end;gap:80px}}
.price-head h2{margin-top:20px}
.tiers{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.tiers{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tier{background:var(--color-gray-5);padding:40px;display:flex;flex-direction:column;gap:22px;position:relative;overflow:hidden}
.tier.feat{background:var(--color-gray-900);color:#fff}
.tier .tdot{width:12px;height:12px;border-radius:50%;flex:none}
.tier .amt.txt{font-size:40px}
@media (min-width:1250px){.tier .amt.txt{font-size:52px}}
.tier .name{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:740;letter-spacing:-.02em;position:relative}
.tier .badge{font-size:14px;font-weight:500;color:var(--color-gray-400);letter-spacing:0}
.tier .amt{font-size:52px;line-height:1;letter-spacing:-.04em;font-weight:750;font-variant-numeric:tabular-nums;position:relative}
@media (min-width:1250px){.tier .amt{font-size:64px}}
.tier .amt small{font-size:16px;font-weight:500;letter-spacing:0;color:var(--color-gray-600);margin-left:4px}
.tier.feat .amt small,.tier.feat .desc{color:var(--color-gray-400)}
.tier .desc{color:var(--color-gray-600);min-height:44px;letter-spacing:-.01em}
.tier ul{list-style:none;margin:0;padding:0;flex:1}
.tier li{padding:12px 0;border-top:1px solid var(--color-gray-200);font-size:16px;letter-spacing:-.01em}
.tier.feat li{border-color:var(--color-gray-800)}
.tier .pill{align-self:flex-start}

/* FAQ */
.faq{background:var(--color-gray-900);color:#fff}
.faq .wrap{display:grid;gap:40px}
@media (min-width:1100px){.faq .wrap{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px}}
.faq-intro{display:grid;gap:24px;align-content:start}
.faq .eyebrow{color:var(--color-gray-400)}
.faq-intro p{color:var(--color-gray-300)}
.faq-intro a{color:#fff;text-decoration-color:var(--color-gray-700);text-underline-offset:4px}
.faq details{border-top:1px solid var(--color-gray-800)}
.faq details:last-child{border-bottom:1px solid var(--color-gray-800)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:26px 0}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.02em}
@media (min-width:1250px){.faq summary h3{font-size:28px}}
.pm{flex:none;width:24px;height:24px;position:relative;margin-top:4px}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:1.5px;background:#fff;transform:translate(-50%,-50%);transition:transform .33s var(--easeOutExpo)}
.pm::after{transform:translate(-50%,-50%) rotate(90deg)}
details[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq details p{color:var(--color-gray-300);font-size:18px;line-height:1.5;padding:0 48px 28px 0;max-width:760px}

/* Footer */
.ftr{background:var(--color-gray-5);position:relative;overflow:hidden;padding-block:77px 35px}
.ftr::before{content:"";position:absolute;inset:auto auto -20% -10%;width:60%;aspect-ratio:1;max-width:100%;background:radial-gradient(closest-side,var(--color-gray-100),transparent);filter:blur(40px);transform:rotate(-35deg);pointer-events:none}
.ftr .wrap{position:relative;display:grid;gap:56px}
.ftr-main{display:grid;gap:48px}
@media (min-width:1100px){.ftr-main{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:80px;align-items:end}}
.ftr h2{margin-top:20px}
.form{display:grid;gap:14px}
.form label{font-size:15px;color:var(--color-gray-600);letter-spacing:0}
.field{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-bottom:1px solid var(--color-black);padding-bottom:14px}
.field input{flex:1 1 220px;min-width:0;border:0;background:transparent;font:500 22px var(--font-sans);letter-spacing:-.02em;color:var(--color-black);padding:8px 0;min-height:44px;outline:none;caret-color:var(--color-red-600)}
.field input::placeholder{color:var(--color-gray-600)}
.form .ok{color:#16805a;font-size:15px;letter-spacing:0}
.form .err{color:var(--ph);font-size:15px;letter-spacing:0}
.ftr-links{display:grid;gap:28px;border-top:1px solid var(--color-gray-200);padding-top:32px}
@media (min-width:900px){.ftr-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ftr-links h3{font-size:15px;font-weight:740;letter-spacing:0;margin-bottom:12px}
.ftr-links a,.ftr-links p{display:block;font-size:18px;line-height:1.6;letter-spacing:-.01em}
.ftr-links a{padding-block:8px;text-decoration:underline;text-decoration-color:var(--color-gray-200);text-underline-offset:4px}
.ftr-links p{color:var(--color-gray-600);font-size:15px}
.ftr-bot a{display:inline-block;padding-block:14px;margin-block:-14px}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:var(--color-gray-600);letter-spacing:0}

/* Mockup chrome */
.annot-btn{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;font:600 13px var(--font-sans);background:var(--color-black);color:#fff;border:0;padding:11px 18px;min-height:44px;border-radius:999px;cursor:pointer}
.annot-btn{right:auto;left:calc(16px + env(safe-area-inset-left,0px));opacity:.72;transition:opacity .2s ease,transform .16s var(--ease-out)}.annot-btn:hover,.annot-btn[aria-pressed="true"]{opacity:1}
body.annot h1,body.annot h2,body.annot h3{outline:1px dashed var(--ph);outline-offset:4px}
body.annot h1::before,body.annot h2::before,body.annot h3::before{font:600 11px var(--font-sans);letter-spacing:0;background:var(--ph);color:#fff;padding:2px 6px;margin-right:10px;vertical-align:middle;display:inline-block;line-height:1.4}
body.annot h1::before{content:"H1"}body.annot h2::before{content:"H2"}body.annot h3::before{content:"H3"}

/* Motion (GSAP drives entrances; CSS keeps the micro-interactions) */
:root{--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1)}
.progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--r-coral);transform:scaleX(0);transform-origin:0 50%;z-index:90;pointer-events:none}
.hdr{transition:background .3s var(--easeOutExpo),color .3s var(--easeOutExpo),transform .4s var(--ease-drawer)}
.hdr.hide{transform:translateY(-100%)}
.pill{transition:background .15s ease,transform .16s var(--ease-out)}
.pill:active,.annot-btn:active,.burger:active{transform:scale(.97)}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.wi{display:inline-block;will-change:transform}
.step{position:relative}
.step .bar{position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--color-black);transform:scaleX(0);transform-origin:0 50%}
.step .n span{transition:transform .5s var(--ease-out)}
.acc .panel,.faq details>p{overflow:hidden}
.work-img{clip-path:inset(0 0 0 0)}
html.m .hero h1,html.m .hero .eyebrow,html.m .hero-side>*,html.m .cta-row,html.m .hero .fine,html.m .hero-render{opacity:0}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress{display:none}.hdr.hide{transform:none}}

/* ===== Level-up: colour that means something, section highlighting, motion graphics ===== */
body{transition:background-color .9s var(--ease-out)}
.cs{background:transparent}
/* Nav shows where you are */
.nav>a{position:relative}
.nav>a::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--r-coral);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease-out)}
.nav>a.on::after{transform:scaleX(1)}
/* Stats: each figure carries its colour key */
.stat{position:relative}
.stat::before{content:"";position:absolute;top:-1px;left:0;width:64px;height:3px;background:var(--acc,var(--r-coral));transform:scaleX(var(--s,1));transform-origin:0 50%}
.stat:nth-child(1){--acc:var(--r-coral)}.stat:nth-child(2){--acc:var(--r-sun)}.stat:nth-child(3){--acc:var(--r-mint)}.stat:nth-child(4){--acc:var(--r-violet)}
@media (min-width:1100px){.stat:not(:first-child)::before{left:28px}}
/* Kinetic band */
.marquee{overflow:hidden;padding-block:36px;margin-top:24px;border-block:1px solid var(--color-gray-100)}
.mq-track{display:flex;align-items:center;gap:clamp(24px,3vw,48px);width:max-content;white-space:nowrap;will-change:transform}
.mq-track span{font-size:clamp(48px,8vw,120px);font-weight:750;letter-spacing:-.04em;line-height:1}
.mq-track span.o{color:transparent;-webkit-text-stroke:1.5px var(--color-gray-900)}
.mq-track i{width:clamp(18px,2.2vw,34px);aspect-ratio:1;border-radius:50%;flex:none}
/* Process: four coloured phases */
.proc{padding-bottom:64px}
.proc-meter{display:none}
.proc-track{list-style:none;margin:0 auto;padding:0 max(24px,env(safe-area-inset-left,0px));display:grid;gap:16px;max-width:1400px}
@media (min-width:768px){.proc-track{padding-inline:40px}}
.phase{background:var(--tint);padding:32px 24px;display:grid;gap:28px;align-content:start}
.phase-n{display:block;font-size:52px;line-height:1;font-weight:750;letter-spacing:-.04em;color:var(--acc-ink);font-variant-numeric:tabular-nums}
.phase h3{font-size:30px;line-height:1.1;letter-spacing:-.03em;margin:16px 0 14px}
.phase p{font-size:16px;line-height:1.5;color:var(--color-gray-800);max-width:520px;margin:0}
.phase-art svg{display:block;width:100%;height:auto}
@media (min-width:900px){.phase{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;padding:48px;gap:48px}.phase-n{font-size:74px}.phase h3{font-size:40px}}
.proc.h-scroll .proc-pin{height:100vh;display:flex;flex-direction:column;justify-content:center;gap:28px;overflow:hidden;box-sizing:border-box;padding-top:40px}
.proc.h-scroll .proc-meter{display:flex;align-items:center;gap:14px;font-variant-numeric:tabular-nums;width:100%;box-sizing:border-box}
.proc-meter .pm-fill{position:relative;width:180px;height:2px;background:var(--color-gray-100);overflow:hidden}
.proc-meter .pm-fill::after{content:"";position:absolute;inset:0;background:var(--color-black);transform:scaleX(var(--p,0));transform-origin:0 50%}
.proc-meter .pm-n{font-size:18px;font-weight:750}.proc-meter .pm-of{font-size:15px;color:var(--color-gray-600)}
.proc.h-scroll .proc-track{display:flex;gap:24px;width:max-content;max-width:none;margin:0;padding-inline:max(75px,calc((100vw - 1400px)/2 + 75px))}
.proc.h-scroll .phase{width:min(80vw,1180px);height:min(72vh,640px);box-sizing:border-box;padding:56px 64px;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-content:center}
.proc.h-scroll .phase-art svg{max-height:calc(min(72vh,640px) - 112px);margin-left:auto}
/* Results & case study use their own tinted grounds when highlighted */
/* Pricing: the featured plan breathes */
.tier.feat>*{position:relative}
.tier.feat::before{content:"";position:absolute;width:520px;height:520px;right:-220px;top:-240px;background:radial-gradient(closest-side,rgba(206,170,50,.42),transparent);animation:glow 10s ease-in-out infinite alternate;pointer-events:none}
@keyframes glow{to{transform:translate(-140px,120px)}}
/* Footer finale in colour */
.ftr::before{background:radial-gradient(closest-side,rgba(206,170,50,.20),transparent)}
.ftr::after{content:"";position:absolute;right:-12%;top:-30%;width:55%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(245,241,234,.55),transparent);filter:blur(30px);pointer-events:none}
.live-q .caret{display:inline-block;width:2px;height:1em;background:var(--color-black);vertical-align:-2px;margin-left:2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.tier.feat::before{animation:none}body{transition:none}}
.skip{position:fixed;left:16px;top:12px;z-index:100;background:var(--color-black);color:#fff;padding:12px 18px;border-radius:999px;transform:translateY(-200%);text-decoration:none;font-weight:600}
.skip:focus{transform:none}
section[id],footer[id]{scroll-margin-top:96px}
main:focus{outline:none}
/* ---------- Site navigation: mega menu, practice areas, mobile groups ---------- */
@media (min-width:1150px) and (max-width:1399px){.nav{gap:6px}.nav>a,.nav .dd>button{font-size:17px}}
@media (min-width:1400px){.nav{gap:14px}.nav>a,.nav .dd>button{font-size:18px}}
.nav .dd>button{display:inline-flex;align-items:center;gap:6px}
.ddchev{transition:transform .25s var(--ease-out,ease)}
.dd>button[aria-expanded="true"] .ddchev{transform:rotate(180deg)}
.nav>a[aria-current="page"]::after{transform:scaleX(1)}
.mega-dd{position:static}
.mega{position:absolute;left:0;right:0;top:100%;display:none;padding-top:8px}
.mega-dd:hover .mega,.mega-dd:focus-within .mega{display:block}
.mega-in{max-width:1250px;margin:0 auto;background:var(--color-gray-900);color:#fff;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 40px;padding:36px 44px 40px;box-shadow:0 30px 60px -20px rgba(6,7,10,.45)}
.mm-h{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gray-400);margin-bottom:10px;padding-bottom:12px;border-bottom:1px solid var(--color-gray-800)}
.mm-col a,.pa-menu a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:16px;line-height:1.3;padding:9px 0;letter-spacing:-.01em;transition:color .15s ease,transform .2s var(--ease-out,ease)}
.pa-menu a{padding:10px 24px}
.mm-col a i,.pa-menu a i{flex:none;width:8px;height:8px;border-radius:50%}
@media (hover:hover){.mm-col a:hover,.pa-menu a:hover{color:var(--color-gray-300);transform:translateX(3px)}}
.mm-col a[aria-current="page"],.pa-menu a[aria-current="page"]{color:#fff;text-decoration:underline;text-underline-offset:5px}
.pa-menu{min-width:300px}
.mnav nav>a,.mgrp summary{color:#fff;text-decoration:none;font-size:32px;font-weight:740;letter-spacing:-.03em;padding:8px 0}
.mgrp summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:44px}
.mgrp summary::-webkit-details-marker{display:none}
.mgrp summary::after{content:"+";font-weight:500;font-size:30px;color:var(--color-gray-400);transition:transform .25s var(--ease-out,ease)}
.mgrp[open] summary::after{transform:rotate(45deg)}
.mgrp>div{display:grid;padding:4px 0 16px}
.mgrp p.mh{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-gray-500);margin:14px 0 4px}
.mnav nav a.s{display:flex;align-items:center;gap:10px;min-height:40px}
.mnav nav a.s i{width:8px;height:8px;border-radius:50%;flex:none}
.mnav nav a[aria-current="page"]{color:#fff}

/* ---------- Footer sitemap ---------- */
.ftr-site{grid-template-columns:minmax(0,1fr)}
@media (min-width:700px){.ftr-site{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.ftr-site{grid-template-columns:minmax(0,2.2fr) repeat(3,minmax(0,1fr));gap:40px}}
.ftr-site a{font-size:16px;padding-block:6px;line-height:1.35}
@media (min-width:700px){.fl-serv{grid-column:1/-1}.fl-cols{columns:2;column-gap:32px}}
@media (min-width:1100px){.fl-serv{grid-column:auto}}
.fl-cols a{break-inside:avoid}

/* ---------- Home: every-service index ---------- */
.six-head{display:grid;gap:16px;max-width:900px}
.six-grid{display:grid;gap:1px;background:var(--color-gray-100);border:1px solid var(--color-gray-100);margin-top:48px}
@media (min-width:768px){.six-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1250px){.six-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.six-col{background:#fff;padding:28px 24px 20px;display:flex;flex-direction:column}
.six-col h3{font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gray-600);margin-bottom:12px}
.six-col a{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:17px;line-height:1.3;padding:10px 0;border-top:1px solid var(--color-gray-100);min-height:44px}
.six-col a:first-of-type{border-top:0}
.six-col a i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--acc)}
.six-col a svg{margin-left:auto;flex:none;opacity:.35;transition:transform .2s var(--ease-out,ease),opacity .2s ease}
@media (hover:hover){.six-col a:hover svg{opacity:1;transform:translateX(4px)}}
.dd.closed .dd-menu,.dd.closed .mega{display:none!important}
/* ---------- Inner pages ---------- */
body{transition:background-color .6s var(--ease-out,ease)}
main section{background:transparent}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;color:var(--color-gray-600);letter-spacing:0;margin-bottom:28px}
.crumbs a{text-decoration:underline;text-decoration-color:var(--color-gray-200);text-underline-offset:4px;padding-block:10px}
.crumbs [aria-current]{color:var(--color-black)}
.phero{padding-top:8px}
@media (min-width:1250px){.phero{padding-top:12px;padding-bottom:72px}}
.phero-grid{display:grid;gap:40px;align-items:start}
@media (min-width:1000px){.phero-grid{grid-template-columns:minmax(0,13fr) minmax(0,10fr);gap:72px}}
.phero .t-h1{font-size:clamp(32px,9vw,38px);line-height:1.12;letter-spacing:-.03em;font-weight:700;margin-left:-1px}
@media (min-width:768px){.phero .t-h1{font-size:46px}}
@media (min-width:1250px){.phero .t-h1{font-size:54px;line-height:1.1}}
@media (min-width:1900px){.phero .t-h1{font-size:60px}}
.phero-lead{margin-top:22px;color:var(--color-gray-700);max-width:620px}
@media (min-width:1250px){.phero .phero-lead,.phero .t-lead{font-size:21px;line-height:1.5}}
.upd{margin-top:22px;display:flex;align-items:center;gap:10px}
.upd::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none}
.kept{margin-top:6px;font-size:14px}
.phero-art{position:relative;aspect-ratio:560/460;overflow:hidden}
@media (min-width:1000px){.phero-art{margin-top:9px}}
@media (min-width:1250px){.phero-art{margin-top:10px}}
.phero-art svg{display:block;width:100%;height:100%}
@media (max-width:999px){.phero-art{max-width:560px;width:100%}}
.answer{margin-top:48px;background:var(--acc-tint);border-left:4px solid var(--acc);padding:24px 24px 26px;display:grid;gap:10px}
@media (min-width:768px){.answer{padding:30px 40px 32px;margin-top:64px}}
.answer-k{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--acc-ink)}
.answer-k i{width:8px;height:8px;border-radius:50%;background:var(--acc)}
.answer-t{font-size:19px;line-height:1.45;letter-spacing:-.01em;max-width:1000px}
@media (min-width:1250px){.answer-t{font-size:23px}}
main .stat:nth-child(1){--acc:var(--r-coral)}main .stat:nth-child(2){--acc:var(--r-sun)}main .stat:nth-child(3){--acc:var(--r-mint)}main .stat:nth-child(4){--acc:var(--r-violet)}
.stats-note{margin-top:20px}
@media (max-width:767px){.stat b{font-size:44px}}
@media (min-width:768px) and (max-width:1249px){.stat b{font-size:52px}}

/* Sections */
.sec-head{display:grid;gap:20px;max-width:960px}
.sec-intro{max-width:820px}
@media (min-width:1250px){.sec-intro{font-size:22px}}
.sec-prose{display:grid;gap:28px}
@media (min-width:1000px){.sec-prose{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px}}
.sec-prose .sec-intro{margin-top:20px}
.prose{display:grid;gap:20px;max-width:760px}
.prose p{font-size:18px;line-height:1.6;letter-spacing:-.01em;color:var(--color-gray-800)}
@media (min-width:1250px){.prose p{font-size:20px}}
.cards{list-style:none;margin:48px 0 0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.card{background:#fff;border:1px solid var(--color-gray-100);padding:28px 26px 30px;position:relative;transition:border-color .2s ease,transform .3s var(--ease-out,ease)}
.card::after{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:var(--acc);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--ease-out,ease)}
@media (hover:hover){.card:hover{transform:translateY(-3px)}.card:hover::after{transform:scaleX(1)}}
.cdot{display:block;width:14px;height:14px;border-radius:50%;background:var(--acc)}
.card h3{font-size:21px;line-height:1.2;letter-spacing:-.02em;margin:22px 0 10px}
.card p{font-size:16px;line-height:1.5;color:var(--color-gray-600);letter-spacing:-.005em}
.srows{list-style:none;margin:48px 0 0;padding:0;counter-reset:none}
.srow{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;padding:28px 0;border-top:1px solid var(--color-gray-200)}
.srow:last-child{border-bottom:1px solid var(--color-gray-200)}
@media (min-width:768px){.srow{grid-template-columns:120px minmax(0,1fr) ;gap:32px}}
.sn{font-size:34px;font-weight:750;letter-spacing:-.04em;line-height:1;color:var(--acc-ink);font-variant-numeric:tabular-nums}
@media (min-width:768px){.sn{font-size:52px}}
.srow h3{font-size:22px;line-height:1.2;letter-spacing:-.02em;margin-bottom:10px}
@media (min-width:1250px){.srow h3{font-size:26px}}
.srow p{font-size:17px;line-height:1.55;color:var(--color-gray-600);max-width:760px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.checks li{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--color-gray-200);font-size:18px;line-height:1.45}
.checks li:last-child{border-bottom:1px solid var(--color-gray-200)}
.checks svg{flex:none;margin-top:2px}
.cmp-wrap{margin-top:40px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cmp{width:100%;min-width:560px;border-collapse:collapse;font-size:17px;line-height:1.45}
.cmp th{text-align:left;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gray-600);padding:0 20px 14px 0;border-bottom:2px solid var(--color-black)}
.cmp th:last-child{color:var(--acc-ink)}
.cmp td{padding:18px 20px 18px 0;border-bottom:1px solid var(--color-gray-200);vertical-align:top;color:var(--color-gray-600);width:50%}
.cmp td:last-child{color:var(--color-black);font-weight:600}
@media (max-width:699px){.cmp-wrap{overflow:visible}.cmp{min-width:0;font-size:16px}.cmp thead{display:none}.cmp tr{display:grid;gap:10px;padding:18px 0;border-bottom:1px solid var(--color-gray-200)}.cmp td{display:block;width:auto;padding:0;border:0}.cmp td::before{content:attr(data-label);display:block;margin-bottom:4px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-gray-600)}.cmp td:last-child::before{color:var(--acc-ink)}.cmp tbody tr:first-child{border-top:2px solid var(--color-black)}}

/* Case band */
.case-band{background:var(--color-gray-900)!important;color:#fff}
.case-band .wrap{display:grid;gap:40px}
@media (min-width:1000px){.case-band .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}}
.case-band .eyebrow{color:var(--color-gray-400)}
.case-band .eyebrow::before{display:block;background:var(--acc)}
.case-band h2{margin-top:18px}
.cb-body{margin-top:20px;color:var(--color-gray-300);max-width:620px;line-height:1.5}
.case-band .tlink{color:#fff;margin-top:20px;text-decoration-color:var(--color-gray-600)}
.cb-mets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px}
.cb-mets>div{border-top:3px solid var(--acc);padding-top:18px;display:grid;gap:8px;align-content:start}
.cb-mets b{font-size:40px;line-height:1;letter-spacing:-.04em;font-weight:750;font-variant-numeric:tabular-nums}
@media (min-width:1250px){.cb-mets b{font-size:56px}}
.cb-mets span{font-size:15px;color:var(--color-gray-300);letter-spacing:0;line-height:1.4}
.on-dark .ph{color:#e0c46a}

/* FAQ + related */
.faq-grid{display:grid;gap:36px}
@media (min-width:1000px){.faq-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:80px}}
.page-faq .acc .panel{padding-left:0}
.page-faq .acc .panel p{line-height:1.55}
.t-h3.fq{font-size:19px;line-height:1.3}
@media (min-width:1250px){.t-h3.fq{font-size:23px}}
.related{padding-top:0}
.rels{display:grid;gap:12px;margin-top:24px;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.rel{position:relative;display:grid;gap:6px;align-content:start;padding:22px 52px 24px 22px;background:#fff;border:1px solid var(--color-gray-100);text-decoration:none;transition:border-color .2s ease,transform .3s var(--ease-out,ease)}
@media (hover:hover){.rel:hover{border-color:var(--acc);transform:translateY(-3px)}.rel:hover .rel-a{transform:translateX(4px)}}
.rel-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--acc);margin-bottom:10px}
.rel-g{font-size:13px;color:var(--color-gray-600);letter-spacing:0}
.rel-t{font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.02em}
.rel-a{position:absolute;right:22px;top:24px;transition:transform .2s var(--ease-out,ease)}

/* Case studies hub */
.cs-hero{max-width:1100px}
.ph-note{margin-top:24px;font-size:15px;line-height:1.5;color:var(--color-gray-600);max-width:820px;letter-spacing:0}
.study-toc{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.study-toc a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 18px;border:1px solid var(--color-gray-200);border-radius:999px;background:#fff;text-decoration:none;font-size:15px;letter-spacing:0;transition:border-color .2s ease}
.study-toc a:hover{border-color:var(--acc)}
.study-toc i{width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none}
.study{display:grid;gap:28px;padding-block:56px;border-top:1px solid var(--color-gray-200);scroll-margin-top:96px}
@media (min-width:1100px){.study{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:72px;padding-block:80px}}
.study-tag{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--acc-ink)}
.study-tag i{width:10px;height:10px;border-radius:50%;background:var(--acc)}
.study-meta dl{display:grid;gap:16px;margin:24px 0}
.study-meta dt{font-size:13px;color:var(--color-gray-600);letter-spacing:0}
.study-meta dd{margin:2px 0 0;font-size:17px;line-height:1.35}
@media (min-width:1100px){.study-meta{position:sticky;top:110px;align-self:start}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:13px;letter-spacing:0;background:var(--acc-tint);color:var(--acc-ink);padding:6px 12px;border-radius:999px;font-weight:600}
.study-h{margin-bottom:14px}
.kr{margin-top:32px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-gray-600)}
.kr-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:24px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:900px){.kr-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.kr-list li{border-top:3px solid var(--acc);padding-top:14px;display:grid;gap:6px;align-content:start}
.kr-list b{font-size:30px;line-height:1.05;letter-spacing:-.04em;font-weight:750;font-variant-numeric:tabular-nums}
@media (min-width:1250px){.kr-list b{font-size:38px}}
.kr-list span{font-size:15px;color:var(--color-gray-600);letter-spacing:0;line-height:1.35}
.study-cols{display:grid;gap:32px;margin-top:40px}
@media (min-width:900px){.study-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}}
.study-cols h3{font-size:20px;margin-bottom:12px}
.study-cols p{line-height:1.55}
.appr{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.appr li{position:relative;padding-left:22px;font-size:16px;line-height:1.5;color:var(--color-gray-700)}
.appr li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:var(--acc)}
.ph-flag{margin-top:28px;padding:14px 16px;background:var(--color-gray-5);font-size:14px}
.study-rel{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:16px}

/* Contact + audit */
.ct-grid{display:grid;gap:48px;align-items:start}
@media (min-width:1000px){.ct-grid{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:80px}}
.ct-grid .t-h1{margin-top:16px}
.ct-facts{display:grid;gap:18px;margin:36px 0 24px}
.ct-facts dt{font-size:14px;color:var(--color-gray-600);letter-spacing:0}
.ct-facts dd{margin:4px 0 0;font-size:19px}
.ct-facts a.in{text-decoration:underline;text-decoration-color:var(--color-gray-300);text-underline-offset:4px;overflow-wrap:anywhere}
.lead-form{display:grid;gap:6px;background:var(--color-gray-5);padding:28px 24px 32px;border-top:3px solid var(--acc)}
@media (min-width:768px){.lead-form{padding:36px 40px 40px}}
.lead-form label{font-size:14px;color:var(--color-gray-600);letter-spacing:0;margin-top:14px}
.lead-form label:first-child{margin-top:0}
.lead-form input,.lead-form textarea{width:100%;font:500 18px var(--font-sans);letter-spacing:-.01em;color:var(--color-black);background:transparent;border:0;border-bottom:1px solid var(--color-gray-400);padding:10px 0;min-height:44px;border-radius:0;outline:none;transition:border-color .2s ease}
.lead-form textarea{resize:vertical;min-height:96px}
.lead-form input:focus,.lead-form textarea:focus{border-bottom-color:var(--color-black);box-shadow:0 1px 0 var(--color-black)}
.lead-form input[aria-invalid="true"]{border-bottom-color:var(--ph)}
.tel{display:flex;align-items:center;gap:10px}
.tel span{font-size:18px;color:var(--color-gray-600);padding-bottom:1px}
.lead-form .pill{justify-self:start;margin-top:24px}
.lead-form .ok{color:#16805a;font-size:15px;margin-top:10px}
.lead-form .err{color:var(--ph);font-size:15px;margin-top:10px}

/* Motion start states (only when GSAP will play them) */
html.m .phero-copy>*,html.m .phero-art,html.m .answer{opacity:0}
@media (prefers-reduced-motion:reduce){body{transition:none}.card,.rel{transition:none}}
@media (min-width:768px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.cards{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}}

/* Services hub */
.svc-group{padding-top:0}
.svc-grid{display:grid;gap:12px;margin-top:32px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.svc-card{position:relative;display:grid;gap:8px;align-content:start;padding:24px 52px 26px 24px;background:#fff;border:1px solid var(--color-gray-100);text-decoration:none;transition:border-color .2s ease,transform .3s var(--ease-out,ease)}
@media (hover:hover){.svc-card:hover{border-color:var(--acc);transform:translateY(-3px)}.svc-card:hover .rel-a{transform:translateX(4px)}}
.svc-t{font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.02em}
.svc-d{font-size:15px;line-height:1.45;color:var(--color-gray-600);letter-spacing:0}

/* Privacy */
.pp-meta{margin-top:20px;font-size:16px;color:var(--color-gray-600);letter-spacing:0;line-height:1.5}
.pp-grid{display:grid;gap:40px}
@media (min-width:1000px){.pp-grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:80px}}
.pp-toc{display:grid;gap:2px;align-content:start}
@media (min-width:1000px){.pp-toc{position:sticky;top:110px;align-self:start}}
.pp-toc-h{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-gray-600);margin-bottom:10px}
.pp-toc a{font-size:16px;text-decoration:none;color:var(--color-gray-700);padding:8px 0;border-top:1px solid var(--color-gray-100);letter-spacing:-.01em}
.pp-toc a:hover{color:var(--color-black)}
.pp-sec{padding:28px 0;border-top:1px solid var(--color-gray-200);scroll-margin-top:110px}
.pp-sec:first-child{border-top:0;padding-top:0}
.pp-h{font-size:24px;line-height:1.2;letter-spacing:-.02em}
@media (min-width:1250px){.pp-h{font-size:28px}}
.pp-body{margin-top:12px;display:grid;gap:14px;max-width:760px}
.pp-body p,.pp-list li{font-size:18px;line-height:1.6;color:var(--color-gray-800);letter-spacing:-.01em}
.pp-list{margin:0;padding-left:22px;display:grid;gap:8px}
.post-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;color:var(--color-gray-600,#666c7a);font-size:15px}
.post-wrap{display:grid;gap:40px}
@media (min-width:1000px){.post-wrap{grid-template-columns:minmax(0,1fr) 260px;gap:80px;align-items:start}}
.post{display:grid;gap:44px;max-width:760px}
.post h2{font-size:26px;line-height:1.15;letter-spacing:-.025em;margin-bottom:14px}
@media (min-width:768px){.post h2{font-size:32px}}
.post .prose{gap:18px}
.post-sec{scroll-margin-top:110px}
.post-body{padding-top:56px}
@media (min-width:1000px){.post-body{padding-top:80px}}
.sec-ans{font-size:19px;line-height:1.5;letter-spacing:-.01em;padding:14px 0 14px 18px;border-left:3px solid var(--acc);margin:4px 0 18px;color:var(--color-black)}
.sec-ans b{font-weight:700}
.aio{margin-top:48px;padding:26px 22px 28px;background:linear-gradient(180deg,var(--acc-tint),#fff 85%);border:1px solid var(--color-gray-100);border-top:3px solid var(--acc);display:grid;gap:18px}
@media (min-width:768px){.aio{padding:34px 40px 38px;margin-top:64px}}
.aio-k{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:0;color:var(--acc-ink)}
.aio-t{font-size:20px;line-height:1.5;letter-spacing:-.015em;max-width:980px}
@media (min-width:1250px){.aio-t{font-size:23px}}
.aio-grid{display:grid;gap:24px;padding-top:20px;border-top:1px solid var(--color-gray-100)}
@media (min-width:1000px){.aio-jump{display:none}.aio-list{grid-template-columns:1fr 1fr;gap:12px 48px}}
.aio-h{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-gray-600);margin-bottom:12px}
.aio-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.aio-list li{position:relative;padding-left:22px;font-size:17px;line-height:1.5}
.aio-list li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--acc)}
.aio-list b{font-weight:700}
.aio-src{display:grid;gap:8px}
.aio-src a{display:flex;gap:12px;align-items:baseline;padding:10px 14px;background:#fff;border:1px solid var(--color-gray-100);text-decoration:none;color:inherit;font-size:15px;line-height:1.35;font-weight:600;transition:border-color .2s ease}
.aio-src a span{font-size:13px;color:var(--acc-ink);font-variant-numeric:tabular-nums}
@media (hover:hover){.aio-src a:hover{border-color:var(--acc)}}

.post-aside{position:sticky;top:100px;display:grid;gap:20px}
.post-toc ol{list-style:none;padding:0;margin:0;display:grid;gap:2px;counter-reset:t}
.post-toc li{counter-increment:t}
.post-toc a{display:flex;gap:10px;padding:7px 0;font-size:15px;line-height:1.35;color:var(--color-gray-700);text-decoration:none;transition:color .2s ease}
.post-toc a::before{content:counter(t,decimal-leading-zero);font-size:12px;color:var(--color-gray-400);padding-top:2px;font-variant-numeric:tabular-nums}
.post-toc a.on,.post-toc a:hover{color:var(--color-black)}
.post-toc a.on::before{color:var(--acc-ink)}
.post-cta{background:var(--color-gray-900);color:#fff;padding:26px 24px 24px;display:grid;gap:12px}
.post-cta .cta-k{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--acc)}
.post-cta h3{font-size:22px;line-height:1.2;letter-spacing:-.02em;color:#fff}
.post-cta p{font-size:15px;line-height:1.5;color:var(--color-gray-300)}
.post-cta .pill{background:#fff;color:var(--color-gray-900);justify-content:center;white-space:nowrap;margin-top:6px}
@media (hover:hover){.post-cta .pill:hover{background:var(--acc);color:var(--color-gray-900)}}
.post-cta .cta-fine{font-size:13px;color:var(--color-gray-400)}
.post-cta-inline{display:none}
@media (max-width:999px){.post-aside{display:none}.post-cta-inline{display:grid;padding:30px 24px 28px}.post-cta-inline h3{font-size:24px}.post-cta-inline p{font-size:17px}.post-cta-inline .cta-fine{font-size:14px}}
.blog-grid{display:grid;gap:16px;margin-top:32px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}
.post-card{position:relative;display:grid;gap:12px;align-content:start;padding:28px 28px 30px;background:#fff;border:1px solid var(--color-gray-100,#eceef1);text-decoration:none;color:inherit;transition:border-color .2s ease,transform .3s var(--ease-out,ease)}
.post-card .pc-tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--acc-ink,#7a5f12)}
.post-card .pc-tag i{width:8px;height:8px;border-radius:50%;background:var(--acc)}
.post-card h3{font-size:24px;line-height:1.15;letter-spacing:-.02em}
.post-card p{font-size:16px;line-height:1.5;color:var(--color-gray-700,#4a4f5a)}
.post-card .pc-meta{font-size:14px;color:var(--color-gray-600,#666c7a)}
@media (hover:hover){.post-card:hover{border-color:var(--acc);transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.post-card{transition:none}}

/* Mobile reading sizes: nothing a visitor reads drops below 15px, body copy sits at 17px */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (max-width:767px){
body{font-size:17px}
.t-body,.t-small,p.t-small,.prose p,.panel p,.faq details p,.post-aside p,.tier li,.post-card p{font-size:17px;line-height:1.55}
.t-lead{font-size:19px;line-height:1.45}
.t-cap,.eyebrow,.post-meta,.cs-meta dt,.nums span,.stat em,p.fine,.badge,.tier .badge,.crumbs,.crumbs a,.crumbs span,.live-up,.post-card .pc-meta{font-size:15px}
.live-q,.live-top,.answer-k,.rel-g,.ftr-bot,.ftr-bot a,.ftr-bot span,.post-card .pc-tag,.pc-tag{font-size:14px}
.live-grid span{font-size:13px}
.answer-t{font-size:19px}
label,.field label,form label,.lead-form label{font-size:16px}
.card p{font-size:17px}
.fl-serv h3,.fl-cols a,.ftr a{font-size:16px}
.tlink,.pill{font-size:17px}
}
/* ---------- Brand layer: CaseAuthority gold on Case Black, plus one section rhythm ---------- */
:root{--ca-gold:#CEAA32;--ca-black:#0E0E0F;--ca-cream:#F5F1EA;--ca-panel:#161618;--color-gray-900:#0E0E0F;--sec:48px;--sec-band:64px;
  --ca-wm:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 40 128 176'%3E%3Cpath fill='%23CEAA32' d='M152 40 H192 V216 H152 V120 L104 216 H64 Z'/%3E%3C/svg%3E")}
@media (min-width:768px){:root{--sec:60px;--sec-band:80px}}
@media (min-width:1250px){:root{--sec:72px;--sec-band:96px}}

/* Section rhythm: every white-to-white gap is 2 x --sec, every coloured band gets --sec-band inside */
section{padding-block:var(--sec)}
.stats{padding-block:0 var(--sec)}
.related{padding-top:var(--sec)}
.on-dark,.band,.case-band{padding-block:var(--sec-band)}
.ftr{padding-top:var(--sec-band)}

/* Logo lockup in the header, mobile menu and footer */
.logo{color:var(--ca-black);gap:0}
.logo-svg{display:block;height:26px;width:auto}
@media (min-width:1250px){.logo-svg{height:32px}}
.hdr.dark .logo,.mnav .logo{color:var(--ca-cream)}
.ftr-brand{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 32px;border-top:1px solid var(--color-gray-200);padding-top:32px}
.ftr-brand+.ftr-links{border-top:0;padding-top:0}
.ftr-logo{display:block;color:var(--ca-black)}
.ftr-logo .logo-svg{height:28px}
.ftr-brand p{font-size:15px;color:var(--color-gray-600);letter-spacing:0}
.ca-sym{display:block;flex:none;height:16px;width:auto}

/* Gold accents */
::selection{background:rgba(206,170,50,.32)}
.progress{background:var(--ca-gold)}
.mm-h,.mnav .mh{color:var(--ca-gold)}
.band{background:radial-gradient(60% 80% at 85% 20%,rgba(206,170,50,.16),transparent 60%),radial-gradient(40% 60% at 5% 100%,rgba(245,241,234,.07),transparent 60%),var(--ca-black)}
.case-band{--acc:var(--ca-gold)}

/* Buttons: Case Black by default, gold for the conversion CTAs */
@media (hover:hover){.pill:hover{background:var(--ca-gold);color:var(--ca-black)}}
.hdr-cta,.hdr.dark .hdr-cta,.mnav .pill.inv,.ftr .form .pill{background:var(--ca-gold);color:var(--ca-black)}
@media (hover:hover){.hdr-cta:hover,.hdr.dark .hdr-cta:hover,.ftr .form .pill:hover{background:var(--ca-black);color:var(--ca-cream)}.mnav .pill.inv:hover{background:var(--ca-cream);color:var(--ca-black)}}
.field input{caret-color:var(--ca-black)}

/* Contact and audit forms: branded dark panel */
.lead-form{position:relative;overflow:hidden;background:var(--ca-black);color:var(--ca-cream);border-top:3px solid var(--ca-gold);padding:30px 24px 28px}
@media (min-width:768px){.lead-form{padding:40px 40px 34px}}
.lead-form::after,.hero-form::after{content:"";position:absolute;right:-30px;bottom:-40px;width:170px;height:234px;background:var(--ca-wm) no-repeat center/contain;opacity:.06;pointer-events:none}
.lead-form>*,.hero-form>*{position:relative;z-index:1}
.lf-k,.hero-form .hf-k{display:flex;align-items:center;gap:10px;margin:0;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ca-gold)}
.lf-t{margin:12px 0 8px;font-size:26px;line-height:1.15;font-weight:750;letter-spacing:-.03em;color:var(--ca-cream)}
@media (min-width:1250px){.lf-t{font-size:30px}}
.lead-form label{color:rgba(245,241,234,.72)}
.lead-form input,.lead-form textarea{color:var(--ca-cream);border-bottom-color:rgba(245,241,234,.28);caret-color:var(--ca-gold)}
.lead-form input::placeholder,.lead-form textarea::placeholder{color:rgba(245,241,234,.42)}
.lead-form input:focus,.lead-form textarea:focus{border-bottom-color:var(--ca-gold);box-shadow:0 1px 0 var(--ca-gold)}
.lead-form input[aria-invalid="true"]{border-bottom-color:#ff9d88}
.lead-form input:-webkit-autofill{-webkit-text-fill-color:var(--ca-cream);-webkit-box-shadow:0 0 0 40px var(--ca-black) inset}
.lead-form .tel span{color:rgba(245,241,234,.6)}
.lead-form .lf-btn{justify-self:stretch;justify-content:center;min-height:54px;margin-top:28px;background:var(--ca-gold);color:var(--ca-black)}
@media (hover:hover){.lead-form .lf-btn:hover{background:var(--ca-cream);color:var(--ca-black)}}
.lf-fine{margin-top:8px;font-size:14px;letter-spacing:0;text-align:center;color:rgba(245,241,234,.6)}
.lead-form .ok{color:#7fe0bd}
.lead-form .err{color:#ff9d88}
.lead-form :focus-visible{outline-color:var(--ca-gold)}

/* Home hero audit form: same panel */
.hero-form{position:relative;overflow:hidden;background:var(--ca-black);color:var(--ca-cream);border:0;border-top:3px solid var(--ca-gold);box-shadow:0 30px 60px -30px rgba(14,14,15,.45)}
.hero-form .ca-sym{height:15px}
.hero-form .hf-t{color:var(--ca-cream)}
.hero-form .hf-list li{color:rgba(245,241,234,.8)}
.hero-form .hf-list svg{color:var(--ca-gold)}
.hero-form .hf-field span{color:rgba(245,241,234,.72)}
.hero-form .hf-field input{background:var(--ca-panel);border-color:rgba(245,241,234,.16);color:var(--ca-cream);caret-color:var(--ca-gold)}
.hero-form .hf-field input::placeholder{color:rgba(245,241,234,.42)}
.hero-form .hf-field input:focus{border-color:var(--ca-gold);box-shadow:0 0 0 3px rgba(206,170,50,.22)}
.hero-form .hf-field input[aria-invalid="true"]{border-color:#ff9d88}
.hero-form .hf-field input:-webkit-autofill{-webkit-text-fill-color:var(--ca-cream);-webkit-box-shadow:0 0 0 40px var(--ca-panel) inset}
.hero-form .hf-btn{background:var(--ca-gold);color:var(--ca-black)}
@media (hover:hover){.hero-form .hf-btn:hover{background:var(--ca-cream);color:var(--ca-black)}}
.hero-form .hf-err{color:#ff9d88}
.hero-form .hf-fine{color:rgba(245,241,234,.6)}
.hero-form :focus-visible{outline-color:var(--ca-gold)}

/* Footer: glows sit behind the content (they used to wash over the form button), tinted gold */
.ftr .wrap{z-index:1}
.ftr::before{background:radial-gradient(closest-side,rgba(206,170,50,.16),transparent)}
.ftr::after{background:radial-gradient(closest-side,rgba(206,170,50,.20),transparent);z-index:0}
.tier.feat::before{background:radial-gradient(closest-side,rgba(206,170,50,.34),transparent)}
/* Blog article CTA: same branded panel as the forms */
.post-cta{position:relative;overflow:hidden;background:var(--ca-black);border-top:3px solid var(--ca-gold)}
.post-cta::after{content:"";position:absolute;right:-24px;bottom:-34px;width:120px;height:165px;background:var(--ca-wm) no-repeat center/contain;opacity:.07;pointer-events:none}
.post-cta>*{position:relative;z-index:1}
.post-cta .cta-k{display:flex;align-items:center;gap:9px;letter-spacing:.14em;color:var(--ca-gold)}
.post-cta .cta-k .ca-sym{height:14px}
.post-cta h3{color:var(--ca-cream)}
.post-cta p{color:rgba(245,241,234,.72)}
.post-cta .cta-fine{color:rgba(245,241,234,.55)}
.post-cta .pill{background:var(--ca-gold);color:var(--ca-black)}
@media (hover:hover){.post-cta .pill:hover{background:var(--ca-cream);color:var(--ca-black)}}
/* Gold buttons carry white text (Mash's call) */
.hdr-cta,.hdr.dark .hdr-cta,.mnav .pill.inv,.ftr .form .pill,.lead-form .lf-btn,.hero-form .hf-btn,.post-cta .pill{color:#fff}
@media (hover:hover){.pill:hover{color:#fff}}
/* Header stays on screen while scrolling (Mash's call), and the Services mega menu stays open on hover */
.hdr.hide{transform:none}
.mega-dd>button{position:relative}
.mega-dd>button::after{content:"";position:absolute;left:-10px;right:-10px;top:100%;height:44px}
/* ===== Round 3 (Mash's feedback): lighter headings, Clay header, calmer home ===== */
h1,h2,h3,h4,.phero .t-h1{font-weight:500}
.t-h1{letter-spacing:-.03em}.t-h2{letter-spacing:-.025em}
.rel-t,.svc-t,.hf-t,.lf-t,.tier .name{font-weight:500}
.stat b,.nums b,.cs-out b,.tier .amt,.cb-mets b,.kr-list b,.sn,.phase-n,.step .n,.cs-steps .k{font-weight:600}
.w{padding:.06em .1em .14em;margin:-.06em -.1em -.14em}

/* Header, measured from Clay.global: logo left, links grouped right, frosted white bar on scroll */
.hdr{transition:background-color .8s cubic-bezier(.19,1,.22,1),-webkit-backdrop-filter .8s cubic-bezier(.19,1,.22,1),backdrop-filter .8s cubic-bezier(.19,1,.22,1)}
.hdr .wrap,.hdr.dark .wrap{justify-content:flex-start;gap:0;height:64px}
@media (min-width:768px){.hdr .wrap,.hdr.dark .wrap{height:84px}}
@media (min-width:1250px){.hdr .wrap,.hdr.dark .wrap{height:110px}.hdr.dark{margin-bottom:0}}
.hdr.dark{background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--ca-black)}
.hdr.dark .logo{color:var(--ca-black)}
@media (max-width:767px){.hdr .logo-svg{height:22px}}
.nav{margin-left:auto;gap:0}
.nav>a,.nav .dd>button{position:relative;font-size:16px;line-height:26px;font-weight:500;padding:10px;letter-spacing:0}
@media (min-width:1300px){.nav{gap:4px}.nav>a,.nav .dd>button{font-size:18px}}
@media (min-width:1440px){.nav{gap:17px}.nav>a,.nav .dd>button{font-size:20px}}
.nav>a:hover,.nav .dd>button:hover{opacity:1}
.nav>a::after{display:none}
.nav .nl{position:relative;display:inline-block}
.nav .nl::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.19,1,.22,1)}
@media (hover:hover){.nav>a:hover .nl::after,.nav .dd:hover .nl::after{transform:scaleX(1)}}
.nav>a[aria-current="page"] .nl::after,.nav>a.on .nl::after,.nav .dd>button[aria-expanded="true"] .nl::after{transform:scaleX(1)}
.ddchev{color:#9aa0aa}
.hdr-cta{display:inline-flex;margin-left:auto;font-size:14px;padding:12px 17px 12px 16px;line-height:1.2}
@media (min-width:1150px){.hdr-cta{margin-left:16px;font-size:16px;padding:14px 20px 13px 19px}}
@media (min-width:1440px){.hdr-cta{font-size:18px;padding:15px 21px 14px 20px;line-height:1.4}}
.burger{margin-left:12px;width:40px;height:40px;min-height:40px;padding:0;justify-content:center}
.burger i{width:24px;height:1.5px;background:none}
.burger i::before,.burger i::after{width:24px;height:1.5px}
.burger i::before{top:-4px}.burger i::after{top:4px}
/* Dropdowns: Clay's dark panel */
.mega{top:calc(50% + 31px);padding-top:0}
.mega-in{max-width:1290px;background:#171921;border-radius:4px;padding:40px;gap:4px 40px;box-shadow:none}
.mm-h{font-size:15px;font-weight:500;letter-spacing:0;text-transform:none;border-bottom:0;padding-bottom:0;margin-bottom:8px}
.mm-col a,.pa-menu a{font-size:18px;font-weight:500;line-height:26px;padding:5px 0;gap:0;color:#fff}
@media (hover:hover){.mm-col a:hover,.pa-menu a:hover{transform:none;color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}}
.mm-all{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:10px;margin-top:28px;color:#fff;font-size:18px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;text-decoration-color:rgba(255,255,255,.4)}
.dd-menu.pa-menu{left:-30px;background:#171921;border-radius:4px;padding:40px;min-width:300px}
@media (min-width:1440px){.mm-col a,.pa-menu a,.mm-all{font-size:20px}}
/* Mobile menu: full-screen dark, big links, contact at the foot */
.mnav{background:#171921}
.mnav .top{height:64px;gap:12px}
.mnav .top .logo{margin-right:auto}
@media (max-width:767px){.mnav .logo-svg{height:22px}}
@media (min-width:768px){.mnav .top{height:84px}}
.mnav .mnav-cta{font-size:14px;padding:12px 17px 12px 16px;margin:0;line-height:1.2;background:var(--ca-gold);color:#fff}
.mnav .close{width:40px;height:40px;min-height:40px;justify-content:center;padding:0}
.mnav nav{padding-block:24px 32px}
.mnav nav>a,.mgrp summary{font-size:28px;font-weight:600;letter-spacing:-.02em;padding:7px 0;line-height:1.3}
.mgrp summary{justify-content:flex-start;gap:14px}
.mgrp summary::after{content:"";width:9px;height:9px;border-right:1.6px solid #9aa0aa;border-bottom:1.6px solid #9aa0aa;transform:translateY(-4px) rotate(45deg)}
.mgrp[open] summary::after{transform:translateY(2px) rotate(225deg)}
.mgrp p.mh{text-transform:none;letter-spacing:0;font-size:14px;font-weight:500}
.mnav nav a.s{font-size:18px;color:rgba(255,255,255,.78)}
.mnav-foot{display:grid;gap:10px;padding:24px 0 40px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.65)}
.mnav-foot a{justify-self:start;color:#fff;font-size:17px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(255,255,255,.3)}
.mnav-foot p{margin:0;font-size:14px;line-height:1.5}
.mnav-foot .mnav-legal{font-size:14px}

/* Grey bullets on every service list */
.acc summary .dot{background:#A3A8B3!important;width:10px;height:10px}
.six-col a i,.mnav nav a.s i,.mm-col a i,.pa-menu a i{background:#A3A8B3!important}

/* Home hero: promise, proof, next step */
.hero{padding-top:40px;padding-bottom:var(--sec)}
@media (min-width:1250px){.hero{padding-top:64px}}
.hero-copy{max-width:1000px}
.hero h1{margin:0;font-size:clamp(34px,9vw,46px);line-height:1.08;max-width:15em}
@media (min-width:768px){.hero h1{font-size:56px}}
@media (min-width:1250px){.hero h1{font-size:62px}}
@media (min-width:1600px){.hero h1{font-size:66px}}
.hero h1 .g{color:var(--color-gray-500)}
.hero-sub{margin-top:28px;max-width:620px;color:var(--color-gray-700);font-size:19px;line-height:1.55}
@media (min-width:1250px){.hero-sub{margin-top:32px;font-size:22px;line-height:1.5}}
.hero-proof{display:block;margin:20px 0 0;font-size:16px;line-height:1.5;color:var(--color-gray-600);letter-spacing:0}
.hero-proof b{color:var(--ca-black);font-weight:600}
.hero-proof a{color:var(--ca-black);text-underline-offset:4px;text-decoration-color:var(--color-gray-300);white-space:nowrap}
.hero .cta-row{margin-top:36px}

/* KPI section: title, the Map Pack we win, and the numbers */
.kpi-grid{display:grid;gap:32px}
.kpi-head{display:grid;gap:14px}
.kpi-head p{max-width:440px}
@media (min-width:1100px){.kpi-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px 64px}.kpi-head{grid-column:1/-1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:end}}
.kpi .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;border-top:1px solid var(--color-gray-200)}
.kpi .stat,.kpi .stat:first-child,.kpi .stat:last-child{padding:24px 16px 24px 0;border-right:0;border-bottom:1px solid var(--color-gray-200)}
.kpi .stat:nth-child(odd){border-right:1px solid var(--color-gray-200)}
.kpi .stat:nth-child(even){padding-left:16px;padding-right:0}
@media (min-width:768px){.kpi .stat,.kpi .stat:first-child,.kpi .stat:last-child{padding:32px 24px 32px 0}.kpi .stat:nth-child(even){padding-left:24px;padding-right:0}}
.kpi .stat b{font-size:36px}
@media (min-width:768px){.kpi .stat b{font-size:48px}}
@media (min-width:1250px){.kpi .stat b{font-size:56px}}
.kpi .stat p{font-size:15px;line-height:1.45}
@media (min-width:1250px){.kpi .stat p{font-size:16px}}
.stat::before,.stat:nth-child(n){--acc:var(--ca-gold)}
.kpi-art{margin:0;position:relative;background:var(--ca-cream);padding:24px 20px;overflow:hidden}
@media (min-width:768px){.kpi-art{padding:48px 48px 56px}}
.mp{position:relative;background:#fff;max-width:520px;border-radius:14px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(14,14,15,.28),0 1px 3px rgba(14,14,15,.06)}
.mp-bar{display:flex;align-items:center;gap:10px;margin:12px;padding:11px 16px;border-radius:999px;background:#F3F4F6;font-size:16px;color:var(--color-gray-700);letter-spacing:0}
.mp-bar svg{flex:none;color:var(--color-gray-500)}
.mp-map{display:block;width:100%;height:140px}
@media (min-width:768px){.mp-map{height:170px}}
.mp-list{list-style:none;margin:0;padding:0}
.mp-list li{display:flex;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--color-gray-100)}
.mp-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#EEF0F2;color:var(--color-gray-600);font-size:13px;font-weight:600}
.mp-list .you{background:#FBF7EA;box-shadow:inset 3px 0 0 var(--ca-gold)}
.mp-list .you .mp-n{background:var(--ca-gold);color:#fff}
.mp-list div{display:grid;gap:6px;flex:1;min-width:0}
.mp-list b{font-size:17px;font-weight:600;letter-spacing:-.01em}
.mp-list div span{font-size:14px;color:var(--color-gray-600);letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-list i{display:block;height:9px;width:62%;border-radius:5px;background:#E6E8EB}
.mp-list i.s{width:40%;background:#EFF1F3}
.mp-call{flex:none;font-size:14px;font-weight:600;padding:7px 15px;border-radius:999px;border:1px solid var(--ca-gold);color:#7a5f0c;letter-spacing:0}
.mp-rep{position:relative;z-index:1;display:grid;gap:8px;width:min(310px,94%);margin:-28px 0 0 auto;background:var(--ca-black);color:var(--ca-cream);padding:18px 20px;box-shadow:0 24px 50px -24px rgba(14,14,15,.6)}
@media (min-width:1100px){.mp-rep{position:absolute;right:32px;top:150px;margin:0}}
.mp-rep-k{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ca-gold)}
.mp-rep-k .ca-sym{height:13px}
.mp-rep-q{font-size:15px;color:rgba(245,241,234,.8);letter-spacing:0}
.mp-rep-g{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:12px;border-top:1px solid rgba(245,241,234,.14);padding-top:10px;margin-top:2px}
.mp-rep-g>span{display:grid;gap:2px;font-size:12px;color:rgba(245,241,234,.6);letter-spacing:0}
.mp-rep-g b{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ca-cream);font-variant-numeric:tabular-nums}

/* Running text: loops on its own, drag to scrub it */
.marquee{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.marquee.grab{cursor:grabbing}
.mq-track span{font-weight:500;letter-spacing:-.03em}
.mq-track span.o{-webkit-text-stroke-width:1.2px}
.mq-track i{background:var(--ca-gold)}

/* Results: auditable case cards */
.work-head{align-items:end;gap:16px 64px}
.work-head p{max-width:460px}
.pcases{display:grid;gap:16px}
@media (min-width:1000px){.pcases{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pcase{display:flex;flex-direction:column;gap:12px;background:var(--ca-cream);border-top:3px solid var(--ca-gold);padding:28px 24px}
@media (min-width:1250px){.pcase{padding:36px 32px}}
.pcase-k{font-size:14px;color:var(--color-gray-600);letter-spacing:0}
.pcase-t{font-size:22px;line-height:1.25;letter-spacing:-.02em;font-weight:500}
@media (min-width:1250px){.pcase-t{font-size:24px;min-height:2.5em}}
.pcase-rows{margin:8px 0 0;display:grid}
.pr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 16px;padding:14px 0;border-top:1px solid rgba(14,14,15,.1)}
.pr dt{font-size:15px;line-height:1.35;color:var(--color-gray-700);letter-spacing:0}
.pr dd{margin:0;display:grid;justify-items:end;gap:2px;text-align:right}
.pr dd b{font-size:28px;line-height:1.1;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.pr-m{font-size:13px;color:var(--color-gray-600);letter-spacing:0}

/* Case study: no map, an audit trail instead */
.cs-meta{border-top:1px solid var(--color-gray-200)}
@media (min-width:900px){.cs-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cs-meta dd{font-weight:500}
.cs-steps b{font-weight:600}

/* Pricing in brand colours */
.tier{background:var(--ca-cream)}
.tier li{border-top-color:rgba(14,14,15,.1)}
.tier .tdot{background:var(--ca-gold)}
.tier.feat{background:var(--ca-black);color:var(--ca-cream);border-top:3px solid var(--ca-gold)}
.tier.feat li{border-color:rgba(245,241,234,.14)}
.tier.feat .amt small,.tier.feat .desc{color:rgba(245,241,234,.62)}
.tier.feat .badge{color:var(--ca-gold)}
.tier .pill{background:var(--ca-black);color:#fff}
.tier.feat .pill.inv{background:var(--ca-gold);color:#fff}
@media (hover:hover){.tier .pill:hover{background:var(--ca-gold);color:#fff}.tier.feat .pill.inv:hover{background:var(--ca-cream);color:var(--ca-black)}}

/* Audit CTA: its own section above the footer */
.final-cta{background:var(--ca-cream)}
.final-cta .wrap{display:grid;gap:40px}
@media (min-width:1100px){.final-cta .wrap{grid-template-columns:minmax(0,7fr) minmax(380px,5fr);gap:88px;align-items:center}}
.final-cta h2{font-size:clamp(36px,9.6vw,46px);line-height:1.06}
@media (min-width:768px){.final-cta h2{font-size:56px}}
@media (min-width:1250px){.final-cta h2{font-size:64px}}
.fc-sub{margin-top:24px;max-width:560px;color:var(--color-gray-700);font-size:19px;line-height:1.5}
@media (min-width:1250px){.fc-sub{font-size:22px}}
.fc-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.fc-list li{display:flex;align-items:center;gap:10px;font-size:17px;letter-spacing:-.01em}
.fc-list svg{flex:none;color:var(--ca-gold)}
.final-cta .hf-t{margin:4px 0 4px}
.ftr-brand{border-top:0;padding-top:0}/* Round 4: centred hero */
.hero-copy{margin-inline:auto;text-align:center}
.hero h1,.hero-sub{margin-inline:auto}
.hero .cta-row{justify-content:center}
/* Descriptions always sit under their headings */
.kpi-head,.proc-head,.cs-head,.price-head,.work-head{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-content:start;align-items:start;gap:16px!important}
.kpi-head p,.proc-head p,.price-head p,.work-head p{max-width:640px}
.chart-head{flex-direction:column;align-items:flex-start;gap:6px}
/* Every CTA is black (Mash's call); light panels so the black buttons read */
.hdr-cta,.hdr.dark .hdr-cta,.ftr .form .pill,.lead-form .lf-btn,.hero-form .hf-btn,.post-cta .pill,.tier .pill,.tier.feat .pill.inv{background:var(--ca-black);color:#fff}
@media (hover:hover){.pill:hover,.hdr-cta:hover,.hdr.dark .hdr-cta:hover,.ftr .form .pill:hover,.lead-form .lf-btn:hover,.hero-form .hf-btn:hover,.post-cta .pill:hover,.tier .pill:hover,.tier.feat .pill.inv:hover{background:#34363d;color:#fff}}
.mnav .pill.inv,.mnav .mnav-cta{background:#fff;color:var(--ca-black)}
@media (hover:hover){.mnav .pill.inv:hover,.mnav .mnav-cta:hover{background:var(--color-gray-100);color:var(--ca-black)}}
.lead-form,.hero-form,.post-cta{background:#fff;color:var(--ca-black);border:1px solid var(--color-gray-200);border-top:3px solid var(--ca-black);box-shadow:0 30px 60px -34px rgba(14,14,15,.22)}
.lead-form::after,.hero-form::after,.post-cta::after{opacity:.05}
.lf-k,.hero-form .hf-k,.post-cta .cta-k{color:var(--color-gray-700)}
.lf-t,.hero-form .hf-t,.post-cta h3{color:var(--ca-black)}
.lead-form label,.hero-form .hf-field span{color:var(--color-gray-700)}
.lead-form input,.lead-form textarea{color:var(--ca-black);border-bottom-color:var(--color-gray-300);caret-color:var(--ca-black)}
.lead-form input::placeholder,.lead-form textarea::placeholder,.hero-form .hf-field input::placeholder{color:var(--color-gray-500)}
.lead-form input:focus,.lead-form textarea:focus{border-bottom-color:var(--ca-black);box-shadow:0 1px 0 var(--ca-black)}
.lead-form input:-webkit-autofill{-webkit-text-fill-color:var(--ca-black);-webkit-box-shadow:0 0 0 40px #fff inset}
.hero-form .hf-field input{background:#fff;border-color:var(--color-gray-300);color:var(--ca-black);caret-color:var(--ca-black)}
.hero-form .hf-field input:focus{border-color:var(--ca-black);box-shadow:0 0 0 3px rgba(14,14,15,.1)}
.hero-form .hf-field input:-webkit-autofill{-webkit-text-fill-color:var(--ca-black);-webkit-box-shadow:0 0 0 40px #fff inset}
.lead-form .tel span,.lf-fine,.hero-form .hf-fine,.post-cta p,.post-cta .cta-fine{color:var(--color-gray-600)}
.lead-form .ok{color:#6b5530}
.lead-form .err,.hero-form .hf-err{color:#7a5f12}
.lead-form :focus-visible,.hero-form :focus-visible{outline-color:var(--ca-black)}
/* Pricing: featured plan on the same light ground, marked by a black border */
.tier.feat{background:var(--ca-cream)!important;color:var(--ca-black)!important;border:2px solid var(--ca-black)!important}
.tier.feat::before{display:none}
.tier.feat li{border-color:var(--color-gray-200)}
.tier.feat .amt small,.tier.feat .desc{color:var(--color-gray-600)}
.tier.feat .badge{color:var(--ca-black)}
.tier.feat :focus-visible{outline-color:var(--ca-black)}
.sec-prose{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;max-width:860px}
/* Case studies: the challenge and the work sit in two equal-height panels */
.cs-body{align-items:stretch}
.cs-col{background:#fff;padding:32px 28px;align-content:start;grid-auto-rows:max-content}
@media (min-width:1100px){.cs-col{padding:44px 40px}.cs-body{gap:24px!important}}
.cs-col:first-child{display:flex;flex-direction:column;gap:18px}
.cs-pts,.study-cols .sc-card .appr{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cs-pts li{position:relative;padding-left:22px;font-size:16px;line-height:1.5;color:var(--color-gray-700)}
.cs-pts li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:50%;background:#A3A8B3}
.sc-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:auto 0 0;padding-top:20px;border-top:1px solid var(--color-gray-200)}
.sc-meta dt{font-size:13px;color:var(--color-gray-600)}
.sc-meta dd{margin:4px 0 0;font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--ca-black)}
.study-cols{align-items:stretch;gap:20px!important}
.sc-card{background:var(--ca-cream);padding:28px 24px;display:flex;flex-direction:column;gap:14px}
@media (min-width:768px){.sc-card{padding:36px 32px}}
.sc-card h3{margin:0!important}
.sc-card .sc-meta{margin-top:auto}
.study-cols .appr li::before{background:#A3A8B3}
/* Results: its own block after the hero, semi-bold compact title, regular-weight descriptions */
.stats.kpi{background:#faf7f1;padding-block:var(--sec);border-top:1px solid #ece6da;border-bottom:1px solid #ece6da}
.kpi-head h2{font-weight:600;font-size:28px;line-height:1.15;letter-spacing:-.025em}
@media (min-width:768px){.kpi-head h2{font-size:36px}}
@media (min-width:1250px){.kpi-head h2{font-size:42px}}
.kpi-head p,.kpi .stat p{font-weight:400}
.show{padding-bottom:var(--sec)}
.show .kpi-art{max-width:1040px;margin:0 auto}
@media (min-width:1100px){.show .kpi-art{padding:56px 64px 64px}.show .mp-rep{right:64px;top:120px}}
.stats.kpi .kpi-grid{grid-template-columns:minmax(0,1fr)!important;gap:40px}
@media (min-width:1100px){.kpi .stat-row{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi .stat,.kpi .stat:first-child,.kpi .stat:last-child,.kpi .stat:nth-child(even){padding:32px 28px;border-bottom:0;border-right:1px solid #ece6da}.kpi .stat:first-child{padding-left:0}.kpi .stat:last-child{border-right:0}}
.kpi .stat-row{border-top-color:#ece6da}
.hero{padding-bottom:48px}
@media (min-width:1250px){.hero{padding-bottom:64px}}
/* Round 6 (Mash's screenshots): lighter header, hero fills the first screen, centred showcase and Results */
@media (min-width:1100px){.hdr .wrap,.hdr.dark .wrap{max-width:none;padding-inline:clamp(24px,4vw,64px)}}
.nav>a,.nav .dd>button{font-size:15px!important;font-weight:500;padding:10px 12px}
@media (min-width:1300px){.nav>a,.nav .dd>button{font-size:16px!important;padding:10px 16px}}
.pill,.hdr-cta,.hf-btn,.lf-btn{font-weight:500}
@media (min-width:768px){.hdr-cta{font-size:15px;padding:12px 24px}}
@media (min-width:1100px){.hero{min-height:calc(100svh - 110px);display:flex;align-items:center;padding-block:40px}.hero>.wrap{width:100%}}
.show .kpi-art{display:flex;justify-content:center;align-items:center;gap:40px;flex-wrap:wrap}
.show .mp{flex:0 1 520px}
@media (min-width:1100px){.show .mp-rep{position:relative;right:auto;top:auto;flex:0 0 310px}}
.stats.kpi .kpi-head{justify-items:center;text-align:center}
.stats.kpi .kpi-head p{margin-inline:auto}
.kpi .stat{text-align:center}
.kpi .stat::before{left:0;right:0;margin-inline:auto;transform-origin:50% 50%}
@media (min-width:1100px){.kpi .stat:first-child{padding-left:28px!important}}
.kpi .stat p{margin-inline:auto;max-width:260px}
/* Services intro and accordion: calmer sizes */
.svc-intro .t-lead{font-size:18px;line-height:1.55}
.acc summary h3{font-weight:400;font-size:20px;letter-spacing:-.015em}
@media (min-width:1250px){.acc summary h3{font-size:22px}}
.acc .panel .t-small{font-size:15px}
/* All-services grid: slide-02 sun dots, regular labels */
.six-col a i{background:#ffc54a!important;width:9px;height:9px}
.six-col a{font-size:15px;font-weight:400}
/* Service pages: the first text section after the stats is centred */
.stats+.sec--prose .sec-prose{margin-inline:auto;text-align:center;justify-items:center}
.stats+.sec--prose .prose{max-width:760px;margin-inline:auto}
/* Service pages: the "What is" intro as one panel in the page's own tint, numbered points below the lead */
.intro-panel{background:var(--acc-tint,var(--ca-cream));padding:44px 22px;display:grid;justify-items:center;text-align:center;gap:20px}
@media (min-width:768px){.intro-panel{padding:64px 48px}}
@media (min-width:1100px){.intro-panel{padding:80px 72px}}
.intro-panel h2{max-width:820px;margin:0}
.intro-lead{max-width:760px;margin:0;font-size:18px;line-height:1.6;color:var(--color-gray-700)}
@media (min-width:1250px){.intro-lead{font-size:20px}}
.intro-pts{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:16px;width:100%;text-align:left}
@media (min-width:900px){.intro-pts{grid-template-columns:repeat(var(--n),minmax(0,1fr))}}
.intro-pts li{background:#fff;padding:26px 24px;display:grid;gap:14px;align-content:start}
.ip-n{font-size:28px;font-weight:600;line-height:1;letter-spacing:-.03em;color:var(--acc-ink,#8a5a00);font-variant-numeric:tabular-nums}
.intro-pts p{margin:0;font-size:16px;line-height:1.55;color:var(--color-gray-700)}
/* Home "how it works": one slide on screen at a time, no neighbours peeking in */
.proc.h-scroll{--pp:max(75px,calc((100vw - 1400px)/2 + 75px))}
.proc.h-scroll .proc-track{gap:var(--pp)!important;padding-inline:var(--pp)!important}
.proc.h-scroll .phase{width:calc(100vw - 2*var(--pp))!important}
.intro-panel{background:var(--ca-cream)!important}
.intro-panel .ip-n{color:#8a5a00}
.stats:not(.kpi) .stat{text-align:center}
.stats:not(.kpi) .stat::before{left:0;right:0;margin-inline:auto;transform-origin:50% 50%}
.stats:not(.kpi) .stat p{margin-inline:auto;max-width:260px}
.stats:not(.kpi) .t-cap{text-align:center}
.hero h1{font-weight:800;letter-spacing:-.035em;line-height:1.04;max-width:1300px;font-size:clamp(38px,10.5vw,48px)}
@media (min-width:768px){.hero h1{font-size:66px}}
@media (min-width:1100px){.hero h1{font-size:68px}}
@media (min-width:1400px){.hero h1{font-size:78px}}
@media (min-width:1700px){.hero h1{font-size:88px}}
.hero .hero-copy{max-width:none}
.hero h1 .g{color:#7f8694}
.hero-sub{max-width:660px;font-size:19px;line-height:1.5;margin-top:28px}
@media (min-width:1100px){.hero-sub{font-size:22px}}
.hero .cta-row{justify-content:center;margin-top:32px}
.show-head{display:grid;justify-items:center;text-align:center;gap:14px;margin:0 auto 40px;max-width:760px}
.show-head h2{margin:0;font-weight:600}
.show-head p{margin:0;font-size:18px;line-height:1.55;color:var(--color-gray-700);max-width:640px}
/* round 10: even rhythm + polish */
:root{--sec:64px;--sec-band:64px}
@media (min-width:768px){:root{--sec:88px;--sec-band:88px}}
@media (min-width:1250px){:root{--sec:112px;--sec-band:112px}}
.stats.kpi{padding-block:var(--sec)}
.marquee{margin-top:0;padding-block:28px;border-top:0}
.mq-track span.o{color:#fff;-webkit-text-stroke:3px var(--color-gray-900);paint-order:stroke fill}
.cs .cs-body{margin-top:40px}
.cs .cs-col{padding:0!important;background:transparent}
.t-h2{letter-spacing:-.02em}
.pcases{gap:24px}
.pcase{padding:36px 28px;gap:16px}
@media (min-width:1250px){.pcase{padding:44px 40px}}
.pcase-t{letter-spacing:-.005em;line-height:1.3}
.pcase-rows .pr{padding-block:18px;align-items:start}
.pr dd b{font-size:22px;font-weight:600;letter-spacing:-.01em}
.pr-m{margin-top:2px}
.band blockquote p{font-size:28px;line-height:1.35;letter-spacing:-.01em;max-width:30ch}
@media (min-width:768px){.band blockquote p{font-size:34px}}
@media (min-width:1250px){.band blockquote p{font-size:40px}}
.band{padding-block:calc(var(--sec) + 24px)}
.tiers{gap:24px}
.tier{padding:48px 40px;gap:28px}
#pricing .price-head,#pricing .sec-head{margin-bottom:56px}
.final-cta{background:#fff;padding-block:var(--sec)}
.final-cta>.wrap{background:#fff7e2;border:1px solid #f0e2bd;padding:40px 24px}
@media (min-width:768px){.final-cta>.wrap{padding:56px 48px}}
@media (min-width:1250px){.final-cta>.wrap{padding:72px 72px}}
.ftr{border-top:1px solid var(--color-gray-200)}
.stats.kpi{padding-bottom:72px}
.final-cta>.wrap{width:min(1250px,calc(100% - 32px));margin-inline:auto;box-sizing:border-box}
/* contact form: honeypot + success line */.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.hero-form .hf-ok{font-size:14px;font-weight:600;color:#6b5530}form[aria-busy=true] button[type=submit]{opacity:.6;cursor:progress}