/* lidl.css — LIDL / Parkside case study. Pixel&Co global tokens (homepage) + OEW editorial grammar. Prefix l-. */
@font-face{font-family:'Helvetica World';src:url('assets/fonts/Helvetica-World-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica World';src:url('assets/fonts/Helvetica-World-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Helvetica World';src:url('assets/fonts/Helvetica-World-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Helvetica World';src:url('assets/fonts/Helvetica-World-Bold-Italic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
:root{--bg:#0A0A0A;--ink:#F5F5F0;--ink-2:#A8A39A;--ink-3:#5C5C5C;--accent:#8A7BFF;--violet:#6B5CFF;--orchid:#A16CFF;--line:#1F1F1D;--line-soft:#141413;--card-line:rgba(245,245,240,.09);--paper:#F4F3F0;--paper-ink:#14130F;--paper-ink-2:rgba(20,19,15,.64);--paper-ink-3:rgba(20,19,15,.42);--paper-line:rgba(20,19,15,.12);--grad:linear-gradient(100deg,#ED51AF 0%,#A16CFF 42%,#6B5CFF 60%,#5FB1EA 100%);--font:'Helvetica World','Helvetica Neue',Helvetica,Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--max:1600px;--gutter:clamp(20px,4vw,56px);--r:14px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:hover{color:inherit}ul{list-style:none}button{font-family:inherit}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.kick{display:block;font-size:11px;letter-spacing:.34em;text-transform:uppercase;font-weight:400;color:var(--ink-2);line-height:1.4}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-right:.06em}
.hair{display:block;width:28px;height:2px;background:var(--grad)}
/* nav (homepage) */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:22px var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;background:transparent;border-bottom:1px solid transparent;transition:padding 500ms var(--ease),background 500ms,border-color 500ms}.nav.scrolled{padding:14px var(--gutter);background:rgba(10,10,10,.85);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom-color:var(--line-soft)}
.logo{display:flex;align-items:center;color:var(--ink)}.logo-mark{height:22px;width:auto;display:block}
.nav-links{display:flex;justify-content:center;gap:36px}.nav-link{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);transition:color 300ms}.nav-link:hover{color:var(--ink)}
.nav-cta{justify-self:end;display:inline-flex;align-items:center;gap:10px;padding:11px 20px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);border:1px solid rgba(245,245,240,.2);border-radius:999px;white-space:nowrap;transition:all 400ms var(--ease)}
.nav-cta::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2.4s ease-in-out infinite}
.nav-cta:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.nav-cta:hover::before{background:var(--bg);animation:none}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.nav-toggle{display:none;background:none;border:0;color:var(--ink);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:10px 0;cursor:pointer;justify-self:end}
.nav-links .nav-menu-cta{display:none}
/* buttons (homepage) */
.btn{display:inline-flex;align-items:center;gap:14px;padding:18px 28px 18px 32px;background:var(--grad);background-size:165% 100%;background-position:0 50%;color:#fff;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:background-position 650ms var(--ease),filter 400ms var(--ease),color 400ms}
.btn:hover{background-position:100% 50%;color:#fff;filter:saturate(1.08) brightness(1.05)}
.btn-outline{background:transparent;color:var(--ink);border:1px solid rgba(245,245,240,.18);transition:all 500ms var(--ease)}.btn-outline:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);filter:none}
.paper .btn-outline{color:var(--paper-ink);border-color:rgba(20,19,15,.28)}.paper .btn-outline:hover{background:var(--paper-ink);color:var(--paper);border-color:var(--paper-ink)}
.btn-arrow{font-size:14px;display:inline-block;transition:transform 500ms var(--ease)}.btn:hover .btn-arrow{transform:translateX(6px)}
.text-link{position:relative;display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);padding-bottom:4px}
.text-link::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--ink-3);transition:background 300ms}.text-link:hover::after{background:var(--grad)}
.text-link-arrow{transition:transform 500ms var(--ease)}.text-link:hover .text-link-arrow{transform:translateX(4px)}
/* bands */
.band{padding:clamp(56px,7vw,104px) 0}
.paper{background:var(--paper);color:var(--paper-ink);--ink:var(--paper-ink);--ink-2:var(--paper-ink-2);--ink-3:var(--paper-ink-3);--line:var(--paper-line);--line-soft:rgba(20,19,15,.08);--card-line:rgba(20,19,15,.1)}
.paper .kick{color:var(--paper-ink-3)}
.media{position:relative;overflow:hidden;background:#0F0F0F;border-radius:var(--r)}.media image-slot,.item image-slot{display:block;position:absolute;inset:0;width:100%!important;height:100%!important}.paper .media{background:#E4E2DD}
h1,h2,h3{font-weight:700;letter-spacing:-.04em}
.h2{font-size:clamp(30px,3.4vw,48px);line-height:1;text-wrap:balance}
.lead{font-size:clamp(15px,1.15vw,17px);line-height:1.5;color:var(--ink-2);max-width:46ch;text-wrap:pretty}
/* hero */
.l-hero{position:relative;background:#050505;min-height:clamp(520px,58vw,760px);display:flex;align-items:center;overflow:hidden}
.l-hero .media{position:absolute;inset:0;border-radius:0;background:#050505}.l-hero .media image-slot{border-radius:0}
.l-hero .media::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#050505 0%,#050505 26%,rgba(5,5,5,.88) 44%,rgba(5,5,5,.3) 66%,rgba(5,5,5,0) 100%)}
.l-hero .container{position:relative;z-index:2;padding-top:clamp(120px,12vw,170px);padding-bottom:clamp(48px,6vw,80px)}
.l-hero .kick{margin-bottom:24px}
.l-hero h1{font-size:clamp(38px,5vw,72px);line-height:.98;max-width:12ch;letter-spacing:-.045em}
.l-hero h1 .grad{-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.06em .1em .16em;margin:-.06em -.1em -.16em}
.l-hero .lead{margin-top:24px;color:#D8D5CE;max-width:44ch}
.play{display:inline-flex;align-items:center;gap:16px;margin-top:36px;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.play i{width:52px;height:52px;border-radius:50%;border:1px solid rgba(245,245,240,.4);display:grid;place-items:center;transition:transform 500ms var(--ease),border-color 400ms var(--ease),background 400ms var(--ease)}.play i::before{content:'';width:9px;height:9px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:translateY(-2px) rotate(45deg);transition:transform 400ms var(--ease)}.play:hover i::before{transform:translateY(1px) rotate(45deg)}
.play:hover i{transform:scale(1.06);border-color:transparent;background:var(--grad)}



/* meta bar */
.meta{background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.meta .container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(16px,2.5vw,40px);padding-top:18px;padding-bottom:18px}
.meta div{display:flex;flex-direction:column;gap:6px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;line-height:1.5}
.meta b{color:var(--ink-3);font-weight:400}.meta span{color:var(--ink)}
/* challenge */
.l-chal .container{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,48px)}
.l-chal .kick{margin-bottom:16px}
.l-chal .lead{margin-top:20px;max-width:38ch}
.gal{display:flex;flex-direction:column;gap:14px}
.gal-view{position:relative;overflow:hidden;outline:none}.gal-view:focus-visible{outline:1.5px solid var(--ink);outline-offset:4px}
.gal-track{display:flex;transition:transform 700ms var(--ease);will-change:transform}
.gal-page{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 1px}
.gal-page .media{aspect-ratio:var(--gal-ar,4/3);background:#fff}

.gal-foot{display:flex;align-items:center;gap:16px;justify-content:space-between;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-variant-numeric:tabular-nums}
.gal-order{display:none;}body.te-on .gal-order{display:flex;gap:18px;margin-left:clamp(16px,3vw,40px);margin-right:auto}.gal-order button{all:unset;cursor:pointer;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);transition:color 300ms}.gal-order button:hover{color:var(--ink)}.gal-order button:disabled{opacity:.3;cursor:default}.gal-order button:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}
.gal-dots{display:flex;gap:10px;align-items:center}.gal-dots button{all:unset;width:8px;height:8px;border-radius:50%;background:var(--line);cursor:pointer;transition:background 300ms,transform 300ms}.gal-dots button.is-on{transform:scale(1.25)}.gal-dots button.is-on{background:var(--ink)}.gal-dots button:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}
.gal .say{margin-top:10px;min-height:160px;background:var(--bg);color:#F5F5F0;border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:20px;text-align:center;font-size:clamp(11px,1vw,13px);letter-spacing:.3em;text-transform:uppercase;line-height:1.9}
/* system */
.l-sys .container{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,4vw,72px);align-items:start}
.l-sys .kick{margin-bottom:16px}.l-sys .lead{margin-top:20px;max-width:38ch}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(20px,2.6vw,40px);border-top:1px solid var(--line);padding-top:26px;position:relative}
.steps::before{content:'';position:absolute;left:0;top:-1px;width:28px;height:2px;background:var(--grad)}
.step{display:flex;flex-direction:column;gap:14px;padding-right:clamp(12px,1.6vw,24px)}
.step b{font-size:clamp(48px,4.8vw,76px);line-height:1;letter-spacing:-.02em;font-weight:700;color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:2px transparent;paint-order:stroke fill;position:relative;display:inline-block;width:fit-content}
.step b::after{content:attr(data-n);position:absolute;inset:0;color:var(--bg);-webkit-text-stroke:0;background:none;-webkit-text-fill-color:var(--bg)}
.paper .step b::after{-webkit-text-fill-color:var(--paper)}
.step h3{font-size:clamp(16px,1.3vw,19px);line-height:1.25;letter-spacing:-.01em;max-width:16ch}
.step p{font-size:14px;line-height:1.5;color:var(--ink-2);max-width:28ch}
/* documented scale */
.l-scale{padding-block:clamp(48px,6vw,88px)}
.l-scale .head{display:flex;flex-direction:column;gap:20px}
.l-scale .kick{margin-bottom:16px}
.l-scale .h2{max-width:16ch}
.l-scale .head .lead{max-width:46ch}
.ledger{margin-top:clamp(28px,3.4vw,52px);--lcols:minmax(0,.9fr) repeat(4,minmax(0,1fr));--lgap:clamp(16px,2.4vw,40px)}
.phases{display:grid;grid-template-columns:var(--lcols);grid-template-rows:2px auto auto auto;column-gap:var(--lgap)}
.ph-rule{grid-row:1;grid-column:2/-1;position:relative;height:2px;background:var(--line)}
.ph-rule i{position:absolute;inset:0;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform 1400ms var(--ease) 150ms}
[data-reveal].in .ph-rule i{transform:scaleX(1)}
.ph-gut{display:contents}.ph-gut span{grid-column:1;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);align-self:end}
.ph-gut .g-phase{grid-row:2;padding-top:22px;align-self:start}.ph-gut .g-prod{grid-row:3;align-self:baseline;padding-bottom:2px}.ph-gut .g-out{grid-row:4;padding-top:14px;border-top:1px solid var(--line);align-self:start;margin-top:clamp(16px,1.8vw,24px)}
.ph{display:contents}
.ph>*{grid-column:var(--c);opacity:0;transform:translateY(8px);transition:opacity 700ms var(--ease),transform 800ms var(--ease);transition-delay:calc((var(--c) - 2)*120ms)}
[data-reveal].in .ph>*{opacity:1;transform:none}
.ph small{grid-row:2;position:relative;padding-top:22px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.ph-word{display:none}
.ph-dot{position:absolute;left:0;top:-7px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);box-sizing:border-box}
.ph.is-last .ph-dot{background:var(--ink)}
.ph strong{grid-row:3;align-self:baseline;margin-top:14px;display:flex;align-items:baseline;gap:10px;font-weight:700;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.ph strong b{font-size:clamp(34px,3.4vw,56px)}
.ph strong .grad{padding-right:.04em}
.ph strong span{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;color:var(--ink-3)}
.ph em{display:none}
.ph ul{grid-row:4;list-style:none;margin:clamp(16px,1.8vw,24px) 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.45;color:var(--ink-2);font-variant-numeric:tabular-nums}
.ph ul b{color:var(--ink);font-weight:700}
.total{margin-top:clamp(20px,2.4vw,32px);padding:16px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:grid;grid-template-columns:var(--lcols);column-gap:var(--lgap);align-items:baseline}
.total small{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink);font-weight:700;line-height:1.6}
.total div{font-size:14px;line-height:1.45;color:var(--ink-2);font-variant-numeric:tabular-nums}
.total b{font-size:clamp(18px,1.6vw,24px);letter-spacing:-.03em;font-weight:700;color:var(--ink)}
.l-scale .foot{margin-top:14px;font-size:13px;line-height:1.5;color:var(--ink-3);font-style:italic;max-width:none}
/* retail experience */
.l-retail{--h:clamp(400px,46vw,640px)}
.l-retail .head{display:flex;flex-direction:column;gap:20px;margin-bottom:clamp(28px,3vw,44px)}.l-retail .head .lead{max-width:44ch}
.l-retail .kick{margin-bottom:16px}.l-retail .h2{max-width:14ch}
.chan{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(16px,2.4vw,40px);align-items:start}
.stage{position:relative;height:var(--h);background:#0F0F0F;border-radius:var(--r);overflow:hidden;outline:0}.stage:focus-visible{box-shadow:0 0 0 2px var(--accent)}
.item{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 600ms ease,transform 700ms cubic-bezier(.2,.7,.2,1);transform:scale(1.02)}.item.is-on{opacity:1;pointer-events:auto;transform:none}.item.is-on image-slot{animation:kenOut calc(var(--dur,3.5s) + 1.2s) cubic-bezier(.2,.6,.2,1) forwards}@keyframes kenOut{from{transform:scale(1.1)}to{transform:scale(1)}}
.item image-slot{position:absolute;inset:0}
.item[data-ch="glb"]{background:radial-gradient(ellipse 70% 60% at 50% 40%,#FFFFFF 0%,#F1EFF6 55%,#E6E1F2 100%)}.item[data-ch="glb"] .fmt{color:#F5F5F0}
.item model-viewer{position:absolute;inset:0;width:100%;height:100%;background:transparent;--poster-color:transparent;--progress-bar-color:var(--accent);--progress-bar-height:2px;--progress-mask:transparent;cursor:grab}.item model-viewer:active{cursor:grabbing}
.glb-hint{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:rgba(20,19,15,.82);color:#F5F5F0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;pointer-events:none;backdrop-filter:blur(6px)}.glb-hint::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--grad);animation:pulse 2.4s ease-in-out infinite}
.glb-credit{margin-top:8px;font-size:11px;line-height:1.5;color:var(--ink-3);display:none}.chan[data-cur="glb"] .glb-credit{display:block}
.fmt{position:absolute;top:14px;left:14px;z-index:2;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);background:rgba(10,10,10,.72);padding:6px 10px;border-radius:999px;pointer-events:none}
.arrows{display:flex;gap:10px;flex:none}.arr{all:unset;width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;cursor:pointer;font-size:15px;transition:transform 300ms var(--ease),filter 300ms}.arr:hover{transform:scale(1.08);filter:saturate(1.15)}.arr:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}
.chan-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}.chan-foot [data-cap]{color:var(--ink);margin-right:auto}.chan-foot [data-count]{margin-right:8px}
.chan-pause{all:unset;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);transition:color 250ms}.chan-pause:hover{color:var(--ink)}.chan-pause:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}
.chan-pause i{display:block;width:8px;height:10px;border-left:2.5px solid currentColor;border-right:2.5px solid currentColor;box-sizing:border-box}.chan-pause.is-paused i{width:0;height:0;border:0;border-left:9px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent}
.chan-list{display:flex;flex-direction:column;border-top:1px solid var(--line);align-self:stretch}
.chan-list button{all:unset;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer;position:relative;color:var(--ink);flex:1}
.chan-list button::after{content:'';position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--grad)}.chan-list button.is-on::after{animation:chanProg var(--dur,3.5s) linear forwards}@keyframes chanProg{from{width:0}to{width:100%}}.chan-list.is-paused button.is-on::after,.chan-list.is-hold button.is-on::after{animation-play-state:paused}
.chan-list b{display:inline-block;width:fit-content;font-size:15px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--ink-2);transition:color 300ms;background:var(--grad);-webkit-background-clip:text;background-clip:text;padding-right:.06em}.chan-list button.is-on b,.chan-list button:hover b{-webkit-text-fill-color:transparent;color:transparent}
.chan-list small{display:block;font-size:15px;line-height:1.45;color:var(--ink-2);margin-top:6px}
.chan-list em{font-style:normal;font-size:12px;letter-spacing:.2em;color:var(--ink-3);font-variant-numeric:tabular-nums}.chan-list button.is-on em{color:var(--ink)}
.chan-list button:focus-visible{outline:1.5px solid var(--ink);outline-offset:2px}
/* retail presence */
.l-pres .container{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center}
.l-pres .media{aspect-ratio:4/5;max-height:none;position:relative;overflow:hidden;outline:0}.l-pres .media:focus-visible{box-shadow:0 0 0 2px var(--accent)}
.res-item{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity 600ms ease}.res-item.is-on{opacity:1;pointer-events:auto}.res-item image-slot{display:block;position:absolute;inset:0;width:100%!important;height:100%!important}

