@font-face{font-family:Bricolage;src:url('/assets/fonts/bricolage-grotesque-latin.woff2') format('woff2');font-weight:200 800;font-display:fallback}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-latin-400.woff2') format('woff2');font-weight:400;font-display:fallback}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-latin-500.woff2') format('woff2');font-weight:500;font-display:fallback}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-latin-700.woff2') format('woff2');font-weight:700;font-display:fallback}
@font-face{font-family:'DM Sans Fallback';src:local('Arial'),local('ArialMT');font-weight:400;size-adjust:98.97%;ascent-override:100.24%;descent-override:31.32%;line-gap-override:0%}
@font-face{font-family:'DM Sans Fallback';src:local('Arial'),local('ArialMT');font-weight:500;size-adjust:100.92%;ascent-override:98.3%;descent-override:30.72%;line-gap-override:0%}
@font-face{font-family:'DM Sans Fallback';src:local('Arial Bold'),local('Arial-BoldMT');font-weight:700;size-adjust:100.1%;ascent-override:99.1%;descent-override:30.97%;line-gap-override:0%}
:root{--aubergine:#14132B;--plum:#262457;--door:#FF2E88;--door-dark:#D3176C;--brass:#C8FF3D;--brass-hover:#DCFF85;--mint:#3DE0FF;--candy:#BE9BFF;--cream:#F7F7FC;--blush:#EEF0FF;--ink:#14132B;--accent-text:#B0125F;--focus:#2563EB;--night:#0B0A1E;--night-line:#3A3880;--on-dark:#E4E4F7;--line:#D8D9EE;--line-strong:#9D9CD0;--surface:#FFFFFF;--muted:#4A4A6A;--placeholder:#E2E3EE;--ivs-ds-space-4:4px;--ivs-ds-space-8:8px;--ivs-ds-space-12:12px;--ivs-ds-space-16:16px;--ivs-ds-space-24:24px;--ivs-ds-space-32:32px;--ivs-ds-space-48:48px;--ivs-ds-space-40:40px;--gutter:var(--ivs-ds-space-48);--section-space:calc(var(--ivs-ds-space-24)*3);--ivs-ds-text-12:12px;--ivs-ds-text-14:14px;--ivs-ds-text-16:16px;--ivs-ds-text-18:18px;--ivs-ds-text-20:20px;--ivs-ds-text-24:24px;--ivs-ds-text-32:32px;--ivs-ds-text-40:40px;--ivs-ds-text-48:48px;--ivs-ds-text-58:58px;--ivs-ds-text-82:82px;--title-eyebrow-gap:var(--ivs-ds-space-12);--title-lead-gap:var(--ivs-ds-space-16);--title-content-gap:var(--ivs-ds-space-40);--card-radius:18px;--card-pad:var(--ivs-ds-space-24)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--ivs-ds-space-24)}body{margin:0;background:var(--cream);color:var(--ink);font:400 16px/1.65 'DM Sans','DM Sans Fallback',sans-serif}h1,h2,h3,p,figure,ul{margin:0}h1,h2,h3{font-family:Bricolage,Georgia,serif;font-weight:800;line-height:1.08;text-wrap:balance;letter-spacing:-.035em}h2{font-size:clamp(32px,3.4vw,48px);max-width:950px}h3{font-size:23px;letter-spacing:-.02em}a{color:var(--accent-text);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}img{display:block;max-width:100%;height:auto}button{touch-action:manipulation}[hidden]{display:none!important}.container{max-width:1248px;margin-inline:auto}.section-content{display:flex;flex-direction:column;gap:var(--ivs-ds-space-24)}.section-content>.p,.section-content>.lead{max-width:900px}.block{padding:var(--section-space) var(--gutter)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ivs-ds-space-24)}.card{display:flex;flex-direction:column;gap:var(--ivs-ds-space-12);padding:var(--ivs-ds-space-24);border:1px solid var(--line);border-radius:18px;background:var(--surface)}.lead{font-size:19px;line-height:1.65}.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--accent-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ivs-ds-space-12);min-height:48px;padding:var(--ivs-ds-space-12) var(--ivs-ds-space-24);border:2px solid transparent;border-radius:12px;font-weight:700;line-height:1.35;text-decoration:none;text-align:center}.btn-primary{background:var(--brass);color:var(--ink)}.btn-primary:hover{background:var(--brass-hover)}.btn-dark{background:var(--aubergine);color:var(--cream)}.btn-dark:hover{background:var(--plum)}.btn-outline{border-color:var(--aubergine);background:transparent;color:var(--ink)}.btn-outline:hover{background:var(--blush)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:var(--ivs-ds-space-24);padding:var(--ivs-ds-space-24) var(--gutter);background:var(--aubergine);color:var(--cream)}.site-logo{display:inline-flex;align-items:center;gap:var(--ivs-ds-space-12);font:800 24px/1 Bricolage,Georgia,serif;text-decoration:none;color:var(--cream);white-space:nowrap}.site-logo:before{content:'';display:block;width:30px;height:38px;background:url('/assets/favicon.svg') center/contain no-repeat}.site-nav{display:flex;gap:var(--ivs-ds-space-24);font-size:14px}.site-nav a{color:var(--cream);text-decoration:none}.site-nav a:hover{color:var(--brass)}.skip-link{position:absolute;left:var(--ivs-ds-space-16);top:var(--ivs-ds-space-16);transform:translateY(-200%);z-index:5;background:var(--cream);padding:var(--ivs-ds-space-12)}.skip-link:focus{transform:none}
[data-block=hero]{background:var(--aubergine);color:var(--cream);position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);align-items:center;gap:var(--ivs-ds-space-48);padding-top:var(--ivs-ds-space-32);padding-bottom:calc(var(--ivs-ds-space-48)*2)}[data-block=hero]:before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle,var(--brass) 0 2px,transparent 3px),radial-gradient(circle,var(--candy) 0 2px,transparent 3px),radial-gradient(circle,var(--mint) 0 2px,transparent 3px);background-size:190px 180px,270px 230px,230px 210px;background-position:20px 30px,90px 120px,150px 80px;opacity:.28}[data-block=hero]:after{content:'';position:absolute;inset:auto 0 0;height:72px;z-index:-1;background:repeating-linear-gradient(90deg,var(--plum) 0 118px,var(--aubergine) 118px 120px);border-top:2px solid var(--night-line);transform-origin:bottom}.hero-copy{display:flex;flex-direction:column;gap:var(--ivs-ds-space-24);max-width:660px}.hero-copy .eyebrow{align-self:flex-start;color:var(--ink);background:var(--candy);padding:var(--ivs-ds-space-8) var(--ivs-ds-space-12);border-radius:40px;transform:rotate(-2deg);letter-spacing:.06em;font-size:11px}h1{font-size:clamp(52px,5.7vw,82px);line-height:.99}h1 span{display:block;color:var(--brass)}.hero-copy .lead{color:var(--on-dark);max-width:590px}.benefits{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--ivs-ds-space-8)}.benefits li{font-size:12px;font-weight:700;color:var(--mint);border:1px solid var(--mint);padding:var(--ivs-ds-space-8) var(--ivs-ds-space-12);border-radius:40px}.door-frame{width:100%;max-width:560px;justify-self:center;background:var(--door-dark);border-radius:24px 24px 4px 4px;padding:var(--ivs-ds-space-12) var(--ivs-ds-space-12) 0;box-shadow:0 30px 60px #05040f70;border-bottom:8px solid var(--night)}.door-lintel{text-align:center;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--cream);padding:var(--ivs-ds-space-4) 0 var(--ivs-ds-space-12)}.door{position:relative;background:var(--door);border-radius:14px 14px 0 0;padding:var(--ivs-ds-space-24);transform-origin:left center}.door-handle{position:absolute;right:-8px;top:46%;width:24px;height:24px;background:radial-gradient(circle at 35% 35%,#ffe08a,var(--brass) 55%,#b98310);border-radius:50%;box-shadow:0 2px 6px #0006;z-index:1}.door.knocking{animation:knock .45s ease-in-out}.door.opening:before{content:'';position:absolute;inset:var(--ivs-ds-space-16) auto 0 var(--ivs-ds-space-8);width:8px;background:linear-gradient(var(--brass),transparent);filter:blur(2px)}@keyframes knock{0%,50%,100%{transform:rotate(0)}15%,65%{transform:rotate(-1deg)}30%,80%{transform:rotate(1deg)}}.tool-panel{background:var(--cream);border-radius:12px;color:var(--ink);padding:var(--ivs-ds-space-24);display:flex;flex-direction:column;gap:var(--ivs-ds-space-16)}.chips{display:flex;flex-wrap:wrap;gap:var(--ivs-ds-space-8)}.chip{min-height:44px;border:1px solid var(--line-strong);border-radius:40px;background:transparent;color:var(--ink);padding:var(--ivs-ds-space-8) var(--ivs-ds-space-12);font-size:13px;font-weight:700;line-height:1.25}.chip[aria-pressed=true]{background:var(--aubergine);border-color:var(--aubergine);color:var(--cream)}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:12px;font-weight:700;padding:0;margin-bottom:var(--ivs-ds-space-8)}.drop-zone{border:2px dashed var(--line-strong);border-radius:12px;background:#fff;position:relative}.drop-zone.dragging{background:#def9ed;border-color:var(--focus)}.drop-zone label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ivs-ds-space-4);padding:var(--ivs-ds-space-16) var(--ivs-ds-space-12);min-height:140px;cursor:pointer;text-align:center}.drop-zone label>span:last-child{font-size:11px;color:var(--muted)}.upload-symbol{font-size:30px;line-height:1;color:var(--accent-text)}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0;bottom:0;left:50%}.drop-zone:focus-within{outline:3px solid var(--focus);outline-offset:4px}.adult-label{display:flex;align-items:flex-start;gap:var(--ivs-ds-space-8);font-size:12px;line-height:1.5}.adult-label input{accent-color:var(--aubergine);width:20px;height:20px;flex:none;margin:0}.tool-note{font-size:12px;line-height:1.6;color:var(--muted)}.error{color:#B42318;font-size:12px;line-height:1.4}.error:empty,.thumbnails:empty{display:none}.thumbnails{display:flex;flex-wrap:wrap;gap:var(--ivs-ds-space-8)}.thumb{position:relative}.thumb img{width:64px;height:80px;object-fit:cover;border-radius:8px}.thumb button{position:absolute;right:-4px;top:-4px;min-width:28px;min-height:28px;border-radius:50%;background:var(--aubergine);color:var(--cream);border:2px solid var(--cream);font-weight:700;padding:0}.badge{align-self:flex-start;background:var(--brass);padding:var(--ivs-ds-space-4) var(--ivs-ds-space-12);border-radius:40px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.08em}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
[data-block=examples],[data-block=creators],[data-block=song],[data-block=compare],[data-block=responsible-use]{background:var(--cream)}[data-block=how-it-works],[data-block=trend-origin],[data-block=moves],[data-block=photo-tips],[data-block=faq]{background:var(--blush)}[data-block=ideas],[data-block=on-tiktok]{background:var(--aubergine);color:var(--cream)}[data-block=ideas] .eyebrow,[data-block=on-tiktok] .eyebrow{color:var(--candy)}.examples-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ivs-ds-space-24)}.example-card{display:flex;flex-direction:column;gap:var(--ivs-ds-space-12)}.example-card h3{margin-top:var(--ivs-ds-space-8)}.example-card .p{font-size:14px}.polaroid{padding:var(--ivs-ds-space-12);border-radius:16px;box-shadow:0 10px 16px #14132b18}.polaroid>figcaption{font-size:11px;font-weight:700;padding-top:var(--ivs-ds-space-12)}.photo-0{background:var(--aubergine);color:var(--cream);transform:rotate(-1.2deg)}.photo-1{background:var(--door);color:var(--ink);transform:rotate(1deg)}.photo-2{background:var(--mint);color:var(--ink);transform:rotate(-.6deg)}.photo-3{background:var(--brass);color:var(--ink);transform:rotate(1.4deg)}.photo-layout{aspect-ratio:3/4;border-radius:8px;overflow:hidden;position:relative;display:grid}.photo-layout>img{width:100%;height:100%;object-fit:cover}.photo-layout-1{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-layout-1>img{object-position:center}.photo-layout-2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:var(--ivs-ds-space-4)}.still-inset{position:absolute;right:var(--ivs-ds-space-8);bottom:var(--ivs-ds-space-8);width:40%;border:3px solid var(--cream);background:var(--cream);border-radius:4px;overflow:hidden}.still-inset img{width:100%;height:120px;object-fit:cover}.still-inset figcaption{font-size:8px;line-height:1.4;color:var(--ink);padding:var(--ivs-ds-space-4)}.three-grid{grid-template-columns:repeat(3,minmax(0,1fr));counter-reset:steps}.three-grid>.card{border-top:4px solid var(--door)}.three-grid h3{font-size:25px}.three-grid .p{font-size:15px}.ideas-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ivs-ds-space-16)}.idea-card{display:flex;flex-direction:column;gap:var(--ivs-ds-space-16);background:var(--candy);color:var(--ink);padding:var(--ivs-ds-space-32);border-radius:14px;min-height:200px}.idea-card:nth-child(3n+2){background:var(--brass)}.idea-card:nth-child(3n){background:var(--mint)}.idea-card h3{font-size:26px}.split>.section-content{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:var(--ivs-ds-space-48)}.split .section-content>div:first-child{display:flex;flex-direction:column;gap:var(--ivs-ds-space-16)}.split h3{margin-top:var(--ivs-ds-space-16)}.split h2{font-size:42px}.creator-aside{display:flex;flex-direction:column;gap:var(--ivs-ds-space-24);max-width:380px;margin-inline:auto}.creator-photo{background:var(--brass);padding:var(--ivs-ds-space-12);border-radius:18px;transform:rotate(2deg)}.creator-photo img{aspect-ratio:4/5;width:100%;object-fit:cover;border-radius:10px}.creator-photo figcaption{font-size:12px;font-weight:700;padding-top:var(--ivs-ds-space-8)}#caption-text{font-family:ui-monospace,monospace;background:var(--blush);padding:var(--ivs-ds-space-16);border-radius:8px;font-size:14px;overflow-wrap:anywhere}.timeline{border-left:3px solid var(--accent-text);margin-top:var(--ivs-ds-space-16);max-width:1000px}.timeline-entry{display:grid;grid-template-columns:160px 1fr;gap:var(--ivs-ds-space-24);padding:var(--ivs-ds-space-16) var(--ivs-ds-space-24);position:relative}.timeline-entry:before{content:'';position:absolute;left:-7px;top:var(--ivs-ds-space-24);width:11px;height:11px;border-radius:50%;background:var(--door-dark)}.timeline-entry>span:first-child{font-family:Bricolage,Georgia,serif;font-weight:800;font-size:19px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ivs-ds-space-16)}.stats .card{background:var(--plum);border:0}.stats .card>p:first-child{font:800 48px/1 Bricolage,Georgia,serif;color:var(--brass)}.stats .card:nth-child(2)>p:first-child{color:var(--mint)}.stats .card:nth-child(3)>p:first-child{color:var(--candy)}.stats .p{font-size:14px}.tiktok-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tiktok-grid>.card{color:var(--ink);padding:var(--ivs-ds-space-16);gap:var(--ivs-ds-space-12)}.tiktok-grid .p{font-size:12px}.tiktok-player{height:280px;border-radius:12px;background:var(--night);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--ivs-ds-space-12);color:var(--cream);position:relative;overflow:hidden;background-image:radial-gradient(circle at 50% 35%,var(--night-line),transparent 80%)}.play-button{background:var(--brass);color:var(--ink);font-weight:700;border:0;border-radius:40px;padding:var(--ivs-ds-space-12) var(--ivs-ds-space-24);min-height:48px}.tiktok-player small{font-size:11px}.tiktok-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--night)}.embed-status:empty{display:none}[data-block=on-tiktok]>.container>p:last-child{font-size:12px;color:var(--on-dark)}[data-block=song] .section-content>div{display:flex;flex-direction:column;gap:var(--ivs-ds-space-16);max-width:1000px}.move-card{border-top:3px solid var(--door);padding-top:var(--ivs-ds-space-24);display:flex;flex-direction:column;gap:var(--ivs-ds-space-16)}.move-card h3{font-size:28px}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}table{border-collapse:collapse;width:100%;min-width:680px;font-size:14px}th,td{padding:var(--ivs-ds-space-16);text-align:left;border-bottom:1px solid var(--line);vertical-align:top}thead{background:var(--aubergine);color:var(--cream)}th:last-child,td:last-child{background:#7fe0c41f}tbody tr:last-child>*{border-bottom:0}.tips-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--ivs-ds-space-24)}.tips-columns ul{list-style:none;padding:var(--ivs-ds-space-24);background:#e1f6e9;border-radius:14px;display:flex;flex-direction:column;gap:var(--ivs-ds-space-12);color:#225d3c;font-weight:700}.tips-columns ul:nth-child(2){background:#ffd8d8;color:#802316}.four-grid{grid-template-columns:repeat(4,minmax(0,1fr))}[data-block=photo-tips] .card{font-size:14px}[data-block=responsible-use] .grid{grid-template-columns:repeat(3,minmax(0,1fr))}[data-block=responsible-use] .card{font-size:14px}[data-block=responsible-use]>.container>p:last-child{font-size:12px}[data-block=faq] .section-content>div{max-width:960px;width:100%}details{border-bottom:1px solid var(--line);padding:var(--ivs-ds-space-24) 0}summary{cursor:pointer;list-style:none;font-size:18px;line-height:1.5;font-weight:700;position:relative;padding-right:var(--ivs-ds-space-32)}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:0;font-size:26px;line-height:1;color:var(--accent-text)}details[open] summary:after{content:'−'}details p{margin-top:var(--ivs-ds-space-16);max-width:850px}[data-block=cta]{background:var(--door);color:var(--ink);padding-block:calc(var(--ivs-ds-space-48)*1.5)}[data-block=cta] .section-content{flex-direction:row;align-items:center;justify-content:space-between}[data-block=cta] h2{font-size:clamp(38px,4vw,60px);max-width:700px}.site-footer{background:var(--night);color:var(--on-dark);padding:var(--ivs-ds-space-48) var(--gutter);display:flex;flex-direction:column;gap:var(--ivs-ds-space-16);font-size:12px}.site-footer>p:first-child{max-width:760px}.site-footer nav{display:flex;flex-wrap:wrap;gap:var(--ivs-ds-space-12) var(--ivs-ds-space-24)}.site-footer a{color:var(--cream)}.sources{border-top:1px solid var(--night-line);padding-top:var(--ivs-ds-space-24);margin-top:var(--ivs-ds-space-8);max-width:1000px}.sources p:first-child{font-weight:700;margin-bottom:var(--ivs-ds-space-8)}.consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:center;gap:var(--ivs-ds-space-24);padding:var(--ivs-ds-space-12) var(--ivs-ds-space-24);background:var(--cream);color:var(--ink);box-shadow:0 -4px 20px #0b0a1e26;font-size:12px}.consent-banner>div{display:flex;align-items:center;gap:var(--ivs-ds-space-12)}.consent-banner .btn{min-height:44px;padding:var(--ivs-ds-space-8) var(--ivs-ds-space-16);font-size:12px}main.legal{max-width:720px;margin-inline:auto;padding:var(--ivs-ds-space-48) var(--ivs-ds-space-24);overflow-wrap:anywhere}main.legal h1{font-size:48px;line-height:1.1;margin-bottom:var(--ivs-ds-space-24)}main.legal h2{font-size:30px;margin-top:var(--ivs-ds-space-48);margin-bottom:var(--ivs-ds-space-16)}main.legal h3{font-size:23px;margin-top:var(--ivs-ds-space-24);margin-bottom:var(--ivs-ds-space-12)}main.legal p,main.legal ul,main.legal ol{margin-bottom:var(--ivs-ds-space-16)}main.legal a{color:var(--accent-text)}main.legal li+li{margin-top:var(--ivs-ds-space-8)}
@media(min-width:1500px){[data-block=hero]{padding-inline:max(var(--gutter),calc((100% - 1248px)/2))}.site-header{padding-inline:max(var(--gutter),calc((100% - 1248px)/2))}}
@media(max-width:1100px){:root{--gutter:var(--ivs-ds-space-32)}.site-nav{gap:var(--ivs-ds-space-16);font-size:12px}[data-block=hero]{gap:var(--ivs-ds-space-24)}.hero-copy .lead{font-size:17px}.door{padding:var(--ivs-ds-space-16)}.tool-panel{padding:var(--ivs-ds-space-16)}.examples-grid{gap:var(--ivs-ds-space-16)}.four-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split>.section-content{gap:var(--ivs-ds-space-24)}}
@media(max-width:780px){:root{--gutter:var(--ivs-ds-space-24);--section-space:calc(var(--ivs-ds-space-48)*1.5)}.site-header{padding-block:var(--ivs-ds-space-16);gap:var(--ivs-ds-space-12);flex-wrap:wrap}.site-logo{font-size:21px}.site-header>.btn{padding:var(--ivs-ds-space-8) var(--ivs-ds-space-12);font-size:12px;min-height:44px}.site-nav{order:3;width:100%;justify-content:space-between;gap:var(--ivs-ds-space-8);font-size:10px}[data-block=hero]{grid-template-columns:minmax(0,1fr);padding-top:var(--ivs-ds-space-24);gap:var(--ivs-ds-space-32);padding-bottom:calc(var(--ivs-ds-space-48)*1.5)}.hero-copy{max-width:620px;margin-inline:auto}.hero-copy h1{font-size:54px}.hero-copy .lead{font-size:16px}.hero-copy .eyebrow{font-size:9px}.benefits li{font-size:10px}.door-frame{max-width:520px}.examples-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ivs-ds-space-32) var(--ivs-ds-space-16)}.ideas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.idea-card{padding:var(--ivs-ds-space-24)}.split>.section-content{grid-template-columns:minmax(0,1fr)}.split h2{font-size:36px}.creator-aside{display:grid;grid-template-columns:1fr 1fr;max-width:none;align-items:start}.creator-photo img{aspect-ratio:3/4}.three-grid{grid-template-columns:minmax(0,1fr)}.timeline-entry{grid-template-columns:120px 1fr;gap:var(--ivs-ds-space-16)}.stats .card>p:first-child{font-size:34px}.stats .card{padding:var(--ivs-ds-space-16)}.stats .p{font-size:12px}.tiktok-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-block=responsible-use] .grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-block=cta] .section-content{flex-direction:column;align-items:flex-start}.consent-banner{flex-wrap:wrap;justify-content:flex-start;gap:var(--ivs-ds-space-8)}.consent-banner p{font-size:11px}}
@media(max-width:480px){:root{--gutter:var(--ivs-ds-space-16);--section-space:var(--ivs-ds-space-48)}.site-header{padding-bottom:var(--ivs-ds-space-8)}.site-logo:before{width:24px;height:30px}[data-block=hero]{padding-top:var(--ivs-ds-space-16);gap:var(--ivs-ds-space-24)}.hero-copy{gap:var(--ivs-ds-space-16)}.hero-copy h1{font-size:42px}.hero-copy .lead{font-size:14px;line-height:1.55}.hero-copy .eyebrow{font-size:8px;letter-spacing:.03em;padding:var(--ivs-ds-space-8)}.benefits{gap:var(--ivs-ds-space-4)}.benefits li{font-size:8px;padding:var(--ivs-ds-space-4) var(--ivs-ds-space-8)}.door{padding:var(--ivs-ds-space-12)}.door-frame{padding:var(--ivs-ds-space-8) var(--ivs-ds-space-8) 0}.door-lintel{font-size:10px;padding-bottom:var(--ivs-ds-space-8)}.tool-panel{padding:var(--ivs-ds-space-12);gap:var(--ivs-ds-space-12)}.chip{font-size:11px;padding:var(--ivs-ds-space-8);min-height:44px}.chips{gap:var(--ivs-ds-space-4)}.drop-zone label{min-height:120px}.drop-zone strong{font-size:14px}.drop-zone label>span:last-child{font-size:10px}.tool-panel>.btn{font-size:14px}.tool-note{font-size:10px}.lead{font-size:16px}.examples-grid{column-gap:var(--ivs-ds-space-12)}.polaroid{padding:var(--ivs-ds-space-8)}.polaroid>figcaption{font-size:8px;padding-top:var(--ivs-ds-space-8)}.still-inset{right:var(--ivs-ds-space-4);bottom:var(--ivs-ds-space-4);width:46%}.still-inset img{height:72px}.still-inset figcaption{font-size:6px}.example-card h3{font-size:21px}.example-card .p{font-size:12px}.ideas-grid{gap:var(--ivs-ds-space-12)}.idea-card{padding:var(--ivs-ds-space-16);min-height:0}.idea-card h3{font-size:22px}.idea-card p{font-size:13px}.creator-aside{grid-template-columns:minmax(0,1fr);gap:var(--ivs-ds-space-24)}.creator-photo{max-width:260px;margin-inline:auto}.split h2{font-size:32px}.timeline-entry{grid-template-columns:1fr;gap:var(--ivs-ds-space-8);padding:var(--ivs-ds-space-16)}.timeline-entry>span:last-child{font-size:14px}.stats{gap:var(--ivs-ds-space-8)}.stats .card{padding:var(--ivs-ds-space-12);gap:var(--ivs-ds-space-8)}.stats .card>p:first-child{font-size:27px}.stats .p{font-size:10px}.tiktok-grid{gap:var(--ivs-ds-space-12)}.tiktok-grid>.card{padding:var(--ivs-ds-space-8);font-size:12px;gap:var(--ivs-ds-space-8)}.tiktok-grid .p{font-size:10px;overflow-wrap:anywhere}.tiktok-player{height:220px}.play-button{font-size:11px;padding:var(--ivs-ds-space-8) var(--ivs-ds-space-12)}.tiktok-player small{font-size:8px}.tips-columns{grid-template-columns:1fr;gap:var(--ivs-ds-space-12)}.tips-columns ul{padding:var(--ivs-ds-space-16);font-size:14px}.four-grid{grid-template-columns:1fr}[data-block=responsible-use] .grid{grid-template-columns:1fr}summary{font-size:16px}details{padding-block:var(--ivs-ds-space-16)}details p{font-size:14px}.site-footer{font-size:11px}.consent-banner{padding:var(--ivs-ds-space-12) var(--ivs-ds-space-16)}main.legal h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.door.knocking{animation:none}*,*:before,*:after{transition:none!important}}

