/* Detailers Engine — mobile first (390px), then 768 and 1024. */
@import url("https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,800;1,800;1,900&family=Inter:wght@400;500;600;700&display=swap");

:root {
  --cream: #F5F1E8; --ink: #1C1C1A; --orange: #F2551D; --orange-deep: #B83C0C;
  --orange-soft: #FF8A5B; --green: #1F4D3A; --green-2: #2A5B47; --sand: #E4DCCB;
  --muted: #5E5A52; --white: #fff;
  --display: "Archivo", "Arial Black", Impact, sans-serif;
  --body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --r: 12px; --header: 64px;
  --fast: 150ms; --base: 250ms; --slow: 450ms; --ease: cubic-bezier(.2,.7,.2,1);
  --gutter: 16px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html { overflow-x: hidden; }
body { margin: 0; background: var(--cream); color: var(--ink); font: 400 17px/1.55 var(--body); overflow-x: hidden; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--orange-deep); text-underline-offset: 3px; }
a:hover { color: var(--ink); }
:focus-visible { outline: 3px solid var(--orange-deep); outline-offset: 2px; }
.on-dark :focus-visible, .on-dark:focus-visible { outline-color: var(--cream); }
.wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--gutter); }
.skip { position: absolute; left: -999px; top: 8px; background: var(--ink); color: var(--cream); padding: 12px 16px; z-index: 100; border-radius: 8px; }
.skip:focus { left: 8px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
[id] { scroll-margin-top: calc(var(--header) + 16px); }

/* ---------- type ---------- */
h1, h2, h3 { font-family: var(--display); font-weight: 800; margin: 0 0 .5em; letter-spacing: -0.01em; }
h1 { font-size: 34px; line-height: 1.05; }
h2 { font-size: 28px; line-height: 1.1; }
h3 { font-size: 20px; line-height: 1.25; }
h1 em, h2 em { font-style: italic; font-weight: 900; }
.accent { color: var(--orange); }             /* large display only */
.on-dark .accent { color: var(--orange-soft); }
p { margin: 0 0 1em; }
.eyebrow { font: 700 13px/1.3 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--orange-deep); margin: 0 0 12px; }
.on-dark .eyebrow { color: var(--sand); }
.lede { font-size: 18px; color: #34322D; max-width: 38em; }
.on-dark .lede { color: var(--sand); }
.small { font-size: 14px; }
.muted { color: var(--muted); }

/* ---------- buttons + tire smoke ---------- */
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 26px; border-radius: 999px; font: 700 17px/1 var(--body); text-decoration: none;
  border: 2px solid transparent; cursor: pointer; transition: transform var(--fast) var(--ease), background var(--fast), box-shadow var(--fast); isolation: isolate; }
