:root { --e-red:#ff0037; --e-night:#050506; --e-paper:#f3f1ea; --e-cyan:#81d1de; }
html { scroll-behavior:smooth; }
body.e-journey { margin:0; overflow-x:hidden; background:var(--e-night); color:#f7f7f4; font-family:Montserrat,Arial,sans-serif; }
.e-journey a { color:inherit; }
.e-header { position:fixed; z-index:60; inset:0 0 auto; min-height:78px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; padding:14px clamp(24px,4vw,72px); border-bottom:1px solid #ffffff26; background:#050506bd; backdrop-filter:blur(14px); font-size:13px; }
.e-header a { text-decoration:none; }
.e-header a:first-child:hover { color:var(--e-red); }
.e-header>span { justify-self:end; color:#aaa; text-transform:uppercase; letter-spacing:.14em; font-size:11px; }
.e-brand { white-space:nowrap; font-size:23px; font-weight:300; letter-spacing:-.06em; }
.e-brand strong { color:var(--e-red); font:700 1.5em/.7 Vollkorn,Georgia,serif; }
.e-rail { position:fixed; z-index:55; top:50%; left:clamp(10px,1.6vw,26px); transform:translateY(-50%); display:grid; gap:16px; }
.e-rail a { display:flex; align-items:center; gap:8px; width:max-content; text-decoration:none; color:#a2a2a2; font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.e-rail a span:first-child { display:grid; place-items:center; width:24px; height:24px; border:1px solid #ffffff6a; border-radius:50%; }
.e-rail a span:last-child { opacity:0; transition:opacity .2s; }
.e-rail a:hover,.e-rail a.is-current { color:var(--e-red); }
.e-rail a:hover span:last-child,.e-rail a.is-current span:last-child { opacity:1; }
.e-rail a.is-current span:first-child { border-color:var(--e-red); }
.e-dark,.e-light { position:relative; isolation:isolate; overflow:clip; }
.e-dark { background:var(--e-night); }
.e-light { background:var(--e-paper); color:#1b1d1e; }
.e-speckles { position:absolute; z-index:-1; inset:0; width:100%; height:100%; object-fit:cover; opacity:.35; mix-blend-mode:screen; pointer-events:none; }
.e-light>.e-speckles { filter:invert(1); mix-blend-mode:multiply; opacity:.2; }
.e-wrap { width:min(100% - 12vw,1500px); margin:auto; }
.e-kicker,.e-chapter-heading>span { color:var(--e-red); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.19em; }
.e-hero { min-height:100svh; padding:clamp(140px,16vh,210px) 0 35px; }
.e-hero-grid { min-height:calc(100svh - 220px); display:grid; grid-template-columns:1fr 1fr; align-items:center; column-gap:clamp(30px,5vw,90px); }
.e-hero-copy { position:relative; z-index:2; }
.e-hero h1 { margin:24px 0 34px; font:400 clamp(62px,6.6vw,111px)/.91 Vollkorn,Georgia,serif; letter-spacing:-.055em; }
.e-hero h1 em,.e-chapter-heading h2 em { color:var(--e-red); font-weight:400; }
.e-lede { max-width:610px; color:#dedede; font-size:clamp(18px,1.4vw,22px); line-height:1.65; }
.e-scroll-link { display:inline-flex; gap:28px; margin-top:35px; padding:0 0 10px; border-bottom:1px solid #ffffff9c; text-decoration:none; font-size:13px; }
.e-scroll-link span { color:var(--e-red); font-size:22px; }
.e-hero-art { position:relative; min-height:630px; }
.e-ghost-number { position:absolute; top:0; right:0; color:#ffffff0a; font:400 clamp(150px,21vw,330px)/1 Vollkorn,Georgia,serif; }
.e-hero-card { position:absolute; margin:0; width:48%; }
.e-hero-card img { display:block; width:100%; border-radius:clamp(15px,2vw,30px); box-shadow:0 20px 80px #0008; }
.e-hero-card figcaption { padding-top:9px; color:#b8b8b8; font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.e-hero-card--forcepoint { left:2%; top:7%; transform:rotate(-7deg); }
.e-hero-card--contrast { right:2%; bottom:0; transform:rotate(7deg); }
.e-hero-wire { position:absolute; z-index:3; inset:8% 0 auto -4%; width:108%; height:80%; stroke:var(--e-red); stroke-width:3; stroke-linecap:round; pointer-events:none; }
.e-hero-wire path { stroke-dasharray:1; stroke-dashoffset:1; animation:e-draw 2s .5s ease forwards; }
@keyframes e-draw { to { stroke-dashoffset:0; } }
.e-hand { color:var(--e-red); font:500 clamp(27px,3vw,44px)/1 Caveat,cursive; }
.e-hero-note { position:absolute; z-index:4; top:2%; right:4%; transform:rotate(8deg); }
.e-facts { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:13px 38px; margin-top:50px; padding-top:22px; border-top:1px solid #ffffff6a; color:#bcbcbc; font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.e-challenge { padding:clamp(110px,12vw,190px) 0 160px; }
.e-chapter-heading { display:grid; grid-template-columns:1fr 2fr; align-items:end; gap:35px; padding-bottom:32px; border-bottom:1px solid #ffffff5e; }
.e-chapter-heading h2 { margin:0; font:400 clamp(48px,5.6vw,90px)/.99 Vollkorn,Georgia,serif; letter-spacing:-.045em; }
.e-statement { max-width:1050px; margin:75px 0 95px auto; font:400 clamp(29px,3vw,48px)/1.26 Vollkorn,Georgia,serif; }
.e-pressure-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.e-pressure-grid article { min-height:300px; padding:clamp(26px,3vw,45px); border:1px solid #ffffff5c; border-radius:25px; background:#101215a8; }
.e-pressure-grid span { color:var(--e-red); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.18em; }
.e-pressure-grid p { margin:40px 0 0; color:#dedede; font-size:clamp(16px,1.15vw,19px); line-height:1.68; }
@media(max-width:900px){ .e-hero-grid { grid-template-columns:1fr; } .e-hero-art { min-height:530px; margin-top:35px; } .e-rail { display:none; } .e-wrap { width:min(100% - 42px,720px); } .e-chapter-heading { grid-template-columns:1fr; } }
@media(max-width:600px){ .e-header { grid-template-columns:1fr auto; min-height:68px; } .e-header>span { display:none; } .e-brand { justify-self:end; font-size:19px; } .e-hero h1 { font-size:clamp(55px,13vw,78px); } .e-hero-art { min-height:470px; } .e-hero-card { width:56%; } .e-hero-note { top:0; } .e-facts { margin-top:15px; } .e-pressure-grid { grid-template-columns:1fr; } .e-pressure-grid article { min-height:auto; } .e-pressure-grid p { margin-top:25px; } .e-statement { margin:55px 0; } }
@media(prefers-reduced-motion:reduce){ html { scroll-behavior:auto; } .e-hero-wire path { animation:none;stroke-dashoffset:0; } .e-speckles { display:none; } }

/* Graphic Lab illustrations and horizon movement are used as chapter
   punctuation; the e92plus case itself follows a signal-and-relay rhythm. */
.e-illustration-section { padding:35px 0 90px; }
.e-mess,.e-machine { min-height:520px; border:0; border-top:1px solid #ffffff4d; border-radius:0; background:none; backdrop-filter:none; padding:30px 0; }
.e-mess .stage { min-height:420px; }
.e-mess .ink--mess { width:min(92%,1050px); height:85%; }
.e-mess .mess-exit { right:7%; bottom:3%; font-size:clamp(32px,4vw,58px); }
.e-mess .experiment-caption { font-size:15px; }
.theme-bridge { height:clamp(690px,100vh,1120px); }
.theme-bridge--final .horizon-fill { filter:url(#horizon-feather-final); }
.theme-bridge--final .horizon-haze { filter:url(#horizon-haze-final); }
.e-light .e-chapter-heading { border-color:#16181978; }
.e-direction { padding:clamp(115px,13vw,205px) 0 110px; }
.e-direction-intro { display:grid; grid-template-columns:2fr 1fr; gap:40px; align-items:center; margin:55px 0 95px; }
.e-direction-intro p { max-width:850px; margin:0; font:400 clamp(29px,3vw,48px)/1.28 Vollkorn,Georgia,serif; }
.e-direction-intro .e-hand { justify-self:end; transform:rotate(-8deg); }
.e-priorities { border-top:1px solid #191b1c59; }
.e-priorities article { display:grid; grid-template-columns:minmax(100px,.32fr) minmax(0,1fr); gap:clamp(22px,4vw,75px); padding:clamp(50px,6vw,95px) 0; border-bottom:1px solid #191b1c59; }
.e-priority-num { color:var(--e-red); font:400 clamp(65px,8vw,135px)/.9 Vollkorn,Georgia,serif; }
.e-priorities h3 { max-width:780px; margin:0 0 25px; font:400 clamp(36px,3.8vw,63px)/1.05 Vollkorn,Georgia,serif; letter-spacing:-.035em; }
.e-priorities p { max-width:800px; margin:0; color:#404243; font-size:clamp(16px,1.2vw,19px); line-height:1.78; }
.e-work-intro { padding:100px 0 80px; }
.e-work-intro p { max-width:780px; margin:45px 0 0 auto; font:400 clamp(25px,2.8vw,44px)/1.28 Vollkorn,Georgia,serif; }
.e-platforms { padding:90px 0 clamp(120px,12vw,190px); }
.e-work-header { display:grid; grid-template-columns:1fr 2fr; gap:30px; align-items:end; padding-bottom:33px; border-bottom:1px solid currentColor; }
.e-work-header>span { color:var(--e-red); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.17em; }
.e-work-header h2 { margin:0; font:400 clamp(47px,5.8vw,94px)/.98 Vollkorn,Georgia,serif; letter-spacing:-.045em; }
.e-work-header--compact h2 { font-size:clamp(34px,3.9vw,63px); line-height:1; letter-spacing:-.04em; }
.e-work-header h2 em { color:var(--e-red); font-weight:400; }
.e-prose { margin:65px 0 90px; }
.e-prose--three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(28px,3.7vw,67px); }
.e-prose p { margin:0; font-size:clamp(16px,1.16vw,19px); line-height:1.78; }
.e-light .e-prose p { color:#3d3f40; }
.e-dark .e-prose p { color:#d3d3d3; }
.e-interface-board { display:grid; grid-template-columns:1.35fr .65fr; grid-template-rows:repeat(2,minmax(255px,1fr)); gap:18px; }
.e-preview { min-width:0; margin:0; }
.e-preview--wide { grid-row:span 2; }
.e-preview>div { height:calc(100% - 33px); display:flex; flex-direction:column; justify-content:space-between; gap:20px; padding:clamp(26px,4vw,62px); border:1px dashed #8f9292; border-radius:clamp(20px,3vw,44px); background:linear-gradient(140deg,#dddcd7,#faf9f4); }
.e-preview span { color:var(--e-red); font-size:12px; text-transform:uppercase; letter-spacing:.16em; }
.e-preview strong { max-width:500px; font:400 clamp(29px,3.7vw,62px)/1.03 Vollkorn,Georgia,serif; }
.e-preview small { color:#5e6060; font-size:11px; text-transform:uppercase; letter-spacing:.14em; }
.e-preview figcaption { margin-top:14px; font-size:11px; text-transform:uppercase; letter-spacing:.13em; opacity:.7; }
.e-campaigns { padding:clamp(115px,13vw,200px) 0 120px; }
.e-brand-wall { display:grid; grid-template-columns:1.05fr .95fr 1fr; gap:clamp(13px,1.6vw,25px); align-items:end; }
.e-campaign-card { min-width:0; margin:0; }
.e-campaign-card img { display:block; width:100%; aspect-ratio:.82; object-fit:cover; border-radius:clamp(20px,2.8vw,43px); }
.e-campaign-card--contrast { transform:translateY(65px); }
.e-campaign-card--goals { transform:translateY(-35px); }
.e-campaign-card figcaption { display:flex; justify-content:space-between; gap:10px; margin-top:16px; font-size:11px; text-transform:uppercase; letter-spacing:.15em; }
.e-campaign-card figcaption span { color:var(--e-red); }
.e-gallery-note { margin:100px 0 0; color:var(--e-red); font:500 clamp(29px,3vw,45px)/1 Caveat,cursive; transform:rotate(-3deg); }
.e-idea-bridge { padding:80px 0 105px; }
.e-machine { min-height:650px; }
.e-machine .stage { min-height:430px; }
.e-machine .machine-input,.e-machine .machine-output { font-size:clamp(23px,2.4vw,38px); }
.e-machine .machine-output { right:1%; }
.e-machine .ink--machine { left:12%; width:75%; }
.e-machine h2.machine-input { width:min(90%,850px); margin:0; font:400 clamp(32px,3.4vw,54px)/1.08 Vollkorn,Georgia,serif; text-align:center; }
.e-podcast { padding:105px 0 155px; }
.e-podcast-image { margin:0; }
.e-podcast-image img { display:block; width:100%; max-height:850px; object-fit:cover; border-radius:clamp(22px,3vw,45px); }
.e-podcast-image figcaption { display:flex; justify-content:space-between; gap:25px; align-items:center; padding:20px 0 0; font-size:11px; text-transform:uppercase; letter-spacing:.15em; }
.e-podcast-image .e-hand { text-transform:none; letter-spacing:0; transform:rotate(-5deg); }
.e-podcast-slots { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:75px; }
.e-podcast-slots>div { min-height:320px; display:flex; flex-direction:column; padding:clamp(26px,3vw,50px); border:1px dashed #ffffff87; border-radius:30px; }
.e-podcast-slots span { color:var(--e-red); font-size:12px; text-transform:uppercase; letter-spacing:.16em; }
.e-podcast-slots strong { display:block; margin:clamp(38px,5vw,78px) 0 24px; font:400 clamp(28px,3vw,47px)/1.06 Vollkorn,Georgia,serif; }
.e-podcast-slots p { max-width:610px; margin:auto 0 0; color:#d3d3d3; font-size:clamp(15px,1.05vw,18px); line-height:1.72; }
.e-impact { padding:clamp(115px,13vw,200px) 0 150px; }
.e-impact-feature { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,7vw,130px); align-items:center; padding:65px 0 100px; border-bottom:1px solid #1618196b; }
.e-impact-feature strong { position:relative; z-index:1; font:400 clamp(145px,20vw,320px)/.9 Vollkorn,Georgia,serif; }
.e-impact-feature p { max-width:670px; font:400 clamp(27px,2.6vw,42px)/1.3 Vollkorn,Georgia,serif; }
.e-impact-feature svg { position:absolute; left:0; top:10%; width:40%; height:80%; stroke:var(--e-red); stroke-width:3; }
.e-impact-columns { display:grid; grid-template-columns:1fr 1fr; gap:clamp(45px,8vw,140px); padding:100px 0 115px; border-bottom:1px solid #1618196b; }
.e-impact-columns h3 { margin:0 0 36px; font:400 clamp(36px,3.5vw,58px)/1 Vollkorn,Georgia,serif; }
.e-impact-columns ul { list-style:none; margin:0; padding:0; }
.e-impact-columns li { position:relative; padding:17px 0 17px 30px; border-top:1px solid #17191b35; font-size:clamp(16px,1.16vw,19px); line-height:1.55; }
.e-impact-columns li::before { content:'↗'; position:absolute; left:0; color:var(--e-red); }
.e-reflection { max-width:1100px; margin:115px auto 0; text-align:center; }
.e-reflection>span { color:var(--e-red); font-size:12px; text-transform:uppercase; letter-spacing:.18em; font-weight:600; }
.e-reflection blockquote { margin:32px 0 43px; font:400 clamp(29px,3.2vw,53px)/1.29 Vollkorn,Georgia,serif; }
.e-reflection p { max-width:800px; margin:auto; color:#414344; font-size:clamp(16px,1.2vw,19px); line-height:1.8; }
.e-footer { padding:clamp(105px,12vw,180px) 0 45px; }
.e-footer-links { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:40px 0 110px; }
.e-footer-links a { min-height:220px; display:flex; flex-direction:column; gap:20px; padding:clamp(28px,3vw,50px); border:1px solid #ffffffb0; border-radius:clamp(23px,3vw,43px); text-decoration:none; transition:background .25s,transform .25s; }
.e-footer-links a:hover,.e-footer-links a:focus-visible { background:#161819; transform:translateY(-5px); }
.e-footer-links span { color:var(--e-red); font-size:12px; text-transform:uppercase; letter-spacing:.17em; }
.e-footer-links strong { font:400 clamp(39px,4vw,66px)/1 Vollkorn,Georgia,serif; }
.e-footer-bottom { display:flex; justify-content:space-between; gap:25px; padding-top:30px; border-top:1px solid #ffffff70; }
.e-footer-bottom a { text-decoration:none; font-size:13px; }
@media(max-width:900px){ .e-prose--three { grid-template-columns:1fr; gap:25px; max-width:720px; } .e-prose p { font-size:17px; } .e-direction-intro { grid-template-columns:1fr; } .e-direction-intro .e-hand { justify-self:start; } }
@media(max-width:600px){ .theme-bridge { height:760px; } .e-direction,.e-campaigns,.e-podcast,.e-impact { padding:100px 0; } .e-work-intro { padding:80px 0 35px; } .e-platforms { padding:80px 0 110px; } .e-work-header { grid-template-columns:1fr; gap:15px; } .e-work-header h2 { font-size:clamp(44px,11vw,62px); } .e-priorities article { grid-template-columns:55px 1fr; gap:15px; } .e-priority-num { font-size:46px; } .e-priorities h3 { font-size:31px; } .e-prose { margin:42px 0 60px; } .e-interface-board { grid-template-columns:1fr; grid-template-rows:auto; } .e-preview,.e-preview--wide { grid-row:auto; height:300px; } .e-preview--wide { height:410px; } .e-brand-wall { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:85px; } .e-campaign-card { flex:0 0 77%; scroll-snap-align:start; } .e-campaign-card--contrast,.e-campaign-card--goals { transform:none; } .e-gallery-note { margin:0; } .e-mess .stage { min-height:310px; } .e-mess .mess-exit { bottom:-3%; } .e-machine { min-height:520px; } .e-machine .stage { min-height:320px; } .e-machine .machine-input { left:0; top:12%; } .e-machine .machine-output { right:0; top:auto; bottom:9%; } .e-machine .ink--machine { width:95%; left:3%; } .e-podcast-slots,.e-impact-columns { grid-template-columns:1fr; } .e-impact-feature { grid-template-columns:1fr; gap:5px; } .e-impact-feature strong { font-size:clamp(140px,35vw,230px); } .e-impact-feature svg { width:75%; height:55%; } .e-impact-columns { gap:65px; padding:70px 0; } .e-reflection { margin-top:80px; } .e-footer-links { grid-template-columns:1fr; margin-bottom:70px; } .e-footer-links a { min-height:170px; } .e-footer-bottom { flex-direction:column; } }
@media(prefers-reduced-motion:reduce){ .e-footer-links a { transition:none; } }

/* Each drawn bridge reads from top to bottom; its thread overlaps the next
   surface without changing the horizon or its animation. */
.e-illustration-section,.e-idea-bridge { position:relative; z-index:2; overflow:visible; --illustration-progress:0; }
.e-illustration-section>.e-wrap { position:relative; z-index:2; }
.e-illustration-flow { position:absolute; z-index:1; left:50%; top:35px; bottom:-45vh; width:min(34vw,420px); height:calc(100% + 45vh - 35px); overflow:visible; transform:translateX(-50%); pointer-events:none; -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 13.5vh),transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - 13.5vh),transparent 100%); }
.e-illustration-flow path { stroke:url(#e-line-fade); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:1; vector-effect:non-scaling-stroke; }
.e-mess,.e-machine { min-height:105svh; }
.e-mess .stage,.e-machine .stage { min-height:75svh; overflow:visible; }
.e-mess .ink--mess,.e-machine .ink--machine { left:50%; top:7%; width:min(44vw,350px); height:77%; transform:translateX(-50%); }
.e-machine .ink--machine { width:min(46vw,390px); }
.e-mess .mess-word--one { top:10%; left:calc(50% - 230px); }
.e-mess .mess-word--two { top:43%; left:calc(50% + 100px); bottom:auto; }
.e-mess .mess-word--three { top:62%; bottom:auto; right:calc(50% + 85px); }
.e-mess .mess-word--four { top:auto; bottom:13%; left:calc(50% + 95px); }
.e-mess .mess-word { opacity:var(--illustration-progress); transition:none; }
.e-mess .mess-exit { left:50%; right:auto; bottom:0; width:max-content; max-width:100%; text-align:center; transform:translateX(-50%); }
.e-mess .mess-exit { z-index:4; padding:.28em .65em .34em; background:radial-gradient(ellipse at center,rgba(5,6,8,.96) 0%,rgba(5,6,8,.9) 52%,rgba(5,6,8,.45) 74%,transparent 100%); }
.e-mess .experiment-caption { position:relative; z-index:4; width:min(92%,980px); max-width:none; margin:0 auto; padding:22px 55px; border-top:0; background:radial-gradient(ellipse at center,rgba(5,6,8,.96) 0%,rgba(5,6,8,.88) 55%,rgba(5,6,8,.4) 76%,transparent 100%); text-align:center; }
.e-machine .machine-input { top:5%; left:50%; transform:translateX(-50%); }
.e-machine .machine-output { top:auto; bottom:5%; right:50%; transform:translateX(50%); }
.e-machine .note--machine { left:calc(50% + 85px); bottom:33%; }
.e-illustration-section .ink path,.e-idea-bridge .ink path { animation:none!important; }

/* Shared chapter-intro treatment: label, title and lead copy form one centred stack. */
.e-work-intro .e-chapter-heading { display:flex; flex-direction:column; align-items:center; gap:24px; padding-bottom:0; border-bottom:0; text-align:center; }
.e-work-intro .e-chapter-heading > span { order:-1; }
.e-work-intro p { max-width:900px; margin:42px auto 0; text-align:center; }
@media(max-width:700px){ .e-mess,.e-machine { min-height:90svh; } .e-mess .stage,.e-machine .stage { min-height:65svh; } .e-mess .ink--mess,.e-machine .ink--machine { width:min(70vw,320px); height:70%; } .e-illustration-flow { width:min(60vw,330px); } .e-mess .mess-word--one { left:1%; } .e-mess .mess-word--two { left:62%; } .e-mess .mess-word--three { right:55%; } .e-mess .mess-word--four { left:58%; } .e-machine .note--machine { left:56%; } }