.tiktok-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.tiktok-player:has(.tiktok-cover):after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0b0a1e00 40%,#0b0a1ecc);z-index:0}.tiktok-player>button,.tiktok-player>small{position:relative;z-index:1}.tiktok-player>small{text-shadow:0 1px 3px #000}.tiktok-player iframe{z-index:2}

[data-block=pricing]{background:var(--blush)}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ivs-ds-space-16);align-items:stretch}.price-card{display:flex;flex-direction:column;gap:var(--ivs-ds-space-12);padding:var(--ivs-ds-space-24);border-radius:18px;background:var(--surface);border:1px solid var(--line);color:var(--ink)}.price-card.featured{background:var(--aubergine);color:var(--cream);border-color:var(--aubergine);transform:translateY(-6px);box-shadow:0 14px 30px #14132b30}.price-card h3{font-size:22px}.price{font:800 44px/1 Bricolage,Georgia,serif}.price span{font-size:16px;font-weight:700}.per{font-weight:700;font-size:14px}.price-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--ivs-ds-space-8);font-size:14px;flex:1}.price-card li:before{content:"✓ ";color:var(--door);font-weight:800}.price-card.featured li:before{color:var(--mint)}.price-card .btn{text-align:center;justify-content:center}@media(max-width:960px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}}
.price-card button.btn{font:inherit;font-weight:700;cursor:pointer;border:0}

[data-block=hero] .btn-outline{border-color:var(--cream);color:var(--cream)}
[data-block=hero] .btn-outline:hover{background:var(--plum)}

[data-block=hero] .btn-outline{align-self:flex-start}
.site-nav a[hreflang]{opacity:.8}
.site-nav a,.site-header>.btn{white-space:nowrap}
@media(max-width:1180px){.site-nav a[hreflang]{display:none}}
[data-block=sample] .examples-grid{grid-template-columns:minmax(0,320px) minmax(0,560px);align-items:start}
[data-block=sample] .photo-layout{aspect-ratio:560/752}
.photo-layout>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
.creator-photo video{display:block;aspect-ratio:560/752;width:100%;height:auto;object-fit:cover;border-radius:10px;cursor:pointer}
@media(max-width:600px){[data-block=sample] .examples-grid{grid-template-columns:minmax(0,1fr)}[data-block=sample] .polaroid{max-width:300px;margin-inline:auto}[data-block=sample] .polaroid>figcaption{font-size:11px}}

/* Come Back and Back AI additions */
.placeholder-card .photo-layout{background:var(--placeholder);display:flex;align-items:center;justify-content:center}
.placeholder-card video{position:absolute;inset:0;width:100%;height:100%;opacity:0}
.placeholder-card .soon{position:relative;font-weight:700;font-size:14px;color:var(--muted);text-align:center;padding:var(--ivs-ds-space-12)}
.placeholder-card .polaroid{background:var(--surface);border:1px solid var(--line);transform:none;color:var(--muted)}



.field-label{font-size:12px;font-weight:700}
.tool-panel input[type=text]{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:10px;padding:0 var(--ivs-ds-space-12);background:var(--surface);color:var(--ink)}
.trust{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--ivs-ds-space-8);font-size:11px;font-weight:700;color:var(--muted)}
.trust li:before{content:"✓ ";color:var(--accent-text)}


