/* electrolux.css: Electrolux case study, Codex layout replica in Pixel&Co colours. Prefix e-. Nav/footer come from site-chrome.css. */
@font-face{font-family:'Helvetica World';src:url('assets/fonts/Helvetica-World-Regular.woff2') format('woff2'),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.woff2') format('woff2'),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.woff2') format('woff2'),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.woff2') format('woff2'),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;--mag:#ED51AF;--vio:#6B5CFF;--sky:#5FB1EA;--line:#1F1F1D;--line-soft:#141413;--paper:#F4F3F0;--paper-2:#FAF9F7;--paper-tint:#EAEAF1;--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,ol{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}
.kick-rule{display:flex;align-items:center;gap:16px;white-space:nowrap}.kick-rule::before{content:'';width:34px;height:2px;flex:none;background:var(--grad)}
.kick-rule.is-mag::before{background:var(--mag)}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-right:.06em;padding-bottom:.16em;margin-bottom:-.16em}
.hair{display:block;width:28px;height:2px;background:var(--grad)}
body #te-fab .te-fab-label{white-space:nowrap;flex:none}

/* the project bar is flush with the fold on load: keep the editor overlays clear of it
   and out of the hero CTA column (bottom-left is where the hero button lives) */
body:not(.elx-scrolled) #te-fab{left:auto;right:18px;bottom:calc(var(--info-h,64px) + 18px + var(--elx-dock-h,50px) + 10px)}
body:not(.elx-scrolled) #elx-dock{bottom:calc(var(--info-h,64px) + 18px)}
h1,h2,h3{font-weight:700;letter-spacing:-.04em}
.e-big{font-size:clamp(42px,6.4vw,96px);line-height:.98;letter-spacing:-.035em;font-weight:400;max-width:11ch;text-wrap:balance}
.lead{font-size:clamp(17px,1.15vw,20px);line-height:1.55;color:var(--ink-2);max-width:46ch;text-wrap:pretty}
.band{padding:clamp(64px,8vw,124px) 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)}
.paper .kick{color:var(--paper-ink-3)}
.media{position:relative;overflow:hidden;background:#0F0F0F;border-radius:var(--r)}.media image-slot{display:block;position:absolute;inset:0;width:100%!important;height:100%!important}.paper .media{background:#E4E2DD}
/* buttons */
.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;white-space:nowrap;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-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)}
/* hero */
.e-hero{position:relative;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);overflow:hidden;min-height:var(--hero-h,calc(100svh - var(--info-h,64px)));display:flex;align-items:safe center}

