/* Flash Digital — port of the Claude Design landing. Tokens mirror _ds/tokens/*.css. Mobile-first: <760 mobile, ≥760 desktop layout. */
:root{
--fd-red:#9E0707;--fd-cream:#FFF5E1;--fd-black:#000;--fd-pink:#EAD3E4;
--fd-red-press:#7E0505;--fd-red-hover:#B20C0C;--fd-cream-deep:#F4E6C8;--fd-ink-2:#3A2A22;--fd-ink-3:#6B5A4E;
--font-sans:"Google Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-display:var(--font-sans);
--section-y:clamp(64px,10vw,144px);--gutter:clamp(20px,4vw,56px);--container:1280px;
--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-card-sm:20px;--radius-card:28px;--radius-container:36px;--radius-plate:clamp(14px,2vw,28px);--radius-full:999px;
--ease-out:cubic-bezier(.2,.7,.2,1);--dur-fast:120ms;--dur-base:220ms;--dur-slow:420ms;
--header-h:66px;
}
@media (min-width:760px){:root{--header-h:82px}}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font-family:var(--font-sans);background:var(--fd-cream);color:var(--fd-black);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%}
a{color:var(--fd-red)}a:hover{color:var(--fd-red-hover)}
button{font:inherit;color:inherit}
h1,h2,h3,p{margin:0}
:focus{outline:none}
:focus-visible{outline:2px solid var(--t-focus,currentColor);outline-offset:3px}
::placeholder{color:inherit;opacity:.55}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--fd-cream);color:var(--fd-black);padding:10px 14px;border-radius:var(--radius-md);font-weight:700}
.skip:focus{top:12px}

/* ---------- tones (lib/tone.js) ---------- */
.tone-cream{--t-ink:var(--fd-red);--t-bg:var(--fd-cream);--t-fg:var(--fd-black);--t-heading:var(--fd-red);--t-accent:var(--fd-red);--t-on-accent:var(--fd-cream);--t-accent-hover:var(--fd-red-hover);--t-second:var(--fd-red);--t-on-second:var(--fd-cream);--t-line:var(--fd-red);--t-muted:var(--fd-ink-3);--t-focus:var(--fd-red);--t-field:transparent;--t-field-fg:var(--fd-black);--t-hbg:var(--fd-black);--t-hfg:var(--fd-cream)}
.tone-red{--t-ink:var(--fd-cream);--t-bg:var(--fd-red);--t-fg:var(--fd-cream);--t-heading:var(--fd-cream);--t-accent:var(--fd-cream);--t-on-accent:var(--fd-red);--t-accent-hover:#fff;--t-second:var(--fd-black);--t-on-second:var(--fd-cream);--t-line:var(--fd-cream);--t-muted:var(--fd-cream);--t-focus:var(--fd-cream);--t-field:transparent;--t-field-fg:var(--fd-cream);--t-hbg:var(--fd-black);--t-hfg:var(--fd-cream)}
.tone-black{--t-ink:var(--fd-cream);--t-bg:var(--fd-black);--t-fg:var(--fd-cream);--t-heading:var(--fd-cream);--t-accent:var(--fd-red);--t-on-accent:var(--fd-cream);--t-accent-hover:var(--fd-red-hover);--t-second:var(--fd-cream);--t-on-second:var(--fd-black);--t-line:var(--fd-red);--t-muted:rgba(255,245,225,.72);--t-focus:var(--fd-cream);--t-field:var(--fd-cream);--t-field-fg:var(--fd-black);--t-hbg:var(--fd-cream);--t-hfg:var(--fd-black)}
.tone-redPink{--t-ink:#fff;--t-bg:var(--fd-red);--t-fg:#fff;--t-heading:#fff;--t-accent:var(--fd-pink);--t-on-accent:var(--fd-black);--t-accent-hover:#F4E3EF;--t-second:var(--fd-pink);--t-on-second:var(--fd-black);--t-line:var(--fd-pink);--t-muted:#fff;--t-focus:#fff;--t-field:var(--fd-pink);--t-field-fg:var(--fd-black);--t-hbg:#fff;--t-hfg:var(--fd-black)}
.tone-pinkCream{--t-ink:var(--fd-black);--t-bg:var(--fd-pink);--t-fg:var(--fd-black);--t-heading:var(--fd-black);--t-accent:var(--fd-cream);--t-on-accent:var(--fd-black);--t-accent-hover:#fff;--t-second:var(--fd-cream);--t-on-second:var(--fd-black);--t-line:var(--fd-cream);--t-muted:var(--fd-ink-2);--t-focus:var(--fd-black);--t-field:var(--fd-cream);--t-field-fg:var(--fd-black);--t-hbg:#fff;--t-hfg:var(--fd-black)}

/* ---------- layout ---------- */
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section-y) 0}
.bg-black{background:var(--fd-black);color:var(--fd-cream)}
.bg-red{background:var(--fd-red);color:var(--fd-cream)}
.bg-cream{background:var(--fd-cream);color:var(--fd-black)}
.bg-pink{background:var(--fd-pink);color:var(--fd-black)}
.h2{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(36px,4.6vw,56px);line-height:1;text-transform:uppercase;letter-spacing:-.005em}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:clamp(28px,4vw,48px);flex-wrap:wrap}
.sec-head p{font-size:17px;line-height:1.5;max-width:400px;text-wrap:pretty}
.sec-head__side{display:flex;flex-direction:column;gap:12px;align-items:flex-start;width:100%;max-width:400px}
.cases-more{display:flex;justify-content:center;margin-top:clamp(32px,4vw,48px)}
.cases-more__n{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:99px;background:var(--fd-red);color:var(--fd-cream);font-size:14px;transition:background var(--dur-fast),color var(--dur-fast)}
.cases-more .btn:hover .cases-more__n{background:var(--fd-cream);color:var(--fd-red)}
.plate{display:inline-block;background:var(--fd-red);color:var(--fd-cream);padding:.07em .24em .06em;border-radius:var(--radius-plate);margin-left:-.06em}
.caps{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.c-red{color:var(--fd-red)}.c-cream{color:var(--fd-cream)}.c-white{color:#fff}.c-black{color:var(--fd-black)}.c-ink2{color:var(--fd-ink-2)}

/* ---------- button (actions/Button + fd-button hover swap) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-sans);font-weight:700;line-height:1;letter-spacing:-.005em;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;font-size:17px;padding:14px 22px;min-height:52px;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast),transform var(--dur-fast),border-color var(--dur-fast);background:var(--t-accent);color:var(--t-on-accent)}
.btn:hover{background:var(--t-hbg);color:var(--t-hfg)}
.btn:active{transform:translateY(1px) scale(.985)}
.btn .arr{transition:transform var(--dur-base) var(--ease-out)}
.btn:hover .arr{transform:translateX(3px)}
.btn--sm{font-size:15px;padding:10px 16px;min-height:40px}
.btn--lg{font-size:20px;padding:18px 28px;min-height:64px}
.btn--full{width:100%}
.btn--sec{background:transparent;color:var(--t-ink);border-color:var(--t-ink)}
.btn--sec:hover,.btn--sec[aria-pressed=true],.btn--sec[aria-checked=true]{background:var(--t-ink);color:var(--t-bg)}
.btn--ghost{background:transparent;color:var(--t-ink);padding-left:4px;padding-right:4px}
.btn--ghost:hover{background:transparent;color:var(--t-ink);text-decoration:underline;text-underline-offset:4px}
.btn[disabled],.btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;pointer-events:none}
@media (max-width:759px){.btn--m-full{width:100%}.btn--lg.btn--m-md{font-size:17px;padding:14px 22px;min-height:52px}}

.alink{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:17px;color:var(--t-ink);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px;transition:border-color var(--dur-fast)}
.alink:hover{border-color:var(--t-ink);color:var(--t-ink)}
.alink .arr{transition:transform var(--dur-base) var(--ease-out)}
.alink:hover .arr{transform:translateX(4px)}
.alink--sm{font-size:15px}

/* ---------- card (layout/Card) ---------- */
.card{display:flex;flex-direction:column;position:relative;border-radius:var(--radius-card);padding:clamp(22px,2.6vw,32px);border:2px solid var(--t-accent);background:transparent;color:var(--t-fg);text-decoration:none;text-align:left;font:inherit;transition:transform var(--dur-slow) var(--ease-out),background var(--dur-base) var(--ease-out),color var(--dur-base)}
.card--sm{border-radius:var(--radius-card-sm);padding:20px}
.card--lg{border-radius:var(--radius-container);padding:clamp(24px,4vw,56px)}
.card--accent{background:var(--t-accent);color:var(--t-on-accent);border-color:var(--t-accent)}
.card--second{background:var(--t-second);color:var(--t-on-second);border-color:var(--t-second)}
button.card,a.card{cursor:pointer}
/* cards that are links keep their own text colour on hover (global a:hover is red) */
a.card:hover{color:var(--t-fg)}a.card--accent:hover{color:var(--t-on-accent)}a.card--second:hover{color:var(--t-on-second)}
.pcard:hover{color:var(--fd-black)}
button.card{appearance:none;-webkit-appearance:none;width:100%}

/* ---------- tag ---------- */
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-full);border:1.5px solid var(--t-accent);font-size:13px;font-weight:700;letter-spacing:.02em;line-height:1.2;white-space:nowrap;color:var(--t-fg)}
.tag--solid{background:var(--t-accent);color:var(--t-on-accent)}

