/* Case study v2 template, shared by every page built with tools/case-study-v2/build.py.
   Origin: ChatGPT black design + Sasha Core rounds (29 Sep 2026). Brand: ink + white, gradient on 1 keyword per heading, glows. */

@font-face{font-family:Poppins;src:url('/assets/fonts/poppins-400.woff2');font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url('/assets/fonts/poppins-500.woff2');font-weight:500;font-display:swap}@font-face{font-family:Poppins;src:url('/assets/fonts/poppins-600.woff2');font-weight:600;font-display:swap}
:root{--paper:#f8f7f4;--ink:#29272c;--muted:#6b6870;--line:#ddd9df;--pink:#a73578;--lavender:#ece5ef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.8 Poppins,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--pink);outline-offset:6px}img{display:block;max-width:100%}button,a{transition:background .2s,color .2s,transform .2s}.wrap{max-width:1320px;margin:auto;padding:0 56px}.nav{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.logo{display:flex;align-items:center;gap:10px;line-height:1}.logo svg{width:151px;height:34px}.dot{width:9px;height:9px;border-radius:50%;background:linear-gradient(120deg,#f16f8c,#9b42c6);flex:none}.navlinks{display:flex;align-items:center;gap:32px;font-size:13px}.navlinks .active{color:var(--pink)}.pill{border:1px solid var(--ink);border-radius:99px;padding:12px 23px;display:inline-flex;gap:28px;align-items:center;font-size:13px}.pill:hover{background:var(--ink);color:white}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:12px}.eyebrow .dash{height:1px;width:30px;background:currentColor}.hero{padding-top:48px}.back{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:34px}.back:hover{color:var(--pink)}.hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:56px;align-items:center}.hero-copy{padding:18px 0 28px}.hero-copy .eyebrow{color:var(--pink);margin-bottom:26px}h1,h2,h3,p{margin:0}h1{font-size:clamp(50px,5.3vw,78px);line-height:1.12;letter-spacing:-.06em;font-weight:500}h1 span{color:var(--pink)}.intro{max-width:470px;color:var(--muted);font-size:16px;line-height:1.85;margin-top:28px}.text-link{display:inline-flex;gap:24px;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:13px;margin-top:30px}.text-link:hover{color:var(--pink);border-color:var(--pink)}.hero-visual{position:relative;min-width:0}.hero-visual>img{width:100%;height:550px;object-fit:cover;object-position:50% 58%;border-radius:3px}.image-label{position:absolute;left:22px;top:22px;background:rgba(248,247,244,.93);padding:7px 12px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-radius:3px}.play{position:absolute;left:22px;bottom:22px;display:flex;align-items:center;gap:13px;background:var(--paper);border:0;border-radius:40px;padding:8px 21px 8px 8px;font-size:12px;box-shadow:0 4px 20px #0001}.play:hover{transform:translateY(-3px)}.play-icon{background:var(--ink);color:white;border-radius:50%;height:39px;width:39px;display:grid;place-items:center;font-size:12px}.project-info{display:flex;gap:35px;border-bottom:1px solid var(--line);padding:27px 0 30px;margin-bottom:0;font-size:12px}.project-info span{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.results{display:grid;grid-template-columns:repeat(3,1fr);padding:42px 0 46px;border-bottom:1px solid var(--line)}.result{padding:0 36px;border-left:1px solid var(--line)}.result:first-child{padding-left:0;border-left:0}.result strong{font-size:53px;line-height:1.2;font-weight:500;letter-spacing:-.055em}.result p{font-size:13px;margin-top:9px;color:var(--muted)}.results-note{font-size:10px;color:var(--muted);margin-top:12px}.story{display:grid;grid-template-columns:1fr 1.7fr;gap:95px;padding:96px 0}.story .eyebrow{color:var(--muted);margin-top:9px;align-self:start}h2{font-size:42px;font-weight:500;letter-spacing:-.045em;line-height:1.23}.story p{color:var(--muted);margin-top:22px;max-width:650px}.steps{margin-top:33px}.step{display:grid;grid-template-columns:35px 1fr;gap:10px;padding:19px 0;border-top:1px solid var(--line)}.step .num{font-size:11px;color:var(--pink);padding-top:3px}.step h3{font-size:16px;font-weight:500}.step p{font-size:13px;margin-top:5px;line-height:1.8}.quote-section{background:var(--lavender);padding:64px 56px;border-radius:3px;display:grid;grid-template-columns:.65fr 1.5fr;gap:55px}.quote-section .eyebrow{color:var(--pink)}.quote-mark{font-size:110px;line-height:1.1;color:var(--pink);margin-top:30px;letter-spacing:-.1em}blockquote{margin:0;font-size:30px;line-height:1.55;letter-spacing:-.035em;font-weight:400}blockquote em{font-style:normal;color:var(--pink)}.byline{font-size:12px;margin-top:25px}.byline span{display:block;color:var(--muted);font-size:11px}.gallery{padding:90px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-head .eyebrow{color:var(--pink);margin-bottom:13px}.section-head>p{max-width:310px;font-size:13px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:20px}.gallery figure{margin:0}.gallery img{height:360px;object-fit:cover;width:100%;border-radius:3px}.gallery figcaption{font-size:10px;color:var(--muted);padding-top:12px}.gallery figcaption span{color:var(--pink);margin-right:12px}.cta{background:#29272d;color:var(--paper);padding:65px 56px;display:flex;align-items:center;justify-content:space-between;gap:36px;border-radius:3px}.cta .eyebrow{color:#dfb8d3;margin-bottom:18px}.cta h2{max-width:550px}.cta p{color:#c5c1ca;font-size:13px;margin-top:18px;max-width:460px}.cta .pill{background:var(--paper);color:var(--ink);white-space:nowrap;border:0}.cta .pill:hover{background:#e9d6e4}.cta small{display:block;font-size:10px;color:#c5c1ca;margin-top:13px;text-align:center}.footer{padding:40px 0 28px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:20px}.concept{font-size:10px;color:var(--muted);padding:16px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}dialog{border:0;background:#151417;padding:18px;border-radius:10px;width:min(520px,94vw);color:white;max-height:94vh}dialog::backdrop{background:#151417dd;backdrop-filter:blur(6px)}dialog video{display:block;width:100%;max-height:75vh}dialog .close{color:white;background:none;border:1px solid #777;border-radius:30px;padding:6px 15px;display:block;margin:0 0 12px auto}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:white;z-index:10;padding:10px}
@media(min-width:1500px){.hero-grid{gap:75px}}@media(max-width:1000px){.wrap{padding:0 32px}.hero-grid{gap:30px}.hero-visual>img{height:480px}h1{font-size:54px}.story{gap:45px}.quote-section{padding:45px 35px;gap:30px}blockquote{font-size:26px}.gallery img{height:290px}.cta{padding:44px 35px}.cta h2{font-size:34px}}@media(max-width:700px){.wrap{padding:0 23px}.nav{height:84px}.logo svg{width:125px}.navlinks>a:not(.pill){display:none}.navlinks .pill{font-size:11px;padding:9px 15px;gap:13px}.hero{padding-top:25px}.back{margin-bottom:24px;font-size:11px}.hero-grid{grid-template-columns:1fr;gap:28px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:9px;margin-bottom:22px}h1{font-size:clamp(43px,10.9vw,69px);line-height:1.14}.intro{font-size:14px;margin-top:20px}.text-link{font-size:12px;margin-top:22px}.hero-visual>img{height:440px;object-position:50% 60%}.project-info{gap:22px;flex-wrap:wrap;font-size:10px;padding:22px 0}.project-info span{font-size:8px}.results{padding:29px 0;gap:15px}.result{padding:0 0 0 15px}.result strong{font-size:37px}.result p{font-size:10px;line-height:1.6}.results-note{font-size:9px}.story{grid-template-columns:1fr;gap:24px;padding:60px 0}h2{font-size:34px}.story p{font-size:14px}.story .eyebrow{font-size:10px}.step h3{font-size:15px}.step p{font-size:12px}.quote-section{padding:30px 25px;grid-template-columns:1fr;gap:20px}.quote-mark{display:none}blockquote{font-size:24px}.gallery{padding:60px 0}.section-head{display:block}.section-head>p{margin-top:18px}.gallery-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.gallery figure:first-child{grid-column:1/-1}.gallery figure:first-child img{height:400px}.gallery img{height:245px}.gallery figcaption{font-size:9px}.cta{padding:35px 25px;display:block}.cta h2{font-size:32px}.cta .action{margin-top:30px}.cta small{text-align:left}.footer{font-size:10px;flex-wrap:wrap}.concept{font-size:9px;flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.case-type{font-size:11px;color:var(--muted);margin:-10px 0 18px}.brief{padding:45px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.brief .eyebrow{color:var(--pink);margin-bottom:15px}.brief h2{font-size:28px}.brief>p{font-size:14px;color:var(--muted)}.approach{padding:0 0 80px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.approach-grid article{padding:25px 0 0;border-top:1px solid var(--line)}.approach .num{color:var(--pink);font-size:10px;letter-spacing:.1em}.approach h3{font-weight:500;font-size:22px;line-height:1.45;letter-spacing:-.025em;margin:18px 0 15px}.approach article p{font-size:13px;color:var(--muted)}.example{margin-top:25px;border-left:2px solid #c5a4bd;padding-left:17px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.example span{display:block;text-transform:none;letter-spacing:0;color:var(--ink);font-size:13px;margin-top:8px}.draft-label{color:var(--pink)!important;font-size:10px!important}.editor-note{font-size:10px;color:var(--muted);margin-top:24px;max-width:780px}.questions{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;border-top:1px solid var(--line);padding:65px 0}.questions .eyebrow{color:var(--pink);margin-bottom:20px}.questions>div>p{font-size:13px;color:var(--muted);margin-top:20px}.answers details{border-bottom:1px solid var(--line);padding:20px 0}.answers details:first-child{padding-top:0}.answers summary{cursor:pointer;list-style:none;font-size:15px;font-weight:500;position:relative;padding-right:30px}.answers summary::-webkit-details-marker{display:none}.answers summary::after{content:'+';position:absolute;right:0;color:var(--pink);font-size:20px;font-weight:400;top:-4px}.answers details[open] summary::after{content:'−'}.answers summary:focus-visible{outline:2px solid var(--pink);outline-offset:5px}.answers p{font-size:13px;color:var(--muted);margin-top:15px}.inline-link{color:var(--pink);text-decoration:underline;text-underline-offset:4px;font-size:13px}.review-note{border:1px dashed #bcb1bc;padding:20px 25px;margin:0 0 55px;border-radius:3px}.review-note strong{font-size:11px;font-weight:500;color:var(--pink)}.review-note p{font-size:11px;color:var(--muted);margin-top:7px;max-width:900px}
@media(max-width:700px){.case-type{font-size:10px}.brief{grid-template-columns:1fr;gap:20px;padding:30px 0}.brief h2{font-size:27px}.brief>p{font-size:13px}.approach{padding-bottom:45px}.approach-grid{grid-template-columns:1fr;gap:25px}.approach h3{font-size:21px}.example{margin-top:18px}.questions{grid-template-columns:1fr;gap:30px;padding:40px 0}.answers summary{font-size:14px}.review-note{padding:18px;margin-bottom:35px}}

/* Sequence black-and-white direction */
:root{--paper:#fff;--ink:#0b0b0f;--muted:#686872;--line:#e2e2e7;--pink:#17171c;--lavender:#f4f4f6}
body{background:#f7f7f8}.wrap{max-width:1400px;padding:0 44px}.nav{margin:28px auto 32px;padding:12px 15px 12px 24px;width:max-content;max-width:100%;height:68px;border:1px solid #27272d;border-radius:99px;background:#0b0b0f;color:white;gap:72px;box-shadow:0 8px 25px #0000000a}.logo svg{width:137px;height:31px}.dot{background:#fff}.navlinks{gap:28px}.navlinks .active{color:#fff}.navlinks>a:not(.pill){color:#b8b8c1}.navlinks .pill{background:#fff;color:#111;border:0;padding:10px 20px}.navlinks .pill:hover{background:#e4e4e8}
.hero{background:#08080a;color:#fff;border-radius:24px;padding:32px 40px 0;overflow:hidden}.back{color:#a5a5ae;margin-bottom:25px}.back:hover{color:white}.hero-grid{gap:48px;grid-template-columns:1.13fr 1fr}.hero-copy .eyebrow{color:#c2c2ca;margin-bottom:23px}.case-type{color:#9d9da7;font-size:10px}.hero-copy{padding:12px 0 28px}h1{font-weight:500;font-size:clamp(46px,5vw,72px);letter-spacing:-.055em;line-height:1.13}h1 span{color:#fff}.intro{color:#b8b8c1;font-size:15px;max-width:445px}.hero .text-link{color:white;border-color:#66666e}.hero .text-link:hover{border-color:white}.hero-visual>img{height:510px;border-radius:16px}.image-label{color:#17171c;border-radius:99px;background:#ffffffeb;font-size:9px}.play{color:#111}.play-icon{background:#111}.project-info{border-color:#ffffff1c;margin-top:24px;padding:25px 0 29px;color:#eee;gap:48px}.project-info span{color:#8f8f9a}
.brief{margin:0 40px;padding:48px 0;gap:70px}.brief .eyebrow,.story .eyebrow,.section-head .eyebrow,.questions .eyebrow{color:#777780}.story,.gallery,.approach,.questions{margin-left:40px;margin-right:40px}.story{padding:85px 0}.story h2{font-size:39px}.quote-section{background:#111114;color:white;border-radius:24px;padding:65px 56px}.quote-section .eyebrow{color:#a3a3ad}.quote-mark{color:white}blockquote em{color:#fff}blockquote{color:#e8e8ed}.byline{color:#fff}.byline span{color:#aaaab4}.gallery img{border-radius:16px}.example{border-left-color:#bcbcc5}.draft-label{color:#71717b!important}.approach-grid article{border-top-color:#d6d6de}.review-note{margin-left:40px;margin-right:40px;border-color:#bcbcc5}.cta{background:#0b0b0f;border-radius:24px}.cta .eyebrow{color:#a5a5b0}.cta .pill:hover{background:#dedee5}.cta p,.cta small{color:#bcbcc5}.footer,.concept{margin-left:10px;margin-right:10px}.inline-link:hover{color:#656570}
@media(max-width:1000px){.wrap{padding:0 24px}.nav{gap:35px}.hero{padding:26px 28px 0}.hero-grid{gap:28px}h1{font-size:52px}.hero-visual>img{height:465px}.brief,.story,.gallery,.approach,.questions,.review-note{margin-left:20px;margin-right:20px}.story h2{font-size:34px}}
@media(max-width:700px){.wrap{padding:0 12px}.nav{margin:17px auto 21px;width:calc(100% - 20px);height:64px;padding:10px 11px 10px 18px;gap:12px}.logo svg{width:126px}.navlinks{gap:0;margin-left:auto}.navlinks .pill{font-size:11px;padding:10px 16px}.hero{border-radius:20px;padding:24px 22px 0}.back{font-size:10px;margin-bottom:28px}.hero-grid{grid-template-columns:1fr;gap:27px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:9px;margin-bottom:20px}.case-type{font-size:9px}h1{font-size:clamp(41px,10.5vw,65px)}.intro{font-size:13px;line-height:1.85}.hero-visual>img{height:395px;border-radius:12px}.image-label{left:14px;top:14px;font-size:8px;padding:6px 10px}.play{left:14px;bottom:14px;font-size:11px}.project-info{margin-top:8px;gap:17px 25px;padding:23px 0 26px;font-size:10px}.project-info>div:last-child{flex-basis:100%}.brief,.story,.gallery,.approach,.questions,.review-note{margin-left:13px;margin-right:13px}.brief{padding:35px 0;gap:20px}.story{padding:50px 0}.story h2{font-size:31px}.quote-section{padding:33px 26px;border-radius:20px}.quote-section blockquote{font-size:24px}.gallery{padding:55px 0}.gallery img{border-radius:12px}.gallery figure:first-child img{height:350px}.gallery img{height:220px}.cta{padding:34px 26px;border-radius:20px}.cta h2{font-size:30px}.footer,.concept{margin-left:13px;margin-right:13px}}

/* Sequence signature gradient accents */
:root{--sequence-gradient:linear-gradient(100deg,#ff7a2f 0%,#ff5b5f 24%,#ff3e91 49%,#d83dff 74%,#7a4dff 100%)}
.dot{background:var(--sequence-gradient);box-shadow:0 0 14px #ff3e9170}
.hero{background:radial-gradient(ellipse at 2% 3%,#ff7a2f18,transparent 44%),radial-gradient(ellipse at 65% 100%,#d83dff15,transparent 49%),#08080a}
h1 span{background:var(--sequence-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-copy .eyebrow .dash,.section-head .eyebrow .dash,.questions .eyebrow .dash,.story .eyebrow .dash{background:var(--sequence-gradient);height:2px}
.hero .text-link{border:0;position:relative;padding-bottom:10px}.hero .text-link::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--sequence-gradient)}
.hero-visual{padding:2px;border-radius:18px;background:linear-gradient(135deg,#ff7a2f75,#ff3e9166 45%,#7a4dff85)}
.quote-section{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 0% 0%,#ff7a2f1c,transparent 60%),radial-gradient(ellipse at 100% 100%,#7a4dff28,transparent 65%),#111114;border-top:2px solid #ff5b5f}
.quote-mark{background:var(--sequence-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
blockquote em{color:#ff93cc}
.approach-grid article{border-top:0;position:relative}.approach-grid article::before{content:'';position:absolute;left:0;top:0;width:100%;height:2px;background:var(--sequence-gradient)}
.approach-grid article:nth-child(2)::before{background:linear-gradient(90deg,#ff3e91,#d83dff)}.approach-grid article:nth-child(3)::before{background:linear-gradient(90deg,#d83dff,#7a4dff)}
.approach .num,.step .num{color:#9d2870}.example{border-image:var(--sequence-gradient) 1}
.answers summary::after{color:#a02d80}
.cta{background:radial-gradient(ellipse at 0% 0%,#ff7a2f25,transparent 58%),radial-gradient(ellipse at 100% 100%,#7a4dff35,transparent 65%),#0b0b0f;position:relative;overflow:hidden}.cta::before{content:'';position:absolute;top:0;left:24px;right:24px;height:3px;background:var(--sequence-gradient)}
.cta .pill{box-shadow:0 0 0 2px #d83dff55,0 6px 30px #7a4dff20}.cta .eyebrow{color:#dfb8d3}
@media(max-width:700px){.hero-visual{border-radius:14px}}

.showcase{margin:0 40px;padding:70px 0}.reel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reel-card{position:relative;overflow:hidden;border-radius:20px;background:#111;color:#fff;min-height:410px}.reel-card img{width:100%;height:410px;object-fit:cover;transition:transform .5s}.reel-card:hover img{transform:scale(1.035)}.reel-caption{position:absolute;inset:auto 0 0;padding:65px 24px 24px;background:linear-gradient(transparent,#000e)}.reel-caption small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#ddd}.reel-caption h3{font-size:21px;margin:7px 0 13px;font-weight:500}.reel-caption button{border:1px solid #ffffff70;background:#ffffff15;color:white;border-radius:30px;padding:8px 16px;font-size:12px}.component-note{font-size:11px;color:#777;margin-top:18px}.transform-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;margin-top:32px}.transform-visual{background:#eee;border-radius:22px;overflow:hidden;position:relative}.transform-visual img{width:100%;height:440px;object-fit:cover}.transform-stage{position:absolute;bottom:24px;left:24px;right:24px;background:#111e;color:white;padding:18px;border-radius:12px;font-size:14px}.stage-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.stage-tabs button{border:1px solid #ddd;background:white;border-radius:30px;padding:11px 17px;font-size:12px}.stage-tabs button[aria-pressed=true]{background:var(--sequence-gradient);color:white;border-color:transparent}.transform-copy h3{font-size:27px;font-weight:500;letter-spacing:-.04em;line-height:1.3;margin-bottom:16px}.transform-copy p{color:#71717b;font-size:14px}.spotlight{border-radius:24px;background:radial-gradient(ellipse at top right,#824aff35,transparent 65%),#101014;color:white;padding:54px;margin:20px 0 60px;position:relative;overflow:hidden}.spotlight:before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--sequence-gradient)}.spotlight .eyebrow{color:#ff93cc;margin-bottom:20px}.spotlight-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:55px}.spotlight h2{font-size:39px}.spotlight p{color:#bcbcc5;font-size:14px;margin-top:22px}.spotlight dl{margin:0}.spotlight dl div{border-bottom:1px solid #ffffff20;padding:17px 0}.spotlight dt{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#ff93cc}.spotlight dd{margin:7px 0 0;font-size:15px}.spotlight .component-note{font-size:11px}.showcase .eyebrow{color:#777;margin-bottom:13px}@media(max-width:700px){.showcase{margin:0 13px;padding:42px 0}.reel-grid{grid-template-columns:1fr;gap:16px}.reel-card,.reel-card img{height:390px;min-height:0}.transform-layout,.spotlight-grid{grid-template-columns:1fr;gap:26px}.transform-visual img{height:370px}.spotlight{padding:32px 26px;margin-bottom:35px}.spotlight h2{font-size:31px}}


/* ── Additions: results row on the dark hero, message strip, real lead form ── */
.results{border-top:1px solid #ffffff1c;border-bottom:0;padding:34px 0 40px}
.result{border-left-color:#ffffff1c}
.result strong{color:#fff;display:block}
.result p{color:#a5a5ae}
.results-note{color:#7d7d87;padding-bottom:30px;margin-top:0}
.messages{margin:0 40px;padding:85px 0 10px}
.msg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.msg{background:#fff;border:1px solid var(--line);border-radius:18px 18px 18px 4px;padding:24px 24px 20px;display:flex;flex-direction:column;justify-content:space-between;gap:22px}
.msg p{font-size:17px;line-height:1.55;letter-spacing:-.02em;color:var(--ink)}
.msg span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cta{align-items:flex-start}
.cta .form{width:min(440px,100%);display:grid;gap:14px;flex:none}
.cta .field label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#a5a5b0;margin-bottom:6px}
.cta input,.cta select{width:100%;font:inherit;font-size:14px;color:#fff;background:#17171c;border:1px solid #2e2e35;border-radius:12px;padding:12px 14px}
.cta input[type=radio]{width:auto;padding:0;accent-color:#fff;margin:0}
.cta input::placeholder{color:#6d6d77}
.cta input:focus,.cta select:focus{outline:2px solid #fff;outline-offset:2px}
.cta .radios{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:#c9c9d1}
.cta .radio{display:flex;align-items:center;gap:7px;cursor:pointer}
.cta .submit{background:#fff;color:#111;border:0;border-radius:99px;padding:14px 22px;font-size:14px;font-weight:500;margin-top:4px}
.cta .submit:hover{background:#dedee5}
.cta .submit:disabled{opacity:.6}
.cta .reassure{font-size:11px;color:#9d9da7;line-height:1.6}
.cta .status{font-size:13px;min-height:1.2em}
.footer{padding:40px 50px 36px}

/* ── Brand pass: Sequence is ink + white; the gradient only on the headline keyword and the logo dot ── */
.dot{box-shadow:none}
.hero{background:#08080a}
.hero-visual{padding:0;background:none}
.hero-visual>img{border-radius:16px}
.hero-copy .eyebrow .dash,.section-head .eyebrow .dash,.questions .eyebrow .dash,.story .eyebrow .dash{background:currentColor;height:1px}
.hero .text-link{border-bottom:1px solid #66666e;padding-bottom:8px}
.hero .text-link::after{display:none}
.hero .text-link:hover{border-color:#fff}
.quote-section{background:#111114;border-top:0}
.quote-mark{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#3a3a42}
blockquote em{color:#fff;font-weight:500}
.step .num,.approach .num{color:var(--ink)}
.gallery figcaption span{color:var(--ink)}
.answers summary::after{color:var(--ink)}
.inline-link{color:var(--ink)}
.cta{background:#0b0b0f}
.cta::before{display:none}
.cta .eyebrow{color:#a5a5b0}
/* ── Website section ── */
.site{margin:0 40px;padding:20px 0 90px}
.site-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:center}
.site-shots{position:relative;padding-right:70px;padding-bottom:40px}
.browser{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 20px 60px #0000000f}
.browser-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}
.browser-bar i{width:8px;height:8px;border-radius:50%;background:#dcdce2}
.browser-bar span{margin-left:10px}
.browser img{width:100%}
.phone{position:absolute;right:0;bottom:0;width:150px;border:6px solid #0b0b0f;border-radius:26px;overflow:hidden;background:#0b0b0f;box-shadow:0 20px 50px #00000026}
.phone img{width:100%}
.site-list{list-style:none;margin:26px 0 0;padding:0}
.site-list li{border-top:1px solid var(--line);padding:14px 0;font-size:13px;color:var(--muted)}
.site-list strong{display:block;color:var(--ink);font-weight:500;font-size:14px}
.site .eyebrow{color:#777780;margin-bottom:13px}
@media(max-width:1000px){.site{margin-left:20px;margin-right:20px}.site-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:700px){.site{margin-left:13px;margin-right:13px;padding-bottom:55px}.site-shots{padding-right:44px;padding-bottom:28px}.phone{width:96px;border-width:4px;border-radius:18px}}


/* ── Full width hero with the Alex Hadley glow ── */
.hero-band{position:relative;overflow:hidden;background:#050505;color:#fff;margin-bottom:10px}
.hb{position:absolute;border-radius:50%;filter:blur(72px);pointer-events:none;z-index:0}
.hb1{width:620px;height:620px;top:-220px;left:-160px;background:radial-gradient(circle,rgba(124,77,255,.6),transparent 68%);opacity:.75}
.hb2{width:760px;height:760px;top:40px;right:-40px;background:radial-gradient(circle,rgba(236,72,153,.62),rgba(168,62,220,.35) 45%,transparent 70%);opacity:.9}
.hero-in{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:0 84px}
.hero-band .nav{margin-top:24px;background:#0b0b0fcc;border-color:#ffffff1f;backdrop-filter:blur(10px)}
.hero-band .hero{background:none;border-radius:0;padding:44px 0 40px;overflow:visible}
.hero-band .hero-visual>img{box-shadow:0 30px 80px #0000008c}
@media(max-width:1000px){.hero-in{padding:0 32px}}
@media(max-width:700px){.hero-in{padding:0 16px}.hero-band .hero{padding:26px 0 30px}.hb1{width:360px;height:360px}.hb2{width:420px;height:420px;top:360px;right:-160px}}


/* ── Round 3: brand colour, highlights, videos, WhatsApp chat, real phone ── */
.grad,.result strong,.step .num{background:var(--sequence-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.result strong{display:inline-block}
.hero-copy .eyebrow .dash,.section-head .eyebrow .dash,.questions .eyebrow .dash,.story .eyebrow .dash,.chat-copy .eyebrow .dash,.site .eyebrow .dash{background:var(--sequence-gradient);height:2px}
.quote-mark{background:var(--sequence-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}
.quote-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 100%,rgba(124,77,255,.28),transparent 60%),radial-gradient(ellipse at 0% 0%,rgba(236,72,153,.16),transparent 55%),#111114}
mark.hl{color:#fff;font-weight:500;background:var(--sequence-gradient) no-repeat 0 92%/0% .16em;padding-bottom:.04em;transition:background-size 1.1s cubic-bezier(.2,.7,.2,1)}
#quote.in mark.hl{background-size:100% .16em}
#quote.in mark.hl:nth-of-type(2){transition-delay:.45s}
#quote.in mark.hl:nth-of-type(3){transition-delay:.9s}
.vids{position:relative;overflow:hidden;background:#08080a;color:#fff;border-radius:24px;margin:20px 0;padding:70px 0 64px}
.hb3{width:700px;height:700px;top:-260px;right:-180px;background:radial-gradient(circle,rgba(236,72,153,.4),rgba(124,77,255,.3) 45%,transparent 70%);opacity:.8}
.vids-in{position:relative;z-index:1;padding:0 48px}
.vids .eyebrow{color:#a5a5ae;margin-bottom:13px}
.vids .section-head>p{color:#a5a5ae}
.vgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.vcard{position:relative;border:0;padding:0;background:none;text-align:left;color:#fff;cursor:pointer;display:flex;flex-direction:column;gap:14px;font:inherit}
.vmedia{position:relative;display:block;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#17171c;transition:transform .3s,box-shadow .3s}
.vcard:hover .vmedia{transform:translateY(-4px);box-shadow:0 18px 40px rgba(216,61,255,.25)}
.vcard video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vplay{position:absolute;left:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#111;font-size:11px;box-shadow:0 0 0 3px rgba(255,62,145,.55),0 0 22px rgba(216,61,255,.45)}
.vq{font-size:13px;line-height:1.55;color:#d6d6dc}
.chat-sec{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center;margin:0 40px;padding:90px 0}
.chat-copy .eyebrow{color:#777780;margin-bottom:15px}
.chat-copy p{color:var(--muted);margin-top:20px;max-width:380px;font-size:14px}
.wa{border-radius:22px;overflow:hidden;box-shadow:0 30px 80px #0000001f;border:1px solid var(--line);max-width:520px;justify-self:end;width:100%}
.wa-head{display:flex;align-items:center;gap:12px;background:#075e54;color:#fff;padding:14px 18px}
.wa-head strong{display:block;font-size:15px;font-weight:500;line-height:1.3}
.wa-head span:not(.wa-av){font-size:11px;opacity:.8}
.wa-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;background:var(--sequence-gradient);flex:none}
.wa-body{background:#efeae2;padding:16px 16px 22px;display:flex;flex-direction:column;gap:6px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.wa-date{display:flex;justify-content:center;margin:8px 0 4px}
.wa-date span{background:#fff;border-radius:8px;padding:4px 10px;font-size:11px;color:#54656f;box-shadow:0 1px .5px #0b141a21}
.wa-msg{max-width:82%;opacity:0;transform:translateY(10px) scale(.98);transition:opacity .45s,transform .45s;transition-delay:var(--d)}
.wa.in .wa-msg{opacity:1;transform:none}
.wa-msg p{position:relative;margin:0;padding:6px 9px 8px;border-radius:8px;font-size:14px;line-height:1.4;color:#111b21;box-shadow:0 1px .5px #0b141a21}
.wa-msg time{float:right;font-size:10px;color:#667781;margin:8px 0 -4px 10px}
.wa-msg.in{align-self:flex-start}
.wa-msg.in p{background:#fff;border-top-left-radius:0}
.wa-msg.out{align-self:flex-end}
.wa-msg.out p{background:#d9fdd3;border-top-right-radius:0}
.wa-name{display:block;font-size:12px;font-weight:600;margin:0 0 2px 2px;color:#c2185b}
.wa-msg.out .wa-name{text-align:right;color:#6d3fd1}
.phone{width:156px;border:7px solid #0b0b0f;border-radius:30px;aspect-ratio:auto}
.phone img{display:block;width:100%;height:auto}
@media(prefers-reduced-motion:reduce){.wa-msg{opacity:1;transform:none}mark.hl{background-size:100% .16em}}
@media(max-width:1000px){.vgrid{grid-template-columns:repeat(3,1fr)}.chat-sec{grid-template-columns:1fr;gap:34px;margin-left:20px;margin-right:20px}.wa{justify-self:start}.vids-in{padding:0 28px}}
@media(max-width:700px){.vids{border-radius:20px;padding:44px 0}.vids-in{padding:0 18px}.vgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -18px;padding:0 18px 6px}.vcard{flex:0 0 62%;scroll-snap-align:start}.vq{font-size:12px}.chat-sec{margin-left:13px;margin-right:13px;padding:55px 0}.wa-msg{max-width:88%}.phone{width:100px;border-width:5px;border-radius:20px}}


/* ── Ticker (Framer style): slow marquee, faded edges, hover to preview, tap to play ── */
.vids{padding-bottom:70px}
.ticker{position:relative;z-index:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.track{display:flex;width:max-content;animation:tick 70s linear infinite}
.ticker:hover .track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
.tk{position:relative;flex:none;width:230px;aspect-ratio:9/16;margin:0 18px 0 0;border:0;padding:0;border-radius:18px;overflow:hidden;background:#17171c;color:#fff;font:inherit}
.tk img,.tk video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tk video{opacity:0;transition:opacity .35s}
.tk.playing video{opacity:1}
.tk-v{cursor:pointer;transition:transform .3s,box-shadow .3s}
.tk-v:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(216,61,255,.28)}
.tk-tag{position:absolute;left:12px;top:12px;background:#0b0b0fb3;backdrop-filter:blur(6px);border:1px solid #ffffff26;border-radius:99px;padding:5px 11px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.tk .vplay{position:absolute;left:12px;bottom:12px;margin:0}
.tk-p img{filter:saturate(.9)}
@media(prefers-reduced-motion:reduce){.track{animation:none}.ticker{overflow-x:auto}}
@media(max-width:700px){.tk{width:165px;margin-right:12px;border-radius:14px}.track{animation-duration:55s}}


/* ── Message bubbles: like a text Sasha sent, not a full chat ── */
.msg-grid{align-items:stretch}
.bub{position:relative;background:#fff;border:1px solid var(--line);border-radius:22px 22px 22px 6px;padding:16px 20px 18px;box-shadow:0 10px 30px #0000000d;opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s;transition-delay:var(--d)}
.msg-grid.in .bub{opacity:1;transform:none}
.bub-who{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--ink);margin-bottom:10px}
.bub-who time{margin-left:auto;font-size:10px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.bub-av{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:600;color:#fff;background:var(--sequence-gradient)}
.bub p{font-size:17px;line-height:1.5;letter-spacing:-.015em;color:var(--ink)}
@media(prefers-reduced-motion:reduce){.bub{opacity:1;transform:none}}
@media(max-width:700px){.bub p{font-size:15px}}


/* ── Video player popup ── */
dialog.player{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}
dialog.player::backdrop{background:rgba(5,5,5,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
dialog.player[open]{animation:plIn .35s cubic-bezier(.2,.7,.2,1)}
@keyframes plIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.pl-in{height:100%;display:flex;align-items:center;justify-content:center;gap:56px;padding:40px}
.pl-media{position:relative;height:min(86dvh,860px);aspect-ratio:9/16;border-radius:24px;overflow:hidden;background:#000;box-shadow:0 0 0 1px #ffffff1a,0 30px 90px rgba(0,0,0,.6),0 0 120px rgba(216,61,255,.28),0 0 60px rgba(255,62,145,.18)}
.pl-media video:focus{outline:none}
.pl-media video{width:100%;height:100%;object-fit:cover;display:block;max-height:none}
.pl-side{width:320px}
.pl-tag{display:inline-block;border:1px solid #ffffff2e;border-radius:99px;padding:6px 12px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#d6d6dc}
.pl-q{font-size:24px;line-height:1.45;letter-spacing:-.025em;margin-top:22px}
.pl-by{font-size:13px;font-weight:500;margin-top:20px}
.pl-by span{display:block;font-weight:400;font-size:12px;color:#9d9da7}
.pl-nav{display:flex;align-items:center;gap:16px;margin-top:40px}
.pl-btn{width:48px;height:48px;border-radius:50%;border:1px solid #ffffff33;background:#ffffff0d;color:#fff;font-size:18px;display:grid;place-items:center}
.pl-btn:hover{background:#fff;color:#111}
.pl-count{font-size:12px;letter-spacing:.1em;color:#9d9da7;min-width:44px;text-align:center}
.pl-close{position:absolute;top:22px;right:22px;width:46px;height:46px;border-radius:50%;border:1px solid #ffffff33;background:#ffffff14;color:#fff;font-size:16px;display:grid;place-items:center;z-index:2}
.pl-close:hover{background:#fff;color:#111}
@media(max-width:800px){.pl-in{flex-direction:column;gap:18px;padding:70px 16px 20px;justify-content:flex-start}.pl-media{height:auto;width:min(100%,calc(62dvh*9/16));}.pl-side{width:100%;max-width:420px;text-align:center}.pl-q{font-size:16px;margin-top:12px}.pl-by{display:none}.pl-nav{justify-content:center;margin-top:16px}.pl-btn{width:42px;height:42px}.pl-close{top:14px;right:14px}}
@media(prefers-reduced-motion:reduce){dialog.player[open]{animation:none}}


/* ── Hero reel: portrait testimonial loop, poster first for speed ── */
.hero-reel{display:flex;justify-content:center;align-items:center}
.reel-card{position:relative;width:min(100%,310px);aspect-ratio:9/16;border-radius:26px;overflow:hidden;background:#111;box-shadow:0 0 0 1px #ffffff1f,0 30px 80px rgba(0,0,0,.55),0 0 110px rgba(216,61,255,.3),0 0 50px rgba(255,62,145,.2)}
.reel-card img,.reel-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.reel-card video{opacity:0;transition:opacity .6s}
.reel-card video.on{opacity:1}
.reel-card .image-label{z-index:2}
.reel-card .play{z-index:2}
.hero-band .hero-grid{align-items:center}
@media(max-width:700px){.reel-card{width:min(78%,300px)}}


/* ── Breathing room around "What Sasha sent us" ── */
.messages{padding:150px 0 140px}
@media(max-width:700px){.messages{padding:90px 0 85px}}


/* ── Realistic phone mock ── */
.phone{width:160px;aspect-ratio:9/19.5;display:flex;flex-direction:column;padding:0;border:4px solid #0b0b0f;outline:1px solid #3a3a42;outline-offset:0;border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.phone-status{position:relative;flex:none;height:22px;display:flex;align-items:center;justify-content:space-between;padding:0 14px 0 16px;background:#fff;font:600 8px/1 -apple-system,BlinkMacSystemFont,sans-serif;color:#111}
.phone-status .island{position:absolute;left:50%;top:5px;width:44px;height:12px;margin-left:-22px;border-radius:10px;background:#0b0b0f}
.phone-status .bars{width:18px;height:7px;border:1px solid #111;border-radius:2px;position:relative}
.phone-status .bars::after{content:'';position:absolute;inset:1px 3px 1px 1px;background:#111;border-radius:1px}
.phone img{flex:1;min-height:0;width:100%;height:auto;object-fit:cover;object-position:top}
@media(max-width:700px){.phone{width:104px;border-width:3px;border-radius:20px}.phone-status{height:15px;padding:0 9px 0 10px;font-size:6px}.phone-status .island{width:30px;height:8px;margin-left:-15px;top:3px}.phone-status .bars{width:12px;height:5px}}


/* ── Hero video in a white phone frame, same as Alex Hadley's case study ── */
.hero-reel{position:relative}
.hero-reel::before{content:"";position:absolute;left:50%;top:50%;width:420px;height:620px;transform:translate(-50%,-50%);background:var(--sequence-gradient);filter:blur(80px);opacity:.34;border-radius:50%;pointer-events:none}
.reel-card{border:6px solid #fff;border-radius:34px;box-shadow:0 36px 80px rgba(216,61,255,.22),0 12px 28px rgba(0,0,0,.16);outline:1px solid rgba(0,0,0,.05)}
@media(max-width:700px){.hero-reel::before{width:300px;height:460px}.reel-card{border-width:5px;border-radius:28px}}


/* ── Contrast: grey eyebrow labels to AA on the light ground ── */
.brief .eyebrow,.story .eyebrow,.section-head .eyebrow,.questions .eyebrow,.site .eyebrow,.messages .eyebrow{color:#5c5c66}
.vids .eyebrow{color:#a5a5ae}


/* ── CTA: brand glow + gradient accents ── */
.cta{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 60% 70% at 0% 0%,rgba(124,77,255,.42),transparent 70%),radial-gradient(ellipse 55% 65% at 100% 100%,rgba(236,72,153,.34),transparent 70%),radial-gradient(ellipse 40% 50% at 55% 110%,rgba(255,122,47,.18),transparent 70%),#0b0b0f}
.cta::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--sequence-gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.45;pointer-events:none}
.cta .submit{box-shadow:0 0 0 3px rgba(255,62,145,.35),0 10px 40px rgba(216,61,255,.35);transition:box-shadow .3s,transform .2s,background .2s}
.cta .submit:hover{box-shadow:0 0 0 3px rgba(255,62,145,.6),0 14px 50px rgba(216,61,255,.5);transform:translateY(-1px)}
.cta input:focus,.cta select:focus{outline:2px solid #d83dff}

@media(max-width:1000px){.messages{margin-left:20px;margin-right:20px}.msg-grid{grid-template-columns:1fr}.cta{display:block}.cta .form{margin-top:30px}}
@media(max-width:700px){.messages{margin-left:13px;margin-right:13px;padding-top:90px}.msg p{font-size:15px}.results{grid-template-columns:1fr;gap:22px;padding:26px 0 28px}.result,.result:first-child{padding:0;border-left:0}.result strong{font-size:44px}.result p{font-size:12px}.footer{padding:30px 13px}}

/* ── Landscape support (added for clients whose video is 16:9) ── */
.reel-card.land{width:min(100%,600px);aspect-ratio:16/9;min-height:0;height:auto}
.tk.land{width:727px;aspect-ratio:16/9}
.pl-media.land{height:auto;width:min(78vw,1100px);aspect-ratio:16/9}
@media(max-width:800px){.pl-media.land{width:100%}}
@media(max-width:700px){.reel-card.land{width:100%;height:auto}.tk.land{width:521px}}

/* Keep screenshots in proportion when width/height attributes are set */
.browser img{height:auto}

/* ── Testimonials: a row of client videos with their words underneath (optional section) ── */
.tvids{margin:0 40px;padding:100px 0 40px}
.tvids .eyebrow{color:#5c5c66;margin-bottom:13px}
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;align-items:start}
.tcard{border:0;background:none;padding:0;text-align:left;cursor:pointer;font:inherit;color:var(--ink);display:flex;flex-direction:column;gap:14px}
.tcard.land{grid-column:span 2}
.tmedia{position:relative;display:block;aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#111;box-shadow:0 18px 40px rgba(0,0,0,.12);transition:transform .3s,box-shadow .3s}
.tmedia.land{aspect-ratio:16/9}
.tcard:hover .tmedia{transform:translateY(-4px);box-shadow:0 22px 46px rgba(216,61,255,.25)}
.tmedia img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tmedia .vplay{position:absolute;left:14px;bottom:14px;margin:0}
.tq{font-size:16px;line-height:1.5;letter-spacing:-.01em}
.tby{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5c5c66}
@media(max-width:1000px){.tvids{margin-left:20px;margin-right:20px}.tgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.tvids{margin-left:13px;margin-right:13px;padding-top:70px}.tgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -13px;padding:0 13px 6px}.tcard{flex:0 0 66%;scroll-snap-align:start}.tcard.land{flex-basis:88%}.tq{font-size:14px}}

/* Testimonials v2: wide clips 3 per row, portrait clips 4 per row, rows centred so mixed shapes never leave gaps */
.tgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:28px 22px}
.tcard{width:calc((100% - 66px)/4)}
.tcard.land{width:calc((100% - 44px)/3);grid-column:auto}
@media(max-width:1000px){.tcard{width:calc((100% - 22px)/2)}.tcard.land{width:100%}}
@media(max-width:700px){.tgrid{flex-wrap:nowrap;justify-content:flex-start}.tcard{width:auto}}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Second ticker row, running the other way (row 2 content: ticker.items2, else row 1 rotated) */
.ticker2{margin-top:18px}
.track.rev{animation-direction:reverse;animation-duration:85s}
@media(max-width:700px){.ticker2{margin-top:12px}.track.rev{animation-duration:65s}}

/* Testimonials, accordion layout: quotes on the left, the chosen clip plays on the right */
.acc-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:center}
.acc-list{display:flex;flex-direction:column}
.acc-item{border:0;background:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;display:grid;gap:8px;padding:22px 0 22px 24px;position:relative;opacity:.45;transition:opacity .3s}
.acc-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--line);transition:background .3s}
.acc-item.is-on{opacity:1}
.acc-item.is-on::before{background:var(--sequence-gradient);width:3px}
.acc-item:hover{opacity:.8}.acc-item.is-on:hover{opacity:1}
.acc-num{font-size:11px;letter-spacing:.14em;color:#5c5c66}
.acc-q{font-size:18px;line-height:1.45;letter-spacing:-.015em;transition:font-size .3s}
.acc-item.is-on .acc-q{font-size:24px;font-weight:500}
.acc-media{border-radius:20px;overflow:hidden;background:#000;aspect-ratio:9/16;max-height:640px;margin:0 auto;box-shadow:0 30px 70px rgba(0,0,0,.18),0 0 60px rgba(216,61,255,.15)}
.acc-media.land{aspect-ratio:16/9;max-height:none}
.acc-media video{width:100%;height:100%;object-fit:cover;display:block}
/* Feature: 1 portrait clip in the white phone frame, big quote beside it */
.feat{margin:0 40px;padding:100px 0 30px}
.feat-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}
.feat-media{position:relative;display:flex;justify-content:center}
.feat-media::before{content:"";position:absolute;left:50%;top:50%;width:380px;height:560px;transform:translate(-50%,-50%);background:var(--sequence-gradient);filter:blur(80px);opacity:.28;border-radius:50%;pointer-events:none}
.fcard{position:relative;width:min(100%,320px);aspect-ratio:9/16;border:6px solid #fff;border-radius:34px;overflow:hidden;padding:0;background:#111;cursor:pointer;box-shadow:0 36px 80px rgba(216,61,255,.22),0 12px 28px rgba(0,0,0,.16);transition:transform .3s}
.fcard:hover{transform:translateY(-4px)}
.fcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fcard .vplay{position:absolute;left:16px;bottom:16px;margin:0}
.feat-copy .eyebrow{color:#5c5c66;margin-bottom:22px}
.feat-q{margin:0;font-size:clamp(30px,3.4vw,50px);line-height:1.18;letter-spacing:-.035em;font-weight:500;color:var(--ink)}
.feat-copy .tby{margin-top:24px;display:block}
@media(max-width:1000px){.acc-grid,.feat-grid{grid-template-columns:1fr;gap:34px}.acc-stage{order:-1}.feat{margin-left:20px;margin-right:20px}}
@media(max-width:700px){.feat{margin-left:13px;margin-right:13px;padding-top:70px}.acc-item.is-on .acc-q{font-size:19px}.acc-q{font-size:15px}.fcard{width:min(78%,280px)}}

/* Hero: two site screenshots overlapping, no frame (website case studies) */
.hero-stack{position:relative;width:min(100%,620px);aspect-ratio:16/11.5;margin-left:auto}
.hero-stack .hs{position:absolute;width:78%;height:auto;border-radius:12px;box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08)}
.hero-stack .hs1{left:0;top:0}
.hero-stack .hs2{right:0;bottom:0}
@media(max-width:700px){.hero-stack{width:100%;margin:8px 0 0}}