.e-hero{min-height:var(--hero-h,calc(100svh - var(--info-h,64px)));display:flex;align-items:safe center}
.e-hero::before{content:'';position:absolute;left:0;top:0;bottom:0;width:min(60%,880px);z-index:1;pointer-events:none;background:radial-gradient(78% 76% at 28% 48%,rgba(126,96,255,.16) 0%,rgba(161,108,255,.1) 34%,rgba(237,81,175,.05) 58%,transparent 82%)}
.e-hero .container{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center;padding-top:clamp(116px,13vw,170px);padding-bottom:clamp(72px,7vw,104px)}
.e-hero-r .media{max-height:calc(100svh - var(--info-h,58px) - clamp(230px,24vw,300px))}
.hero-scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:5;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--paper-ink-3);display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;animation:eFadeIn 1500ms var(--ease) 1200ms forwards}
.hero-scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,transparent,var(--mag),transparent);background-size:100% 200%;animation:eScrollPulse 2.6s ease-in-out infinite}
@keyframes eScrollPulse{0%{background-position:0% -100%}100%{background-position:0% 200%}}
@keyframes eFadeIn{to{opacity:1}}
.e-hero h1{margin-top:clamp(26px,3.2vw,48px);font-size:clamp(40px,6.2vw,92px);line-height:.98;letter-spacing:-.04em;font-weight:400}
.e-hero h1 .e-l{display:block}
.e-hero .lead{margin-top:clamp(24px,2.6vw,38px);font-size:clamp(17px,1.3vw,21px);color:var(--paper-ink-2);max-width:44ch}
.e-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;margin-top:clamp(26px,3vw,42px)}
.e-hero-r{position:relative}
.e-hero-r .media{aspect-ratio:4/5;background:transparent;border-radius:var(--r)}
.e-hero-cap{position:absolute;right:0;bottom:clamp(10px,1.6vw,26px);z-index:2;display:flex;flex-direction:column;gap:12px;width:min(32ch,86%)}
.e-hero-cap i{display:block;height:2px;background:var(--grad)}
.e-hero-cap p{font-size:clamp(17px,1.5vw,22px);line-height:1.24;letter-spacing:-.02em;color:var(--paper-ink)}
/* nav keeps its dark bar over the white hero: same chrome, solid ground instead of transparent */
nav.nav:not(.scrolled){background:var(--bg)}
.e-hero-scroll{position:absolute;left:50%;transform:translateX(-50%);bottom:clamp(14px,2vw,26px);z-index:3;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--paper-ink-3)}
.e-hero-scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,transparent,var(--vio),transparent);background-size:100% 200%;animation:eScrollPulse 2.6s ease-in-out infinite}
@keyframes eScrollPulse{0%{background-position:0% -100%}100%{background-position:0% 200%}}
@media (max-height:820px){
.e-hero .container{padding-top:clamp(92px,10.5vh,120px);padding-bottom:clamp(44px,5.5vh,64px);gap:clamp(20px,3vw,48px)}
.e-hero h1{font-size:clamp(28px,4.4vh,50px);margin-top:clamp(14px,2.2vh,26px)}
.e-hero .lead{margin-top:clamp(12px,1.8vh,18px);font-size:clamp(14px,1.8vh,16px)}
.e-hero-actions{margin-top:clamp(14px,2vh,22px);gap:12px 20px}
.e-hero .btn{padding:13px 20px 13px 24px;font-size:11px}
.e-hero-scroll{gap:6px;bottom:8px;font-size:10px}.e-hero-scroll-line{height:20px}
}
@media (max-height:660px){
.e-hero .container{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);padding-top:88px;padding-bottom:26px;align-items:center;gap:20px}
.e-hero h1{font-size:clamp(22px,3.6vh,34px);margin-top:10px}
.e-hero .lead{margin-top:10px;font-size:13px;line-height:1.4;max-width:52ch}
.e-hero-actions{margin-top:12px}
.e-hero .btn{padding:11px 16px 11px 19px;font-size:10px}
.e-hero .text-link{font-size:10px}
.e-hero-scroll{display:none}
.e-hero-r .media{aspect-ratio:auto;height:100%;min-height:0}
.e-hero-r{height:100%}
}
/* info bar */
.e-info{background:var(--bg);color:var(--ink)}
.e-info .container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(16px,2.5vw,40px);padding-top:16px;padding-bottom:16px}
.e-info div{display:flex;flex-direction:column;gap:5px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;line-height:1.4}
.e-info b{color:#7A7A7A;font-weight:400}.e-info span{color:#E2E2E2}
.e-info .e-info /* dark stats band */
.e-proof{background:var(--bg)}
.e-proof .container{padding-top:clamp(30px,3.2vw,46px);padding-bottom:clamp(24px,2.6vw,34px)}
.e-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.e-stat{display:flex;flex-direction:column;gap:16px;padding:0 clamp(14px,2vw,30px)}
.e-stat+.e-stat{border-left:1px solid var(--line)}
.e-proof-grid>.e-stat:first-child{padding-left:0}
.e-stat b{font-size:clamp(36px,3.8vw,64px);line-height:1;letter-spacing:-.035em;font-weight:400;font-variant-numeric:tabular-nums}
.e-stat span{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#7A7A7A;line-height:1.5}
.e-proof-foot{margin-top:clamp(24px,2.8vw,40px);padding-top:16px;border-top:1px solid var(--line)}
.e-proof-foot p{font-size:14px;line-height:1.5;color:#8A8A85;max-width:88ch}
/* problem / transition: plain paper like OEW and LIDL; separation comes from the rule, not colour */
.e-prob{border-top:1px solid var(--paper-line)}
.e-prob .e-prob-l{position:relative}

.e-prob-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:start}
.e-prob-h{margin-top:clamp(28px,3.4vw,52px)}
.e-prob-r{padding-top:clamp(12px,4.4vw,74px);min-width:0}
.e-prob-lead{font-size:clamp(22px,2.1vw,34px);line-height:1.26;letter-spacing:-.02em;color:var(--paper-ink);max-width:min(26ch,100%)}
.e-prob-sub{margin-top:clamp(22px,2.4vw,34px);font-size:clamp(16px,1.1vw,18px);line-height:1.6;color:var(--paper-ink-2);max-width:46ch}
.e-rows{margin-top:clamp(30px,3.6vw,54px);border-top:1px solid var(--line)}
.e-rows li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:clamp(16px,1.6vw,26px);padding:22px 0;border-bottom:1px solid var(--line)}
.e-rows i{font-style:normal;font-size:12px;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--vio);padding-top:3px}
.e-rows p{font-size:clamp(16px,1.1vw,18px);line-height:1.55;color:var(--ink-2);max-width:44ch}
.e-rows p strong{font-weight:700;color:var(--ink)}
/* guide and plan: dark split */
.e-plan{display:grid;grid-template-columns:minmax(0,.66fr) minmax(0,1fr);background:var(--bg);align-items:stretch}
.e-plan-l{display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,7vw,116px) clamp(28px,4vw,64px) clamp(56px,7vw,116px) max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)))}
.e-plan-l h2{margin-top:clamp(24px,3vw,44px);font-size:clamp(38px,4.6vw,68px);line-height:1;letter-spacing:-.04em;font-weight:400;max-width:12ch}
.e-plan-l .lead{margin-top:clamp(20px,2.4vw,32px);max-width:42ch}
.e-plan .e-rows{margin-top:clamp(28px,3.2vw,46px)}
.e-plan .e-rows i{color:var(--mag)}
.e-spark{width:22px;height:22px;margin-top:2px;background:var(--grad);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0C54.5 34 66 45.5 100 50 66 54.5 54.5 66 50 100 45.5 66 34 54.5 0 50 34 45.5 45.5 34 50 0Z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 0C54.5 34 66 45.5 100 50 66 54.5 54.5 66 50 100 45.5 66 34 54.5 0 50 34 45.5 45.5 34 50 0Z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat}
.e-plan-r{position:relative;min-height:clamp(400px,50vw,780px);background:#0F0F0F;overflow:hidden}
.e-plan-r image-slot{display:block;position:absolute;inset:0;width:100%!important;height:100%!important}
/* three programs */
.e-cats{background:var(--paper-2)}
.e-cats-head,.e-out-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:end}
.e-cats-head .e-big,.e-out-head .e-big{margin-top:clamp(26px,3.2vw,48px)}
.e-cats-head .lead,.e-out-head .lead{max-width:44ch;padding-bottom:8px}
/* Product communication: lead locked flush-left under the headline */
.e-out{padding-top:clamp(72px,9vw,140px)}
.e-out .e-out-head{grid-template-columns:minmax(0,1fr)}
.e-out .e-out-head .lead{grid-column:1;max-width:58ch;padding-bottom:0;margin-top:clamp(14px,1.4vw,22px);transform:none!important}
.e-progs{margin-top:clamp(20px,2.4vw,32px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);border-top:1px solid var(--line)}
.e-prog{display:flex;flex-direction:column;gap:clamp(12px,1.4vw,18px);padding:clamp(18px,2vw,26px) 0 0}
.e-prog+.e-prog{border-left:0}
.e-prog-top{display:flex;align-items:center;gap:12px}
.e-dot{width:10px;height:10px;border-radius:50%;background:var(--c,var(--vio));flex:none}
.e-prog .media{aspect-ratio:4/5;background:#fff;border-radius:var(--r)}
.e-prog .media image-slot::part(frame){background:#fff}
.e-prog .media image-slot::part(image){background:#fff}
.e-prog h3{font-size:clamp(22px,2vw,30px);line-height:1.14;letter-spacing:-.03em;font-weight:400;max-width:20ch}
.e-prog>p{font-size:clamp(15px,1.05vw,17px);line-height:1.6;color:var(--paper-ink-2);max-width:38ch}
.e-prog-stats{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.2vw,28px);padding-top:clamp(16px,2vw,26px);border-top:1px solid var(--line)}
.e-prog-stats li{display:flex;flex-direction:column;gap:8px}
.e-prog-stats b{font-size:clamp(24px,2.2vw,34px);line-height:1;letter-spacing:-.03em;font-weight:400;font-variant-numeric:tabular-nums}
.e-prog-stats span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-ink-3)}
/* editorial plates for slots awaiting real renders (hidden once an image is dropped) */
.e-media-plate{background:#E9E7E1}.e-media-plate image-slot{z-index:2;opacity:0}.e-media-plate image-slot[data-filled]{opacity:1}.e-media-plate image-slot[data-filled]~.e-plate{display:none}
.e-stack.e-media-plate.is-manual .e-plate{display:none}
.e-plate{position:absolute;inset:0;z-index:1;border-radius:var(--r);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(16px,1.8vw,26px);color:var(--paper-ink);background:linear-gradient(180deg,#EEECE6 0%,#E4E2DB 100%);pointer-events:none}
.e-plate::before{content:'';position:absolute;inset:clamp(12px,1.4vw,20px);border:1px solid rgba(20,19,15,.14);pointer-events:none}
.e-plate::after{content:'';position:absolute;left:50%;top:50%;width:1px;height:28%;background:rgba(20,19,15,.12);transform:translate(-50%,-50%)}
.e-plate-k{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--paper-ink-3);line-height:1.4}
.e-plate-t{margin-top:6px;font-size:clamp(18px,1.6vw,24px);line-height:1.1;letter-spacing:-.03em;font-weight:400;max-width:12ch}
.e-plate-n{position:absolute;top:clamp(16px,1.8vw,26px);right:clamp(16px,1.8vw,26px);font-size:clamp(28px,3vw,44px);line-height:1;letter-spacing:-.03em;font-weight:700;color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1.5px transparent;paint-order:stroke fill}
.e-plate-r{position:absolute;left:clamp(16px,1.8vw,26px);right:clamp(16px,1.8vw,26px);bottom:clamp(12px,1.4vw,20px);height:2px;background:rgba(20,19,15,.12);overflow:hidden}
.e-plate-r::before{content:'';position:absolute;inset:0;width:28px;background:var(--grad)}
.e-plate.is-dark{color:var(--ink);background:linear-gradient(180deg,#121212 0%,#0C0C0C 100%)}
.e-plate.is-dark::before{border-color:rgba(245,245,240,.12)}.e-plate.is-dark::after{background:rgba(245,245,240,.1)}
.e-plate.is-dark .e-plate-k{color:var(--ink-3)}.e-plate.is-dark .e-plate-r{background:rgba(245,245,240,.12)}
/* rotating image stacks: up to 4 slots per frame, filled ones crossfade every 3.5s */
.e-stack image-slot{opacity:0;transition:opacity 900ms var(--ease);pointer-events:none}
.e-stack image-slot.is-on{opacity:1;pointer-events:auto;z-index:3}
.e-stack-rail{margin-top:12px;display:flex;justify-content:center;gap:9px}
.e-prog .e-stack-rail{margin-top:10px}
.e-tile-fig .e-stack-rail{order:1}
.e-stack-rail button{appearance:none;width:7px;height:7px;padding:0;border:1px solid rgba(20,19,15,.34);border-radius:50%;background:transparent;cursor:grab;transition:background 300ms,border-color 300ms,transform 300ms}
.e-stack-rail button.dragging{opacity:.4;cursor:grabbing}
.e-stack-rail button.drop{transform:scale(1.6);border-color:var(--paper-ink)}
.e-stack-rail button.has{background:rgba(20,19,15,.3);border-color:transparent}
.e-stack-rail button.on{background:var(--grad);border-color:transparent;transform:scale(1.4);box-shadow:0 0 0 3px rgba(161,108,255,.18),0 2px 12px rgba(237,81,175,.45)}
/* one control per gallery row: position, play/pause and prev/next */
/* one quiet control per gallery row */
.e-gal-bar{grid-column:1/-1;margin-top:clamp(18px,2.2vw,30px);padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:22px}
.e-gal-count{font-size:11px;letter-spacing:.24em;color:var(--paper-ink-3);font-variant-numeric:tabular-nums}
.e-gal-play{appearance:none;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--paper-ink-2);font:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;padding:2px}
.e-gal-play:hover{color:var(--paper-ink)}
.e-gal-play i{width:0;height:0;border-style:solid;border-width:4px 0 4px 7px;border-color:transparent transparent transparent currentColor}
.e-gal-play:not(.is-paused) i{width:7px;height:9px;border:0;background:linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px,currentColor 5px 7px)}
.e-gal-nav{display:flex;gap:14px;margin-left:auto}
.e-gal-nav button{appearance:none;width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;color:var(--paper-ink-2);font-size:14px;line-height:1;cursor:pointer;transition:color 300ms var(--ease),transform 300ms var(--ease)}
.e-gal-nav button:hover{color:var(--paper-ink)}
.e-gal-nav button[data-d="-1"]:hover{transform:translateX(-2px)}
.e-gal-nav button[data-d="1"]:hover{transform:translateX(2px)}
.e-stack-rail{display:none}
/* Images mode (dock): dots come back so galleries can be reordered by dragging */
body.elx-img-on .e-stack-rail{display:flex;justify-content:center;gap:9px;margin-top:12px}
.e-plan{position:relative}
.e-plan .e-gal-bar{position:absolute;right:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);z-index:6;margin:0;width:max-content;gap:18px;padding:10px 16px;border-top:0;border-radius:999px;background:rgba(10,10,10,.72);backdrop-filter:blur(8px);color:var(--ink)}
.e-plan .e-gal-count{color:#C9C7C1}
.e-plan .e-gal-play{color:#F5F5F0}
.e-plan .e-gal-nav{margin-left:0}
.e-plan .e-gal-nav button{color:#F5F5F0;width:22px;height:22px}
body.elx-img-on .e-plan .e-stack-rail{position:absolute;right:clamp(16px,2vw,28px);bottom:70px;z-index:8;margin:0;padding:8px 12px;border-radius:999px;background:rgba(10,10,10,.72);backdrop-filter:blur(8px)}

body.elx-img-on .e-plan .e-stack-rail button{border-color:rgba(245,245,240,.45)}
body.elx-img-on .e-plan .e-stack-rail button.has{background:rgba(245,245,240,.45);border-color:transparent}
body.elx-img-on .e-plan .e-stack-rail button.on{background:var(--grad);border-color:transparent}
body.elx-img-on .e-stack{outline:1px dashed rgba(138,123,255,.5);outline-offset:3px}
.e-stack.is-manual image-slot.is-on{opacity:1;z-index:5}
/* hero: the three slots crossfade silently, no gallery bar, dots only in Images mode */
.e-hero-r .e-gal-bar{display:none}
body.elx-img-on .e-hero-r .e-stack-rail{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;z-index:8;margin:0;padding:8px 12px;border-radius:999px;background:rgba(10,10,10,.72);backdrop-filter:blur(8px)}
body.elx-img-on .e-hero-r .e-stack-rail button{border-color:rgba(245,245,240,.45)}
body.elx-img-on .e-hero-r .e-stack-rail button.has{background:rgba(245,245,240,.45);border-color:transparent}
/* one product, multiple uses */
.e-tiles{margin-top:clamp(38px,4.6vw,72px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);align-items:start}
.e-tile{position:relative;aspect-ratio:1/1;border-radius:var(--r);background:#fff}
.e-tile-fig{display:flex;flex-direction:column;gap:12px}
.e-tile-fig .e-tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-ink-2);line-height:1.4}
.e-labs{margin-top:clamp(12px,1.6vw,22px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--line);border-right:0;border-radius:var(--r);overflow:hidden}
.e-labs span{padding:18px 8px;text-align:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-ink-2);border-right:1px solid var(--line)}
.e-out .foot{margin-top:20px;font-size:14px;line-height:1.5;color:var(--paper-ink-3);font-style:italic}
.e-sel{margin-top:clamp(34px,4.4vw,66px);padding-top:clamp(18px,2.2vw,30px);border-top:1px solid var(--line);font-size:clamp(17px,1.5vw,22px);line-height:1.3;letter-spacing:-.02em;color:var(--paper-ink);max-width:34ch}
/* testimonial */
.e-quote{margin-top:clamp(30px,3.6vw,52px);display:flex;flex-direction:column;gap:14px;max-width:34ch}
.e-quote blockquote{font-size:clamp(26px,2.6vw,42px);line-height:1.12;letter-spacing:-.03em;font-weight:400;color:var(--paper-ink);text-wrap:balance}
.e-quote figcaption{display:flex;flex-direction:column;gap:4px}
.e-quote cite{font-style:normal;font-size:15px;font-weight:700;color:var(--paper-ink)}
.e-quote small{font-size:13px;line-height:1.45;color:var(--paper-ink-2)}
/* range reel: a long, draggable run of product frames */
.e-reel-wrap{margin-top:clamp(46px,5.4vw,80px)}
.e-reel{margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);display:flex;gap:clamp(12px,1.4vw,20px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px;cursor:grab;-webkit-mask:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%);mask:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)}
.e-reel::-webkit-scrollbar{display:none}
.e-reel.is-dragging{cursor:grabbing;scroll-snap-type:none}
.e-reel-item{--h:clamp(225px,21.3vw,313px);flex:0 0 clamp(180px,17vw,250px);scroll-snap-align:start;display:flex;flex-direction:column;gap:10px}
.e-reel-item.is-wide{flex-basis:clamp(300px,29vw,440px)}
.e-reel-item .media{height:var(--h);background:#fff;border-radius:var(--r)}
.e-reel-item figcaption{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-ink-2)}
.e-reel-bar{margin-top:clamp(16px,2vw,24px);padding-top:14px;border-top:1px solid var(--line);display:flex;align-items:center;gap:22px}
.e-reel-count{font-size:11px;letter-spacing:.24em;color:var(--paper-ink-3);font-variant-numeric:tabular-nums}
.e-reel-play{appearance:none;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--paper-ink-2);font:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;padding:2px}
.e-reel-play:hover{color:var(--paper-ink)}
.e-reel-play i{width:0;height:0;border-style:solid;border-width:4px 0 4px 7px;border-color:transparent transparent transparent currentColor}
.e-reel-play:not(.is-paused) i{width:7px;height:9px;border:0;background:linear-gradient(90deg,currentColor 0 2px,transparent 2px 5px,currentColor 5px 7px)}
.e-reel-track{flex:1;height:2px;background:var(--line);position:relative;overflow:hidden;max-width:420px}
.e-reel-track i{position:absolute;inset:0;background:var(--grad);transform-origin:0 50%;transition:transform 400ms var(--ease)}
.e-reel-nav{display:flex;gap:14px;margin-left:auto}
.e-reel-nav button{appearance:none;width:26px;height:26px;display:grid;place-items:center;border:0;background:transparent;color:var(--paper-ink-2);font-size:14px;line-height:1;cursor:pointer;transition:color 300ms var(--ease),transform 300ms var(--ease)}
.e-reel-nav button:hover{color:var(--paper-ink)}
.e-reel-nav button[data-d="-1"]:hover{transform:translateX(-2px)}
.e-reel-nav button[data-d="1"]:hover{transform:translateX(2px)}
/* contact sheet + spotlight: every image at once, muted; one blooms at a time */
.e-uni{margin-top:clamp(20px,2.4vw,32px);padding-top:clamp(18px,2vw,26px);border-top:1px solid var(--line)}
.e-sheet-wrap{position:relative}
.e-uni .e-sheet{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(52px,5.6vw,84px);grid-auto-flow:dense;gap:clamp(6px,.7vw,10px);margin:0;padding:0;overflow:visible;scroll-snap-type:none}
.e-uni .e-sheet::-webkit-scrollbar{display:none}
.e-uni .e-reel-item{flex:none;--h:auto;display:block;min-width:0;opacity:1;transition:filter 700ms var(--ease),opacity 700ms var(--ease),transform 700ms var(--ease);filter:saturate(.05) contrast(.92);cursor:crosshair}
.e-uni .e-reel-item.is-wide{grid-column:span 2}
.e-uni .e-reel-item{position:relative;overflow:hidden;min-height:0}
.e-uni .e-reel-item .media{position:absolute;inset:0;height:auto;background:#fff;border-radius:calc(var(--r) * .6)}
.e-uni .e-reel-item figcaption{display:none}
.e-uni .e-reel-item.is-on{filter:none;transform:scale(1.04);z-index:2;box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--paper-ink)}
.e-uni .e-sheet:hover .e-reel-item{filter:saturate(.05) contrast(.92)}
.e-uni .e-sheet:hover .e-reel-item.is-on{filter:none}
body:not(.elx-img-on) .e-uni .e-reel-item:has(image-slot:not([data-filled])){display:none}
.e-spot{position:relative;display:block;height:clamp(320px,44vw,620px);width:auto;aspect-ratio:var(--ar,4/5);max-width:100%;margin:0 auto clamp(22px,2.6vw,38px);opacity:0;transform:scale(.97);transition:opacity 600ms var(--ease),transform 700ms var(--ease),aspect-ratio 700ms var(--ease)}
.e-spot.is-live{opacity:1;transform:none}
.e-spot-media{position:absolute;inset:0;border-radius:var(--r);overflow:hidden;background:#fff}
.e-spot-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 700ms var(--ease)}
.e-spot-media img.is-on{opacity:1}
.e-spot figcaption{position:absolute;left:14px;bottom:14px;display:flex}
.e-spot .kick{background:rgba(245,245,240,.92);backdrop-filter:blur(6px);padding:6px 12px;border-radius:999px}
body.elx-img-on .e-spot{display:none}
body.elx-img-on .e-uni .e-reel-item{filter:none;transform:none}
/* infinite drag gallery with centre focus (public view); the sheet + spotlight stay for Images mode */
.e-gal-head{display:grid;gap:clamp(10px,1.2vw,16px);margin-bottom:clamp(28px,3.4vw,50px)}
.e-gal .e-uni{margin-top:0;padding-top:0;border-top:0}
/* column wall: continuous vertical columns, hover to focus */
.e-uni,.e-sets,.e-res{contain-intrinsic-size:auto 800px}
.e-inf{content-visibility:auto;contain-intrinsic-size:auto 620px;position:relative;height:clamp(420px,64vh,720px);margin-inline:calc(var(--gutter) * -1);overflow:hidden;background:var(--paper);touch-action:pan-y;user-select:none}
.e-inf::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,var(--paper),transparent 12%,transparent 88%,var(--paper))}
.e-inf-wall{position:absolute;inset:0;display:flex;gap:clamp(14px,1.6vw,26px);padding-inline:clamp(14px,1.6vw,26px)}
.e-inf-col{flex:1;min-width:0;position:relative;overflow:hidden}
.e-inf-run{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;gap:clamp(14px,1.6vw,26px);will-change:transform}
.e-inf-tile{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:#fff;filter:saturate(.05) contrast(.94);opacity:.8;transition:filter 600ms var(--ease),opacity 600ms var(--ease),transform 600ms var(--ease)}
.e-inf-tile img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.e-inf-tile figcaption{position:absolute;left:14px;bottom:14px;z-index:2;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);padding:5px 10px;border-radius:999px;opacity:0;transform:translateY(6px);transition:opacity 500ms var(--ease),transform 500ms var(--ease)}
.e-inf.is-hover .e-inf-tile{opacity:.4}
.e-inf .e-inf-tile.is-focus,.e-inf.is-hover .e-inf-tile.is-focus,.e-inf .e-inf-tile:hover{filter:none;opacity:1;transform:scale(1.03);z-index:4;box-shadow:0 22px 60px rgba(20,19,15,.24)}
.e-inf .e-inf-tile.is-focus figcaption,.e-inf .e-inf-tile:hover figcaption{opacity:1;transform:none}
.e-inf-tile{cursor:zoom-in}
body:not(.elx-img-on) .e-uni .e-spot,body:not(.elx-img-on) .e-uni .e-sheet,body:not(.elx-img-on) .e-uni-bar,body:not(.elx-img-on) .e-sheet-tools{display:none}
/* Images mode: the sheet is the working surface: bigger tiles, visible empties */
body.elx-img-on .e-uni .e-sheet{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(120px,13vw,190px)}
body.elx-img-on .e-uni .e-reel-item{filter:none!important;opacity:1!important}
body.elx-img-on .e-uni .e-reel-item image-slot{opacity:1!important}
body.elx-img-on .e-inf{display:none}
/* Images mode: gallery management */
.e-sheet-tools{display:none;align-items:center;gap:14px;margin-bottom:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-ink-3)}
body.elx-img-on .e-sheet-tools{display:flex;flex-wrap:wrap}
.e-sheet-tools span{margin-right:auto}
.e-sheet-tools button{appearance:none;font:inherit;letter-spacing:inherit;text-transform:inherit;background:none;border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--paper-ink);cursor:pointer}
.e-sheet-tools button:hover{border-color:var(--paper-ink)}
.e-sheet-tools button:disabled{opacity:.4;cursor:default}
.e-reel-item{position:relative}
.e-tile-x{display:none;position:absolute;top:-6px;right:-6px;z-index:6;width:20px;height:20px;border-radius:50%;border:0;background:var(--paper-ink);color:var(--paper);font:14px/20px system-ui;text-align:center;padding:0;cursor:pointer}
body.elx-img-on .e-reel-item:hover .e-tile-x{display:block}
.e-tile-grip{display:none;position:absolute;inset:0;z-index:5;cursor:grab;border-radius:calc(var(--r) * .6)}
body.elx-img-on .e-tile-grip{display:block}
body.elx-img-on .e-tile-grip:hover{box-shadow:inset 0 0 0 2px var(--paper-ink)}
body.elx-filedrag .e-tile-grip,body.elx-sorting .e-tile-grip{pointer-events:none}
body.elx-img-on .e-uni .e-sheet{padding:10px;outline:1px dashed transparent;outline-offset:6px;border-radius:var(--r);transition:outline-color 200ms}
body.elx-img-on .e-uni .e-sheet.is-filetarget{outline-color:var(--paper-ink)}
body.elx-img-on .e-uni .e-reel-item{cursor:grab}
body.elx-img-on .e-uni .e-reel-item.is-hidden{opacity:.3;outline:1px dashed var(--paper-ink-3);outline-offset:2px}
body:not(.elx-img-on) .e-uni .e-reel-item.is-hidden{display:none}
.e-uni .e-reel-item.is-dragging{opacity:.35;outline:2px dashed var(--paper-ink);outline-offset:-2px}
body.elx-sorting .e-uni .e-reel-item{transition:none}
body.elx-sorting .e-uni .e-reel-item .media,body.elx-sorting .e-uni .e-reel-item figcaption{pointer-events:none}
body.elx-sorting .e-uni .e-reel-item{pointer-events:auto}
body.elx-sorting .e-uni image-slot{pointer-events:none}
.e-uni-bar{gap:22px;margin-top:clamp(18px,2.2vw,30px)}
.e-uni-bar .e-gal-count,.e-uni-bar .e-gal-play{flex:none;white-space:nowrap}
.e-uni-bar .e-reel-track{flex:1;max-width:420px;height:2px;background:var(--line);position:relative;overflow:hidden;display:block}
.e-uni-bar .e-reel-track i{position:absolute;inset:0;background:var(--grad);transform-origin:0 50%;transition:transform 400ms var(--ease)}
@media (max-width:900px){.e-uni .e-sheet{grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:clamp(48px,9vw,80px)}}
@media (max-width:560px){.e-uni .e-sheet{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* full-bleed range strip: runs itself, pauses on hover, mixed widths */
.e-strip-sec{padding-bottom:clamp(56px,7vw,110px)}
.e-strip-head{display:grid;gap:clamp(10px,1.2vw,16px);margin-bottom:clamp(28px,3.4vw,50px)}
.e-strip{position:relative;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none}
.e-strip.is-grab{cursor:grabbing}
.e-strip::before,.e-strip::after{content:'';position:absolute;top:0;bottom:0;width:clamp(40px,7vw,120px);z-index:3;pointer-events:none}
.e-strip::before{left:0;background:linear-gradient(90deg,var(--paper),transparent)}
.e-strip::after{right:0;background:linear-gradient(270deg,var(--paper),transparent)}
.e-strip-lane{display:flex;align-items:center;gap:clamp(12px,1.4vw,22px);will-change:transform}
.e-strip-ghost{display:flex;align-items:center;gap:inherit;flex:none}
.e-strip-item{--h:clamp(220px,26vw,400px);flex:0 0 auto;margin:0;width:calc(var(--h) * .8);display:flex;flex-direction:column;gap:10px}
.e-strip-item.is-wide{width:calc(var(--h) * 1.34)}
.e-strip-item.is-tall{width:calc(var(--h) * .62)}
.e-strip-item .media{height:var(--h);background:#fff;border-radius:var(--r);overflow:hidden}
.e-strip-item img{display:block;width:100%;height:100%;object-fit:cover}
.e-strip-item figcaption{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-ink-3);opacity:0;transition:opacity 400ms var(--ease)}
.e-strip-item:hover figcaption{opacity:1}
.e-strip-nav{display:flex;align-items:center;gap:18px;justify-content:flex-end;max-width:var(--maxw,1440px);margin:clamp(14px,1.6vw,22px) auto 0;padding-inline:var(--gutter)}
.e-strip-nav button{appearance:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--paper-ink-2);font-size:14px;line-height:1;cursor:pointer;transition:border-color 240ms,color 240ms,transform 240ms}
.e-strip-nav button:hover{border-color:var(--paper-ink);color:var(--paper-ink)}
.e-strip-nav button[data-d="-1"]:hover{transform:translateX(-2px)}
.e-strip-nav button[data-d="1"]:hover{transform:translateX(2px)}
.e-strip-pos{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-ink-3);font-variant-numeric:tabular-nums;opacity:0;transition:opacity 300ms}
body.elx-img-on .e-strip-pos{opacity:1}
body:not(.elx-img-on) .e-strip-item:has(image-slot:not([data-filled])){display:none}
/* reframe: the tile being adjusted sits above the lane and its handles escape the frame */
.e-strip:has(image-slot[data-reframe]){overflow:visible;cursor:default}
.e-strip-item:has(image-slot[data-reframe]){z-index:12;overflow:visible}
.e-strip-item:has(image-slot[data-reframe]) .media{overflow:visible}
.e-strip-item{position:relative}
.e-strip-move{display:none;position:absolute;left:8px;right:8px;bottom:8px;z-index:6;align-items:center;justify-content:space-between;gap:6px}
body.elx-img-on .e-strip-move{display:flex}
.e-strip-move button{appearance:none;width:30px;height:30px;border:0;border-radius:50%;background:rgba(20,19,15,.82);color:var(--paper);font:16px/30px system-ui;padding:0;cursor:pointer;backdrop-filter:blur(6px);transition:background 200ms,transform 200ms}
.e-strip-move button:hover{background:var(--paper-ink);transform:scale(1.08)}
.e-strip-idx{font-size:10px;letter-spacing:.18em;color:var(--paper);background:rgba(20,19,15,.72);padding:5px 9px;border-radius:999px;font-variant-numeric:tabular-nums}
.e-strip-item.just-moved .media{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--vio,#8A7BFF)}
/* equal heights, width follows each image */
.e-strip-item,.e-strip-item.is-wide,.e-strip-item.is-tall{width:calc(var(--h) * var(--ar,.8))}
.e-strip-item .media{height:var(--h);width:100%}
body.elx-img-on .e-strip{overflow-x:auto;cursor:default}
body.elx-img-on .e-strip::before,body.elx-img-on .e-strip::after{display:none}
body.elx-img-on .e-strip-ghost{display:none}
body.elx-img-on .e-strip-item figcaption{opacity:1}
@media (max-width:640px){.e-strip-item{--h:clamp(180px,52vw,260px)}}
/* range strip: real asset files, lazy loaded, one transform for the whole lane */
.e-gal-sec{padding-bottom:clamp(56px,7vw,110px)}
.e-gal-head{display:grid;gap:clamp(10px,1.2vw,16px);margin-bottom:clamp(28px,3.4vw,50px)}
.e-gal{position:relative;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none}
.e-gal.is-grab{cursor:grabbing}
.e-gal::before,.e-gal::after{content:'';position:absolute;top:0;bottom:0;width:clamp(40px,7vw,120px);z-index:3;pointer-events:none}
.e-gal::before{left:0;background:linear-gradient(90deg,var(--paper),transparent)}
.e-gal::after{right:0;background:linear-gradient(270deg,var(--paper),transparent)}
.e-gal{display:grid;gap:clamp(12px,1.4vw,22px)}
.e-gal-row{overflow:hidden}
.e-gal-track{display:flex;width:max-content;will-change:transform}
.e-gal-run{display:flex;align-items:flex-start;gap:clamp(12px,1.4vw,22px);padding-right:clamp(12px,1.4vw,22px)}
.e-gal-item{--h:clamp(220px,24vw,360px);flex:0 0 auto;margin:0;width:calc(var(--h) * var(--ar,1));display:grid;gap:10px}
.e-gal-item img{display:block;width:100%;height:var(--h);object-fit:cover;background:#fff;border-radius:var(--r);transition:filter 420ms var(--ease)}
.e-gal-item:hover img{filter:none}
@media (hover:none){.e-gal-item img{filter:none}}
.e-gal-item figcaption{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper-ink-3);opacity:0;transition:opacity 360ms var(--ease)}
.e-gal-item:hover figcaption{opacity:1}
@media (max-width:640px){.e-gal-item{--h:clamp(120px,30vw,170px)}}
/* lightbox */
.e-gal-item img{cursor:zoom-in}
body.e-lb-on{overflow:hidden}
.e-lb[hidden]{display:none!important}
.e-lb{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(8px,2vw,28px);padding:clamp(16px,4vw,54px);background:rgba(12,12,11,.94);backdrop-filter:blur(10px);animation:lbIn 260ms var(--ease)}
@keyframes lbIn{from{opacity:0}to{opacity:1}}
.e-lb figure{grid-column:2;margin:0;display:grid;gap:14px;justify-items:center;min-width:0}
.e-lb img{display:block;max-width:100%;max-height:78vh;width:auto;object-fit:contain;background:#fff;border-radius:var(--r)}
.e-lb figcaption{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(245,245,240,.6)}
.e-lb-nav,.e-lb-x{appearance:none;border:1px solid rgba(245,245,240,.28);background:transparent;color:#f5f5f0;border-radius:999px;cursor:pointer;display:grid;place-items:center;transition:border-color 220ms,background 220ms}
.e-lb-nav{width:clamp(40px,4vw,54px);height:clamp(40px,4vw,54px);font-size:22px;line-height:1}
.e-lb-nav:hover,.e-lb-x:hover{border-color:#f5f5f0;background:rgba(245,245,240,.12)}
.e-lb-x{position:absolute;top:clamp(14px,2.4vw,30px);right:clamp(14px,2.4vw,30px);width:40px;height:40px;font-size:20px;z-index:2}
@media (max-width:640px){.e-lb{grid-template-columns:1fr;justify-items:center}.e-lb figure{grid-column:1}.e-lb-nav{position:absolute;bottom:22px}.e-lb-nav.is-prev{left:22px}.e-lb-nav.is-next{right:22px}}
/* outcome */
.e-res{color:var(--ink);background:radial-gradient(ellipse 900px 620px at 6% 4%,rgba(196,52,150,.42),transparent 62%),radial-gradient(ellipse 1100px 760px at 30% 34%,rgba(88,46,140,.46),transparent 68%),radial-gradient(ellipse 900px 700px at 92% 96%,rgba(38,64,140,.38),transparent 66%),radial-gradient(ellipse 700px 520px at 70% 12%,rgba(66,40,120,.40),transparent 70%),linear-gradient(150deg,#150E21 0%,#1B1430 46%,#120D1E 100%)}
.e-res .e-tri-rule i:nth-child(3){background:var(--ink)}
.e-res .container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:start}
.e-res .e-big{margin-top:clamp(26px,3.2vw,48px)}
.e-res-r{padding-top:clamp(12px,4.4vw,74px)}
.e-res-key{font-size:clamp(22px,2.1vw,34px);line-height:1.24;letter-spacing:-.02em;font-weight:400;color:var(--paper-ink);max-width:min(24ch,100%)}
.e-res .lead{margin-top:clamp(22px,2.4vw,34px);font-size:clamp(16px,1.1vw,19px);line-height:1.6;max-width:46ch}
.e-tri-rule{display:flex;height:3px;margin-top:clamp(30px,3.6vw,52px);max-width:46ch}
.e-tri-rule i{flex:1}.e-tri-rule i:nth-child(1){background:var(--vio)}.e-tri-rule i:nth-child(2){background:var(--mag)}.e-tri-rule i:nth-child(3){background:var(--paper-ink)}
/* final cta */
.e-cta{position:relative;background:var(--bg);padding:clamp(96px,14vw,190px) 0}
.e-cta .container{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}
.e-cta .kick-rule{justify-content:center}
.e-cta h2{font-size:clamp(38px,5.6vw,84px);line-height:.98;letter-spacing:-.04em;font-weight:400;max-width:15ch;text-wrap:balance}
.e-cta .lead{text-align:center;max-width:46ch}
.e-cta .mail-note{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
/* related */
.e-rel{border-top:1px solid var(--line);padding:28px 0}
.e-rel .container{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px}
.e-rel .links{display:flex;flex-wrap:wrap;gap:16px 32px}
/* reveal */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 900ms var(--ease),transform 900ms var(--ease)}[data-reveal].in-view{opacity:1;transform:none}
/* responsive */
@media (max-width:1100px){.e-progs{gap:0}.e-prob-r>p,.e-prob-r>ol,.e-res-r>p,.e-prob-l>h2,.e-res .container>div>h2,#none,.e-out-head h2,.e-out-head p,.e-cats-head h2,.e-cats-head p,.e-plan-l h2,.e-plan-l p{min-height:0!important;max-width:100%!important}.e-proof-grid{grid-template-columns:1fr 1fr;gap:24px 0}.e-stat:nth-child(3){padding-left:0;border-left:0}.e-progs{grid-template-columns:1fr}.e-prog+.e-prog{border-top:1px solid var(--line)}.e-prog .media{aspect-ratio:16/10}}
@media (max-width:900px){
nav.nav .nav-links:not(.open),nav.nav .nav-cta{display:none}
.e-hero{min-height:0}.e-hero-r .media{max-height:none}.hero-scroll{display:none}
.e-hero::before{width:100%;bottom:auto;height:100%}
.e-hero .container{grid-template-columns:1fr;padding-top:clamp(104px,22vw,150px)}
.e-hero-cap{position:static;width:auto;max-width:40ch;margin-top:22px}
.e-hero-r .media{aspect-ratio:4/3}
.e-prob-grid,.e-cats-head,.e-out-head,.e-res .container{grid-template-columns:1fr;gap:28px}
.e-prob-r,.e-res-r{padding-top:0}
.e-plan{grid-template-columns:1fr}
.e-plan-l{padding:clamp(48px,9vw,72px) var(--gutter)}
.e-plan-r{min-height:0;aspect-ratio:4/3}
.e-tiles{grid-template-columns:1fr}
.e-labs{grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:0}.e-labs span{border-bottom:1px solid var(--line)}
.e-rows li{grid-template-columns:20px minmax(0,1fr)}
.e-info .container{grid-template-columns:1fr 1fr;gap:16px clamp(16px,2.5vw,40px)}
}
@media (max-width:1000px){.e-hero .kick-rule,.e-cta .kick-rule{white-space:normal}}
@media (max-width:560px){.kick-rule{white-space:normal}}
@media (max-width:600px){.e-proof-grid{grid-template-columns:1fr}.e-stat{padding-left:0;border-left:0}.e-stat+.e-stat{border-top:1px solid var(--line);padding-top:18px}.e-prog-stats{grid-template-columns:1fr 1fr}.e-labs{grid-template-columns:1fr 1fr}.e-rel .container,.e-rel .links{flex-direction:column}}

/* bespoke virtual sets */
.e-sets .e-sets-tabs{margin-top:clamp(34px,4.4vw,64px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}
.e-sets-tablist{display:flex;flex-wrap:wrap;gap:clamp(18px,2.4vw,38px)}
.e-sets-tablist button{appearance:none;background:none;border:0;padding:0 0 12px;font:inherit;font-size:clamp(15px,1.15vw,17px);letter-spacing:-.01em;color:var(--paper-ink-3);cursor:pointer;position:relative;transition:color 300ms var(--ease)}
.e-sets-tablist button:hover{color:var(--paper-ink)}
.e-sets-tablist button::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad);opacity:0;transition:opacity 300ms var(--ease)}
.e-sets-tablist button[aria-selected="true"]{color:var(--paper-ink)}
.e-sets-tablist button[aria-selected="true"]::after{opacity:1}
.e-sets-tabs>.e-tag{padding-bottom:12px}
.e-sets-panel{margin-top:clamp(20px,2.6vw,34px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:1fr auto;gap:clamp(14px,1.8vw,26px);align-items:stretch}
.e-sets-panel[hidden]{display:none}
.e-set-fig{display:grid;grid-template-rows:subgrid;grid-row:span 2;gap:14px;min-height:0}
.e-set-media{position:relative;aspect-ratio:16/9;border-radius:var(--r);background:#fff;overflow:hidden}
.e-set-cap{display:flex;align-items:baseline;justify-content:space-between;gap:16px}

/* virtual sets: drag to compare, both frames */
.e-cmp{touch-action:pan-y;user-select:none;cursor:ew-resize}
.e-cmp .e-cmp-lay{position:absolute;inset:0;width:100%;height:100%}
.e-cmp-top{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.e-cmp-h{position:absolute;top:0;bottom:0;left:var(--x);width:2px;background:var(--grad);transform:translateX(-1px);z-index:3;pointer-events:none}
.e-cmp-h span{position:absolute;top:50%;left:50%;width:38px;height:38px;transform:translate(-50%,-50%);border-radius:50%;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.22)}
.e-cmp-h span::before,.e-cmp-h span::after{content:'';position:absolute;top:50%;width:5px;height:5px;border-left:1.5px solid var(--paper-ink);border-bottom:1.5px solid var(--paper-ink)}
.e-cmp-h span::before{left:11px;transform:translateY(-50%) rotate(45deg)}
.e-cmp-h span::after{right:11px;transform:translateY(-50%) rotate(-135deg)}
/* setup state: while a layer is empty, show both drop targets side by side */
.e-cmp:not(.is-single):has(image-slot:not([data-filled])){cursor:default}
.e-cmp:not(.is-single):has(image-slot:not([data-filled])) .e-cmp-top{clip-path:none;width:50%}
.e-cmp:not(.is-single):has(image-slot:not([data-filled]))>image-slot.e-cmp-lay{left:50%;width:50%!important}
.e-cmp:not(.is-single):has(image-slot:not([data-filled])) .e-cmp-h,.e-cmp:not(.is-single):has(image-slot:not([data-filled])) .e-cmp-hint{display:none}
/* reframe mode: isolate the slot being reframed, let its handles escape the frame */
.e-cmp:has(image-slot[data-reframe]){cursor:default;overflow:visible}
.e-cmp:has(.e-cmp-top image-slot[data-reframe]) .e-cmp-top{clip-path:none;width:100%;z-index:12}
.e-cmp:has(>image-slot[data-reframe]) .e-cmp-top{display:none}
.e-cmp:has(image-slot[data-reframe]) .e-cmp-h,.e-cmp:has(image-slot[data-reframe]) .e-cmp-hint,.e-cmp:has(image-slot[data-reframe]) .e-cmp-tag{display:none}
.e-cmp-hint{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:4;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.42);backdrop-filter:blur(6px);padding:6px 12px;border-radius:99px;pointer-events:none;transition:opacity 300ms var(--ease)}
.e-cmp.is-drag .e-cmp-hint{opacity:0}
.e-cmp-tag{position:absolute;bottom:14px;z-index:4;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.42);backdrop-filter:blur(6px);padding:5px 11px;border-radius:99px;pointer-events:none}
.e-cmp-tag.l{left:14px}.e-cmp-tag.r{right:14px}
/* Edit text mode: labels become clickable and the seam drag steps aside */
body.te-on .e-cmp-tag,body.te-on .e-cmp-hint{pointer-events:auto;cursor:text;z-index:14}
body.te-on .e-cmp{cursor:default}
/* single-image mode: only the in-context layer, no seam */
.e-cmp.is-single{cursor:default}
.e-cmp.is-single .e-cmp-top{clip-path:none!important;width:100%!important}
.e-cmp.is-single>image-slot.e-cmp-lay{display:none}
.e-cmp.is-single .e-cmp-h,.e-cmp.is-single .e-cmp-hint,.e-cmp.is-single .e-cmp-tag.r{display:none}
/* single mode keeps the visible layer's label, parked bottom-right */
.e-cmp.is-single .e-cmp-tag.l{left:auto;right:14px}
/* frame mode control */
.e-set-cap{position:relative}
.e-cmp-mode{appearance:none;background:none;border:0;padding:0;margin-left:auto;font:inherit;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-ink-3);cursor:pointer;opacity:0;transition:opacity 240ms var(--ease),color 240ms var(--ease);border-bottom:1px solid var(--line);line-height:1.5;white-space:nowrap}
.e-set-fig:hover .e-cmp-mode,.e-cmp-mode:focus-visible{opacity:1}
.e-cmp-mode:hover{color:var(--paper-ink)}
/* virtual sets: wide context frame + set frame filling its height */
.e-set-fig-wide .e-set-media{aspect-ratio:16/10}
.e-set-fig-solo .e-set-media,.e-set-fig-solo .e-set-media-solo{aspect-ratio:auto;flex:1;min-height:0}
@media (max-width:900px){.e-set-fig-solo .e-set-media,.e-set-fig-solo .e-set-media-solo{aspect-ratio:4/5}}

.e-sets-foot{margin-top:clamp(30px,3.8vw,56px);padding-top:clamp(16px,2vw,26px);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:14px}
.e-sets .e-tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-ink-2);line-height:1.4}
@media (max-width:900px){.e-sets-panel{grid-template-columns:1fr}.e-sets .e-sets-tabs{justify-content:flex-start}.e-sets-tabs>.e-tag{display:none}}

/* problem / stakes: dark ground so the paper "decision" lands as the answer */
.e-risk{position:relative;background:var(--bg);color:var(--ink);border-top:1px solid var(--line);isolation:isolate}
.e-risk::before,.e-risk::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none}
.e-risk::before{background:radial-gradient(ellipse 520px 380px at calc(34% - 70px) calc(44% - 50px),rgba(161,108,255,.30),transparent 68%),radial-gradient(ellipse 330px 580px at calc(34% + 100px) calc(44% + 80px),rgba(107,92,255,.22),transparent 70%),radial-gradient(ellipse 1060px 700px at 34% 44%,rgba(107,92,255,.12),transparent 72%)}
.e-risk::after{mix-blend-mode:screen;background:radial-gradient(ellipse 640px 300px at calc(34% + 170px) calc(44% - 130px),rgba(237,81,175,.20),transparent 66%),radial-gradient(ellipse 250px 470px at calc(34% - 160px) calc(44% + 130px),rgba(237,81,175,.13),transparent 70%)}
.e-risk>.container{position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){.e-risk::before{transition:none}}
.e-risk .e-big{max-width:15ch}
.e-risk .e-prob-lead{color:var(--ink);max-width:min(38ch,100%);margin-top:clamp(24px,2.8vw,40px)}
.e-risk .e-rows p strong{display:block;color:var(--ink);margin-bottom:4px}
.e-rows p.e-row-stack strong{display:block;margin-bottom:4px}
.e-risk-stake{margin-top:clamp(26px,3vw,44px);font-size:clamp(18px,1.5vw,25px);line-height:1.32;letter-spacing:-.02em;color:var(--ink);max-width:38ch;text-wrap:pretty}
.e-risk-stake::before{content:'';display:block;width:34px;height:2px;background:var(--mag);margin-bottom:18px}
.e-cta-bridge{font-size:clamp(17px,1.5vw,24px);line-height:1.32;letter-spacing:-.02em;color:var(--ink-2);max-width:34ch;text-align:center;text-wrap:pretty}
@media (max-width:1100px){.e-risk .e-big,.e-risk .e-prob-lead{max-width:100%!important}}


/* compact editorial note: published client feedback, paraphrased */
.e-note{margin-top:clamp(26px,3vw,40px);padding-top:clamp(18px,2vw,26px);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;max-width:min(46ch,100%)}
.e-note p{font-size:clamp(15px,1.05vw,17px);line-height:1.55;color:var(--ink-2);text-wrap:pretty}
.e-note-foot{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.e-note cite{font-style:normal;font-size:13px;letter-spacing:.02em;color:var(--ink)}
.e-note small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);line-height:1.5}
.e-note-link{align-self:flex-start;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink-2);padding-bottom:3px;transition:border-color 300ms,color 300ms}
.e-note-link:hover{border-bottom-color:var(--mag)}
.e-res .e-quote .e-note-link{margin-top:16px}
@media (max-width:900px){.e-note{max-width:100%}}

/* closing frame: user-filled slots, sized by the grid so the panel never collapses */
.e-frame{padding:clamp(12px,1.4vw,20px);border:1px solid var(--line);border-radius:calc(var(--r) + 6px);background:rgba(255,255,255,.55)}
.e-frame-stack{aspect-ratio:3/2}
.e-frame .e-gal-bar{margin-top:clamp(12px,1.4vw,18px);padding:12px clamp(2px,.6vw,8px) 2px}
@media (max-width:900px){.e-frame-stack{aspect-ratio:4/3}}