/* ---------- status list ---------- */
.status{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;flex-wrap:wrap;gap:10px;color:var(--t-fg)}
.status--inline{flex-direction:row;gap:12px 20px}
.status li{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700}
.status li::before{content:'✓';flex:none;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:14px;background:var(--t-accent);color:var(--t-bg);border:2px solid var(--t-accent)}

/* ---------- browser frame + concept mock ---------- */
.bframe{border-radius:22px;overflow:hidden;background:var(--fd-cream-deep);border:2px solid var(--fd-cream-deep);display:flex;flex-direction:column}
.bframe__bar{display:flex;align-items:center;gap:12px;padding:8px 12px}
.bframe__dots{display:flex;gap:6px}.bframe__dots i{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--fd-black);opacity:.45}
.bframe__url{flex:1;text-align:center;font-size:12px;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fd-black)}
.bframe__spacer{width:39px}
.bframe__view{position:relative;flex:1;overflow:hidden;border-radius:16px;aspect-ratio:16/10;background:#fff}
.bframe__view img{width:100%;height:100%;object-fit:cover}
.bframe--sm{border-radius:16px}.bframe--sm .bframe__view{border-radius:10px}
.mock{--s:.56;position:absolute;inset:0;background:var(--m-bg);color:var(--m-fg);font-family:Georgia,"Times New Roman",serif;display:flex;flex-direction:column;padding:calc(14px*var(--s)) calc(22px*var(--s));gap:calc(14px*var(--s))}
.mock__nav{display:flex;justify-content:space-between;align-items:center;font-family:system-ui,sans-serif;font-size:calc(10px*var(--s) + 1px)}
.mock__nav b{font-family:Georgia,serif;font-size:calc(15px*var(--s) + 2px);letter-spacing:.04em}
.mock__nav span{display:flex;gap:calc(14px*var(--s));white-space:nowrap}
.mock__body{flex:1;display:grid;grid-template-columns:1.1fr 1fr;gap:calc(18px*var(--s))}
.mock__text{display:flex;flex-direction:column;justify-content:center;gap:calc(12px*var(--s))}
.mock__h{font-size:calc(30px*var(--s) + 4px);line-height:1.02}
.mock__p{font-family:system-ui,sans-serif;font-size:calc(10px*var(--s) + 1.5px);line-height:1.45;opacity:.75}
.mock__cta{align-self:flex-start;background:var(--m-accent);color:#fff;font-family:system-ui,sans-serif;font-size:calc(10px*var(--s) + 1.5px);font-weight:600;padding:calc(7px*var(--s) + 1px) calc(13px*var(--s) + 2px);border-radius:4px}
.mock__photo{background:repeating-linear-gradient(135deg,var(--m-bg) 0 10px,rgba(0,0,0,.08) 10px 11px);display:grid;place-items:center;font-family:ui-monospace,Menlo,monospace;font-size:10px;color:rgba(0,0,0,.45);border-radius:4px}
.mock--xl{--s:1}
@media (max-width:759px){.mock{--s:.5}.mock--xl{--s:.62}}

/* ---------- header (navigation/SiteNav) ---------- */
.hdr{position:sticky;top:0;z-index:30;background:var(--fd-black);color:var(--fd-cream)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 20px;max-width:var(--container);margin:0 auto}
.hdr__logo{display:block;color:var(--fd-cream)}
.hdr__logo svg{height:38px;width:auto}
.hdr__nav{display:none;gap:32px}
.hdr__nav a{color:var(--fd-cream);text-decoration:none;font-weight:500;font-size:16px;border-bottom:2px solid transparent;padding-bottom:3px}
.hdr__nav a:hover{border-color:var(--fd-cream);color:var(--fd-cream)}
.hdr__cta{display:none!important}
.hdr__burger{appearance:none;background:none;color:var(--fd-cream);cursor:pointer;min-height:44px;padding:0 14px;border-radius:var(--radius-md);border:1.5px solid var(--fd-red);font-weight:700;font-size:15px;display:flex;align-items:center}
.hdr__menu{position:absolute;left:0;right:0;top:100%;z-index:20;background:var(--fd-black);padding:12px 20px 28px;display:flex;flex-direction:column;gap:18px;min-height:360px}
.hdr__menu[hidden]{display:none}
.hdr__menu a:not(.btn){font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:34px;color:var(--fd-cream);text-decoration:none}
.hdr__menu .btn{margin-top:12px}
@media (min-width:760px){
.hdr__in{padding:18px var(--gutter)}
.hdr__logo svg{height:46px}
.hdr__nav{display:flex}.hdr__cta{display:inline-flex!important}.hdr__burger,.hdr__menu{display:none!important}
}

/* ---------- 01 hero ---------- */
.hero{position:relative;overflow:hidden}
.hero__grid{position:relative;display:grid;grid-template-columns:1fr;column-gap:24px;padding-top:28px;padding-bottom:40px}
.hero__top{display:flex;justify-content:space-between;gap:16px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,245,225,.72);padding-bottom:8px;position:relative;z-index:2}
.hero__top .d-only{display:none}
.hero__media{position:relative;display:flex;justify-content:center;margin:8px -20px -24px;pointer-events:none;z-index:1}
.hero__media .loopv,.hero__media .bolt-fallback{width:118%;max-width:none;flex:none}
.hero h1{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;text-transform:uppercase;letter-spacing:-.01em;line-height:.9;color:var(--fd-cream);font-size:44px;margin:24px 0;position:relative;z-index:2}
.hero h1 .plate{padding:.07em .28em .06em;margin-left:-.08em}
.hero__bot{display:flex;flex-direction:column;gap:24px;align-items:flex-start;position:relative;z-index:2}
.hero__bot p{font-size:clamp(18px,1.6vw,21px);line-height:1.5;max-width:460px;text-wrap:pretty}
.hero__btns{display:flex;flex-wrap:wrap;gap:12px;width:100%}
@media (max-width:759px){
/* phones: the 3D mark sits behind the headline on the right, so both CTAs fit on the first screen */
.hero__grid{padding-top:20px;padding-bottom:32px}
.hero__top{flex-wrap:wrap;gap:4px 16px;font-size:11px}
.hero__media{position:absolute;top:30px;right:-44px;width:54%;max-width:260px;margin:0;z-index:1;opacity:.5}
.hero__media .loopv,.hero__media .bolt-fallback{width:100%}
.hero__media .bolt-fallback{aspect-ratio:1/1}
.hero__media .bolt-fallback svg{height:88%}
.hero h1{font-size:clamp(40px,11.5vw,48px);margin:28px 0 20px;text-shadow:0 2px 24px rgba(0,0,0,.55)}
.hero__bot{gap:18px}
.hero__bot p{font-size:16px;max-width:none}
.hero__btns{gap:10px}
.hero__btns .btn{min-height:50px}
.hero .status--inline{gap:8px 14px}.hero .status li{font-size:14px}.hero .status li::before{width:20px;height:20px;font-size:12px}
}
@media (min-width:760px){
.hero__grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr auto;padding-top:56px;padding-bottom:56px;min-height:min(820px,calc(100vh - 83px))}
.hero__top{grid-column:1/13}.hero__top .d-only{display:inline}
.hero__media{position:absolute;grid-column:7/13;grid-row:1/4;inset:0;margin:0;align-items:center;justify-content:center}
.hero__media .loopv{width:128%;margin-right:-14%}
.hero__media .bolt-fallback{width:100%}
.hero h1{grid-column:1/9;align-self:center;margin:32px 0;font-size:clamp(56px,6.4vw,96px)}
.hero__bot{grid-column:1/8}
.hero__btns{width:auto}
}
.loopv{position:relative}
.loopv video{display:block;width:100%}
.loopv video+video{position:absolute;left:0;top:0;height:100%;opacity:0}
.bolt-fallback{display:grid;place-items:center;aspect-ratio:1/1;perspective:900px}
/* stand-in for the 3D video until the mp4s are shipped: slow 3D sway + breathing glow */
.bolt-fallback svg{height:62%;width:auto;color:var(--fd-red);transform-style:preserve-3d;will-change:transform,filter;animation:boltSpin 7s ease-in-out infinite,boltGlow 3.5s ease-in-out infinite alternate}
@keyframes boltSpin{0%{transform:translateY(-10px) rotateY(-28deg) rotateZ(-4deg)}50%{transform:translateY(10px) rotateY(28deg) rotateZ(3deg)}100%{transform:translateY(-10px) rotateY(-28deg) rotateZ(-4deg)}}
@keyframes boltGlow{from{filter:drop-shadow(0 24px 40px rgba(158,7,7,.35))}to{filter:drop-shadow(0 36px 90px rgba(178,12,12,.75))}}
@media (prefers-reduced-motion:reduce){.bolt-fallback svg{animation:none}}