.moves-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.moves-grid .move-card h3{font-size:22px}
.timeline-entry a{white-space:nowrap}
.sources ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
@media(max-width:780px){.moves-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.moves-grid{grid-template-columns:1fr}}
.steps-list{list-style:none;padding:0;margin:0}
.ideas-four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.ideas-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.ideas-four{grid-template-columns:1fr}}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.subtitle{font:700 clamp(19px,1.8vw,24px)/1.35 'DM Sans','DM Sans Fallback',sans-serif;color:var(--mint);max-width:600px}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:var(--ivs-ds-space-8)}
.slots .slot[hidden]{display:none}
.slots:has(.slot[hidden]){grid-template-columns:1fr}
.slot label{min-height:150px;position:relative;overflow:hidden}
.slot-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot.filled label>span,.slot.filled label>strong{position:relative;background:#ffffffd9;border-radius:6px;padding:0 6px}
.trust-label{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:calc(var(--ivs-ds-space-8)*-1)}
@media(max-width:780px){
  .site-nav{display:none}
  [data-block=hero]{padding-top:var(--ivs-ds-space-8);gap:var(--ivs-ds-space-16)}
  .hero-copy{gap:var(--ivs-ds-space-8)}
  .hero-copy .eyebrow,.hero-copy .btn-outline,.door-lintel{display:none}
  .hero-copy h1{font-size:34px}
  .subtitle{font-size:16px}
  .door-frame{padding-top:var(--ivs-ds-space-8)}
  .slot label{min-height:110px}
}
@media(max-width:780px){.hero-copy h1{font-size:30px}.slot label{min-height:88px;padding:8px}.tool-panel{gap:10px}.chip{min-height:40px}}
.slots{grid-template-columns:repeat(var(--slot-count,2),minmax(0,1fr))}.slots:has(.slot[hidden]){grid-template-columns:repeat(var(--slot-count,2),minmax(0,1fr))}
.slot{position:relative}
.slot-remove{position:absolute;right:6px;top:6px;z-index:2;min-width:32px;min-height:32px;border-radius:50%;border:2px solid var(--cream);background:var(--aubergine);color:var(--cream);font-weight:700;padding:0;line-height:1}
.back-link{align-self:flex-start;background:none;border:0;padding:0;font-weight:700;color:var(--accent-text);text-decoration:underline;text-underline-offset:4px;min-height:44px}


/* FIX-HOME: phone first screen keeps the definition sentence and the generator */
@media(max-width:780px){.site-header>.btn{display:none}.hero-copy .lead{display:block;font-size:13px;line-height:1.45}.hero-copy h1{font-size:28px}.subtitle{font-size:15px}.chip{min-height:44px}.slot label{min-height:76px}.tool-panel{gap:8px}[data-block=hero]{gap:var(--ivs-ds-space-12)}}
@media(max-width:780px){.slot label{min-height:64px;padding:6px}.slot .upload-symbol{font-size:22px}}
/* VIS1 inline illustrations */
:root{--pumpkin:#FF8A1F;--pumpkin-deep:#E86F00;--wood:#E9C79A;--wood-line:#C9A06A}
.move-art{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:var(--ivs-ds-space-12);display:flex;justify-content:center}
.fig{width:100%;max-width:150px;height:auto;aspect-ratio:120/140;overflow:visible}
.fig .ln,.fig .ac{fill:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.fig .ln{stroke:var(--ink)}.fig .ac{stroke:var(--door-dark)}.fig .hd{fill:var(--ink)}.fig .kn{fill:var(--door-dark)}
.fig .mo{fill:none;stroke:var(--accent-text);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:4 5}
.fig polyline.mo{stroke-dasharray:none}
.fig .gr{stroke:var(--line-strong);stroke-width:3;stroke-linecap:round}
.mode-ico{fill:currentColor;flex:none;vertical-align:-4px}
.chip .mode-ico{margin-right:var(--ivs-ds-space-4);height:13px;width:auto;vertical-align:-2px}
#create-form .chip:has(.mode-ico){padding-left:var(--ivs-ds-space-8)}#create-form .chips:has(.mode-ico){gap:var(--ivs-ds-space-4)}
.mode-row{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--ivs-ds-space-8) var(--ivs-ds-space-24)}
.mode-row li{display:inline-flex;align-items:center;gap:var(--ivs-ds-space-8);font-size:13px;color:var(--muted)}
.mode-row .mode-ico{color:var(--door-dark)}
.step-ico,.tl-ico,.th-ico{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.step-ico .fill,.th-ico .fill{fill:currentColor}
.step-ico{width:48px;height:48px;padding:var(--ivs-ds-space-8);border-radius:12px;background:var(--aubergine);color:var(--brass)}
.timeline-entry>span:first-child{display:flex;align-items:flex-start;gap:var(--ivs-ds-space-8)}
.tl-ico{width:22px;height:22px;margin-top:1px;color:var(--door-dark)}
.th-ico{display:block;width:26px;height:26px;margin-bottom:var(--ivs-ds-space-8);color:var(--brass)}
.looks-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ivs-ds-space-16)}
.look{display:flex;flex-direction:column;gap:var(--ivs-ds-space-8)}
.look-art{display:block;width:100%;height:auto;aspect-ratio:4/3;border-radius:12px;box-shadow:0 0 0 2px var(--night-line)}
.look figcaption{font-size:14px;font-weight:700;color:var(--cream)}
.look-art .f-night{fill:var(--night)}.look-art .f-plum{fill:var(--plum)}.look-art .f-line{fill:var(--night-line)}.look-art .f-cream{fill:var(--cream)}.look-art .f-brass{fill:var(--brass)}.look-art .f-mint{fill:var(--mint)}.look-art .f-candy{fill:var(--candy)}.look-art .f-door{fill:var(--door)}.look-art .f-doordark{fill:var(--door-dark)}.look-art .f-ink{fill:var(--ink)}.look-art .f-blush{fill:var(--blush)}.look-art .f-surface{fill:var(--surface)}
.look-art .f-pumpkin{fill:var(--pumpkin-deep)}.look-art .f-pumpkin2{fill:var(--pumpkin)}.look-art .f-wood{fill:var(--wood)}.look-art .f-none{fill:none}
.look-art .o-glow{fill-opacity:.22}.look-art .o-reflect{fill-opacity:.55}
.look-art .s-cream,.look-art .s-mint,.look-art .s-ink,.look-art .s-wood,.look-art .s-strong{fill:none;stroke-width:3;stroke-linecap:round}
.look-art .s-cream{stroke:var(--cream)}.look-art .s-mint{stroke:var(--mint)}.look-art .s-ink{stroke:var(--ink)}.look-art .s-wood{stroke:var(--wood-line);stroke-width:2}.look-art .s-strong{stroke:var(--line-strong);stroke-width:2}
@media(max-width:780px){.looks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fig{max-width:120px}}
@media(max-width:480px){.moves-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ivs-ds-space-24) var(--ivs-ds-space-12)}.moves-grid .move-card{gap:var(--ivs-ds-space-8);padding-top:var(--ivs-ds-space-12)}.moves-grid .move-card h3{font-size:17px}.moves-grid .move-card .p{font-size:14px;line-height:1.5}.move-art{padding:var(--ivs-ds-space-8)}.fig{max-width:96px}}
/* I18N (2026-10-29): language switcher in header + footer; Japanese uses system CJK fonts (Noto Sans JP / Hiragino / Yu Gothic), no webfont download. */
.header-actions{display:flex;align-items:center;gap:var(--ivs-ds-space-16)}.lang-switch{display:flex;flex-wrap:wrap;gap:var(--ivs-ds-space-8);font-size:12px}.lang-switch a{color:var(--cream);text-decoration:none;padding:var(--ivs-ds-space-4) var(--ivs-ds-space-8);border-radius:20px;border:1px solid transparent;line-height:1.4}.lang-switch a:hover{border-color:var(--brass)}.lang-switch a[aria-current=true]{border-color:var(--cream);font-weight:700}.footer-lang a{color:var(--cream)}
:lang(ja) body,body:lang(ja){font-family:'DM Sans','DM Sans Fallback','Noto Sans JP','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','YuGothic',Meiryo,sans-serif;line-break:strict}:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) .site-logo,:lang(ja) .stats .card>p:first-child,:lang(ja) .timeline-entry>span:first-child{font-family:Bricolage,'Noto Sans JP','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','YuGothic',Meiryo,sans-serif;letter-spacing:0}:lang(ja) h1{line-height:1.12;word-break:auto-phrase}:lang(ja) h2,:lang(ja) h3{line-height:1.3;word-break:auto-phrase}
@media(max-width:780px){.header-actions{gap:var(--ivs-ds-space-8)}.header-actions>.btn{padding:var(--ivs-ds-space-8) var(--ivs-ds-space-12);font-size:12px;min-height:44px}.site-header .lang-switch{gap:2px;font-size:11px}.site-header .lang-switch a{padding:2px 6px}}
@media(max-width:480px){.site-header{row-gap:var(--ivs-ds-space-4)}.header-actions{width:100%}.header-actions>.btn{display:none}.site-header .lang-switch{width:100%;justify-content:space-between}.site-header .lang-switch a{min-height:24px}}
/* I18N-3 review: "if something goes wrong" cards stack on phones like the responsible-use grid; long German words break inside the card. */
[data-block=photo-tips] .card p{overflow-wrap:break-word;hyphens:auto}
@media(max-width:780px){[data-block=photo-tips] .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){[data-block=photo-tips] .grid{grid-template-columns:1fr}}
/* I18N ko (2026-10-30): five languages in the header switch. Links never wrap or squeeze; from 781px the header wraps
 its action block (switch + button) onto a second row when the row is full, instead of stacking the links. */