.res{display:flex;flex-direction:column;gap:14px}.res-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}.res-dots{display:flex;gap:10px;align-items:center}.res-dots button{all:unset;width:8px;height:8px;border-radius:50%;background:var(--line);cursor:pointer;transition:background 300ms,transform 300ms}.res-dots button.is-on{background:var(--ink);transform:scale(1.25)}.res-dots button:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}
.l-pres .kick{margin-bottom:16px}.l-pres .h2{max-width:18ch}.l-pres .lead{margin-top:20px;max-width:44ch}
.outcomes{margin-top:clamp(22px,2.4vw,32px);display:flex;flex-direction:column}
.outcomes article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(16px,2vw,32px);padding:16px 0;border-top:1px solid var(--line)}.outcomes article:last-child{border-bottom:1px solid var(--line)}
.outcomes b{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;color:var(--ink-3);padding-top:4px;min-width:3ch}
.outcomes h3{font-size:clamp(17px,1.4vw,21px);line-height:1.25;letter-spacing:-.015em;display:block;width:max-content;max-width:100%;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-right:.06em}
.outcomes p{margin-top:6px;font-size:14px;line-height:1.5;color:var(--ink-2);max-width:40ch}
/* motion clip + trim */
.l-motion .head{display:flex;flex-direction:column;gap:20px;margin-bottom:clamp(28px,3vw,44px)}.l-motion .head .lead{max-width:50ch}.l-motion .kick{margin-bottom:16px}
.clip{display:flex;flex-direction:column;gap:20px}
.clip-media{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;border:1px solid var(--card-line)}
.clip-media video,.clip-media iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0;object-fit:cover}
.clip-play{position:absolute;inset:0;width:100%;height:100%;background:none;border:0;cursor:pointer;display:grid;place-items:center}
.clip-play i{width:64px;height:64px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(10,10,10,.5);backdrop-filter:blur(6px);display:grid;place-items:center;transition:transform 500ms var(--ease),opacity 300ms}.clip-play i::before{content:'';border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent #fff;margin-left:3px}
.clip.is-playing .clip-play i{opacity:0}.clip.is-playing .clip-play:hover i{opacity:1}.clip-play:hover i{transform:scale(1.06)}
.clip-mute{position:absolute;right:16px;top:16px;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(10,10,10,.6);backdrop-filter:blur(6px);color:#fff;font-family:inherit;font-size:11px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:border-color 300ms}.clip-mute:hover{border-color:#fff}
.clip-mute svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.clip-mute svg path:first-child{fill:currentColor}
.clip-mute .w{display:none}.clip-mute .x{display:block}.clip:not(.is-muted) .clip-mute .w{display:block}.clip:not(.is-muted) .clip-mute .x{display:none}
.clip-cap{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:baseline;font-size:14px;line-height:1.5;color:var(--ink-2)}.clip-cap .kick{margin:0;white-space:nowrap}.clip-cap p{max-width:60ch}
.sys-result{grid-column:1/-1;margin-top:clamp(16px,2vw,28px);padding-top:clamp(24px,2.6vw,36px);border-top:1px solid var(--line);position:relative;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,4vw,72px);align-items:start}.sys-result::before{content:'';position:absolute;left:0;top:-1px;width:28px;height:2px;background:var(--grad)}.sys-result .kick{margin:0;padding-top:.5em}.sys-result p{font-size:clamp(22px,2.2vw,34px);line-height:1.2;letter-spacing:-.025em;font-weight:700;color:var(--ink);max-width:24ch;text-wrap:pretty}.sys-result .grad{padding-right:.04em}
.clip-ctl{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;gap:14px;padding:26px 16px 14px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.65));color:#fff;font-size:11px;letter-spacing:.12em;font-variant-numeric:tabular-nums;opacity:0;transition:opacity 300ms}.clip:hover .clip-ctl,.clip:not(.is-playing) .clip-ctl,.clip-ctl:focus-within{opacity:1}
.clip-pp{all:unset;cursor:pointer;width:28px;height:28px;display:grid;place-items:center;flex:none}.clip-pp i{display:block;width:0;height:0;border-left:11px solid #fff;border-top:6.5px solid transparent;border-bottom:6.5px solid transparent;margin-left:2px}.clip.is-playing .clip-pp i{width:10px;height:12px;border:0;border-left:3px solid #fff;border-right:3px solid #fff;margin:0;box-sizing:border-box}
.clip-ctl input[type=range]{-webkit-appearance:none;appearance:none;height:16px;background:transparent;cursor:pointer;margin:0}.clip-ctl input[type=range]::-webkit-slider-runnable-track{height:2px;background:rgba(255,255,255,.35);border-radius:1px}.clip-ctl input[type=range]::-moz-range-track{height:2px;background:rgba(255,255,255,.35)}.clip-ctl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;margin-top:-5px}.clip-ctl input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#fff}
.clip-seek{flex:1;min-width:0}.clip-vol{width:72px;flex:none}.clip-time{flex:none;white-space:nowrap}
.clip-trim{display:none}body.te-on .clip-trim{display:flex}.clip-trim{flex-direction:column;gap:14px;padding:18px 20px;border:1px solid var(--card-line)}
.clip-trim .kick{margin:0}
.trim-bar{position:relative;height:28px;background:var(--line-soft);border:1px solid var(--line);touch-action:none}
.trim-range{position:absolute;top:0;bottom:0;background:var(--grad);opacity:.35}
.trim-head{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink);transform:translateX(-1px);pointer-events:none}
.trim-h{position:absolute;top:-6px;bottom:-6px;width:14px;transform:translateX(-7px);border:0;padding:0;background:var(--ink);cursor:ew-resize;border-radius:3px;touch-action:none}.trim-h::after{content:'';position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--bg);box-shadow:3px 0 0 var(--bg)}
.trim-fields{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;font-size:12px;letter-spacing:.06em;color:var(--ink-2)}
.trim-fields label{display:inline-flex;align-items:center;gap:8px}.trim-fields input{width:72px;padding:6px 8px;font:inherit;font-variant-numeric:tabular-nums;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:4px}.trim-fields input:focus{outline:1.5px solid var(--accent);outline-offset:1px}
.trim-fields span{margin-left:auto;font-variant-numeric:tabular-nums}.trim-fields .text-link{font-size:11px;background:none;border:0;padding:0;color:var(--ink-2);font-family:inherit;cursor:pointer}.trim-fields .text-link:hover{color:var(--ink)}
@media (max-width:900px){.l-motion .head{grid-template-columns:1fr}.trim-fields span{margin-left:0;flex-basis:100%}}
/* closing cta */
.l-cta{position:relative;overflow:hidden;background:var(--bg);border-top:1px solid var(--line);padding:clamp(96px,14vw,180px) 0}
.l-cta::before{content:'';position:absolute;left:50%;top:50%;width:min(70vw,720px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--grad);opacity:.14;filter:blur(90px);pointer-events:none}
.l-cta .container{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}
.l-cta h2{font-size:clamp(34px,5vw,72px);line-height:.98;letter-spacing:-.045em;max-width:16ch;text-wrap:balance}
.l-cta h2 em{font-style:italic;font-weight:300;letter-spacing:-.025em}
.l-cta .grad{padding-right:.1em}
.l-cta .lead{text-align:center;font-weight:300;max-width:46ch}
.cta-btns{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;align-items:center}
.cta-qual{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);line-height:1.7;max-width:60ch}
/* footer (homepage) */
.footer{border-top:1px solid var(--line);padding:clamp(80px,12vh,120px) 0 40px;background:var(--bg)}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:end;margin-bottom:80px;padding-bottom:60px;border-bottom:1px solid var(--line)}
.footer-tagline{font-style:italic;font-weight:300;font-size:clamp(32px,4vw,56px);line-height:1;letter-spacing:-.03em;max-width:14ch}.footer-tagline .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-right:.08em}
.footer-cta-block{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
.footer-brand .logo{margin-bottom:24px}.footer-brand .logo-mark{height:26px}
.footer-brand p{font-size:14px;color:var(--ink-2);max-width:28ch;line-height:1.6;margin-bottom:24px;font-weight:300}.footer-brand .label{font-size:10px}
.footer-col h4{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin-bottom:24px;font-weight:500}
.footer-col li{margin-bottom:14px}.footer-col a{font-size:14px;color:var(--ink-2);transition:color 300ms}.footer-col a:hover{color:var(--ink)}
.footer-bottom{border-top:1px solid var(--line-soft);padding-top:32px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;color:var(--ink-3)}
.footer-bottom-links{display:flex;gap:32px}.footer-bottom-links a:hover{color:var(--ink)}
/* reveal */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 900ms var(--ease),transform 900ms var(--ease)}[data-reveal].in{opacity:1;transform:none}
/* responsive */
@media (max-width:1100px){
@media (max-width:900px){.nav{grid-template-columns:1fr auto}.nav-links,.nav-cta{display:none}.nav-toggle{display:block;position:relative;z-index:61}.nav.menu-open{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.nav-links.open{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;position:fixed;top:64px;left:0;right:0;bottom:0;width:100vw;height:calc(100vh - 64px);height:calc(100dvh - 64px);background:#0A0A0A;padding:40px var(--gutter) 48px;z-index:60;overflow-y:auto;overflow-x:hidden;border-top:1px solid var(--line)}.nav-links.open .nav-link{display:block;width:100%;padding:18px 0;border-bottom:1px solid var(--line);font-size:22px;letter-spacing:-.01em;text-transform:none;color:var(--ink);line-height:1.2}.nav-links.open .nav-link:first-child{border-top:1px solid var(--line)}.nav-links.open .nav-menu-cta{display:inline-flex;margin-top:32px;align-self:flex-start}.meta .container{grid-template-columns:1fr;gap:14px}.l-chal .container,.l-sys .container,.sys-result,.l-scale .head,.l-retail .head,.chan,.l-pres .container{grid-template-columns:1fr}.sys-result{gap:14px}.phases{display:flex;flex-direction:column}.ph-rule,.ph-gut{display:none}.ph{display:flex;flex-direction:column;position:relative;padding:20px 0 20px 28px;border-bottom:1px solid var(--line)}.ph:last-child{border-bottom:0}.ph::before{content:'';position:absolute;left:5px;top:0;bottom:0;width:2px;background:var(--grad);transform:scaleY(0);transform-origin:top;transition:transform 900ms var(--ease)}[data-reveal].in .ph::before{transform:scaleY(1)}.ph small{padding-top:0}.ph-dot{top:2px;left:-28px}.ph-word{display:inline}.ph em{display:block;font-style:normal;margin-top:14px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}.ph ul{margin-top:6px;padding-top:0;border-top:0}.total{grid-template-columns:1fr 1fr;gap:10px 16px}.total small{grid-column:1/-1}.gal-page{grid-template-columns:1fr 1fr}.gal-page .say{grid-column:1/-1;aspect-ratio:auto;padding:40px 20px}.steps{grid-template-columns:1fr;gap:28px}.step{padding-right:0}.timeline{grid-template-columns:1fr 1fr;gap:32px clamp(16px,2.4vw,36px)}.timeline::before{display:none}.l-retail{--h:clamp(300px,72vw,480px)}.l-pres .media{aspect-ratio:4/3;max-height:none;order:-1}.footer-top{grid-template-columns:1fr;gap:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}}
@media (max-width:560px){.l-retail{--h:min(80vw,400px)}.chan-list small{display:none}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:16px;text-align:center}}