/* ---------- 02 niches & 09 guarantees (bento on red) ---------- */
.bento{display:grid;grid-template-columns:1fr;gap:clamp(14px,1.6vw,20px)}
.bento .card{justify-content:space-between;gap:24px;overflow:hidden;min-height:200px;--head:var(--fd-cream)}
.bento .card--accent{--head:var(--fd-red)}
.bento .tone-redPink.card--accent{--head:var(--fd-black)}
.bento__num{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:15px;letter-spacing:.02em;position:relative;color:var(--head)}
.bento__body{display:flex;flex-direction:column;gap:10px;max-width:560px;position:relative}
.bento h3{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:28px;line-height:1.05;color:var(--head)}
.bento p{font-size:17px;line-height:1.5;text-wrap:pretty}
.bento__action{font-weight:700;font-size:16px;white-space:nowrap;margin-top:6px;color:var(--head)}
.pattern{position:absolute;inset:0;background-image:url(/img/pattern-red.svg);background-size:180px auto;background-position:right -30px top 48px;-webkit-mask-image:linear-gradient(to bottom,transparent 10%,#000 16%,#000 50%,transparent 66%);mask-image:linear-gradient(to bottom,transparent 10%,#000 16%,#000 50%,transparent 66%);pointer-events:none}
.bento__bolt{position:absolute;right:20px;top:20px;pointer-events:none;color:var(--fd-red)}
.bento__bolt svg{height:32px;width:auto}
.bento__corner{position:absolute;top:20px;right:20px;display:flex;pointer-events:none;color:var(--fd-red)}
.bento__corner svg{height:44px;width:auto}
.niches .n-other{min-height:0}
@media (max-width:759px){
.niches .n-beauty{order:1}.niches .n-services{order:2}.niches .n-food{order:3}.niches .n-shop{order:4}.niches .n-expert{order:5}.niches .n-other{order:6}
.guar .g-1{order:1}.guar .g-3{order:2}.guar .g-2{order:3}.guar .g-4{order:4}.guar .g-5{order:5}
}
@media (min-width:760px){
.bento{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(200px,auto)}
.bento h3{font-size:clamp(26px,2.6vw,34px)}
.bento .tall h3{font-size:clamp(32px,3.2vw,44px)}
.niches .n-beauty{grid-column:1/6;grid-row:1}.niches .n-food{grid-column:6/13;grid-row:1}
.niches .n-services{grid-column:9/13;grid-row:2/4;transform:rotate(2deg);z-index:1}
.niches .n-services:hover{transform:translate(8px,-8px) rotate(4deg)}
.niches .n-shop{grid-column:1/9;grid-row:2}.niches .n-expert{grid-column:1/9;grid-row:3}.niches .n-other{grid-column:1/13;grid-row:4}
.niches .card:not(.n-services):hover{transform:translateY(-4px)}
.bento__bolt{right:clamp(32px,5vw,72px);top:50%;transform:translateY(-50%)}
.bento__bolt svg{height:62px}
.bento__corner{top:28px;right:28px}
.guar h3{font-size:clamp(28px,2.9vw,40px)}
.guar .g-1{grid-column:1/8;grid-row:1}.guar .g-2{grid-column:8/13;grid-row:1}
.guar .g-3{grid-column:1/6;grid-row:2/4;transform:rotate(-2deg);z-index:1}
.guar .g-4{grid-column:6/13;grid-row:2}.guar .g-5{grid-column:6/13;grid-row:3}
}
@media (min-width:1100px){.guar .g-3{grid-column:1/5}.guar .g-4,.guar .g-5{grid-column:5/13}}

/* ---------- 03 packages ---------- */
.pkgs{display:grid;grid-template-columns:1fr;gap:clamp(14px,1.6vw,20px);align-items:stretch}
@media (min-width:1000px){.pkgs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pkg{gap:28px;justify-content:space-between;--head:var(--fd-red);--ink:var(--fd-black)}
.pkg.card--accent{--head:var(--fd-cream);--ink:var(--fd-cream)}
@media (max-width:759px){.pkg.card--accent{order:-1}}
@media (min-width:760px){.pkg:hover{transform:translateY(-4px)}}
.pkg__top{display:flex;flex-direction:column;gap:14px}
.pkg__row{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;min-height:28px;flex-wrap:wrap-reverse}
.pkg h3{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(22px,2vw,26px);overflow-wrap:anywhere;line-height:1.05;color:var(--head)}
.pkg__note{font-size:15px;line-height:1.4;color:var(--ink)}
.pkg__price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-top:8px;color:var(--head)}
.pkg__price b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(56px,5.4vw,80px);line-height:.9;letter-spacing:-.01em}
.pkg__price span{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:24px}
.pkg ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;color:var(--ink)}
.pkg li{display:flex;gap:10px;align-items:baseline;font-size:16px;line-height:1.4}
.pkg li::before{content:'✓';font-weight:800;color:var(--head)}
.logo-card{margin-top:clamp(14px,1.6vw,20px);flex-direction:column;align-items:flex-start;justify-content:space-between;gap:24px;overflow:hidden}
.logo-card h3{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:28px;line-height:1.05;color:var(--fd-cream);margin-bottom:8px}
.logo-card__act{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.logo-card__act b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:48px;line-height:1;color:var(--fd-cream)}
@media (min-width:760px){.logo-card{flex-direction:row;align-items:center}}