@media(min-width:481px){.site-header .lang-switch{flex-wrap:nowrap}.site-header .lang-switch a{white-space:nowrap}}
@media(min-width:781px){.site-header{flex-wrap:wrap;row-gap:var(--ivs-ds-space-8)}.header-actions{flex-shrink:0;margin-left:auto}}
/* ko (2026-10-30, KO-REVIEW-2 R2-S2): break Korean between words, not syllables; long URLs / @handles still wrap. */
:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}
/* Gallery sections (ko #korea): other creators' TikTok covers linking out; idol entries are a plain link list (no photos). */
.gallery-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--ivs-ds-space-16);max-width:640px}
.gallery-card a{display:flex;flex-direction:column;gap:var(--ivs-ds-space-8);color:inherit}
.gallery-card img{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;border-radius:12px;box-shadow:0 0 0 2px var(--night-line)}
.gallery-card span{font-size:14px}
.gallery-list li{margin-block:var(--ivs-ds-space-4)}
/* #examples: 3 silent full 10-second sample videos made with Come Back and Back AI (9:16, first frame as poster; the poster replaces the player if it fails to load). */
.samples-grid{max-width:960px}
.sample-card{display:flex;flex-direction:column;gap:var(--ivs-ds-space-8)}
.sample-card video,.sample-card .sample-poster{display:block;width:100%;height:auto;aspect-ratio:496/864;object-fit:cover;border-radius:12px;background:var(--placeholder);box-shadow:0 0 0 2px var(--line)}
.sample-card figcaption{font-size:14px;line-height:1.5}
/* Phones: a swipeable row, one clip at a time (scroll-snap) instead of three tiny columns. */
@media(max-width:600px){.samples-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--ivs-ds-space-8)}.sample-card{scroll-snap-align:start}}
/* CBAB-ACCOUNT-REUSE: legal pages / 404 keep their header "Make my video" on phones (the homepage's button sits in .header-actions, untouched). */
@media(max-width:780px){.site-header>.btn{display:inline-flex}}
/* P5: sections below the hero render only near the viewport (intrinsic size remembered after the first render). */
main>section:not(#create):not(#create+section){content-visibility:auto;contain-intrinsic-size:auto 1200px}
/* TOCTOC-PRICE-1108: a URL fragment (/#pricing, a nav link) scrolls to a spot worked out from the 1200px placeholders, then the real (shorter) sections push it to the footer. While the fragment matches an element, lay out every section for real so the jump lands on it. */
html:has(:target) main>section:not(#create):not(#create+section){content-visibility:visible}
video[data-sample]{background:var(--blush)}
/* DANCE-NAV-1102: shared English home + generated dance navigation */
.dance-nav-toggle{display:none;align-items:center;justify-content:center;min-height:44px;padding:var(--ivs-ds-space-8) var(--ivs-ds-space-16);border:1px solid var(--cream);border-radius:12px;background:transparent;color:var(--cream);font-weight:700}
.dance-menu{position:relative;align-self:center}
.dance-menu>summary{cursor:pointer;list-style:none;color:var(--cream);white-space:nowrap}
.dance-menu>summary::-webkit-details-marker{display:none}
.dance-menu>summary:after{content:'⌄';margin-inline-start:var(--ivs-ds-space-4)}
.dance-menu-panel{position:absolute;z-index:20;top:100%;left:0;display:none;min-width:14rem;max-width:min(20rem,calc(100vw - var(--gutter)*2));padding:var(--ivs-ds-space-8);border:1px solid var(--night-line);border-radius:12px;background:var(--aubergine);box-shadow:0 12px 32px #17121f55}
.dance-menu:hover .dance-menu-panel,.dance-menu:focus-within .dance-menu-panel,.dance-menu[open] .dance-menu-panel{display:grid;gap:var(--ivs-ds-space-4)}
.dance-menu-panel a{display:block;overflow-wrap:anywhere;padding:var(--ivs-ds-space-8) var(--ivs-ds-space-12);border-radius:8px;color:var(--cream);text-decoration:none}
.dance-menu-panel a:hover,.dance-menu-panel a[aria-current=page]{background:var(--plum);color:var(--brass)}
.dance-menu-panel a[aria-current=page]{font-weight:700}
.dance-menu-list{display:grid;gap:var(--ivs-ds-space-4)}
.dance-nav-header .site-nav{align-items:center;flex-wrap:wrap}
@media(max-width:780px){
  .dance-nav-header{position:relative}
  .dance-nav-toggle:not([hidden]){display:inline-flex;margin-left:auto}
  .dance-nav-header .site-nav{display:flex;order:4;width:100%;justify-content:flex-start;flex-wrap:wrap;gap:var(--ivs-ds-space-8) var(--ivs-ds-space-16);font-size:14px}
  .dance-nav-header.dance-nav-enhanced:not(.dance-nav-open) .site-nav{display:none}
  .dance-nav-header .dance-menu{position:static}
  .dance-nav-header .dance-menu-panel{position:static;width:100%;min-width:0;max-width:100%;margin-top:var(--ivs-ds-space-8);box-shadow:none}
  .dance-nav-header .dance-menu{flex-basis:100%}
}
/* SPACING-V2 (2026-11-12): spacing + type-scale pass on the Toc Toc homepage template. Colours, HTML structure, copy, hover/focus states untouched. Tokens live in :root (top of file): --ivs-ds-space-40, --ivs-ds-text-*, --title-*-gap, --card-radius, --card-pad; --section-space desktop 96 -> 72 (tablet 72 / phone 48 unchanged). */
/* 1. Title group: eyebrow>h2 12, h2>lead/p 16, title group>content block 40; content>content keeps the 24 flex gap. Wrapped title columns (.split / jean-phil, gap 16) get the same 12. The CTA's h2>p had no gap at all; it gets 8 (16 looked scattered in review r1). A sub-title h3 inside a section (photo-tips) reads as a mini title group: 40 above, 16 below. */
.section-content>.eyebrow+h2{margin-top:calc(var(--title-eyebrow-gap) - var(--ivs-ds-space-24))}
.section-content>div>.eyebrow+h2{margin-top:calc(var(--title-eyebrow-gap) - var(--ivs-ds-space-16))}
.section-content>h2+.lead,.section-content>h2+.p{margin-top:calc(var(--title-lead-gap) - var(--ivs-ds-space-24))}
[data-block=cta] .section-content>div>h2+.p{margin-top:var(--ivs-ds-space-8)}
.section-content>h2+*:not(p),.section-content>.lead+*:not(p),.section-content>.p+*:not(p){margin-top:calc(var(--title-content-gap) - var(--ivs-ds-space-24))}
.section-content>*+h3{margin-top:calc(var(--title-content-gap) - var(--ivs-ds-space-24))}
.section-content>h3+*:not(p){margin-top:calc(var(--title-lead-gap) - var(--ivs-ds-space-24))}
/* 3. Type scale: 12 / 14 / 16 / 18 / 20 / 24 / 32 / 40 / 48 / 58 / 82. h2 = 48 everywhere on desktop (split was 42); CTA h2 caps at 58 (4.05vw lands on the cap at 1440); h3 = 24 (was 22 / 23 / 25 / 26 / 28); lead 19 -> 18; subtitle 26 -> 24; price 44 -> 48; timeline date 19 -> 18; step copy 15 -> 16; FAQ "+" 26 -> 24; upload "+" 30 -> 32; legal h2 30 -> 32. */
.split h2{font-size:clamp(var(--ivs-ds-text-32),3.4vw,var(--ivs-ds-text-48))}
[data-block=cta] h2{font-size:clamp(var(--ivs-ds-text-40),4.05vw,var(--ivs-ds-text-58))}
h3,.three-grid h3,.idea-card h3,.price-card h3,.move-card h3,.moves-grid .move-card h3,main.legal h3{font-size:var(--ivs-ds-text-24)}
.lead{font-size:var(--ivs-ds-text-18)}
.subtitle{font-size:clamp(var(--ivs-ds-text-18),1.8vw,var(--ivs-ds-text-24))}
.timeline-entry>span:first-child{font-size:var(--ivs-ds-text-18)}
.three-grid .p{font-size:var(--ivs-ds-text-16)}
.price{font-size:var(--ivs-ds-text-48)}
summary:after{font-size:var(--ivs-ds-text-24)}
.upload-symbol{font-size:var(--ivs-ds-text-32)}
main.legal h2{font-size:var(--ivs-ds-text-32)}
/* 4. Small text floor 14. Uppercase labels stay 12: .eyebrow (section label), .hero-copy .eyebrow (pill, was 11), .door-lintel, .badge (was 11). .benefits li (FR hero pills, 12 / 10 / 8) -> 14. .still-inset figcaption (8 / 6 on phones) is left as is: it is the "AI-generated still" note of the thumbnail inset in the example polaroids (40% of the card, 70-120px wide); at 12 or 14 it wraps and clips inside the inset (review r1), so it keeps its size and is listed as an exception. */
.chip,legend,.field-label,.adult-label,.tool-note,.error,.trust,.trust-label,.mode-row li,.drop-zone label>span:last-child,.polaroid>figcaption,.creator-photo figcaption,.example-card .p,.idea-card p,.stats .p,.tiktok-grid .p,.tiktok-player small,[data-block=on-tiktok]>.container>p:last-child,[data-block=responsible-use]>.container>p:last-child,.site-footer,.consent-banner,.consent-banner p,.consent-banner .btn,.benefits li{font-size:var(--ivs-ds-text-14)}
.hero-copy .eyebrow,.badge{font-size:var(--ivs-ds-text-12)}
.tiktok-grid .p a{white-space:nowrap}
/* 5. Consecutive paragraphs inside cards: 12 -> 16 (card gap 12 + 4). Section-level paragraphs keep the 24 gap. */
.card>p+p,.price-card>p+p,.idea-card>p+p,.example-card>p+p{margin-top:var(--ivs-ds-space-4)}
/* 6. Cards: radius 18, padding 24. .idea-card was 32 / r14 (a 4-up grid, not a feature card) and its min-height 200 goes (with 24 padding the text floated in dead space, review r1; rows still stretch equal); .tips-columns ul, .table-scroll, .move-art were r14; .polaroid r16 -> 18 (its 12px mat padding stays: it is a photo frame, not a card); .tiktok-grid>.card 16 -> 24. The door's .tool-panel (r12) is part of the door illustration and stays. */
.idea-card{padding:var(--card-pad);border-radius:var(--card-radius);min-height:0}
.tiktok-grid>.card{padding:var(--card-pad)}
.tips-columns ul,.table-scroll,.move-art,.polaroid{border-radius:var(--card-radius)}
/* 7. Left edge: the hero copy (and the logo in the header bar above it, same dark surface) start on the 1248px container line at every width, the way the >=1500px rule already does. Only the start side moves: 660px copy + 48 gap + 560px door do not fit in 1248, so the end padding keeps the gutter and the door keeps its 560px width (it moves ~11px right at 1440). The header bar has no such constraint and aligns on both sides (review r2). The footer disclaimer gets the same 900px measure as section paragraphs so it stays on one line at 14px. */
[data-block=hero]{padding-inline-start:max(var(--gutter),calc((100% - 1248px)/2))}
.site-header{padding-inline:max(var(--gutter),calc((100% - 1248px)/2))}
.site-footer>p:first-child{max-width:900px}
/* Phone / tablet tiers: keep the existing tighter values where they exist (section padding, card padding 16 / 8, lead 16) and bin the rest to the scale (h1 28 -> 32, stats number 34 -> 32 / 27 -> 24, logo 21 -> 20, example h3 21 -> 20, move h3 17 -> 16, legal h1 36 -> 32, hero lead 17 / 13 -> 16 / 14). */
@media(max-width:1100px){.hero-copy .lead{font-size:var(--ivs-ds-text-16)}}
@media(max-width:780px){.site-logo{font-size:var(--ivs-ds-text-20)}.site-header>.btn,.header-actions>.btn{font-size:var(--ivs-ds-text-14)}.hero-copy h1{font-size:var(--ivs-ds-text-32)}.hero-copy .lead{font-size:var(--ivs-ds-text-14)}.subtitle{font-size:var(--ivs-ds-text-16)}.slot .upload-symbol{font-size:var(--ivs-ds-text-24)}.stats .card>p:first-child{font-size:var(--ivs-ds-text-32)}}
@media(max-width:600px){[data-block=sample] .polaroid>figcaption{font-size:var(--ivs-ds-text-14)}}
/* Review r1 (phone): 14 inside the three stat cards, the 2-column TikTok cards, the generator chips / notes and the footer wrapped into 3-6 lines and pushed the generator down the first screen; those keep a 12 tier on phones (they were 10 / 11 / 12), the idea-card title goes 18 so all four look names stay on one line; the 2-column example polaroid captions and the form labels keep 12 too (the single-column sample polaroid caption stays 14). Review r2. */
@media(max-width:480px){.lead{font-size:var(--ivs-ds-text-16)}.stats .p,.tiktok-grid .p,.tiktok-grid>.card,.chip,legend,.field-label,.tool-note,.trust,.adult-label,.drop-zone label>span:last-child,.polaroid>figcaption,.site-footer{font-size:var(--ivs-ds-text-12)}.idea-card h3{font-size:var(--ivs-ds-text-18)}.example-card h3{font-size:var(--ivs-ds-text-20)}.moves-grid .move-card h3{font-size:var(--ivs-ds-text-16)}.stats .card>p:first-child{font-size:var(--ivs-ds-text-24)}.play-button{font-size:var(--ivs-ds-text-14)}.idea-card{padding:var(--ivs-ds-space-16)}.tiktok-grid>.card{padding:var(--ivs-ds-space-8)}main.legal h1{font-size:var(--ivs-ds-text-32)}}