.btn-primary { background: var(--orange); color: var(--ink); box-shadow: 0 2px 0 rgba(0,0,0,.18); }
.btn-primary:hover { background: #E24C16; color: var(--ink); transform: translateY(-1px); }
.btn-secondary { background: transparent; color: var(--ink); border-color: var(--ink); }
.btn-secondary:hover { background: var(--ink); color: var(--cream); }
.on-dark .btn-secondary { color: var(--cream); border-color: var(--cream); }
.on-dark .btn-secondary:hover { background: var(--cream); color: var(--green); }
.btn-block { width: 100%; }
.btn .arrow { transition: transform var(--fast) var(--ease); }
.btn:hover .arrow { transform: translateX(3px); }
.text-link { display: inline-flex; align-items: center; min-height: 48px; font-weight: 600; color: var(--ink); }
.on-dark .text-link { color: var(--cream); }

/* the rev: a short idle shake while hovered, like an engine at high idle */
@keyframes rev { 0%,100% { transform: translate(0,-1px); } 25% { transform: translate(-.6px,-1.4px); } 50% { transform: translate(.6px,-.6px); } 75% { transform: translate(-.4px,-1.2px); } }
.btn-primary.revving { animation: rev 90ms linear infinite; }
/* smoke puffs spawned by main.js behind the button */
.smoke { position: absolute; pointer-events: none; border-radius: 50%; z-index: -1;
  background: radial-gradient(circle at 40% 40%, rgba(236,232,224,.95), rgba(200,195,186,.55) 45%, rgba(200,195,186,0) 70%);
  filter: blur(2px); animation: puff var(--d, 900ms) ease-out forwards; }
.on-dark .smoke, .smoke.dark { background: radial-gradient(circle at 40% 40%, rgba(245,241,232,.75), rgba(228,220,203,.35) 45%, rgba(228,220,203,0) 70%); }
@keyframes puff {
  0% { opacity: .0; transform: translate(0,0) scale(.3); }
  15% { opacity: .9; }
  100% { opacity: 0; transform: translate(var(--dx, -60px), var(--dy, -30px)) scale(var(--s, 2.4)); }
}

/* ---------- header ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--cream); border-bottom: 1px solid rgba(28,28,26,.1); }
.site-header .wrap { display: flex; align-items: center; gap: 12px; height: var(--header); }
.logo { display: inline-flex; align-items: center; text-decoration: none; margin-right: auto; }
.logo svg { height: 38px; width: auto; }
.nav { display: none; }
.nav a { color: var(--ink); text-decoration: none; font: 600 15px/1 var(--body); padding: 12px 10px; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--orange-deep); }
.header-phone { display: none; font: 700 16px/1 var(--body); color: var(--ink); text-decoration: none; }
.header-cta { min-height: 44px; padding: 0 16px; font-size: 15px; white-space: nowrap; }
@media (max-width: 400px) { .logo svg { height: 30px; } .header-cta { padding: 0 12px; font-size: 14px; } .site-header .wrap { gap: 6px; } }
.menu-btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 0; background: transparent; border-radius: 10px; cursor: pointer; }
.menu-btn span, .menu-btn span::before, .menu-btn span::after { display: block; width: 22px; height: 2.5px; background: var(--ink); border-radius: 2px; position: relative; transition: transform var(--base) var(--ease); }
.menu-btn span::before, .menu-btn span::after { content: ""; position: absolute; left: 0; }
.menu-btn span::before { top: -7px; } .menu-btn span::after { top: 7px; }
.menu-open .menu-btn span { background: transparent; }
.menu-open .menu-btn span::before { transform: translateY(7px) rotate(45deg); }
.menu-open .menu-btn span::after { transform: translateY(-7px) rotate(-45deg); }
.mobile-menu { position: fixed; inset: var(--header) 0 0 0; background: var(--cream); z-index: 49; padding: 12px var(--gutter) 40px; overflow-y: auto;
  transform: translateY(-8px); opacity: 0; visibility: hidden; transition: opacity var(--base), transform var(--base) var(--ease), visibility var(--base); }
.menu-open .mobile-menu { opacity: 1; transform: none; visibility: visible; }
.mobile-menu a { display: flex; align-items: center; min-height: 56px; font: 700 20px/1 var(--display); color: var(--ink); text-decoration: none; border-bottom: 1px solid rgba(28,28,26,.1); }
.mobile-menu .btn { margin-top: 24px; font-family: var(--body); border: 0; }
.menu-open { overflow: hidden; }

/* animated logo needle */
.needle { transform-box: view-box; transform-origin: 0 0; transform: rotate(var(--rest, -42deg)); }
.logo .needle, .gauge-anim .needle { transition: transform 700ms cubic-bezier(.3,1.6,.5,1); }
.revs .needle { animation: needle-rev 1.1s cubic-bezier(.3,.9,.3,1) both; }
@keyframes needle-rev {
  0% { transform: rotate(-90deg); }
  38% { transform: rotate(84deg); }     /* into the redline */
  52% { transform: rotate(62deg); }
  66% { transform: rotate(80deg); }     /* blip */
  100% { transform: rotate(var(--rest, 42deg)); }
}
.redline { opacity: 0; transition: opacity 200ms; }
.revs .redline { animation: redline-flash 1.1s linear both; }
@keyframes redline-flash { 30%,70% { opacity: 1; } 0%,100% { opacity: 0; } }

/* ---------- hero ---------- */
.hero { position: relative; color: var(--cream); background: var(--green); isolation: isolate; overflow: clip; }
.hero-photo { position: absolute; inset: 0; z-index: 0; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.hero-wash { position: absolute; inset: 0; z-index: 1; background: rgba(20,50,38,.56); }
.hero h1, .hero .lede, .hero .eyebrow, .hero .trust { text-shadow: 0 1px 12px rgba(10,30,22,.55); }
.hero-streaks { position: absolute; z-index: 2; left: -40px; bottom: 120px; width: 60%; max-width: 520px; opacity: .9; pointer-events: none; }
.hero-streaks rect { transform-box: fill-box; transform-origin: right center; }
.hero .wrap { position: relative; z-index: 3; padding-top: 36px; padding-bottom: 0; }
.hero h1 { font-size: clamp(27px, 8.7vw, 36px); margin-bottom: 14px; }
.hero h1 .l1, .hero h1 .l2 { white-space: nowrap; }
.hero h1 .l2 { color: var(--orange-soft); }
.hero .lede { color: var(--cream); font-size: 17px; margin-bottom: 22px; }
.hero-ctas { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.hero-ctas .btn { width: 100%; min-height: 56px; }
.trust { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font: 500 14px/1.4 var(--body); color: var(--cream); }
.trust li { display: inline-flex; align-items: center; gap: 6px; }
.trust li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.hero-mock { position: relative; margin: 30px auto -150px; width: 78%; max-width: 330px; z-index: 4; }
.hero-after { height: 170px; }

/* phone mock */
.phone { position: relative; background: #111; border-radius: 34px; padding: 12px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.06) inset; }
.phone-screen { background: #F7F5F0; border-radius: 24px; min-height: 420px; padding: 44px 14px 18px; position: relative; overflow: hidden; color: var(--ink); }
.phone-screen::before { content: ""; position: absolute; top: 10px; left: 50%; width: 84px; height: 22px; border-radius: 12px; background: #111; transform: translateX(-50%); }
.phone-head { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px solid #E6E0D4; font: 600 14px/1.2 var(--body); }
.avatar { width: 32px; height: 32px; border-radius: 50%; background: var(--green); display: grid; place-items: center; color: var(--cream); font: 800 13px var(--display); flex: none; }
.example-tag { position: absolute; top: 24px; left: 24px; z-index: 2; background: var(--sand); color: var(--ink); font: 700 11px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; padding: 5px 8px; border-radius: 6px; }
.msg { max-width: 86%; padding: 10px 13px; border-radius: 16px; font-size: 14px; line-height: 1.4; margin: 0 0 10px; }
.msg.customer { background: #fff; border: 1px solid #E6E0D4; border-bottom-left-radius: 4px; }
.msg.business { margin-left: auto; background: var(--orange); color: var(--ink); border-bottom-right-radius: 4px; }
.msg .meta { display: block; font-size: 11px; font-weight: 700; opacity: .75; margin-bottom: 3px; }
.msg.system { max-width: 100%; text-align: center; background: transparent; font-size: 12px; font-weight: 600; color: var(--muted); padding: 2px; }
.msg.booked { max-width: 100%; background: var(--green); color: var(--cream); border-radius: 14px; font-weight: 600; }
.msg.booked::before { content: "✓ "; color: var(--orange-soft); }
.js .phone .msg.pop { opacity: 0; transform: translateY(10px) scale(.98); }
.js .phone.play .msg.pop { animation: msg-in 380ms var(--ease) forwards; animation-delay: calc(var(--i) * 550ms + 200ms); }
@keyframes msg-in { to { opacity: 1; transform: none; } }

/* ---------- sections ---------- */
section { position: relative; }
.sec, .feat, .campaigns, .final, .hero { overflow-x: clip; }
.skid-wrap { overflow: hidden; }
.sec { padding: 64px 0; }
.sec-sand { background: var(--sand); }
.sec-green { background: var(--green); color: var(--cream); }
.dots { background-image: radial-gradient(rgba(28,28,26,.08) 1.6px, transparent 1.7px); background-size: 22px 22px; }
.sec-head { max-width: 720px; margin-bottom: 32px; }
.grid { display: grid; gap: 16px; grid-template-columns: minmax(0,1fr); }
.card { background: var(--white); border-radius: var(--r); padding: 22px; box-shadow: 0 1px 2px rgba(0,0,0,.05); border: 1px solid rgba(28,28,26,.06); }
.slip-card .n { font: 900 italic 44px/1 var(--display); color: var(--orange); display: block; margin-bottom: 6px; }
.slip-card h3 { margin-bottom: 6px; }
.slip-card p { margin: 0; color: #34322D; }
.slip-close { font: 800 italic 24px/1.2 var(--display); margin: 28px 0 0; }

/* tire-tread skid marks: drawn across on entry */
.skid { display: block; width: 100%; height: 34px; overflow: hidden; }
.skid path { fill: none; stroke: var(--ink); stroke-width: 9; stroke-dasharray: 4 7; opacity: .16; }
.skid .draw { stroke-dasharray: 1400; stroke-dashoffset: 1400; }
.js .skid.in .draw { transition: stroke-dashoffset 1.1s cubic-bezier(.5,0,.2,1); stroke-dashoffset: 0; }
.skid-wrap { position: relative; height: 34px; margin: -17px 0; z-index: 2; pointer-events: none; }
.skid-mask path.tread { stroke: var(--ink); opacity: .14; stroke-width: 10; stroke-dasharray: 3 5; }

/* two systems */
.systems { display: grid; gap: 18px; grid-template-columns: minmax(0,1fr); position: relative; }
.system { border-radius: 16px; padding: 26px 22px; position: relative; }
.system.organic { background: var(--cream); border: 2px solid var(--green); }
.system.paid { background: var(--green); color: var(--cream); }
.system .tag { display: inline-block; font: 700 12px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; padding: 6px 9px; border-radius: 6px; background: var(--sand); color: var(--ink); margin-bottom: 12px; }
.system .path { font: 700 15px/1.5 var(--body); margin: 10px 0 12px; }
.system .path span { white-space: nowrap; }
.system .price { font: 900 italic 30px/1 var(--display); margin: 8px 0 16px; }
.system .price small { font: 600 15px var(--body); font-style: normal; }
.converge { display: flex; flex-direction: column; align-items: center; margin-top: 8px; }
.converge svg { width: 100%; max-width: 560px; height: 90px; }
.converge .line { fill: none; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 400; stroke-dashoffset: 400; }
.converge.in .line { transition: stroke-dashoffset 900ms var(--ease); stroke-dashoffset: 0; }
.booked-chip { display: inline-flex; align-items: center; gap: 10px; background: var(--ink); color: var(--cream); font: 700 16px/1 var(--body); padding: 14px 20px; border-radius: 999px; }
.booked-chip .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 0 rgba(242,85,29,.6); }
.converge.in .booked-chip .dot { animation: ping 1.4s ease-out 900ms 2; }
@keyframes ping { to { box-shadow: 0 0 0 14px rgba(242,85,29,0); } }
.under-chip { max-width: 620px; margin: 18px auto 0; text-align: center; }

/* signature flow */
.flow { display: grid; gap: 22px; grid-template-columns: minmax(0,1fr); }
.flow-controls { display: flex; flex-direction: column; gap: 14px; }
.track-toggle { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); background: rgba(28,28,26,.07); border-radius: 999px; padding: 4px; }
.track-toggle button { min-height: 48px; border: 0; border-radius: 999px; background: transparent; font: 700 15px var(--body); cursor: pointer; color: var(--ink); }
.track-toggle button[aria-checked="true"] { background: var(--ink); color: var(--cream); }
.flow-gauge { display: flex; align-items: center; gap: 14px; }
.flow-gauge svg { width: 86px; height: auto; flex: none; }
.flow-gauge .needle { transition: transform 600ms cubic-bezier(.3,1.5,.5,1); }
.flow-count { font: 700 15px var(--body); }
.flow-steps { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.flow-steps li { margin: 0 0 18px; }
.flow-steps h3 { font-size: 19px; margin-bottom: 4px; }
.flow-steps .cap { margin: 0; color: #34322D; }
.flow-steps .alt-note { font-size: 14px; color: var(--muted); }
.js .flow-steps .step-btn { all: unset; box-sizing: border-box; display: block; width: 100%; cursor: pointer; padding: 14px 16px 14px 52px; border-radius: 12px; position: relative; min-height: 48px; }
.js .flow-steps .step-btn::before { counter-increment: s; content: counter(s); position: absolute; left: 12px; top: 14px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font: 800 14px var(--body); background: var(--sand); }
.js .flow-steps .step-btn[aria-current="step"] { background: var(--white); box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.js .flow-steps .step-btn[aria-current="step"]::before { background: var(--orange); }
.js .flow-steps .step-btn:focus-visible { outline: 3px solid var(--orange-deep); }
.js .flow-steps li { margin: 0 0 4px; }
.flow-stage { display: none; }
.js .flow-stage { display: block; }
.js .flow-steps .cap, .js .flow-steps .alt-note { display: none; }
.js .flow-steps [aria-current="step"] .cap { display: block; }
.flow-nav { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; margin-top: 14px; }
.flow-screen .phone-screen { min-height: 440px; }
.flow-screen .state { display: none; }
.flow-screen .state.on { display: block; animation: fade-up 300ms var(--ease); }
@keyframes fade-up { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.serp { background: #fff; border: 1px solid #E6E0D4; border-radius: 12px; padding: 12px; font-size: 13px; margin-bottom: 10px; }
.serp b { display: block; font-size: 15px; color: #1C1C1A; }
.serp .u { color: var(--green); font-size: 12px; }
.adcard { background: #fff; border: 1px solid #E6E0D4; border-radius: 12px; overflow: hidden; font-size: 13px; }
.adcard .ph { height: 120px; background: var(--sand) url("/static/img/close-grille-spray.webp") center/cover; }
.adcard .row { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; font-weight: 600; }
.adcard .row span:last-child { background: var(--ink); color: var(--cream); padding: 6px 10px; border-radius: 8px; font-size: 12px; }
.cal { background: #fff; border: 1px solid #E6E0D4; border-radius: 14px; padding: 12px; }
.cal .days { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 6px; text-align: center; font-size: 12px; margin: 8px 0 12px; }
.cal .days span { padding: 8px 0; border-radius: 8px; background: #F2EEE5; }
.cal .days .on { background: var(--ink); color: var(--cream); }
.cal .times { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 6px; }
.cal .times span { text-align: center; padding: 10px 0; border: 1px solid #E6E0D4; border-radius: 8px; font-weight: 600; font-size: 13px; }
.cal .times .on { background: var(--orange); border-color: var(--orange); }

/* feature sections */
.feat-list { position: relative; }
.feat { padding: 44px 0; position: relative; }
.feat:nth-child(even) { background: var(--sand); }
.feat .wrap { position: relative; padding-left: 52px; }
.feat .wrap::before { content: ""; position: absolute; left: 24px; top: -44px; bottom: -44px; width: 3px; background: var(--orange); opacity: .35; }
.feat:first-child .wrap::before { top: 8px; }
.feat:last-child .wrap::before { bottom: auto; height: 60px; }
.feat .marker { position: absolute; left: 12px; top: 2px; width: 28px; height: 28px; border-radius: 50%; background: var(--orange); color: var(--ink); display: grid; place-items: center; font: 800 13px var(--body); }
.feat-body { display: grid; gap: 22px; grid-template-columns: minmax(0,1fr); align-items: center; }
.stage { font: 700 13px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--orange-deep); margin: 6px 0 8px; }

/* video facade */
.video { position: relative; aspect-ratio: 16/10; border-radius: 14px; overflow: hidden; background: var(--green); }
.video .poster { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 18px; background: var(--green); }
.video .poster .mini { width: min(56%, 230px); transform: translateY(18%); }
.video .poster .mini .phone-head { font-size: 11px; white-space: nowrap; gap: 6px; padding-bottom: 6px; margin-bottom: 8px; }
.video .poster .mini .avatar { width: 22px; height: 22px; font-size: 9px; }
.video .poster .mini .phone { border-radius: 22px; padding: 7px; }
.video .poster .mini .phone-screen { min-height: 0; padding: 26px 9px 10px; border-radius: 16px; }
.video .poster .mini .phone-screen::before { width: 50px; height: 12px; top: 6px; }
.video .poster .mini .msg { font-size: 10.5px; padding: 7px 9px; margin-bottom: 6px; }
.video .poster .mini .msg .meta { font-size: 9px; }
.video .soon { position: absolute; right: 12px; bottom: 12px; background: rgba(28,28,26,.82); color: var(--cream); font: 600 12px/1 var(--body); padding: 8px 10px; border-radius: 8px; }
.video .play { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 68px; height: 68px; border-radius: 50%; background: var(--orange); border: 0; cursor: pointer; display: grid; place-items: center; }
.video .example-tag { top: 12px; left: 12px; }

/* proof */
.proof-grid { display: grid; gap: 24px; grid-template-columns: minmax(0,1fr); }
.timeline { display: grid; gap: 0; grid-template-columns: minmax(0,1fr); }
.stop { background: rgba(245,241,232,.06); border: 1px solid rgba(245,241,232,.18); border-radius: 16px; padding: 22px; }
.stop .lbl { font: 700 13px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--sand); }
.stop .big { font: 900 italic 52px/1 var(--display); color: var(--orange-soft); margin: 10px 0; }
.stop p { margin: 0; color: var(--cream); }
.between { text-align: center; font: 600 italic 15px/1.3 var(--body); color: var(--sand); padding: 14px 0; }
.between::before, .between::after { content: ""; display: block; width: 2px; height: 16px; margin: 4px auto; background: var(--orange); }
.fine { font-size: 14px; color: var(--sand); margin-top: 18px; }
.proof-photos { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; }
.proof-photos img { border-radius: 12px; width: 100%; height: 100%; object-fit: cover; }
.proof-photos figure { margin: 0; }
.proof-photos figcaption { font-size: 13px; color: var(--sand); margin-top: 6px; }

/* pricing */
.price-card { max-width: 560px; margin: 0 auto; background: var(--white); border-radius: 18px; padding: 28px 22px; border: 2px solid var(--ink); position: relative; }
.price-card .name { font: 800 italic 24px var(--display); margin: 0; }
.price-card .amount { font: 900 italic 64px/1 var(--display); margin: 10px 0 2px; }
.price-card .amount small { font: 600 18px var(--body); font-style: normal; }
.price-card .billing { color: var(--muted); margin-bottom: 18px; }
.own { background: var(--sand); border-radius: 12px; padding: 16px; margin: 18px 0; }
.own strong { display: block; }
.checks { list-style: none; padding: 0; margin: 14px 0 18px; }
.checks li { position: relative; padding-left: 30px; margin: 0 0 10px; }
.checks li::before { content: ""; position: absolute; left: 0; top: 4px; width: 18px; height: 18px; border-radius: 5px; background: var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%231C1C1A' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.on-dark .checks li::before { background-color: var(--orange-soft); }
.revup-card { max-width: 560px; margin: 18px auto 0; background: var(--green); color: var(--cream); border-radius: 18px; padding: 26px 22px; }

/* faq */
.faq { max-width: 760px; }
.faq details { border-bottom: 1px solid rgba(28,28,26,.14); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 56px; padding: 14px 0; font: 700 18px/1.3 var(--body); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font: 700 26px/1 var(--body); color: var(--orange-deep); transition: transform var(--base); flex: none; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq .a { padding: 0 0 18px; color: #34322D; }

/* final cta + big gauge */
.final { text-align: left; overflow: clip; isolation: isolate; }
.final .wrap { position: relative; z-index: 2; }
.final h2 { font-size: 32px; }
.big-gauge { width: 100%; max-width: 340px; margin: 10px 0 20px; display: block; }
.smoke-bank { position: absolute; left: 0; right: 0; bottom: 0; height: 160px; pointer-events: none; z-index: 1; }

/* breadcrumbs + page hero */
.crumbs { font-size: 14px; padding: 16px 0 0; }
.crumbs a { color: var(--muted); }
.page-hero { padding: 28px 0 40px; }
.page-hero h1 em { color: var(--orange); }

/* blog */
.post-card h3 a { color: var(--ink); text-decoration: none; }
.post-card h3 a:hover { color: var(--orange-deep); }
.post-card .cat { font: 700 12px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--orange-deep); }
.prose { max-width: 720px; }
.prose h2 { font-size: 24px; margin-top: 1.6em; }
.prose ul { padding-left: 1.2em; }
.answer { font-size: 19px; background: var(--white); border-left: 4px solid var(--orange); padding: 16px 18px; border-radius: 0 12px 12px 0; }

/* notice (preview only) */
.preview-note { background: #FFF6D6; border: 1px dashed #B38F00; color: #4A3B00; border-radius: 12px; padding: 14px 16px; font-size: 15px; }
.ribbon { position: fixed; z-index: 60; left: 12px; bottom: 84px; background: var(--ink); color: var(--cream); font: 700 11px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; padding: 8px 10px; border-radius: 8px; opacity: .85; }

/* footer */
.site-footer { background: var(--green); color: var(--cream); padding: 0 0 110px; position: relative; }
.tread-edge { display: block; width: 100%; height: 22px; background:
  repeating-linear-gradient(90deg, var(--cream) 0 18px, transparent 18px 26px) top/100% 8px no-repeat,
  repeating-linear-gradient(90deg, transparent 0 9px, var(--cream) 9px 22px, transparent 22px 26px) 0 8px/100% 6px no-repeat; }
.site-footer .wrap { padding-top: 44px; }
.foot-grid { display: grid; gap: 28px; grid-template-columns: minmax(0,1fr); }
.foot-grid h4 { font: 700 13px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--sand); margin: 0 0 12px; }
.foot-grid ul { list-style: none; padding: 0; margin: 0; }
.foot-grid li a { display: inline-flex; min-height: 36px; align-items: center; color: var(--cream); text-decoration: none; font-size: 15px; }
.foot-grid li a:hover { color: var(--orange-soft); }
.foot-logo svg { width: 200px; height: auto; }
.foot-base { margin-top: 32px; padding-top: 18px; border-top: 1px solid rgba(245,241,232,.18); font-size: 14px; color: var(--sand); }
.foot-base a { color: var(--cream); }

/* sticky mobile bar */
.mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.4fr); gap: 8px; padding: 8px var(--gutter) calc(8px + env(safe-area-inset-bottom)); background: rgba(245,241,232,.96); border-top: 1px solid rgba(28,28,26,.12); backdrop-filter: blur(6px); }
.mobile-bar .btn { min-height: 52px; width: 100%; }
.mobile-bar .btn-sand { background: var(--sand); color: var(--ink); }
.menu-open .mobile-bar { display: none; }

/* entrance reveals */
.js .reveal { opacity: 0; transform: translateY(12px); }
.js .reveal.in { opacity: 1; transform: none; transition: opacity var(--slow) var(--ease), transform var(--slow) var(--ease); transition-delay: calc(var(--i, 0) * 60ms); }
.js .hero .rise { opacity: 0; transform: translateY(12px); animation: rise 520ms var(--ease) forwards; animation-delay: calc(var(--i) * 70ms); }
@keyframes rise { to { opacity: 1; transform: none; } }
.js .hero h1.rise { opacity: 1; transform: none; animation: none; } /* H1 paints immediately: it's the LCP text */
.hero-streaks rect { transform: scaleX(0); animation: streak 700ms var(--ease) forwards; }
.hero-streaks rect:nth-child(2) { animation-delay: 90ms; } .hero-streaks rect:nth-child(3) { animation-delay: 180ms; }
@keyframes streak { to { transform: scaleX(1); } }

/* ---------- 768 ---------- */
@media (min-width: 768px) {
  :root { --gutter: 28px; }
  h1 { font-size: 48px; } h2 { font-size: 36px; }
  .hero h1 { font-size: 48px; }
  .hero-ctas { flex-direction: row; align-items: center; gap: 18px; }
  .hero-ctas .btn { width: auto; }
  .hero-mock { margin: 34px 0 -170px auto; width: 55%; }
  .grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .flow { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; }
  .proof-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; }
  .foot-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .price-card, .revup-card { padding: 34px; }
}

/* ---------- 1024 ---------- */
@media (min-width: 1024px) {
  :root { --header: 76px; }
  .nav { display: flex; gap: 4px; margin-right: 14px; }
  .menu-btn, .mobile-menu, .mobile-bar { display: none !important; }
  .header-phone { display: inline; }
  .logo svg { height: 46px; }
  h1 { font-size: 58px; } h2 { font-size: 42px; }
  .sec { padding: 96px 0; }
  .hero { min-height: 640px; }
  .hero-photo { left: 52%; }
  .hero-photo img { object-position: 50% 40%; }
  .hero-wash { background: linear-gradient(90deg, var(--green) 0 52%, rgba(31,77,58,.08) 52%); }
  .hero .wrap { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; align-items: center; padding-top: 72px; padding-bottom: 112px; }
  .hero h1 { font-size: clamp(42px, 3.9vw, 58px); }
  .hero h1 .l1, .hero h1 .l2 { white-space: nowrap; }
  .hero .lede { font-size: 19px; }
  .hero-mock { margin: 0; width: 100%; max-width: 330px; justify-self: center; }
  .hero-mock .phone-screen { min-height: 390px; }
  .hero-after { display: none; }
  .hero-streaks { bottom: 28px; top: auto; width: 34%; }
  .hero .wrap > div:first-child { max-width: 580px; }
  .grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .systems { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .flow { grid-template-columns: minmax(0,.9fr) minmax(0,1fr); gap: 60px; }
  .flow-screen { position: sticky; top: calc(var(--header) + 24px); max-width: 400px; margin-left: auto; margin-right: auto; width: 100%; }
  .feat-body { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 48px; }
  .feat:nth-child(even) .feat-body > .video { order: 2; }
  .final h2 { font-size: 52px; }
  .final .wrap { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 40px; align-items: center; }
  .big-gauge { max-width: 420px; margin: 0 0 0 auto; }
  .timeline { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: stretch; }
  .between { writing-mode: vertical-rl; transform: rotate(180deg); padding: 0 12px; display: flex; align-items: center; }
  .between::before, .between::after { display: none; }
  .foot-grid { grid-template-columns: 1.2fr repeat(3, minmax(0,1fr)); }
  .site-footer { padding-bottom: 40px; }
  .ribbon { bottom: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .js .reveal, .js .hero .rise, .js .phone .msg.pop { opacity: 1 !important; transform: none !important; }
  .hero-streaks rect { transform: none; }
  .skid .draw, .converge .line { stroke-dashoffset: 0 !important; }
  .smoke { display: none; }
}

/* phone: only the current step shows, so the mock sits right under it */
@media (max-width: 1023px) {
  .js .flow-steps li:not(:has([aria-current="step"])) { display: none; }
  .js .flow-steps .step-btn { cursor: default; background: var(--white); box-shadow: 0 2px 10px rgba(0,0,0,.06); }
}
@media (max-width: 359px) { .header-cta { display: none; } }
.prose ul { list-style: disc; } .prose ol { list-style: decimal; }

/* one-click campaigns */
.camp-grid { display: grid; gap: 36px; grid-template-columns: minmax(0,1fr); align-items: center; }
.camp-chips { list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.camp-chips li { border: 1px solid rgba(245,241,232,.35); border-radius: 999px; padding: 8px 14px; font: 600 14px/1.2 var(--body); color: var(--cream); }
.camp-visual { position: relative; max-width: 330px; margin: 0 auto; width: 100%; }
.send-burst { position: absolute; right: -8px; top: 22%; width: 120px; height: 160px; pointer-events: none; }
.send-burst span { position: absolute; right: 0; top: 50%; width: 26px; height: 18px; border-radius: 5px; background: var(--orange); opacity: 0; }
.send-burst span::after { content: ""; position: absolute; inset: 3px 4px auto; height: 7px; border-left: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: skewY(-28deg); opacity: .35; }
.camp-visual.in .send-burst span { animation: fly 1.3s var(--ease) forwards; }
.send-burst span:nth-child(1) { --tx: 110px; --ty: -70px; animation-delay: 900ms !important; }
.send-burst span:nth-child(2) { --tx: 130px; --ty: -20px; animation-delay: 1000ms !important; }
.send-burst span:nth-child(3) { --tx: 120px; --ty: 30px; animation-delay: 1100ms !important; }
.send-burst span:nth-child(4) { --tx: 95px; --ty: 75px; animation-delay: 1200ms !important; }
.send-burst span:nth-child(5) { --tx: 140px; --ty: -55px; animation-delay: 1300ms !important; }
@keyframes fly { 0% { opacity: 0; transform: translate(0,0) scale(.6); } 20% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--tx), var(--ty)) scale(1) rotate(12deg); } }
@media (min-width: 1024px) { .camp-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 64px; } }
@media (prefers-reduced-motion: reduce) { .send-burst { display: none; } }

/* autopilot: reviews + inbox spotlights */
.spot-grid { display: grid; gap: 20px; grid-template-columns: minmax(0,1fr); }
.spot { background: var(--white); border: 1px solid rgba(28,28,26,.08); border-radius: 18px; padding: 18px 18px 22px; }
.spot h3 { font-size: 24px; margin-bottom: 8px; }
.spot-visual { position: relative; background: var(--sand); border-radius: 14px; padding: 48px 16px 18px; margin-bottom: 18px; min-height: 230px; }
.spot-visual .example-tag { top: 14px; left: 14px; }
.stars { display: flex; gap: 6px; margin: 0 0 14px; }
.star svg { width: 38px; height: 38px; fill: #D6CCB6; display: block; }
.js .spot.in .star svg { animation: star-fill 300ms var(--ease) forwards; animation-delay: calc(var(--i) * 140ms + 200ms); }
.star svg { transform-origin: center; }
@keyframes star-fill { 0% { fill: #D6CCB6; transform: scale(.7); } 60% { transform: scale(1.18); } 100% { fill: var(--orange); transform: scale(1); } }
.stars-visual .msg { max-width: 100%; }
.inbox { list-style: none; margin: 0; padding: 0; background: var(--white); border-radius: 12px; overflow: hidden; border: 1px solid #E6E0D4; }
.ib-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; grid-template-areas: "ch who t" "msg msg msg"; gap: 2px 8px; padding: 10px 12px; border-bottom: 1px solid #EEE8DC; font-size: 13px; }
.ib-row:last-child { border-bottom: 0; }
.ib-ch { grid-area: ch; font: 700 11px/1 var(--body); text-transform: uppercase; letter-spacing: .06em; background: var(--green); color: var(--cream); padding: 4px 6px; border-radius: 5px; align-self: center; }
.ib-who { grid-area: who; font-weight: 700; align-self: center; }
.ib-t { grid-area: t; color: var(--muted); font-size: 12px; align-self: center; }
.ib-msg { grid-area: msg; color: #34322D; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.js #autopilot .spot.in .ib-row { animation: row-in 360ms var(--ease) both; animation-delay: calc(var(--i) * 120ms + 250ms); }
@keyframes row-in { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: none; } }
.ap-list { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 10px; grid-template-columns: minmax(0,1fr); }
.ap-list li { display: flex; align-items: center; gap: 10px; background: var(--white); border-radius: 12px; padding: 12px 14px; font-weight: 600; border: 1px solid rgba(28,28,26,.06); }
.ap-tag { flex: none; font: 700 11px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; padding: 6px 8px; border-radius: 6px; background: var(--green); color: var(--cream); }
.ap-tag.one { background: var(--orange); color: var(--ink); }
@media (min-width: 768px) { .ap-list { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1024px) { .spot-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; } .spot { padding: 22px 22px 26px; } .ap-list { grid-template-columns: repeat(5, minmax(0,1fr)); } }
@media (prefers-reduced-motion: reduce) { .star svg { fill: var(--orange) !important; } }
.gate-note { display: flex; gap: 10px; align-items: flex-start; font: 600 15px/1.45 var(--body); background: rgba(245,241,232,.08); border: 1px solid rgba(245,241,232,.22); border-radius: 10px; padding: 12px 14px; margin: 12px 0 16px; }
.gate-note::before { content: ""; flex: none; width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; background: var(--orange); }
html:not(.js) .star svg { fill: var(--orange); }
.sys-checks { margin: 6px 0 14px; }
.sys-checks li { margin-bottom: 8px; }
@media (min-width: 768px) { .system.organic .sys-checks { columns: 2; column-gap: 20px; } .system.organic .sys-checks li { break-inside: avoid; } }
.qr { display: flex; flex-wrap: wrap; gap: 6px; margin: -2px 0 10px; }
.qr span { border: 1.5px solid var(--orange); color: var(--ink); background: #fff; border-radius: 999px; padding: 6px 11px; font: 600 12.5px/1 var(--body); }
.qr span.on { background: var(--orange); }
.adcard .cap-line { margin: 0; padding: 0 12px 12px; font-size: 13px; line-height: 1.4; }
@media (min-width: 1024px) { .ap-list li { flex-direction: column; align-items: flex-start; gap: 8px; } }
.sys-name { font: 900 italic 38px/1 var(--display); margin: 0 0 12px; letter-spacing: -0.01em; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.system.organic .sys-name { color: var(--ink); }
.system.paid .sys-name { color: var(--cream); }
.sys-addon { font: 700 12px/1 var(--body); font-style: normal; letter-spacing: .1em; text-transform: uppercase; background: var(--sand); color: var(--ink); padding: 6px 9px; border-radius: 6px; }
.price-card .name { font-size: 34px; }
@media (min-width: 1024px) { .sys-name { font-size: 46px; } }
.step-bullets { list-style: none; padding: 0; margin: 8px 0 0; }
.step-bullets li { position: relative; padding-left: 18px; margin: 0 0 4px; font-size: 15.5px; color: #34322D; }
.step-bullets li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }

/* ================= phone optimisation (≤767px) ================= */
.swipe-hint { display: none; }
.revup-mini { text-align: center; margin: 18px 0 0; font-weight: 600; }
.foot-grid li a { min-height: 44px; }
@media (max-width: 767px) {
  .sec { padding: 48px 0; }
  .sec-head { margin-bottom: 22px; }
  h2 { font-size: 27px; }
  .lede { font-size: 16.5px; }

  /* pain cards: number beside the text, tighter */
  .slip-card { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 0 12px; padding: 16px; }
  .slip-card .n { grid-row: span 2; font-size: 34px; margin: 0; }
  .slip-card h3 { font-size: 18px; margin-bottom: 4px; }
  .slip-card p { font-size: 15.5px; }
  .grid { gap: 10px; }
  .slip-close { font-size: 21px; margin-top: 20px; }

  /* autopilot */
  .spot { padding: 14px 14px 18px; }
  .spot-visual { min-height: 0; padding: 44px 12px 12px; margin-bottom: 14px; }
  .star svg { width: 28px; height: 28px; }
  .spot h3 { font-size: 21px; }
  .spot p { font-size: 15.5px; }
  .ib-row:nth-child(n+4) { display: none; }
  .ap-list { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8px; margin-top: 18px; }
  .ap-list li { flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px 11px; font-size: 14px; line-height: 1.3; }

  /* package cards */
  .system { padding: 20px 16px; }
  .sys-name { font-size: 34px; margin-bottom: 8px; }
  .system h3 { font-size: 18px; }
  .system .path { font-size: 13.5px; margin: 6px 0 10px; }
  .sys-checks li { font-size: 15.5px; margin-bottom: 5px; }
  .system .price { font-size: 26px; margin: 6px 0 12px; }
  .gate-note { font-size: 14px; padding: 10px 12px; }
  .converge svg { height: 56px; }
  .booked-chip { font-size: 14px; padding: 11px 16px; }
  .under-chip { font-size: 15.5px; }

  /* campaigns */
  .camp-chips li { font-size: 13px; padding: 7px 11px; }
  .camp-visual { max-width: 280px; }

  /* feature list on the homepage: a swipeable row instead of 9 stacked sections */
  .swipe-hint { display: block; font: 600 14px var(--body); color: var(--muted); margin: -8px var(--gutter) 10px; }
  .swipe-hint span { color: var(--orange-deep); }
  .feat-list.carousel { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px var(--gutter) 18px; scroll-padding: 0 var(--gutter); -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
  .feat-list.carousel .feat { flex: 0 0 84%; scroll-snap-align: start; background: var(--white); border-radius: 16px; padding: 12px 12px 16px; border: 1px solid rgba(28,28,26,.08); overflow: hidden; }
  .feat-list.carousel .feat:nth-child(even) { background: var(--white); }
  .feat-list.carousel .feat .wrap { padding: 0; }
  .feat-list.carousel .feat .wrap::before, .feat-list.carousel .marker { display: none; }
  .feat-list.carousel .feat-body { gap: 12px; }
  .feat-list.carousel .feat h3 { font-size: 20px !important; margin-bottom: 4px; }
  .feat-list.carousel .feat p { font-size: 15px; margin-bottom: 6px; }
  .feat-list.carousel .text-link { min-height: 40px; }
  .feat-list.carousel .reveal { opacity: 1; transform: none; }

  /* stacked feature lists elsewhere: tighter */
  .feat { padding: 30px 0; }
  .feat .wrap { padding-left: 44px; }
  .feat .wrap::before { left: 20px; }
  .feat .marker { left: 8px; }

  /* proof */
  .stop { padding: 18px; }
  .stop .big { font-size: 44px; }
  .proof-photos img { aspect-ratio: 1 / 1; height: auto; }

  /* pricing */
  .price-card { padding: 22px 16px; }
  .price-card .amount { font-size: 52px; }
  .own { padding: 12px 14px; margin: 14px 0; }

  /* faq */
  .faq summary { font-size: 16.5px; min-height: 52px; }

  /* final */
  .final h2 { font-size: 29px; }
  .big-gauge { max-width: 240px; margin: 4px 0 0; }
}

/* line breaking: no stranded single words in headings */
h1, h2, h3, .sys-name, .slip-close, .faq summary { text-wrap: balance; }
p, li { text-wrap: pretty; }
.sys-name { flex-wrap: nowrap; }
.feat-list.carousel { scrollbar-width: none; }
.feat-list.carousel::-webkit-scrollbar { display: none; }
@media (max-width: 767px) { .video .soon { top: 12px; right: 12px; bottom: auto; font-size: 11px; padding: 6px 8px; } }
/* each typeset heading line is its own box, so balance works per line */
h1 > .l1, h1 > .l2, h2 > em, h2 > .accent, h2 > span { display: block; text-wrap: balance; }
h1 > br, h2 > br { display: none; }
@media (max-width: 359px) { h1 { font-size: 30px; } h2 { font-size: 25px; } }

/* proof photos: tidy squares on phones, full-height tiles beside the timeline on desktop */
.proof-photos figure { overflow: hidden; border-radius: 12px; }
.proof-photos img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 0; }
@media (min-width: 768px) {
  .proof-grid { align-items: stretch; }
  .proof-photos { height: 100%; }
  .proof-photos figure { height: 100%; }
  .proof-photos img { height: 100%; aspect-ratio: auto; }
}
@media (min-width: 1024px) { .stop .big { font-size: clamp(34px, 3vw, 46px); white-space: nowrap; } }
/* between tablet and wide desktop the timeline needs the full width; photos sit underneath as squares */
@media (min-width: 768px) and (max-width: 1279px) {
  .proof-grid { grid-template-columns: minmax(0,1fr); }
  .proof-photos, .proof-photos figure { height: auto; }
  .proof-photos img { height: auto; aspect-ratio: 1 / 1; }
  .proof-photos { max-width: 640px; }
}

/* pain cards with photos */
.slip-card.has-img { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.slip-img { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--sand); }
.slip-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--ease); }
.slip-card.has-img:hover .slip-img img { transform: scale(1.04); }
.slip-img .n { position: absolute; left: 12px; bottom: 10px; margin: 0; width: 42px; height: 42px; border-radius: 50%; background: var(--orange); color: var(--ink); display: grid; place-items: center; font: 900 italic 22px/1 var(--display); box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.slip-txt { padding: 16px 18px 20px; }
@media (max-width: 767px) {
  .slip-card.has-img { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 0; padding: 0; }
  .slip-card.has-img .slip-img { aspect-ratio: auto; height: 100%; min-height: 128px; }
  .slip-card.has-img .slip-img .n { width: 32px; height: 32px; font-size: 17px; left: 8px; bottom: 8px; }
  .slip-card.has-img .slip-txt { padding: 12px 14px 14px; }
  .slip-card.has-img h3 { font-size: 17px; }
  .slip-card.has-img p { font-size: 14.5px; }
}

/* ===================================================== offers, calculator, forms (2026-10-09) */
.f-tag { display: inline-block; font: 700 13px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; background: var(--green); color: var(--cream); padding: 7px 10px; border-radius: 6px; margin: 10px 0 4px; }
.f-count { display: flex; align-items: center; gap: 8px; font-weight: 700; margin: 10px 0 0; }
.f-count.center { justify-content: center; }
.f-count .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 4px rgba(242,85,29,.18); flex: none; }
.founding { max-width: 760px; margin: 0 auto 22px; background: var(--white); border: 2px dashed var(--green); border-radius: 14px; padding: 18px 20px; }
.founding p { margin: 0 0 8px; }
.founding .f-tag { margin-top: 0; }
.g-line { text-align: center; font-size: 14px; margin: 12px 0 0; }
.g-line a { color: var(--green); font-weight: 600; }
.on-dark .g-line a, .g-line.on-dark a { color: var(--cream); }
.opt-grid { display: grid; gap: 14px; grid-template-columns: minmax(0,1fr); max-width: 1100px; margin: 0 auto; }
.opt { background: var(--white); border: 1px solid rgba(28,28,26,.12); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; }
.opt-feat { border: 2px solid var(--ink); }
.opt-label { font: 800 italic 20px var(--display); margin: 0; }
.opt-amt { font: 900 italic 40px/1 var(--display); margin: 10px 0 6px; }
.opt-amt small { font: 600 15px var(--body); font-style: normal; }
.opt-note { color: var(--muted); font-size: 15px; flex: 1; margin-bottom: 16px; }
.opt-under { text-align: center; font-weight: 600; margin: 18px 0 0; }
.guarantee { max-width: 760px; }
.texting h3 { margin-top: 0; }
.ladder .l-name { font: 800 italic 22px var(--display); margin: 0; }
.ladder .l-price { font-weight: 700; color: var(--orange-deep); margin: 4px 0 10px; }
.calc-band { background: var(--ink); color: var(--cream); }
.calc-band h2 { color: var(--cream); }
.steps-ol { padding-left: 22px; margin: 0; }
.steps-ol li { margin: 0 0 10px; padding-left: 4px; }
.kit-piece .n { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--orange); color: var(--ink); font: 900 italic 18px var(--display); margin-bottom: 10px; }
.kit-piece .fixes { margin: 0; font-size: 15px; color: var(--muted); }
.kit-problem h2 { font-size: 24px; }
.credit { background: var(--sand); border-radius: 10px; padding: 12px 14px; margin: 0; }
.rl-price { font: 900 italic 44px/1 var(--display); margin: 0 0 4px; }
.thanks-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.dl-list { list-style: none; padding: 0; display: grid; gap: 10px; }

/* forms */
.form-wrap { max-width: 760px; margin: 0 auto; }
.lead-form { margin-top: 18px; }
.fld-grid { display: grid; gap: 14px; grid-template-columns: minmax(0,1fr); }
.fld label { display: block; font-weight: 600; margin-bottom: 6px; }
.fld .opt-tag { font-weight: 400; color: var(--muted); }
.fld input, .fld select, .fld textarea { width: 100%; min-height: 48px; font: 400 17px var(--body); color: var(--ink); background: var(--white); border: 1.5px solid rgba(28,28,26,.25); border-radius: 10px; padding: 10px 12px; }
.fld textarea { min-height: 110px; resize: vertical; }
.fld input:focus, .fld select:focus, .fld textarea:focus { border-color: var(--ink); outline: 3px solid rgba(242,85,29,.35); outline-offset: 1px; }
.fld [aria-invalid="true"] { border-color: #B3261E; }
.fld .err { color: #B3261E; font-size: 14px; margin: 6px 0 0; min-height: 0; }
.fld .err:empty { display: none; }
.lead-form .btn { margin-top: 18px; }
.form-foot { margin: 10px 0 0; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-ok { background: var(--white); border-radius: 14px; padding: 20px; border: 2px solid var(--green); margin-top: 18px; }
.form-ok:focus { outline: none; }

/* calculator */
.calc { display: grid; gap: 16px; grid-template-columns: minmax(0,1fr); align-items: start; }
.calc-ins .c-in { margin-bottom: 16px; }
.c-in label { font-weight: 700; display: block; }
.c-hint { font-size: 14px; color: var(--muted); margin: 2px 0 6px; }
.c-box { display: flex; align-items: center; border: 1.5px solid rgba(28,28,26,.25); border-radius: 10px; background: var(--white); overflow: hidden; }
.c-box:focus-within { border-color: var(--ink); outline: 3px solid rgba(242,85,29,.35); }
.c-box input { flex: 1; min-width: 0; min-height: 48px; border: 0; font: 600 18px var(--body); padding: 8px 12px; background: transparent; color: var(--ink); }
.c-box input:focus { outline: none; }
.c-unit { padding: 0 12px; color: var(--muted); font-weight: 600; font-size: 15px; }
.calc-out { display: grid; gap: 16px; min-width: 0; }
.c-label { font: 700 13px/1 var(--body); text-transform: uppercase; letter-spacing: .1em; color: var(--muted); margin: 0 0 8px; }
.c-big { font: 900 italic 54px/1 var(--display); margin: 0 0 8px; }
.c-big small { font: 600 18px var(--body); font-style: normal; }
.c-verdict { font-weight: 600; min-height: 1.5em; }
.c-verdict .neg { color: #B3261E; }
.c-verdict .pos { color: var(--green); }
.c-gauge { position: relative; height: 14px; background: var(--sand); border-radius: 99px; margin: 26px 0 30px; }
.c-fill { height: 100%; background: var(--orange); border-radius: 99px; transition: width 300ms var(--ease); }
.c-tick { position: absolute; top: -6px; width: 2px; height: 26px; background: var(--ink); }
.c-tick span { position: absolute; top: 28px; left: 50%; transform: translateX(-50%); font-size: 13px; font-weight: 700; white-space: nowrap; }
.c-split-h { font-size: 18px; margin-top: 4px; }
.c-bar { display: flex; height: 14px; border-radius: 99px; overflow: hidden; background: var(--sand); }
.c-bar i { display: block; flex: 0 1 0; transition: flex-grow 300ms var(--ease); }
.s-fee { background: #8B8478; } .s-sup { background: var(--orange-soft); } .s-fuel { background: var(--orange-deep); } .s-keep { background: var(--green); }
.c-rows { list-style: none; padding: 0; margin: 12px 0; }
.c-rows li { display: grid; grid-template-columns: 12px minmax(0,1fr) auto 3.2em; gap: 10px; align-items: center; padding: 6px 0; border-bottom: 1px solid rgba(28,28,26,.08); }
.c-rows li i { width: 12px; height: 12px; border-radius: 3px; }
.c-rows b { font-variant-numeric: tabular-nums; }
.c-rows em { font-style: normal; color: var(--muted); text-align: right; font-variant-numeric: tabular-nums; }
.c-week { margin: 0; font-weight: 600; }
.c-gate h2 { font-size: 26px; }
.c-tiles { display: grid; gap: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); margin: 14px 0 4px; }
.c-tile { background: var(--cream); border-radius: 12px; padding: 14px; min-width: 0; }
.t-label { font-weight: 700; font-size: 14px; margin: 0; }
.t-val { font: 900 italic 34px/1.1 var(--display); margin: 6px 0; }
.t-sub { font-size: 13px; color: var(--muted); margin: 0; }
.c-next { border: 2px solid var(--ink); }
.c-next h2 { font-size: 26px; }
.calc-foot { margin-top: 22px; }
@media (max-width: 420px) { .c-tiles { grid-template-columns: minmax(0,1fr); } .c-big { font-size: 46px; } }

@media (min-width: 768px) {
  .opt-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .fld-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .fld-wide { grid-column: 1 / -1; }
  .ladder-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (min-width: 900px) {
  .calc { grid-template-columns: minmax(0,5fr) minmax(0,7fr); }
  .calc-ins { position: sticky; top: calc(var(--header) + 16px); }
}
@media (min-width: 1100px) {
  .opt-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
.ghl-cal { background: var(--white); border-radius: 14px; overflow: hidden; min-width: 0; }
@media (max-width: 767px) { .ghl-cal { margin: 0 calc(var(--gutter) * -1); border-radius: 0; } }
/* case study: one combined result (2026-10-16) */
.results-stats { display: grid; gap: 14px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.results-one .stop { margin: 0; }
.results-one .stop .lbl { margin: 6px 0 0; }
.results-text { margin: 18px 0 0; font-size: 18px; }
@media (max-width: 420px) { .results-stats { grid-template-columns: minmax(0,1fr); } }
.timeline.results-one { display: block; }
.results-one .stop .big { color: var(--orange-soft); }
.results-one .results-text { color: var(--cream); }
.opt-grid.opt-two { max-width: 760px; }
@media (min-width: 1100px) { .opt-grid.opt-two { grid-template-columns: repeat(2, minmax(0,1fr)); } }
/* nav never wraps a label; tighter between 1024 and 1199 so all six links fit */
.nav a { white-space: nowrap; }
@media (min-width: 1024px) and (max-width: 1199px) { .nav a { padding: 12px 7px; font-size: 14px; } .nav { gap: 0; margin-right: 8px; } }
/* both real ads show as clean squares at every width (the price graphic is square; never letterbox it) */
.proof-grid { align-items: start !important; }
.proof-photos, .proof-photos figure { height: auto !important; }
.proof-photos img { aspect-ratio: 1 / 1 !important; height: auto !important; object-fit: cover; }
.chat-card { text-align: left; }
.chat-card h3 { margin-top: 0; }
.chat-card .btn { margin-top: 6px; }

/* ---------- Engine price card: Monthly / Annually toggle (2026-10-20) ---------- */
.pt { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 14px 0 6px; font-weight: 600; }
.pt-lab { color: var(--muted); transition: color var(--base) var(--ease); }
.pt-lab em { font-style: normal; font-size: 12px; font-weight: 700; color: var(--green); background: #E3EEE8; padding: 3px 8px; border-radius: 99px; margin-left: 4px; white-space: nowrap; }
.price-card:not(.yearly) .pt-lab-m, .price-card.yearly .pt-lab-y { color: var(--ink); }
.pt-switch { position: relative; width: 56px; height: 32px; border-radius: 99px; border: 0; background: var(--sand); cursor: pointer; flex: none; transition: background var(--base) var(--ease); }
.pt-switch span { position: absolute; top: 4px; left: 4px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform var(--base) var(--ease); }
.price-card.yearly .pt-switch { background: var(--orange); }
.price-card.yearly .pt-switch span { transform: translateX(24px); }
.pt-amount { overflow: hidden; }
.pt-win { display: inline-grid; vertical-align: bottom; }
.pt-win > span { grid-area: 1 / 1; transition: transform 380ms var(--ease), opacity 380ms var(--ease); }
.pt-y { transform: translateY(100%); opacity: 0; }
.price-card.yearly .pt-m { transform: translateY(-100%); opacity: 0; }
.price-card.yearly .pt-y { transform: none; opacity: 1; }
.pt-y-only { display: none; }
.price-card.yearly .pt-y-only { display: block; }
.price-card.yearly .pt-m-only { display: none; }
.billing .pt-m-only, .billing .pt-y-only { display: inline; }
.price-card.yearly .billing .pt-m-only, .price-card:not(.yearly) .billing .pt-y-only { display: none; }
@media (prefers-reduced-motion: reduce) { .pt-win > span, .pt-switch span { transition: none; } }

/* ---------- Features dropdown (desktop) and accordion (mobile menu) ---------- */
.nav-dd { position: relative; display: flex; }
.nav-dd-btn { background: none; border: 0; cursor: pointer; color: var(--ink); font: 600 15px/1 var(--body); padding: 12px 10px; white-space: nowrap; }
.nav-dd-btn span { font-size: 11px; display: inline-block; transition: transform var(--fast) var(--ease); }
.nav-dd-btn:hover, .nav-dd-btn[aria-current="page"] { color: var(--orange-deep); }
.nav-dd.open .nav-dd-btn span { transform: rotate(180deg); }
.fm { position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(6px); width: min(880px, 92vw); background: #fff; border-radius: 16px;
      box-shadow: 0 18px 50px rgba(28,28,26,.18); padding: 20px 22px 16px; opacity: 0; visibility: hidden; transition: opacity var(--fast) var(--ease), transform var(--fast) var(--ease), visibility var(--fast); z-index: 60; }
.nav-dd.open .fm { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.fm-h { font: 700 16px/1.2 var(--body); margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid rgba(28,28,26,.1); }
.fm-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 4px 10px; }
.nav .fm-item { display: flex; gap: 12px; align-items: flex-start; padding: 10px; border-radius: 12px; white-space: normal; text-decoration: none; color: var(--ink); }
.nav .fm-item:hover { background: var(--cream); color: var(--ink); }
.fm-ic { flex: none; width: 40px; height: 40px; border-radius: 10px; background: var(--cream); display: grid; place-items: center; color: var(--orange-deep); }
.fm-item b { display: block; font: 700 15px/1.25 var(--body); }
.fm-item small { display: block; font: 400 13px/1.35 var(--body); color: var(--muted); margin-top: 3px; }
.ficon { width: 22px; height: 22px; }
.ficon.sm { width: 16px; height: 16px; vertical-align: -3px; }
.nav .fm-all { display: inline-block; margin-top: 8px; padding: 8px 10px; font-weight: 700; color: var(--orange-deep); }
.m-feat { border-bottom: 1px solid rgba(28,28,26,.1); }
.m-feat summary { list-style: none; display: flex; align-items: center; justify-content: space-between; min-height: 56px; font: 700 20px/1 var(--display); cursor: pointer; }
.m-feat summary::-webkit-details-marker { display: none; }
.m-feat summary::after { content: "+"; font: 400 26px/1 var(--body); color: var(--orange-deep); }
.m-feat[open] summary::after { content: "–"; }
.mobile-menu .m-feat a { min-height: 46px; font: 600 16px/1.2 var(--body); padding-left: 12px; border-bottom: 0; }
/* real walkthrough videos */
.video.has-video { aspect-ratio: 16 / 9; background: #111; }
.video.has-video > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.video.has-video .play { display: grid; place-items: center; color: var(--ink); box-shadow: 0 6px 20px rgba(0,0,0,.35); }
.video.has-video .play svg { width: 30px; height: 30px; margin-left: 3px; }
.video .vid-tag { position: absolute; right: 12px; top: 12px; background: rgba(28,28,26,.85); color: var(--cream); font: 600 13px/1 var(--body); padding: 8px 10px; border-radius: 8px; }

/* ---------- Book a Call: strips between sections, post button, small button (2026-10-21) ---------- */
.btn-sm { min-height: 44px; padding: 0 18px; font-size: 15px; }
.cta-strip { padding: 22px 0; }
.cta-strip.cream { background: var(--cream); }
.cta-strip.green { background: var(--green); color: var(--cream); }
.cta-strip-in { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; background: var(--white); border: 1px solid rgba(28,28,26,.1); border-radius: 16px; padding: 20px 22px; }
.cta-strip.green .cta-strip-in { background: var(--green-2); border-color: rgba(245,241,232,.2); }
.cta-h { font: 800 italic 22px/1.15 var(--display); margin: 0 0 4px; }
.cta-s { margin: 0; color: var(--muted); font-size: 16px; }
.cta-strip.green .cta-s { color: var(--sand); }
.cta-strip .btn { width: 100%; }
@media (min-width: 768px) {
  .cta-strip-in { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 28px; }
  .cta-strip .btn { width: auto; flex: none; }
}
.post-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; background: var(--sand); border-radius: 14px; padding: 14px 18px; margin: 18px 0 24px; }
.post-cta span { font-weight: 700; }
.fm-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding-top: 12px; border-top: 1px solid rgba(28,28,26,.1); }
.fm-foot .fm-all { margin: 0; padding: 8px 10px; }
.msg .lnk { display: inline-block; margin-top: 4px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; word-break: break-all; }
/* feature media: real ads pair, and the no-media layout (no invented mockups) */
.video.has-ads { aspect-ratio: 4 / 3; background: var(--green); }
.ads-pair { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; padding: 14px 14px 52px; }
.ads-pair img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; }
.feat-body.no-media { grid-template-columns: minmax(0,1fr); max-width: 760px; }
.feat-list.carousel .feat-body.no-media { max-width: none; }
.ads-pair img:last-child { object-fit: contain; align-self: center; height: auto; max-height: 100%; }

/* ---------- case study as a story (2026-10-21) ---------- */
.story { display: grid; gap: 14px; }
.story-step { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 14px; background: rgba(245,241,232,.06); border: 1px solid rgba(245,241,232,.18); border-radius: 16px; padding: 18px; }
.story-step.now { border-color: var(--orange-soft); background: rgba(255,138,91,.10); }
.story-step .sn { width: 36px; height: 36px; border-radius: 50%; background: var(--orange); color: var(--ink); display: grid; place-items: center; font: 900 italic 18px var(--display); }
.story-step .lbl { font: 700 13px/1.2 var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--sand); margin: 8px 0 6px; }
.story-step .checks { margin: 8px 0 0; }
.story-step .checks li { margin-bottom: 8px; }
.story-side { display: grid; gap: 14px; align-content: start; min-width: 0; }
.photo-cap { font-size: 13px; color: var(--sand); margin: -6px 0 0; }
.story-line { font: 800 italic clamp(22px, 3.4vw, 30px)/1.2 var(--display); margin: 28px 0 8px; max-width: 28em; }
.prose p { max-width: 36em; }
@media (min-width: 1024px) { .story-side { position: sticky; top: calc(var(--header) + 20px); } }

/* About */
.about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center}
.about-copy p{font-size:18px;line-height:1.65}
.about-photo{margin:0}
.about-photo img{width:100%;height:auto;border-radius:14px;display:block}
.about-photo figcaption{display:flex;flex-direction:column;margin-top:12px;font-size:15px}
.about-photo figcaption span{color:var(--muted)}
.about-story{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.about-story p{font-size:18px;line-height:1.65}
.vals{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px}
.vals li{display:flex;gap:20px;padding:22px 0;border-top:1px solid var(--sand)}
.vals h3{margin:0 0 6px;font-size:22px}
.vals p{margin:0;color:var(--muted)}
.val-n{font-family:'Archivo Black',sans-serif;font-style:italic;font-size:40px;line-height:1;color:var(--orange-deep);min-width:56px}
@media(max-width:820px){.about-grid,.about-story{grid-template-columns:minmax(0,1fr);gap:28px}.vals{grid-template-columns:minmax(0,1fr)}.about-photo{max-width:420px}}

/* Feature pages (simple, outcome-first) */
.fp-hero .wrap{text-align:center;max-width:820px}
.fp-hero h1{font-size:clamp(34px,6vw,60px);margin:0 0 14px}
.fp-hero .lede{margin:0 auto 24px;max-width:60ch}
.fp-media{max-width:960px;text-align:center}
.fp-media h2{margin-bottom:24px}
.fp-what{max-width:820px}
.fp-what .lede{font-size:19px;line-height:1.6}
.fp-items{display:grid;gap:8px;margin-top:20px}
.fp-item{padding:20px 0;border-top:1px solid var(--sand)}
.sec-sand .fp-item{border-top-color:#cfc5ae}
.fp-item h3{margin:0 0 6px;font-size:22px}
.fp-item p{margin:0;font-size:18px;line-height:1.6}
.fp-how{max-width:820px}
.fp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.fp-step{background:#fff;border-radius:14px;padding:24px}
.fp-step h3{margin:10px 0 6px;font-size:21px}
.fp-step p{margin:0;color:var(--muted)}
@media(max-width:820px){.fp-steps{grid-template-columns:minmax(0,1fr)}}
.fp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:960px;margin:0 auto}
.fp-stat{background:#fff;border-radius:14px;padding:22px 24px}
.fp-stat strong{display:block;font-family:'Archivo Black',sans-serif;font-style:italic;font-size:44px;line-height:1;color:var(--orange-deep);margin-bottom:8px}
.fp-stat span{font-size:17px;line-height:1.45}
.fp-src{text-align:center;margin-top:14px}
@media(max-width:820px){.fp-stats{grid-template-columns:minmax(0,1fr)}}

/* Blog card art */
.post-card{overflow:hidden}
.post-art{margin:-24px -24px 18px;display:flex;justify-content:center;align-items:center;padding:14px 0}
.post-art .pa{width:100%;max-width:260px;height:auto;display:block}

.fp-top{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:center}
.fp-stats-col{display:grid;grid-template-columns:minmax(0,1fr);max-width:none;margin:0}
.fp-stats-col .fp-src{text-align:left;margin:0}
.fp-vid{min-width:0}
@media(max-width:820px){.fp-top{grid-template-columns:minmax(0,1fr)}.fp-stats-col{order:2}.fp-vid{order:1}}
.fp-hero{padding-top:20px;padding-bottom:20px}
.fp-hero h1{font-size:clamp(30px,4.4vw,46px);margin:0 0 10px}
.fp-hero .eyebrow{margin-bottom:6px}
.fp-hero .lede{font-size:18px;margin:0 auto 16px}
.fp-stats-col{gap:12px}
.fp-stats-col .fp-stat{padding:16px 20px}
.fp-stats-col .fp-stat strong{font-size:34px;margin-bottom:4px}
.fp-stats-col .fp-stat span{font-size:16px}

/* Road: what working with us looks like */
.rd-road{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:28px}
.rd-seg{position:relative;height:44px;background:#1C1C1A;display:flex;align-items:center;justify-content:center}
.rd-seg::before{content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;background:repeating-linear-gradient(90deg,#F5F1E8 0 22px,transparent 22px 44px);opacity:.9}
.rd-stop:first-child .rd-seg{border-radius:10px 0 0 10px}
.rd-stop:last-child .rd-seg{border-radius:0 10px 10px 0}
.rd-pin{position:relative;z-index:2;width:38px;height:38px;border-radius:50%;background:#F2551D;color:#1C1C1A;border:3px solid #F5F1E8;font:900 italic 18px/32px 'Archivo Black',Inter,sans-serif;text-align:center}
.rd-car{position:absolute;z-index:3;left:6%;top:-18px;width:92px;height:auto}
.rd-flag{position:absolute;z-index:3;right:10%;top:-30px;width:34px;height:auto}
.rd-card{margin:18px 12px 0;background:#fff;border-radius:14px;padding:20px 22px;position:relative}
.rd-card::before{content:"";position:absolute;left:50%;top:-8px;width:16px;height:16px;background:#fff;transform:translateX(-50%) rotate(45deg)}
.rd-time{display:inline-block;background:#1F4D3A;color:#F5F1E8;font:700 13px/1 Inter,sans-serif;padding:7px 11px;border-radius:999px;letter-spacing:.02em}
.rd-card h3{margin:12px 0 6px;font-size:21px}
.rd-card p{margin:0;color:var(--muted)}
@media(max-width:820px){
 .rd-road{grid-template-columns:minmax(0,1fr);margin-top:20px}
 .rd-stop{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:stretch}
 .rd-seg{height:auto;min-height:150px;flex-direction:column;justify-content:flex-start;padding-top:14px}
 .rd-seg::before{left:50%;right:auto;top:0;bottom:0;width:4px;height:auto;margin:0 0 0 -2px;background:repeating-linear-gradient(180deg,#F5F1E8 0 18px,transparent 18px 36px)}
 .rd-stop:first-child .rd-seg{border-radius:10px 10px 0 0}.rd-stop:last-child .rd-seg{border-radius:0 0 10px 10px}
 .rd-card{margin:0 0 14px}.rd-card::before{display:none}
 .rd-car{left:50%;top:8px;width:60px;transform:translateX(-50%) rotate(90deg);transform-origin:center}
 .rd-flag{right:auto;left:50%;top:auto;bottom:6px;transform:translateX(-50%);width:26px}
 .rd-pin{margin-top:0}
}

/* "What is" as separate cards */
.fp-what{max-width:1000px}
.fp-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}
.fp-item,.sec-sand .fp-item{background:#fff;border:0;border-radius:14px;padding:26px 28px}
.fp-item-h{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.fp-ic{flex:none;width:44px;height:44px;border-radius:12px;background:#F8E1D5;color:var(--orange-deep);display:grid;place-items:center}
.fp-ic .ficon{width:26px;height:26px}
.fp-item h3{margin:0;font-size:21px;color:var(--orange-deep)}
.fp-item p{font-size:17px}
@media(max-width:820px){.fp-items{grid-template-columns:minmax(0,1fr)}}

/* Big CTA panel + How it works card */
.fp-how{max-width:1000px}
.fp-how-card{background:#fff;border-radius:16px;padding:32px 36px;border-left:8px solid var(--orange)}
.fp-how-card h2{margin:0 0 16px}
.fp-how-card .checks li{font-size:19px;line-height:1.5}
.fp-cta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:center;background:var(--green);color:var(--cream);border-radius:20px;padding:48px 48px;max-width:1000px;margin:0 auto;overflow:hidden}
.fp-cta h2{color:var(--cream);font-size:clamp(28px,3.6vw,40px);margin:0 0 12px}
.fp-cta p{color:#D9E4DD;font-size:18px;margin:0 0 22px}
.fp-cta-art{position:relative;height:150px;display:flex;align-items:flex-end;justify-content:center}
.fp-cta-art .rd-car{position:relative;left:auto;top:auto;width:210px;z-index:2;margin-bottom:14px}
.fp-cta-road{position:absolute;left:-10%;right:-60px;bottom:0;height:20px;background:#1C1C1A;border-radius:10px 0 0 10px}
.fp-cta-road::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:repeating-linear-gradient(90deg,#F5F1E8 0 18px,transparent 18px 36px)}
@media(max-width:820px){.fp-cta{grid-template-columns:minmax(0,1fr);padding:32px 24px;text-align:center}.fp-cta-art{height:110px}.fp-cta-art .rd-car{width:150px}.fp-how-card{padding:24px 22px}}

/* Sectioned, high-contrast bands (feature pages) */
.fp-dark{background:var(--green);color:var(--cream);padding:84px 0 120px;margin-top:20px;clip-path:polygon(0 0,50% 38px,100% 0,100% calc(100% - 64px),50% 100%,0 calc(100% - 64px))}
.fp-dark h2{color:var(--cream);text-align:center}
.fp-dark .lede{color:#D9E4DD;text-align:center;margin-left:auto;margin-right:auto;max-width:62ch}
.fp-dark .fp-item p{color:var(--ink)}
.fp-cta{background:#1C1C1A}
.fp-cta p{color:#D8D4C8}
.fp-white{background:#fff;padding-bottom:84px}
.fp-white h2{text-align:center}
.fp-white .rd-card{background:var(--cream)}
.fp-white .rd-card::before{background:var(--cream)}
@media(max-width:820px){.fp-dark{padding:72px 0 96px;clip-path:polygon(0 0,50% 24px,100% 0,100% calc(100% - 40px),50% 100%,0 calc(100% - 40px))}}
.fp-cta-road{background:#3B3B36;box-shadow:0 0 0 2px #55554E inset}
.fp-hero{padding-top:14px}
.fp-vid-h{font-size:clamp(22px,2.6vw,30px);text-align:center;margin:0 0 14px}
.fp-stats-col .fp-stat{padding:22px 26px}
.fp-stats-col .fp-stat strong{font-size:56px;margin-bottom:8px}
.fp-stats-col .fp-stat span{font-size:21px;line-height:1.4}
.fp-stats:not(.fp-stats-col) .fp-stat strong{font-size:52px}
.fp-stats:not(.fp-stats-col) .fp-stat span{font-size:20px}
.fp-cta-art{height:auto;justify-content:center;align-items:center}
.fp-cta-art svg,.fp-cta-art img{width:min(100%,300px);height:auto;display:block}
@media(max-width:820px){.fp-cta-art svg,.fp-cta-art img{width:200px;margin:8px auto 0}}

/* Timeline: dark, gauge-and-speed-line brand motif */
.fp-race{background:#1C1C1A;color:var(--cream);padding:72px 0 80px}
.fp-race h2{color:var(--cream);text-align:center;margin-bottom:44px}
.rc-track{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1000px;margin:0 auto}
.rc-track::before{content:"";position:absolute;left:0;right:0;top:25px;height:3px;background:linear-gradient(90deg,#F2551D 0,#F2551D 66%,rgba(245,241,232,.22) 100%);border-radius:2px}
.rc-speed{position:absolute;left:-6px;top:15px;display:flex;flex-direction:column;gap:6px;transform:translateX(-100%)}
.rc-speed b{display:block;height:3px;border-radius:2px;background:#F2551D;margin-left:auto}
.rc-speed b:nth-child(1){width:46px}.rc-speed b:nth-child(2){width:30px}.rc-speed b:nth-child(3){width:18px}
.rc-node{position:relative;z-index:1;width:52px;height:52px;border-radius:50%;background:#1C1C1A;border:3px solid #F2551D;display:grid;place-items:center;margin:0 0 22px 22px}
.rc-node span{font:900 italic 22px/1 'Archivo Black',Inter,sans-serif;color:var(--cream)}
.rc-end{background:#F2551D}.rc-end span{color:#1C1C1A}
.rc-card{border:1px solid rgba(245,241,232,.16);background:rgba(245,241,232,.05);border-radius:14px;padding:22px 24px 26px;height:calc(100% - 74px)}
.rc-time{margin:0 0 10px;font:900 italic clamp(26px,3vw,34px)/1 'Archivo Black',Inter,sans-serif;color:#FF8A5B}
.rc-card h3{margin:0 0 8px;font-size:20px;color:var(--cream)}
.rc-card p:last-child{margin:0;color:#CFCABD;font-size:16px;line-height:1.55}
@media(max-width:820px){
 .rc-track{grid-template-columns:minmax(0,1fr);gap:18px;padding-left:0}
 .rc-track::before{left:25px;right:auto;top:0;bottom:0;width:3px;height:auto;background:linear-gradient(180deg,#F2551D 0,#F2551D 66%,rgba(245,241,232,.22) 100%)}
 .rc-speed{display:none}
 .rc-stop{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px}
 .rc-node{margin:0}
 .rc-card{height:auto}
}
.rc-scene-wrap{max-width:1000px;margin:-18px auto 18px}
.rc-scene{display:block;width:100%;height:auto}
.fp-race h2{margin-bottom:8px}
.rc-card{display:flex;flex-direction:column}
.rc-card h3{font-size:clamp(24px,2.6vw,30px);line-height:1.15;margin:0 0 10px}
.rc-card .rc-desc{margin:0 0 20px;flex:1;font-size:17px}
.rc-time{margin:0;padding-top:16px;border-top:1px solid rgba(245,241,232,.16)}
.rc-card p.rc-time{font:900 italic clamp(26px,3vw,34px)/1 'Archivo Black',Inter,sans-serif;color:#FF8A5B;margin:0;padding-top:16px}

/* Illustration bands */
.art-band{padding:0 0 18px}
.art-band img{display:block;width:100%;height:auto;margin:0 auto}
.rc-scene-wrap{margin:-6px auto 14px;max-width:760px}
.rc-scene{width:100%;height:auto;display:block}

/* Small car driving the track from step 1 to step 3 */
.fp-race h2{margin-bottom:56px}
.rc-car2{position:absolute;z-index:3;width:230px;height:auto;top:-24px;left:-112px;opacity:0;pointer-events:none}
.js .rc-track.in .rc-car2{animation:rc-drive 3.4s cubic-bezier(.45,.05,.2,1) .35s forwards}
@keyframes rc-drive{0%{left:-152px;opacity:0}8%{opacity:1}100%{left:calc(66.667% - 137px);opacity:1}}
@media(prefers-reduced-motion:reduce){.rc-car2{opacity:1;left:calc(66.667% - 137px);animation:none!important}}
@media(max-width:820px){.rc-car2{display:none}}

/* Hero illustrations: right half on desktop, under the text on phones */
.has-art .wrap{position:relative}
.has-art .wrap > :not(.hero-art){max-width:52%}
.hero-art{position:absolute;right:0;top:50%;transform:translateY(-46%);width:min(var(--w,480px),46%);height:auto;pointer-events:none}
@media(max-width:900px){
 .has-art .wrap > :not(.hero-art){max-width:none}
 .hero-art{position:static;transform:none;display:block;width:min(var(--w,480px),88%);margin:22px auto 0}
}
.hero-art{right:24px}
@media(max-width:900px){.hero-art{right:auto}}

/* Illustration accents */
.vals-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.vals-flag{width:min(280px,34%);height:auto;display:block}
.fp-race{position:relative;overflow:hidden;padding-bottom:128px}
.rc-smoke{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);width:min(760px,92%);height:auto;pointer-events:none;opacity:.95}
.fp-cta-art{position:relative}
.fp-streaks{position:absolute;right:46%;top:50%;transform:translateY(-50%);width:62%;height:auto;opacity:.95;pointer-events:none}
.fp-cta-art svg{position:relative;z-index:1}
@media(max-width:820px){.vals-flag{width:120px}.fp-streaks{display:none}.rc-smoke{width:100%}.fp-race{padding-bottom:110px}}
.streak-div{text-align:center;margin:-8px 0 -18px;position:relative;z-index:1;pointer-events:none}
.streak-div img{width:min(520px,70%);height:auto;display:inline-block}

/* Our Work */
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.work-tile{display:flex;align-items:center;justify-content:center;aspect-ratio:1.75;border-radius:12px;overflow:hidden;padding:4%;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
a.work-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(28,28,26,.18)}
.work-tile img{width:100%;height:100%;object-fit:contain;display:block}
@media(max-width:700px){.work-grid{grid-template-columns:minmax(0,1fr)}}
.work-tile.work-full{padding:0}
.work-tile.work-full img{object-fit:cover}
.work-tile:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:2.1}
@media(max-width:700px){.work-tile:last-child:nth-child(odd){aspect-ratio:1.75}}

/* Rev Up price block: centred, larger */
#revup-price .sec-head{text-align:center;max-width:none;margin-bottom:36px}
#revup-price .sec-head h2{font-size:clamp(34px,4.6vw,56px)}
#revup-price .sec-head .lede{margin:14px auto 0;font-size:20px;max-width:56ch}
#revup-price .opt-grid{max-width:900px;gap:24px}
#revup-price .opt{padding:36px 36px 32px}
#revup-price .opt-label{font-size:26px}
#revup-price .opt-amt{font-size:68px;margin:14px 0 8px}
#revup-price .opt-amt small{font-size:20px}
#revup-price .opt-note{font-size:18px;margin-bottom:24px}
#revup-price .opt .btn{padding-top:16px;padding-bottom:16px;font-size:18px}
#revup-price .opt-under{font-size:18px;margin-top:26px}
@media(max-width:700px){#revup-price .opt-amt{font-size:54px}#revup-price .opt{padding:28px 24px}}

/* ---- Funnel landing page (/lp/watch/) ---- */
.fn-head .wrap{display:flex;align-items:center;justify-content:space-between}
.fn-head .logo{display:inline-flex}
.fn-cta{margin-left:auto}
.fn-foot{background:var(--ink);color:var(--sand);padding:28px 0 96px;font-size:14px}
.fn-foot .wrap{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.fn-foot a{color:var(--sand)}
.fn-foot span{margin-right:auto}
.fn-bar{display:flex}
.fn-bar .btn{flex:1}
@media(min-width:1024px){.fn-bar{display:none}.fn-foot{padding-bottom:28px}}
.fn-hero{min-height:auto}
.fn-hero-in{display:grid!important;grid-template-columns:minmax(0,1fr);gap:28px;padding-top:36px;padding-bottom:48px}
.fn-vh{font:800 italic 20px var(--display);margin:0 0 10px;color:var(--cream)}
.video.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video.yt.playing{background:#000}
@media(min-width:1024px){.fn-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center}}
.fn-glance{padding-top:48px;padding-bottom:24px}
.fn-grid4{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media(min-width:700px){.fn-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.fn-grid4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fn-g{background:#fff;border-radius:14px;padding:24px;border-top:5px solid var(--orange)}
.fn-k{font:700 13px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-deep);margin:0 0 10px}
.fn-g h3{margin:0 0 8px;font-size:22px}
.fn-g p:last-child{margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.fn-grid3{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:28px}
@media(min-width:700px){.fn-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.fn-grid3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fn-p{background:#fff;border-radius:14px;padding:24px 24px 26px;position:relative}
.fn-x{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#F8E1D5;color:var(--orange-deep);font:900 22px/1 var(--display);margin-bottom:12px}
.fn-p h3{margin:0 0 6px;font-size:21px}
.fn-p p:last-child{margin:0;color:var(--muted)}
.fn-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media(min-width:760px){.fn-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.fn-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fn-s{border:2px solid var(--ink);border-radius:14px;padding:22px 22px 24px;background:var(--cream)}
.fn-n{display:block;font:900 italic 44px/1 var(--display);color:var(--orange-deep);margin-bottom:8px}
.fn-s h3{margin:0 0 6px;font-size:22px}
.fn-s p{margin:0;color:var(--muted)}
.fn-mid{text-align:center;margin-top:32px}
.fn-inc{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
@media(min-width:900px){.fn-inc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}}
.fn-final .wrap{text-align:center}
.fn-final .lede{margin-left:auto;margin-right:auto;max-width:52ch}
.fn-hero h1{font-size:clamp(30px,3.7vw,52px)}
.fn-hero h1 .l1,.fn-hero h1 .l2{white-space:normal}
.fn-hero-t{min-width:0}

/* ---- Funnel v2 ---- */
.fn-top{position:relative;padding:44px 0 56px;text-align:center}
.fn-top .wrap{position:relative;z-index:1}
.fn-aud{display:inline-block;background:var(--orange);color:var(--ink);font:800 14px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;border-radius:999px;margin:0 0 18px}
.fn-top h1{font-size:clamp(34px,5.4vw,66px);margin:0 auto 14px;max-width:16em}
.fn-top h1 .l1,.fn-top h1 .l2{white-space:normal}
.fn-sub{font-size:clamp(18px,1.9vw,22px);line-height:1.5;max-width:44em;margin:0 auto 26px;color:#E8EFEA}
.fn-watch{font:800 italic 20px var(--display);margin:0 0 12px}
.fn-video{max-width:900px;margin:0 auto 28px}
.fn-cta-row{margin-bottom:12px}
.fn-cta-row .btn{padding:18px 34px;font-size:20px}
.fn-micro{font-size:15px;color:#D5E0D9;margin:12px auto 0;max-width:46em}
.fn-micro.dark{color:var(--muted)}
.fn-strip{background:var(--cream);border-bottom:1px solid var(--sand);padding:30px 0}
.fn-strip .wrap{text-align:center}
.fn-sl{font:700 13px/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--orange-deep);margin:0 0 12px}
.fn-sv-row{display:flex;justify-content:center;gap:clamp(24px,7vw,96px);flex-wrap:wrap}
.fn-big{font:900 italic clamp(40px,6vw,64px)/1 var(--display);margin:0}
.fn-lbl{margin:6px 0 0;font-size:18px;color:var(--muted)}
.fn-fine{font-size:13px;color:var(--muted);margin:14px 0 0}
.fn-roi{max-width:860px;margin:30px auto 0;background:#fff;border-radius:18px;padding:32px 34px;box-shadow:0 8px 30px rgba(28,28,26,.08)}
.fn-r{margin-bottom:22px}
.fn-r label{display:flex;justify-content:space-between;gap:12px;font:700 18px var(--body);margin-bottom:10px}
.fn-r output{font:900 italic 26px/1 var(--display);color:var(--orange-deep)}
.fn-r input[type=range]{width:100%;accent-color:var(--orange);height:32px}
.fn-out{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;background:var(--cream);border-radius:14px;padding:22px 24px;margin-top:8px}
.fn-m{font:900 italic clamp(44px,7vw,72px)/1 var(--display);margin:4px 0;color:var(--green)}
.fn-m2{font:900 italic clamp(30px,4vw,44px)/1 var(--display);margin:8px 0 4px}
.fn-xs{margin:0;color:var(--muted);font-size:16px;line-height:1.4}
.fn-pay{font:800 20px var(--body);text-align:center;margin:20px 0 6px}
.fn-fine2{font-size:13px;color:var(--muted);text-align:center;margin:0}
.fn-stages{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:30px}
@media(min-width:760px){.fn-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.fn-stages{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fn-st{background:#fff;border-radius:14px;padding:24px;border-top:5px solid var(--green)}
.fn-st4{border-top-color:var(--orange);background:#FFF6F0}
.fn-st h3{margin:0 0 8px;font-size:23px}
.fn-st p:last-child{margin:0;color:var(--muted);font-size:16px;line-height:1.55}
.fn-chain{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 8px;margin:32px 0 0;padding:0}
.fn-chain li{background:var(--ink);color:var(--cream);font:700 16px var(--body);padding:12px 16px;border-radius:10px;position:relative}
.fn-chain li:not(:last-child)::after{content:"→";position:absolute;right:-17px;top:50%;transform:translateY(-52%);color:var(--orange-deep);font-weight:900;z-index:1}
.fn-chain li:last-child{background:var(--orange);color:var(--ink)}
@media(max-width:700px){.fn-chain li{width:100%;text-align:center}.fn-chain li:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-18px;transform:translateX(-50%)}.fn-chain{gap:20px}}
.fn-sethead{text-align:center;font:800 italic clamp(24px,3vw,32px) var(--display);margin:44px 0 18px}
.fn-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media(min-width:900px){.fn-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fn-col{background:#fff;border:2px solid var(--ink);border-radius:14px;padding:22px 24px}
.fn-col h3{margin:0 0 12px;font-size:20px}
.fn-fit{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:28px}
@media(min-width:860px){.fn-fit{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fn-yes,.fn-no{border-radius:14px;padding:26px 28px}
.fn-yes{background:#fff;border:2px solid var(--green)}
.fn-no{background:#FFF6F0;border:2px solid #E7B8A0}
.fn-yes h3,.fn-no h3{margin:0 0 12px;font-size:22px}
.fn-no ul{margin:0 0 10px;padding-left:20px}
.fn-no li{margin:6px 0}
.fn-final .wrap{text-align:center}
.fn-final .lede{margin-left:auto;margin-right:auto;max-width:52ch}
.fn-final .btn{padding:18px 34px;font-size:20px}
@media(max-width:700px){.fn-out{grid-template-columns:minmax(0,1fr)}.fn-roi{padding:24px 20px}}
.fn-top h1{color:var(--cream);text-shadow:0 1px 12px rgba(10,30,22,.45)}
.fn-top h1 em,.fn-top h1 .l2{color:var(--orange-soft)}
.fn-top .fn-sub,.fn-top .fn-watch{color:var(--cream)}

/* ---- Funnel v3 additions ---- */
.fn-badges{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0 0;padding:0}
.fn-badges li{background:rgba(245,241,232,.12);border:1px solid rgba(245,241,232,.3);color:var(--cream);font:700 14px var(--body);padding:9px 14px;border-radius:999px}
.fn-mech{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-top:30px;align-items:center}
@media(min-width:900px){.fn-mech{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px}}
.fn-mech-phone{max-width:320px;margin:0 auto}
.fn-cap{font-size:13px;color:var(--muted);text-align:center;margin:10px 0 0}
.fn-steps-col{margin-top:0!important;grid-template-columns:minmax(0,1fr)!important}
@media(min-width:700px){.fn-steps-col{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.fn-replaces{max-width:760px;margin:30px auto 0;background:#fff;border-radius:14px;padding:26px 30px;border:2px dashed #CFC5AE}
.fn-replaces h3{margin:0 0 10px;font-size:22px}
.fn-replaces ul{margin:0 0 12px;padding-left:20px}
.fn-replaces li{margin:5px 0}
.fn-rp{margin:0;font-weight:700}
.fn-founder{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center}
@media(min-width:860px){.fn-founder{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:56px}}
.fn-founder figure{margin:0;max-width:360px}
.fn-founder img{width:100%;height:auto;border-radius:14px;display:block}
.fn-founder figcaption{display:flex;flex-direction:column;margin-top:10px}
.fn-founder figcaption span{color:var(--muted)}
.fn-founder p{font-size:18px;line-height:1.6}
.fn-mid-note{text-align:center;font:700 19px var(--body);margin:26px 0 0}

/* ---- Funnel v4: whole-system sections ---- */
.fn-journey{list-style:none;margin:30px auto 0;padding:0;max-width:860px;display:grid;gap:14px}
.fn-j{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:start;background:#fff;border-radius:14px;padding:20px 22px;border-left:6px solid var(--orange)}
.fn-j .fn-n{font-size:40px;margin:0;line-height:1}
.fn-j h3{margin:0 0 4px;font-size:22px}
.fn-j p{margin:0;color:var(--muted)}
.fn-tags{margin-top:8px!important;font:700 13px/1.3 var(--body)!important;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-deep)!important}
.fn-apps,.fn-feats{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:30px}
@media(min-width:620px){.fn-apps,.fn-feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:980px){.fn-apps,.fn-feats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.fn-app,.fn-f{background:#fff;border-radius:14px;padding:22px 24px}
.fn-feats .fn-f{background:var(--cream);border:2px solid var(--ink)}
.fn-ai{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#F8E1D5;color:var(--orange-deep);margin-bottom:12px}
.fn-ai .ficon{width:26px;height:26px}
.fn-app h3,.fn-f h3{margin:0 0 6px;font-size:21px}
.fn-app p,.fn-f p{margin:0;color:var(--muted);font-size:16px;line-height:1.5}
.fn-ads{max-width:860px;text-align:center}
.fn-ads .lede{color:var(--cream);margin-left:auto;margin-right:auto}

/* ---- Case study v2: compact, two real 9:16 video-ad frames ---- */
.pr-head{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:end;margin-bottom:26px}
@media(min-width:900px){.pr-head{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px}}
.pr-head .sec-head{margin:0}
.pr-stats{margin:0}
.pr-body{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
@media(min-width:900px){.pr-body{grid-template-columns:minmax(0,1.5fr) minmax(0,.6fr) minmax(0,.6fr);gap:22px;align-items:start}}
.pr-story{display:grid;gap:12px}
.pr-story .story-step{padding:14px 18px;margin:0;gap:14px}
.pr-story .story-step .lbl{margin:0 0 4px;font-size:13px}
.pr-story .story-step li{font-size:16px;line-height:1.4;margin:3px 0}
.pr-ad{margin:0}
.pr-frame{position:relative;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 14px 34px rgba(0,0,0,.35);border:3px solid rgba(245,241,232,.18)}
.pr-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pr-tag{position:absolute;left:10px;top:10px;background:rgba(28,28,26,.82);color:var(--cream);font:700 12px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;padding:7px 9px;border-radius:7px}
.pr-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:rgba(242,85,29,.92);color:#1C1C1A;display:grid;place-items:center;font-size:22px;padding-left:4px}
.pr-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:520px;margin:0 auto}
@media(max-width:899px){.pr-body .pr-ad{max-width:260px}.pr-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pr-story{grid-column:1/-1}}
.pr-play{display:none}

/* Funnel: Rev Up block bigger, and no dead gap before the case study */
#ads{padding-top:56px;padding-bottom:12px}
#ads + #results{padding-top:36px}
#ads .fn-ads{max-width:1040px}
#ads h2{font-size:clamp(40px,5.6vw,72px);line-height:1.04}
#ads .eyebrow{font-size:16px}
#ads .lede{font-size:clamp(20px,2.2vw,26px);line-height:1.5;max-width:44em;margin-top:18px}
#ads .small{font-size:18px;margin-top:14px}
#results .pr-head{margin-bottom:22px}

/* Calculator: price ladder */
.c-ladder{margin-top:20px}
.c-ladder h2{margin:0 0 6px;font-size:28px}
.c-lad-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.c-lad{background:var(--cream);border-radius:14px;padding:18px 20px}
.c-lad-mid{background:#fff;border:2px solid var(--ink)}
.c-lad .t-val{font:900 italic clamp(28px,4vw,42px)/1 var(--display);margin:6px 0}
.c-lad-ctl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.c-lad-ctl label{display:grid;gap:6px;font:700 15px var(--body)}
.c-lad-ctl input{width:100%;accent-color:var(--orange)}
.c-lad-next{margin:16px 0 0;font-weight:600}
@media(max-width:620px){.c-lad-row{grid-template-columns:minmax(0,1fr)}.c-lad-ctl{grid-template-columns:minmax(0,1fr)}}
.post-kit{margin-top:18px;padding:14px 18px;background:var(--sand);border-radius:12px;font-weight:600}
.kit-hero-w{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
.kit-hero-img{width:100%;max-width:520px;height:auto;border-radius:18px;justify-self:center;box-shadow:0 18px 44px rgba(28,28,26,.18)}
@media(min-width:900px){.kit-hero-w{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}}
.kit-buy .btn{padding:18px 34px;font-size:20px}
.kit-inside{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:center;margin-top:28px}
@media(min-width:900px){.kit-inside{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px}}
.kit-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.kit-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;background:#fff;border-radius:14px;padding:16px 20px}
.kit-list .n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--orange);color:var(--ink);font:400 20px var(--display);font-style:italic}
.kit-list h3{margin:0 0 3px;font-size:20px}
.kit-list p{margin:0;color:var(--muted)}
.kit-shots img{width:100%;height:auto;border-radius:16px;display:block;box-shadow:0 14px 36px rgba(28,28,26,.2)}
.kit-get{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:center}
@media(min-width:900px){.kit-get{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}}
.kit-fine{text-align:center}
.foot-grid .foot-h { font: 700 13px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--sand); margin: 0 0 12px; }
.post-card h2 a{color:var(--ink);text-decoration:none}
.post-card h2 a:hover{color:var(--orange-deep)}

/* /lp/watch: locked video, quiz modal, unlocked player, rebuilt calculator outputs */
.fn-video.fn-gate{position:relative;overflow:hidden;cursor:pointer}
.fn-gate>img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.fn-unlock{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:none;border:0;color:#fff;cursor:pointer;padding:12px;font-family:var(--body);text-align:center}
.fn-ic{display:flex;align-items:center;gap:10px}
.fn-ic svg{width:44px;height:44px;padding:9px;border-radius:50%;background:rgba(28,28,26,.7)}
.fn-ic svg+svg{background:var(--orange);width:60px;height:60px;padding:14px}
.fn-ul{font:900 italic clamp(18px,4.6vw,26px)/1.1 var(--display);text-shadow:0 2px 10px rgba(0,0,0,.5)}
.fn-us{font:600 14px/1.2 var(--body);opacity:.92}
.fn-unlock:focus-visible{outline:3px solid var(--orange-soft);outline-offset:-6px}
.fn-video.fn-unlocked{position:relative;overflow:hidden;aspect-ratio:16/9;background:#000}
.fn-player{position:absolute;inset:0}.fn-player iframe,.fn-player #de-yt{position:absolute;inset:0;width:100%;height:100%;border:0}
.fn-sound{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:var(--ink);border:0;border-radius:999px;padding:16px 26px;font:800 18px/1 var(--body);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:2}
.fn-sound[hidden]{display:none}.fn-sound svg{width:24px;height:24px}
html.qz-lock{overflow:hidden}
.qz{position:fixed;inset:0;z-index:300;background:rgba(28,28,26,.72);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.qz[hidden]{display:none}
.qz-card{position:relative;background:#fff;color:var(--ink);border-radius:18px;width:100%;max-width:560px;padding:22px 22px 26px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.qz-x{position:absolute;right:10px;top:8px;width:44px;height:44px;border:0;background:none;font-size:30px;line-height:1;color:#6a6a66;cursor:pointer}
.qz-back{background:none;border:0;color:#7a7a76;font:500 16px var(--body);padding:10px 0;cursor:pointer;min-height:44px}
.qz-bar{position:relative;height:30px;background:#e6e4de;border-radius:999px;overflow:hidden;margin:2px 0 22px}
.qz-bar span{position:absolute;left:0;top:0;bottom:0;width:10%;background:var(--green);border-radius:999px;transition:width .35s ease}
.qz-bar b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font:800 13px var(--body);mix-blend-mode:normal;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.qz-q{font:800 clamp(20px,5vw,26px)/1.25 var(--body);text-align:center;margin:0 0 18px;outline:0}
.qz-opt{display:block;width:100%;min-height:56px;margin:0 0 12px;padding:14px 16px;background:#fff;border:2px solid #e3e1db;border-radius:14px;font:700 clamp(16px,4.2vw,19px)/1.25 var(--body);color:var(--ink);cursor:pointer;text-align:center}
.qz-opt:hover,.qz-opt.on{background:var(--orange);border-color:var(--orange)}
.qz-opt:focus-visible,.qz-in:focus-visible,.qz-go:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.qz-in{display:block;width:100%;box-sizing:border-box;min-height:60px;padding:14px 18px;border:3px solid var(--green);border-radius:14px;font:500 20px var(--body);margin:0 0 14px}
.qz-go{display:block;width:100%;min-height:58px;border:0;border-radius:14px;background:var(--orange);color:var(--ink);font:800 19px var(--body);cursor:pointer;box-shadow:0 6px 16px rgba(28,28,26,.16)}
.qz-err{color:#B3261E;font:600 15px var(--body);text-align:center;margin:8px 0 0;min-height:0}
.qz-note{color:#6a6a66;font:400 13px/1.45 var(--body);text-align:center;margin:12px 0 0}
.fn-pay-top{margin:6px 0 16px;font-size:clamp(22px,4.4vw,30px);line-height:1.2}
.fn-be{text-align:center;margin:12px 0 0;font-weight:600}
.fn-out{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.fn-out{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.qz-bar span{transition:none}}
.fn-out .fn-m,.fn-out .fn-m2{font-size:clamp(32px,4.4vw,46px);margin:6px 0}.fn-out .fn-k{font-size:12px}

/* /lp/watch: the VSL. The presentation is the stage, the video sits in its face panel, both run off the video's clock. */
.fn-video.fn-vsmode{aspect-ratio:auto;background:none;overflow:visible;max-width:1040px;position:static}
.vs{container-type:inline-size}
.vs-stage{position:relative;aspect-ratio:16/9;background:#0b0b0a;border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 12px 40px rgba(0,0,0,.35)}
.vs-deck{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#0b0b0a}
.vs-face{position:absolute;left:70.1%;top:6.11%;width:26.46%;height:73.89%;border-radius:12px;border-radius:1.25cqw;overflow:hidden;background:#111}
.vs-yt{position:absolute;left:0;top:50%;width:100%;padding-top:177.78%;transform:translateY(-50%)}
.vs-yt iframe,.vs-yt>div{position:absolute;left:0;top:0;width:100%;height:100%;border:0}
.vs-big{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:var(--ink);border:0;border-radius:999px;padding:16px 26px;font:800 clamp(16px,2.2cqw,22px)/1 var(--body);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.45);z-index:2}
.vs-big[hidden]{display:none}.vs-big svg{width:26px;height:26px}
.vs-bar{display:flex;align-items:center;gap:12px;padding:12px 2px 0}
.vs-pp{flex:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--orange);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.vs-pp svg{width:24px;height:24px}
.vs-seek{flex:1;min-width:0;accent-color:var(--orange);height:32px}
.vs-time{flex:none;color:var(--cream);font:600 14px var(--body);font-variant-numeric:tabular-nums;min-width:88px;text-align:right}
.vs-cap{color:#fff;font:500 clamp(16px,4.2vw,20px)/1.5 var(--body);text-align:center;min-height:4.5em;margin:10px 4px 0}
@media(max-width:520px){.vs-time{min-width:0;font-size:12px}}

/* locked VSL thumbnail: the vertical poster sits on a blurred copy of itself so the 16:9 box is filled */
.fn-video.fn-gate:has(.fn-gbg){aspect-ratio:16/9;background:#0b0b0a}
.fn-gate .fn-gbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(22px) brightness(.45);transform:scale(1.15)}
.fn-gate .fn-gfg{position:absolute;left:50%;top:0;height:100%;width:auto;transform:translateX(-50%);object-fit:contain;filter:brightness(.62)}
.vs-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;background:#111}

/* calendar inside the quiz modal, and the /lp/booked confirmation */
.qz-card.qz-cal{max-width:780px;padding:18px 14px 8px}
.qz-cal .qz-bar,.qz-cal .qz-back,.qz-cal .qz-note,.qz-cal .qz-err{display:none}
.qz-cal .qz-q{font-size:22px;margin:4px 40px 8px 6px}
.qz-cal iframe{display:block;width:100%;border:0;height:780px}
.bk-h{font-size:clamp(2.2rem,7vw,3.6rem)}
.is-framed .fn-head,.is-framed .fn-foot,.is-framed .fn-bar,.is-framed .skip{display:none!important}
.is-framed .fn-top .wrap{padding-top:28px!important;padding-bottom:36px!important}

/* testimonial cards */
.tm-card{margin:0;display:grid;gap:18px;align-items:center}
.tm-frame{position:relative;aspect-ratio:9/16;max-width:300px;width:100%;margin:0 auto;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 14px 34px rgba(0,0,0,.35);border:3px solid rgba(245,241,232,.18)}
.tm-frame img,.tm-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#000}
.tm-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;background:var(--orange);border:0;cursor:pointer;display:grid;place-items:center;color:var(--ink);box-shadow:0 6px 20px rgba(0,0,0,.4)}
.tm-play svg{width:32px;height:32px;margin-left:3px}
.tm-q{margin:0;font-family:var(--display);font-size:clamp(1.25rem,3.2vw,1.8rem);line-height:1.3;font-weight:700}
.tm-by{margin:12px 0 0;font-size:16px}
.tm-fine{margin:6px 0 0;font-size:13px;opacity:.7}
.pr-tm{margin-top:28px;padding-top:26px;border-top:1px solid rgba(245,241,232,.18)}
@media(min-width:760px){.tm-card{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:34px}.tm-frame{margin:0}}
.tm-wrap .tm-card{max-width:880px;margin:0 auto}
.tm-extra{max-width:880px;margin:26px auto 0}
.tm-more{margin:0;padding:18px 22px;border-left:4px solid var(--orange);background:var(--sand);border-radius:0 12px 12px 0;font-size:18px;line-height:1.45}