/* ---------- 04 cases ---------- */
.tabs{display:flex;gap:28px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{appearance:none;background:none;border:0;cursor:pointer;padding:10px 0 8px;font-size:18px;font-weight:700;white-space:nowrap;color:var(--t-fg);opacity:.62;border-bottom:3px solid transparent;transition:opacity var(--dur-fast),border-color var(--dur-fast)}
.tabs button[aria-selected=true]{color:var(--t-ink);opacity:1;border-color:var(--t-ink)}
.cases-grid{max-width:var(--container);margin:32px auto 0;padding:0 20px;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding-left:20px}
.cases-grid::-webkit-scrollbar{display:none}
.cases-grid>*{flex:none;width:84%;scroll-snap-align:start}
@media (min-width:760px){.cases-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.8vw,24px);overflow:visible;padding:0 var(--gutter)}.cases-grid>*{width:auto}}
@media (min-width:1100px){.cases-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:759px){.cases-grid--page{display:grid;overflow:visible}.cases-grid--page>*{width:100%}}
.pcard{display:grid;grid-template-columns:1fr;gap:22px;align-content:start;padding:clamp(14px,1.8vw,22px);padding-bottom:clamp(20px,2.4vw,28px);border-radius:var(--radius-container);border:2px solid var(--fd-red);color:var(--fd-black);text-decoration:none;transition:transform var(--dur-slow) var(--ease-out);position:relative}
.pcard:hover{transform:translateY(-4px)}
.pcard[hidden]{display:none}
.pcard__body{display:flex;flex-direction:column;gap:12px;padding:0 8px}
.pcard__tags{display:flex;gap:8px;flex-wrap:wrap}
.pcard h3{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:28px;line-height:1.05;color:var(--fd-red)}
.pcard h3 a{color:inherit;text-decoration:none}
.pcard h3 a::after{content:'';position:absolute;inset:0;border-radius:inherit}
.pcard__meta{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:20px;color:var(--fd-red)}
.pcard p{font-size:16px;line-height:1.5;text-wrap:pretty}
.pcard__result{font-weight:700}
.pcard__act{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.pcard__go{font-weight:700;font-size:16px;color:var(--fd-red);display:inline-flex;gap:8px}
.pcard__go .arr{transition:transform var(--dur-base) var(--ease-out)}
.pcard:hover .pcard__go .arr{transform:translateX(4px)}
.pcard__ext{font-weight:700;font-size:15px;color:var(--fd-black);position:relative;z-index:2}
.cta-card{justify-content:space-between;gap:32px;overflow:hidden;border-radius:var(--radius-container)}
@media (min-width:760px){.cta-card{min-height:320px}.cta-card:hover{transform:translateY(-4px) rotate(2deg);z-index:1}}
.cta-card__pat{position:absolute;inset:0;background-image:url(/img/pattern-cream.svg);background-size:180px auto;background-position:right -24px top -30px;opacity:.35;-webkit-mask-image:radial-gradient(circle at 100% 0%,#000 30%,transparent 62%);mask-image:radial-gradient(circle at 100% 0%,#000 30%,transparent 62%);pointer-events:none;border-radius:inherit}
.cta-card__in{margin-top:auto;position:relative;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.cta-card__t{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(26px,2.4vw,34px);line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:var(--fd-cream)}
.cta-card__btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 22px;border-radius:var(--radius-md);background:var(--fd-cream);color:var(--fd-red);font-weight:700;font-size:17px;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.cta-card:hover .cta-card__btn{background:var(--fd-black);color:var(--fd-cream)}
.cta-row{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,40px);align-items:end}
.cta-row h3{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:clamp(40px,5.4vw,80px);color:var(--fd-red)}
.cta-row h3 .plate{margin-left:-.04em}
.cta-row__r{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.cta-row__r p{font-size:clamp(18px,1.6vw,21px);line-height:1.5;max-width:420px}
@media (min-width:760px){.cta-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}

/* ---------- 05 calculator ---------- */
.calc{display:grid;grid-template-columns:1fr;gap:clamp(16px,2vw,24px);align-items:start}
@media (min-width:760px){.calc{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
.calc__main{padding:20px;gap:28px}
@media (min-width:760px){.calc__main{padding:40px}}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.steps li{display:flex;flex-direction:column;gap:10px;cursor:pointer}
.steps li[data-state=next]{opacity:.72}
.steps i{display:block;height:8px;border-radius:4px;border:2px solid var(--fd-red);background:var(--fd-red)}
.steps li[data-state=next] i{background:transparent}
.steps__lbl{display:flex;align-items:baseline;gap:12px}
.steps__n{font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;color:var(--fd-red)}
.steps li[data-state=next] .steps__n{color:var(--fd-black)}
.steps__t{display:none;font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:22px;line-height:1.1}
.steps li[data-state=active] .steps__t{color:var(--fd-red)}
@media (min-width:1100px){.steps__t{display:inline}}
.calc__head{display:flex;flex-direction:column;gap:6px}
.calc__head h3{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(28px,3vw,36px);line-height:1.05;color:var(--fd-red)}
.calc__pane[hidden],[data-calc-sent][hidden],[data-calc-form][hidden]{display:none!important}
.tiles{display:grid;gap:12px;grid-template-columns:1fr}
.tiles--3{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){.tiles--2{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.opt{justify-content:space-between;gap:20px;min-height:150px}
.opt[aria-checked=true]{background:var(--t-accent);color:var(--t-on-accent);border-color:var(--t-accent)}
.opt__name{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:22px;line-height:1.1}
.opt__note{font-size:15px;line-height:1.4}
.opt__price{display:flex;align-items:baseline;gap:12px}
.opt__price b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:34px;line-height:1}
.opt__price span{font-weight:700;font-size:15px}
.opt--niche{min-height:64px;justify-content:center;padding:16px 18px}
.opt--niche .opt__name{font-size:20px}
.preview{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;margin-top:20px}
@media (min-width:760px){.preview{grid-template-columns:240px minmax(0,1fr)}}
.preview[hidden]{display:none}
.preview__info{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.preview__info b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:22px;line-height:1.1}
.muted-note{font-size:15px;line-height:1.5;color:var(--fd-ink-2);margin-top:20px}
.muted-note[hidden]{display:none}
.addons{display:flex;flex-direction:column;gap:12px}
.addon{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;min-height:0}
.addon__l{display:flex;align-items:center;gap:14px;min-width:0}
.box{flex:none;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:14px;font-weight:800;border:2px solid currentColor}
.addon[aria-checked=true] .box::after{content:'✓'}
.addon__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.addon__txt b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:20px;line-height:1.15}
.addon__txt span{font-size:14px;line-height:1.4}
.addon__r{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none}
.addon__r b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:22px;line-height:1}
.addon__r span{font-size:13px;font-weight:700}
.pages{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px}
@media (min-width:760px){.pages{flex-direction:row;align-items:center}}
.pages__txt b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:20px;line-height:1.15;display:block}
.pages__txt span{font-size:14px;line-height:1.4}
.pages__ctl{display:flex;align-items:center;gap:12px;flex:none}
.pages__ctl output{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:26px;min-width:28px;text-align:center}
.pages__ctl .btn{min-width:44px;font-size:20px}
.form{display:flex;flex-direction:column;gap:20px}
.field{display:flex;flex-direction:column;gap:8px}
.field label,.field__lbl{font-size:15px;font-weight:700}
.field input,.field textarea{width:100%;font:inherit;font-size:17px;line-height:1.4;padding:14px 16px;border-radius:var(--radius-md);border:2px solid var(--t-line);background:var(--t-field);color:var(--t-field-fg);min-height:52px;outline:none;transition:box-shadow var(--dur-fast)}
.field textarea{resize:vertical}
.field input:focus,.field textarea:focus,.field [aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--t-line)}
.err{display:flex;gap:8px;font-size:14px;font-weight:700}
.err::before{content:'!';color:var(--fd-red);font-weight:800}
.err:empty{display:none}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;min-height:44px;cursor:pointer;position:relative}
.consent input{position:absolute;opacity:0;width:1px;height:1px}
.consent .box{border-color:var(--fd-red);color:var(--fd-cream);background:transparent}
.consent input:checked+.box{background:var(--fd-red)}
.consent input:checked+.box::after{content:'✓'}
.consent input:focus-visible+.box{outline:2px solid var(--fd-red);outline-offset:3px}
.consent a{color:var(--fd-red);font-weight:700}
.msg{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:var(--radius-md);border:2px solid var(--fd-red)}
.msg::before{content:'✓';font-weight:800;font-size:20px;line-height:1.1;color:var(--fd-red)}
.msg--err{background:var(--fd-red);color:var(--fd-cream)}
.msg--err::before{content:'!';color:var(--fd-cream)}
.msg strong{display:block;font-size:17px}
.msg span{font-size:15px;line-height:1.45}
.calc__err[hidden]{display:none}
.calc__err{display:flex;flex-direction:column;gap:12px}
.calc__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.recap{display:flex;flex-direction:column;gap:12px;margin:0}
.recap div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;font-size:16px;line-height:1.4}
.recap dt{font-weight:700;color:var(--fd-red)}.recap dd{margin:0}
.sum-wrap{position:sticky;bottom:12px;z-index:5}
@media (min-width:760px){.sum-wrap{top:100px;bottom:auto}}
.sum{padding:20px;gap:10px}
@media (min-width:760px){.sum{padding:32px;gap:18px}}
.sum__top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.sum__price{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:48px;line-height:.9;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
@media (min-width:760px){.sum__price{font-size:clamp(56px,5.6vw,88px)}}
.sum__ready{font-size:17px;font-weight:700;line-height:1.35}
.sum__details{display:flex;flex-direction:column;gap:20px}
@media (max-width:759px){.sum__details:not(.is-open){display:none}}
.sum__lines{display:flex;flex-direction:column;gap:6px;font-size:16px;line-height:1.45}
.sum__lines span:empty{display:none}
.sum__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.sum__tags:empty{display:none}
.sum__ask{display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid rgba(255,245,225,.35)}
.sum__ask>span{font-size:15px;font-weight:700;line-height:1.4}
.sum__ask>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (min-width:760px){.sum__toggle{display:none!important}}

/* ---------- calculator: mobile layout ---------- */
@media (max-width:759px){
.calc{gap:12px}
.calc__main{padding:16px;gap:20px;border-radius:var(--radius-card)}
.calc__main>[data-calc-form]{gap:20px!important}
.steps{gap:6px}
.steps li{gap:6px}
.steps i{height:6px}
.steps__n{font-size:13px}
.calc__head h3{font-size:24px}
.tiles{gap:8px}
.opt{min-height:0;flex-direction:row;align-items:center;gap:12px;padding:14px 16px}
.opt>span:first-child{gap:2px!important;min-width:0}
.opt__name{font-size:18px}
.opt__note{font-size:13px}
.opt__price{flex-direction:column;align-items:flex-end;gap:2px;flex:none}
.opt__price b{font-size:24px}
.opt__price span{font-size:13px}
.opt--niche{min-height:52px;padding:12px 14px}
.opt--niche .opt__name{font-size:17px}
.preview{grid-template-columns:120px minmax(0,1fr);gap:14px;margin-top:14px}
.preview .bframe__bar{padding:5px 8px}.preview .bframe__url{font-size:9px}.preview .bframe__dots i{width:6px;height:6px}
.preview__info b{font-size:17px}
.addons{gap:8px}
.addon{padding:12px 14px;gap:12px}
.addon__l{gap:12px}
.addon__txt b{font-size:17px}
.addon__txt span{font-size:13px}
.addon__r b{font-size:18px}
.addon__r span{font-size:12px}
.pages{padding:12px 14px;flex-direction:row;align-items:center}
.pages__txt b{font-size:17px}.pages__txt span{font-size:13px}
.form{gap:16px}
.chips[role=radiogroup]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.chips[role=radiogroup] .btn{padding-left:6px;padding-right:6px;font-size:15px;min-height:48px}
.calc__nav{flex-wrap:nowrap;gap:8px}
.calc__nav [data-next],.calc__nav [data-submit]{flex:1}
.calc__nav [data-back]{flex:none}
.calc__nav [data-back-spacer]{display:none}
/* summary: compact sticky bar, expands on tap */
.sum-wrap{bottom:8px}
.sum{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label toggle" "price toggle" "ready ready" "details details" "ask ask";column-gap:12px;row-gap:2px;padding:12px 16px;border-radius:var(--radius-card-sm);box-shadow:0 12px 32px rgba(0,0,0,.4)}
.sum__top{display:contents}
.sum__top .caps{grid-area:label;font-size:11px}
.sum__toggle{grid-area:toggle;align-self:center}
.sum__price{grid-area:price;font-size:32px}
.sum__ready{grid-area:ready;font-size:14px;margin-top:4px}
.sum__details{grid-area:details;margin-top:14px;gap:14px}
.sum__ask{grid-area:ask;display:none;margin-top:14px;padding-top:14px}
.sum.is-open{max-height:calc(100vh - var(--header-h) - 24px);overflow:auto}
.sum.is-open .sum__ask{display:flex}
.sum .status{gap:6px}.sum .status li{font-size:15px}
}

/* ---------- 06 process ---------- */
.proc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:760px){.proc{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1100px){.proc{grid-template-columns:repeat(5,minmax(0,1fr))}}
.proc li{display:flex}
.proc .card{width:100%;justify-content:space-between;gap:12px;padding:18px 20px;color:#fff;min-height:0}
@media (min-width:760px){.proc .card{min-height:240px;gap:20px;padding:24px}}
.proc .card:hover{background:var(--fd-pink);color:var(--fd-black)}
@media (min-width:760px){.proc .card:hover{transform:translateY(-4px) rotate(2deg);z-index:1}}
.proc__day{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:28px;line-height:1;text-transform:uppercase;white-space:nowrap}
@media (min-width:760px){.proc__day{font-size:clamp(28px,2.6vw,36px)}}
.proc__t{display:flex;flex-direction:column;gap:8px}
.proc__t h3{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:24px;line-height:1.05}
.proc__t p{font-size:15px;line-height:1.45}

/* ---------- 07 included ---------- */
.inc{display:grid;grid-template-columns:1fr;gap:clamp(14px,1.6vw,20px)}
@media (min-width:760px){.inc{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,auto);grid-auto-flow:column}}
.inc .card{flex-direction:row;align-items:flex-start;gap:16px;--head:var(--fd-red);--ink:var(--fd-black);transition:background var(--dur-fast) var(--ease-out)}
@media (min-width:760px){.inc .card{gap:24px}}
.inc .card:hover{background:var(--fd-red);--head:var(--fd-cream);--ink:var(--fd-cream)}
.inc__n{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(32px,3.4vw,44px);line-height:1;color:var(--head);flex:none;min-width:1.6em;transition:color var(--dur-fast)}
.inc__t{display:flex;flex-direction:column;gap:8px}
.inc h3{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(24px,2.2vw,30px);line-height:1.05;color:var(--head);transition:color var(--dur-fast)}
.inc p{font-size:17px;line-height:1.5;text-wrap:pretty;color:var(--ink);transition:color var(--dur-fast)}

/* ---------- 08 compare ---------- */
.cmp{display:none}
.cmp-m{display:flex;flex-direction:column;gap:14px}
.cmp-m .card{border-color:var(--fd-cream);color:var(--fd-black);padding:20px;border-radius:var(--radius-card-sm)}
.cmp-m__k{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:24px;line-height:1.1;margin-bottom:12px}
.cmp-m__a{font-size:16px;line-height:1.45;margin:4px 0 14px}
.cmp-m__b{background:var(--fd-cream);border-radius:var(--radius-md);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.cmp-m__b b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:22px;line-height:1.1}
.cmp-m__b span:last-child{font-size:15px;line-height:1.45}
@media (min-width:760px){
.cmp-m{display:none}
.cmp{display:grid;grid-template-columns:max-content minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto repeat(4,auto);column-gap:16px;border:2px solid var(--fd-cream);border-radius:var(--radius-container);padding:12px;color:var(--fd-black)}
.cmp__c2{grid-column:2;grid-row:1/6;border:2px solid var(--fd-cream);border-radius:var(--radius-card)}
.cmp__c3{grid-column:3;grid-row:1/6;background:var(--fd-cream);border-radius:var(--radius-card)}
.cmp__h{grid-row:1;padding:28px 28px 20px;font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(22px,2vw,28px);line-height:1.05;position:relative}
.cmp__k{grid-column:1;padding:20px 24px;font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(20px,1.8vw,24px);line-height:1.1;align-self:center}
.cmp__a{grid-column:2;padding:20px 28px;font-size:17px;line-height:1.45;position:relative;align-self:center;text-wrap:pretty}
.cmp__b{grid-column:3;padding:20px 28px;position:relative;align-self:center;display:flex;gap:12px;align-items:baseline;font-size:17px;line-height:1.45}
.cmp__b::before{content:'✓';font-weight:800}
.cmp__b b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(20px,1.8vw,24px);display:block}
}

/* ---------- 11 FAQ ---------- */
.faq{position:relative;overflow:hidden}
.faq__pat{position:absolute;inset:0;background-image:url(/img/pattern-red.svg);background-size:200px auto;background-position:left -30px top -20px;opacity:.14;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 35%,transparent 92%);mask-image:linear-gradient(to bottom,#000 0%,#000 35%,transparent 92%);pointer-events:none}
.faq__grid{position:relative;display:grid;grid-template-columns:1fr;gap:clamp(28px,5vw,64px)}
@media (min-width:760px){.faq__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}
.faq__list{display:flex;flex-direction:column;gap:12px}
.qa{border-radius:var(--radius-card-sm);border:2px solid var(--fd-red);background:var(--fd-cream);color:var(--fd-black);transition:background var(--dur-base) var(--ease-out)}
.qa[open]{background:var(--fd-red);color:var(--fd-cream)}
.qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;cursor:pointer;border-radius:var(--radius-card-sm)}
.qa summary::-webkit-details-marker{display:none}
.qa h3{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:22px;line-height:1.15;color:var(--fd-red)}
.qa[open] h3{color:var(--fd-cream)}
.qa__i{flex:none;width:36px;height:36px;display:grid;place-items:center;font-size:30px;font-weight:500;line-height:1;color:var(--fd-red);transition:transform var(--dur-base) var(--ease-out)}
.qa[open] .qa__i{color:var(--fd-cream);transform:rotate(45deg)}
.qa__a{padding:0 64px 22px 22px;font-size:17px;line-height:1.55;text-wrap:pretty}
@media (max-width:759px){.qa__a{padding-right:22px}}

/* ---------- 12 final CTA ---------- */
.fcta{padding:0 0 var(--section-y);overflow:hidden}
.fcta__grid{display:grid;grid-template-columns:1fr;gap:0;align-items:center}
.fcta__card{gap:24px;overflow:hidden;order:2}
.fcta__card h2{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:clamp(44px,5.4vw,80px);color:var(--fd-cream);text-wrap:balance}
.fcta__card p{font-size:clamp(17px,1.4vw,19px);line-height:1.5;max-width:440px}
.fcta__btns{display:flex;gap:12px;flex-wrap:wrap}
.fcta__media{order:1;margin:-24px -20px 0;pointer-events:none}
.fcta__media video{mix-blend-mode:darken;-webkit-mask-image:radial-gradient(closest-side,#000 78%,transparent);mask-image:radial-gradient(closest-side,#000 78%,transparent)}
.fcta__media .bolt-fallback svg{height:52%}
@media (min-width:760px){.fcta__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(0px,3vw,40px)}.fcta__card{order:1;gap:32px}.fcta__media{order:2;margin:0 calc(-1*var(--gutter)) 0 0}}
@media (max-width:759px){.fcta__media .bolt-fallback{aspect-ratio:16/10}}

/* ---------- footer ---------- */
.ftr{background:var(--fd-black);color:var(--fd-cream)}
.ftr__grid{max-width:var(--container);margin:0 auto;padding:48px 20px 28px;display:grid;grid-template-columns:1fr;gap:36px}
@media (min-width:760px){.ftr__grid{padding:72px var(--gutter) 36px;grid-template-columns:1.4fr 1fr 1fr;gap:48px}}
.ftr__logo{color:var(--fd-cream);align-self:start}.ftr__logo svg{height:56px;width:auto}
@media (min-width:760px){.ftr__logo svg{height:72px}}
.ftr__col{display:flex;flex-direction:column;gap:10px}
.ftr__col .caps{color:rgba(255,245,225,.72)}
.ftr__col a{color:var(--fd-cream);text-decoration:none;font-size:17px}
.ftr__col a:hover{text-decoration:underline;color:var(--fd-cream)}
.ftr__copy{max-width:var(--container);margin:0 auto;padding:16px 20px 24px;font-size:13px;color:rgba(255,245,225,.72)}
@media (min-width:760px){.ftr__copy{padding:18px var(--gutter) 28px}}
.ftr__legal{max-width:var(--container);margin:0 auto;padding:0 var(--gutter) 96px;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px;color:rgba(255,245,225,.72)}
@media (min-width:760px){.ftr__legal{padding-bottom:28px}}
.ftr__legal a,.ftr__legal button{color:var(--fd-cream);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;font-size:14px}

/* ---------- mobile sticky bar ---------- */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--fd-black);padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px;transform:translateY(110%);transition:transform var(--dur-base) var(--ease-out)}
.mbar.is-on{transform:none}
.mbar .btn{padding-left:8px;padding-right:8px;min-height:44px}
@media (min-width:760px){.mbar{display:none}}

/* ---------- inner pages ---------- */
.page-hero{padding:clamp(48px,7vw,96px) 0 clamp(32px,5vw,64px)}
.page-hero h1{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:clamp(40px,6vw,88px);color:var(--fd-red);text-wrap:balance;margin:16px 0 20px}
.page-hero p{font-size:clamp(17px,1.4vw,21px);line-height:1.5;max-width:640px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;list-style:none;margin:0;padding:0;color:var(--fd-ink-3)}
.crumbs li+li::before{content:'/';margin-right:8px}
.crumbs a{color:var(--fd-ink-3);text-decoration:none}.crumbs a:hover{color:var(--fd-red)}
.doc{max-width:820px;margin:0 auto;padding:clamp(48px,7vw,96px) var(--gutter) var(--section-y)}
.doc h1{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;font-size:clamp(40px,6vw,72px);color:var(--fd-red);text-wrap:balance;margin:12px 0 20px;hyphens:auto}
.doc h2{margin:48px 0 16px;font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(24px,2.4vw,30px);line-height:1.1;color:var(--fd-red)}
.doc p{margin:0 0 12px;font-size:17px;line-height:1.6}
.doc ul,.doc ol{margin:0 0 16px;padding-left:22px;font-size:17px;line-height:1.6;display:flex;flex-direction:column;gap:6px}
.doc a{color:var(--fd-red);font-weight:700}
.doc mark{background:var(--fd-pink);padding:0 .25em;border-radius:4px;color:inherit}
.req{display:grid;grid-template-columns:1fr;gap:12px 24px;font-size:17px;line-height:1.5;margin:0}
@media (min-width:760px){.req{grid-template-columns:140px minmax(0,1fr)}}
.req dt{font-weight:700}.req dd{margin:0}
.btn-row{margin-top:40px;display:flex;flex-wrap:wrap;gap:12px}

/* case page */
.case-hero__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.case-cover{padding-bottom:clamp(48px,6vw,80px)}
.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
@media (min-width:760px){.case-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.case-facts .card{padding:18px 20px;gap:6px}
.case-facts b{font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(28px,3vw,40px);line-height:1;color:var(--fd-red)}
.case-facts span{font-size:14px;font-weight:700}
.case-body{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,48px);padding-bottom:var(--section-y)}
@media (min-width:760px){.case-body{grid-template-columns:repeat(3,minmax(0,1fr))}}
.case-block h2{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--fd-red);margin-bottom:10px;font-family:var(--font-sans)}
.case-block p,.case-block li{font-size:clamp(17px,1.4vw,19px);line-height:1.5;white-space:pre-line}
.case-block ol{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.case-block ol b{color:var(--fd-red)}
.gallery{display:flex;flex-direction:column;gap:clamp(16px,2vw,28px);max-width:1180px;margin:0 auto}
.gallery img{width:100%;height:auto;border-radius:clamp(14px,1.8vw,24px);background:#111}
.shots-m{display:flex;gap:clamp(12px,2vw,32px);justify-content:center;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.shots-m::-webkit-scrollbar{display:none}
.shots-m img{flex:none;width:clamp(200px,24vw,300px);height:auto;border-radius:32px;border:8px solid #1c1c1c;box-shadow:0 0 0 2px #333;scroll-snap-align:center;background:#111}
@media (max-width:759px){.shots-m{justify-content:flex-start;margin:0 calc(-1*var(--gutter));padding:0 var(--gutter) 4px}.shots-m img{width:62vw}}
.phones{display:flex;gap:16px;justify-content:center;align-items:flex-end}
@media (min-width:760px){.phones{gap:40px}}
.phone{width:150px;aspect-ratio:9/19;border-radius:24px;border:6px solid var(--fd-cream);overflow:hidden;display:flex;flex-direction:column;padding:14px;gap:10px;background:var(--m-bg);color:var(--m-fg)}
.phone:nth-child(2){transform:translateY(-24px)}
.phone:nth-child(3){display:none}
@media (min-width:760px){.phone{width:240px}.phone:nth-child(3){display:flex}}
.phone b{font-family:Georgia,serif;font-size:13px}
.phone div{font-family:Georgia,serif;font-size:16px;line-height:1.05}
@media (min-width:760px){.phone div{font-size:22px}}
.phone i{flex:1;background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(0,0,0,.08) 10px 11px);border-radius:4px}
.phone span{background:var(--m-accent);color:#fff;font-size:11px;font-weight:600;padding:8px 10px;border-radius:4px;text-align:center;font-family:system-ui}
.review{display:flex;flex-direction:column;gap:20px;max-width:860px;margin:0}
.review blockquote{margin:0;font-family:var(--font-display);font-weight:800;font-variation-settings:'GRAD' 200;font-size:clamp(24px,2.6vw,36px);line-height:1.2;color:var(--fd-cream)}
.review figcaption{display:flex;gap:14px;align-items:center;font-weight:700}
.review img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.notfound{min-height:60vh;display:flex;align-items:center}
.related{padding:var(--section-y) 0}
.case-cta{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap}
.case-cta>div{display:flex;flex-direction:column;gap:14px}
@media (max-width:759px){.case-cta{flex-direction:column;align-items:stretch;gap:24px}.case-cta .btn{width:100%}}

/* cookie banner */
.cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;max-width:560px;background:var(--fd-cream);color:var(--fd-black);border:2px solid var(--fd-red);border-radius:var(--radius-card-sm);padding:18px 20px;display:flex;flex-direction:column;gap:14px;font-size:15px;line-height:1.45;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.cookie[hidden]{display:none}
.cookie div{display:flex;gap:10px;flex-wrap:wrap}
@media (min-width:760px){.cookie{left:24px;bottom:24px}}

/* reveal-on-scroll, ≤300ms (ТЗ §8) */
@media (prefers-reduced-motion:no-preference){.js .rv{opacity:0;transform:translateY(16px);transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}.js .rv.in{opacity:1;transform:none}}
