/* 31 Oct: the epic homepage. Hero with a live phone, Australia lighting up, five scroll chapters.
   Default (no JS / reduced motion) = the finished still picture. Every animation sits inside no-preference. */
.ep,.ep-map,.ep-ch-wrap{--e-text:#f7f4ef;--e-mut:#b4aca6;--e-soft:#80786f;--e-line:#ffffff17;--e-coral:#ff8a63;--e-coral2:#ff6a3c;--e-mint:#c4edaa;--e-blue:#59b8f0;--e-pink:#e0668f;--e-green:#4cd39a;--e-amber:#ffc15a;--e-card:#1d1917;--e-card2:#26211f}
.landing .ep{position:relative;overflow:hidden;overflow:clip;isolation:isolate;color:var(--e-text);background:radial-gradient(60% 55% at 78% 42%,#ff7a4a26,transparent 70%),radial-gradient(45% 50% at 8% 95%,#2f6b5430,transparent 70%),#0f0d0c;min-height:calc(100svh - 94px)}
.ep-bg{position:absolute;inset:-4% -2%;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#0006 34%,#000 62%);mask-image:linear-gradient(90deg,transparent 0,#0006 34%,#000 62%);transform:translate3d(calc(var(--mx,0)*-14px),calc(var(--sy,0)*.12px + var(--my,0)*-10px),0)}
.ep-bg svg{width:100%;height:100%;display:block}
.ep-bg .rl{fill:none;stroke-linecap:round;stroke-linejoin:round}
.ep-bg .rl.base{stroke-width:1.6;opacity:.22}
.ep-bg .rl.sig{stroke-width:3;stroke-dasharray:60 1400;opacity:.9}
.ep-bg .stn{fill:#0f0d0c;stroke-width:2}
.ep-grid{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#ffffff14 1px,transparent 1.4px);background-size:34px 34px;-webkit-mask-image:radial-gradient(70% 70% at 70% 45%,#000,transparent 80%);mask-image:radial-gradient(70% 70% at 70% 45%,#000,transparent 80%)}
.ep-in{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(8px,3vw,48px);max-width:1320px;margin:0 auto;padding:clamp(36px,6vh,84px) 56px clamp(40px,7vh,90px)}
.ep-copy{position:relative;z-index:2}
.ep-pill{display:inline-flex;align-items:center;gap:10px;margin:0 0 clamp(18px,3vh,30px);padding:8px 16px 8px 12px;border-radius:99px;border:1px solid #ffffff22;background:#ffffff0d;font-size:13px;font-weight:600;color:var(--e-text);letter-spacing:-.005em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ep-pill i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--e-green);flex:none}
.ep-pill i:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--e-green);opacity:0}
.ep-pill span{color:var(--e-mut);font-weight:500}
.landing .ep h1{margin:0;font-size:clamp(52px,min(7.2vw,14vh),116px);line-height:.94;letter-spacing:-.048em;word-spacing:.12em;font-weight:700;color:#fff;text-wrap:nowrap}
.landing .ep h1 .ln{display:block}
html body.landing .ep h1 em{font-style:normal;background:linear-gradient(100deg,#ffc29a 0%,#ff8a63 38%,#ff5f4a 70%,#ffb07a 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-right:.06em}
.ep .lede{margin:clamp(20px,3.2vh,32px) 0 0;max-width:34ch;font-size:clamp(17px,1.5vw,21px);line-height:1.55;color:var(--e-mut);letter-spacing:-.01em}
.ep .lede b{color:var(--e-text);font-weight:600}
.ep .try.ep-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin:clamp(26px,4vh,40px) 0 0}
.ep .ep-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:99px;font-size:16px;font-weight:650;letter-spacing:-.015em;text-decoration:none;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s;white-space:nowrap}
.ep .ep-btn.go{background:linear-gradient(135deg,#ff9a6c,#ff6a3c);color:#2b0d05;box-shadow:0 10px 34px -8px #ff6a3caa,inset 0 1px 0 #ffffff66}
.ep .ep-btn.go:hover{transform:translateY(-2px) scale(1.015);box-shadow:0 18px 44px -8px #ff6a3ccc,inset 0 1px 0 #ffffff66;color:#2b0d05;background:linear-gradient(135deg,#ffa57c,#ff7647)}
.ep .ep-btn.ghost{background:#ffffff0f;color:var(--e-text);box-shadow:inset 0 0 0 1.5px #ffffff30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.ep .ep-btn.ghost:hover{background:#ffffff1c;color:#fff;transform:translateY(-2px)}
.ep .ep-btn svg{width:18px;height:18px;flex:none}
.ep-sub{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:22px 0 0;font-size:14px;color:var(--e-mut)}
.ep-soon{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 10px;border-radius:99px;background:#ffffff0c;border:1px dashed #ffffff33;color:var(--e-text);text-decoration:none;font-weight:600;font-size:13.5px}
.ep-soon svg{width:15px;height:15px;color:var(--e-coral)}
.ep-soon:hover{background:#ffffff16;color:#fff}
.ep .hero-film{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;border:0;background:none;color:var(--e-mut);font:inherit;font-size:14px;cursor:pointer}
.ep .hero-film:hover{color:#fff}
.ep .hero-film .hf-play{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff1a;position:relative}
.ep .hero-film .hf-play:after{content:"";border-left:8px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:2px}
.ep .hero-film .hf-len{opacity:.6}
.ep-trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin:28px 0 0;padding:0;list-style:none;font-size:13px;color:var(--e-soft);font-weight:500}
.ep-trust li:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--e-coral);margin-right:9px;vertical-align:middle;opacity:.8}
.ep .try-ios{display:none;margin:14px 0 0;font-size:14px;color:var(--e-mut);max-width:40ch}
.is-ios .ep .try-ios{display:block}

/* ---------- the phone ---------- */
.ep-stage{position:relative;display:grid;place-items:center;min-height:300px;perspective:1400px}
.ep-glow{position:absolute;left:50%;top:50%;width:min(620px,110%);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(closest-side,#ff7a4a55,#ff5a4a1a 55%,transparent);filter:blur(10px);pointer-events:none;z-index:0}
.dev{--s:1.08;position:relative;z-index:1;width:calc(300px*var(--s));height:calc(620px*var(--s));transform:rotateY(calc(var(--mx,0)*9deg - 6deg)) rotateX(calc(var(--my,0)*-6deg + 2deg));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.dev-in{position:relative;width:300px;height:620px;transform:scale(var(--s));transform-origin:0 0;border-radius:50px;padding:10px;background:linear-gradient(145deg,#4a4540,#1a1715 30%,#0b0a09 60%,#3a3531);box-shadow:0 0 0 1.5px #ffffff22,0 0 0 3px #0a0908,0 50px 100px -20px #000d,0 30px 90px -10px #ff6a3c38,inset 0 0 0 1px #ffffff1a}
.dev-in:before,.dev-in:after{content:"";position:absolute;width:4px;border-radius:3px;background:#2a2623;left:-4px}
.dev-in:before{top:118px;height:52px}.dev-in:after{top:182px;height:52px}
.dev-btn{position:absolute;right:-4px;top:150px;width:4px;height:84px;border-radius:3px;background:#2a2623}
.dev-screen{position:relative;width:280px;height:600px;border-radius:41px;overflow:hidden;background:#15110f;color:#fff;font-size:14px;isolation:isolate}
/* hero floating chips */
.ep-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:11px 16px 11px 12px;border-radius:18px;background:#201b19d9;border:1px solid #ffffff1f;box-shadow:0 18px 40px -10px #000c;font-size:13.5px;font-weight:650;color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate3d(calc(var(--mx,0)*var(--px,20px)),calc(var(--my,0)*var(--px,20px)),0)}
.ep-chip i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font-style:normal;font-size:15px}
.ep-chip small{display:block;font-size:11.5px;color:var(--e-mut);font-weight:500;margin-top:1px}
.ep-chip.c1{left:-12%;top:12%;--px:34px}.ep-chip.c1 i{background:#59b8f02e;color:var(--e-blue)}
.ep-chip.c2{right:-9%;top:46%;--px:-26px}.ep-chip.c2 i{background:#4cd39a2e;color:var(--e-green)}

.ep-scroll{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;letter-spacing:.18em;color:var(--e-soft);text-decoration:none;font-weight:600;z-index:3}
.ep-scroll i{width:1.5px;height:30px;background:linear-gradient(#ffffff80,transparent)}

/* ---------- map ---------- */
.landing .ep-map{position:relative;padding:clamp(88px,11vw,160px) 0;background:linear-gradient(#0f0d0c,#0c0f0e 50%,#0f0d0c);overflow:hidden;overflow:clip}
.ep-map:before{content:"";position:absolute;left:50%;top:50%;width:900px;height:900px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,#ff7a4a1c,transparent);pointer-events:none}
.ep-map-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(24px,5vw,80px);max-width:1180px;margin:0 auto;padding:0 56px}
.ep-map-art{position:relative}
.ep-au{width:100%;height:auto;display:block;overflow:visible}
.ep-au .st{fill:#ffffff0d;stroke:#ffffff3a;stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ep-au .st-QLD{fill:#ff8a63;stroke:#ffc7a3;filter:drop-shadow(0 0 12px #ff7a3acc)}
.ep-au .arc-l{fill:none;stroke:#ffc7a3;stroke-width:1.4;stroke-linecap:round;stroke-dasharray:3 4;opacity:.42}
.ep-au .cap{fill:#fff}.ep-au .capl{font-size:8.5px;font-weight:700;fill:#ffffffcc;letter-spacing:.02em}
.ep-au .pin{fill:#fff;stroke:var(--e-coral);stroke-width:3}.ep-au .pr{fill:none;stroke:var(--e-coral);stroke-width:1.5;transform-box:fill-box;transform-origin:center}
.ep-map-copy .section-label{color:var(--e-mint);opacity:.85;margin-bottom:20px}
.landing .ep-map-copy h2{margin:0;font-size:clamp(36px,3.9vw,60px);line-height:1.03;letter-spacing:-.05em;color:#fff}
.ep-map-copy h2 .stop{color:var(--e-coral)}
.ep-map-copy>p{margin:22px 0 0;max-width:44ch;font-size:17px;line-height:1.65;color:var(--e-mut)}
.ep-tick{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:2px}
.ep-tick li{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--e-line);font-size:17px;font-weight:600;letter-spacing:-.02em;color:#ffffff66}
.ep-tick li i{width:10px;height:10px;border-radius:50%;background:#ffffff2a;flex:none}
.ep-tick li b{margin-left:auto;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--e-soft)}
.ep-tick li.live{color:#fff}.ep-tick li.live i{background:var(--e-green);box-shadow:0 0 14px var(--e-green)}.ep-tick li.live b{color:var(--e-green)}

.ep-fine{margin:18px 0 0;font-size:14px;color:var(--e-soft)}.ep-fine a{color:#fff;text-underline-offset:3px}

/* ---------- chapters ---------- */
.landing .ep-ch-wrap{position:relative;background:#0f0d0c;padding:clamp(40px,6vw,90px) 0 clamp(20px,4vw,60px)}
.ep-ch-head{max-width:760px;margin:0 auto clamp(30px,5vw,60px);padding:0 22px;text-align:center}
.ep-ch-head .section-label{color:var(--e-mint);opacity:.85;margin-bottom:20px}
.landing .ep-ch-head h2{margin:0;font-size:clamp(40px,5.6vw,84px);line-height:1;letter-spacing:-.055em;color:#fff}
.ep-ch-head h2 .stop{color:var(--e-coral)}
.ep-ch{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(20px,6vw,100px);max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,96px) 56px}
.ep-ch+.ep-ch{border-top:1px solid #ffffff0d}
.ep-ch:nth-of-type(even) .ep-ch-txt{order:2}
.ep-num{display:block;margin-bottom:18px;font-size:13px;letter-spacing:.2em;font-weight:700;color:var(--e-coral)}
.landing .ep-ch h3{margin:0;font-size:clamp(34px,4.4vw,62px);line-height:1.02;letter-spacing:-.05em;font-weight:700;color:#fff}
.ep-ch h3 em{font-style:normal;color:var(--e-coral)}
.ep-ch-txt p{margin:22px 0 0;max-width:40ch;font-size:clamp(16px,1.35vw,19px);line-height:1.65;color:var(--e-mut)}
.ep-ch-txt .ep-fine{margin-top:16px}
.ep-ch-art{position:relative;display:grid;place-items:center;min-height:300px}
.ep-ch-art:before{content:"";position:absolute;left:50%;top:50%;width:min(520px,100%);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(closest-side,#ff7a4a30,transparent);pointer-events:none}
.ep-ch-art .dev{--s:.84;transform:rotateY(calc(var(--mx,0)*6deg)) rotateX(calc(var(--my,0)*-4deg))}
.ep-ch:nth-of-type(odd) .ep-ch-art .dev{transform:rotateY(calc(var(--mx,0)*6deg - 5deg))}
.ep-ch:nth-of-type(even) .ep-ch-art .dev{transform:rotateY(calc(var(--mx,0)*6deg + 5deg))}
/* chapter scenes */
.ep-end{max-width:760px;margin:0 auto;padding:clamp(56px,8vw,110px) 22px clamp(40px,6vw,80px);text-align:center;border-top:1px solid #ffffff0d}
.landing .ep-end h2{margin:0;font-size:clamp(38px,5.4vw,78px);line-height:1;letter-spacing:-.055em;color:#fff}
.ep-end h2 em{font-style:normal;color:var(--e-coral)}
.ep-end .ep-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:34px}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
 .ep-bg .rl.sig{animation:sig 9s linear infinite;animation-delay:var(--d,0s)}
 @keyframes sig{from{stroke-dashoffset:1460}to{stroke-dashoffset:0}}
 .ep-bg .stn{animation:stn 4s ease-in-out infinite;animation-delay:var(--d,0s)}
 @keyframes stn{50%{transform:scale(1.25);opacity:.7}}
 .ep-bg .stn{transform-box:fill-box;transform-origin:center}
 .ep-pill i:after{animation:ping 2.2s ease-out infinite}
 @keyframes ping{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.9);opacity:0}}
 html body.landing .ep h1 em{animation:shine 7s ease-in-out infinite alternate}
 @keyframes shine{to{background-position:100% 0}}
 .ep .rise{animation:rise 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--rd,.1s)}
 @keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
 .ep-stage{animation:pop 1.3s cubic-bezier(.2,.8,.2,1) .15s both}
 @keyframes pop{from{opacity:0;transform:translateY(60px) scale(.94)}to{opacity:1;transform:none}}
 .ep-chip{animation:bob 6s ease-in-out infinite;animation-delay:var(--bd,0s)}
 .ep-chip.c2{--bd:-2s}
 @keyframes bob{50%{margin-top:-10px}}
 .ep-glow{animation:breathe 6s ease-in-out infinite}
 @keyframes breathe{50%{opacity:.7;transform:translate(-50%,-50%) scale(1.07)}}
 .ep.off *,.ep.off *:before,.ep.off *:after{animation-play-state:paused!important}
 /* chapters: play while in view */
 .ep-ch:not(.live) *{animation-play-state:paused!important}
 .ep-ch.pre .ep-ch-txt>*{opacity:0;transform:translateY(34px)}
 .ep-ch .ep-ch-txt>*{transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
 .ep-ch .ep-ch-txt>*:nth-child(2){transition-delay:.08s}.ep-ch .ep-ch-txt>*:nth-child(3){transition-delay:.16s}.ep-ch .ep-ch-txt>*:nth-child(4){transition-delay:.24s}
 .ep-ch.pre .ep-ch-art{opacity:0;transform:translateY(60px) scale(.95)}
 .ep-ch .ep-ch-art{transition:opacity 1.1s cubic-bezier(.2,.8,.2,1) .1s,transform 1.1s cubic-bezier(.2,.8,.2,1) .1s}
 .ep-ch-head.pre,.ep-map-copy.pre,.ep-end.pre{opacity:0;transform:translateY(30px)}
 .ep-ch-head,.ep-map-copy,.ep-end{transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
 .ep-map-art.pre{opacity:0;transform:scale(.92)}.ep-map-art{transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}
 .ep-au .st{opacity:1}
 .ep-map-art.go .st:not(.st-QLD){animation:lit 9s ease infinite;animation-delay:calc(var(--i)*.9s + .8s)}
 @keyframes lit{0%{fill:#ffffff0d;stroke:#ffffff3a;filter:none}8%,100%{fill:#ff8a63;stroke:#ffc7a3;filter:drop-shadow(0 0 10px #ff7a3a99)}}
 .ep-map-art.go .arc-l{stroke-dashoffset:0;animation:dash 1.5s linear infinite}
 @keyframes dash{to{stroke-dashoffset:-14}}
 .ep-au .pr{animation:prr 2.6s ease-out infinite}.ep-au .pr.b{animation-delay:1.3s}
 @keyframes prr{0%{transform:scale(.5);opacity:.9}100%{transform:scale(3.4);opacity:0}}
 .ep-map-art:not(.go) *{animation-play-state:paused}
 .ep-tick li{opacity:.0;transform:translateX(24px);transition:opacity .6s,transform .6s,color .6s}
 .ep-tick.go li{opacity:1;transform:none;transition-delay:calc(var(--i)*.55s + .3s)}
}
@media (prefers-reduced-motion:reduce){.ep-au .st:not(.st-QLD){fill:#ff8a63;stroke:#ffc7a3}.ep-tick li{opacity:1}}

/* ---------- screens ---------- */
@media (max-width:1100px){.ep-in{padding-left:36px;padding-right:36px}.ep-map-grid,.ep-ch{padding-left:36px;padding-right:36px}.dev{--s:.94}}
@media (max-width:899px){
 .landing .ep{min-height:0}
 .ep-in{grid-template-columns:minmax(0,1fr);gap:20px;padding:34px 22px 56px;text-align:left}
 .landing .ep h1{font-size:clamp(50px,15.4vw,92px)}
 .ep-stage{margin-top:14px}
 .dev{--s:.84}
 .ep-chip.c1,.ep-chip.c2{right:-2%;top:42%}
 .ep-trust,.ep .hero-film,.ep-pill span{display:none}
 .ep-pill{margin-bottom:16px}.ep .lede{margin-top:16px}.ep .try.ep-cta{margin-top:22px}.ep-sub{margin-top:14px}
 .ep .ep-btn{min-height:52px}
 .ep-scroll{display:none}
 .ep-map-grid{grid-template-columns:minmax(0,1fr);padding:0 22px}
 .ep-ch{grid-template-columns:minmax(0,1fr);padding:56px 22px;gap:28px}
 .ep-ch:nth-of-type(even) .ep-ch-txt{order:0}
 .ep-ch-art .dev{--s:.82}
 .ep .ep-btn{width:100%}
 .ep-chip{padding:9px 12px 9px 9px;font-size:12.5px}
}
@media (max-width:420px){.dev{--s:.8}.ep-chip.c1{top:2%;left:-3%}.ep-chip.c2{top:38%;right:-4%}.ep-chip small{display:none}}
@media (max-height:780px) and (min-width:900px){.dev{--s:.92}}

.ep .nw,.ep-map .nw,.ep-ch-wrap .nw{white-space:nowrap}

/* ---- real captures (31 Oct, take 2): the app's own screens, bright, in the device frame ---- */
.dev-screen{background:#131110}
.shot{position:relative;width:100%;height:100%;background:#131110}
.shot img,.shot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.shot video{opacity:0;transition:opacity .25s}.shot video.on{opacity:1}
.hss{position:absolute;inset:0}
.hs{position:absolute;inset:0;visibility:hidden}.hs.on{visibility:visible}
@media (prefers-reduced-motion:no-preference){.hs.on{animation:hsin .3s ease both}@keyframes hsin{from{opacity:0}}}
.ep-cap-dot{display:none}
.hero-steps{position:relative;z-index:4;margin-top:20px;width:max-content;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.ep-stage .dev.hero-dev{--s:1}
.hdots{display:flex;gap:6px;padding:7px 10px;border-radius:99px;background:#1d1917cc;border:1px solid #ffffff1c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hd{position:relative;width:28px;height:18px;border:0;padding:0;background:none;cursor:pointer}
.hd i{position:absolute;left:3px;right:3px;top:7px;height:4px;border-radius:4px;background:#ffffff33;overflow:hidden}
.hd.on i{background:#ffffff40}.hd.on i:after{content:"";position:absolute;inset:0;transform-origin:left;background:var(--e-coral);transform:scaleX(var(--p,1))}
.hd:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:6px}
.hcap{margin:0;font-size:13px;color:#fff;font-weight:600;text-align:center;max-width:300px;line-height:1.35}.hcap em{display:block;margin-top:2px;font-style:normal;font-size:11.5px;color:var(--e-soft);font-weight:500}
.ep-chip b{display:block;font-size:13.5px;font-weight:650}
.ep-chip{transition:opacity .2s}
/* real trips */
.landing .ep-real{background:#0f0d0c;padding:clamp(24px,4vw,56px) 0 clamp(8px,2vw,24px)}
.ep-real-in{max-width:1180px;margin:0 auto;padding:0 56px}
.ep-real .ep-ch-head{padding:0;margin-bottom:clamp(26px,4vw,46px)}
.landing .ep-real .ep-ch-head h2{font-size:clamp(30px,4vw,56px)}
.ep-real-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ep-real-card{padding:26px;border-radius:24px;background:#1b1715;border:1px solid #ffffff14}
.ep-real-card .rk{margin:0 0 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--e-coral)}
.landing .ep-real-card h3{margin:0 0 10px;font-size:20px;line-height:1.2;letter-spacing:-.03em;color:#fff;font-weight:650}
.ep-real-card p:not(.rk){margin:0;font-size:15px;line-height:1.65;color:var(--e-mut)}
.ep-real-note{margin:18px 0 0;text-align:center}
@media (prefers-reduced-motion:no-preference){.ep-real-card.pre{opacity:0;transform:translateY(30px)}.ep-real-card{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.ep-real-card:nth-child(2){transition-delay:.1s}.ep-real-card:nth-child(3){transition-delay:.2s}}
@media (max-width:899px){.ep-real-in{padding:0 22px}.ep-real-list{grid-template-columns:1fr}.ep-stage .dev.hero-dev{--s:.84}}
/* the day: the video inside is a bare screen with rounded corners, no extra tint */
.landing .day-clip{background:#131110;line-height:0;aspect-ratio:1170/2532}
.landing .day-clip .shot{display:block}
.landing .calm-steps figure{background:#131110}
@media (max-width:899px){.ep-chip.c1{display:none}.ep-chip.c2{right:0;top:30%}.ep-chip{padding:8px 11px 8px 8px}}

/* 1 Nov v3: every screen once. Every-mode strip, the text-thread phone, status pills; the hero no longer has a pill, chips or trust row. */
.ep-modes{max-width:1180px;margin:0 auto;padding:clamp(28px,4vw,56px) 56px;border-top:1px solid #ffffff0d;text-align:center}
.landing .ep-modes h3{margin:0;font-size:clamp(26px,3vw,40px);line-height:1.1;letter-spacing:-.045em;font-weight:700;color:#fff}.ep-modes h3 em{font-style:normal;color:var(--e-coral)}
.ep-modes>p{margin:12px auto 0;max-width:46ch;font-size:16px;line-height:1.6;color:var(--e-mut)}
.ep-modes ul{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:18px}
.ep-modes li{flex:0 1 340px;min-width:0}
.ep-modes figure{margin:0;border-radius:22px;overflow:hidden;background:#131110;border:1px solid #ffffff14;text-align:left}
.ep-modes .crop{position:relative;aspect-ratio:340/232;overflow:hidden}
.ep-modes .crop img{position:absolute;left:0;top:-30%;width:100%;height:auto;display:block}.ep-modes .crop.f2 img{top:-39%}
.ep-modes figcaption{padding:12px 16px 14px;font-size:13px;font-weight:600;color:#fff;border-top:1px solid #ffffff14}
.sms{position:absolute;inset:0;display:flex;flex-direction:column;background:#131110;color:#fff;font:500 13px/1.35 -apple-system,"Plus Jakarta Sans",system-ui,sans-serif}
.sms-top{display:flex;flex-direction:column;align-items:center;gap:2px;padding:30px 12px 7px;background:#1c1917;border-bottom:1px solid #ffffff14}
.sms-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(145deg,#ff8a63,#ff6a3c);font-weight:800;font-size:14px}
.sms-top b{font-size:12px}.sms-top small{font-size:9.5px;color:#9a928b}
.sms-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px 9px 14px}
.sms .b{margin:0;max-width:90%;padding:6px 10px;border-radius:15px;font-size:11.8px;line-height:1.3}
.sms .b.in{align-self:flex-start;background:#2a2624;border-bottom-left-radius:5px}
.sms .b.out{align-self:flex-end;background:#2f7cf6;border-bottom-right-radius:5px}
.ep-sms-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px;max-width:46ch}
.ep-sms-list li{display:grid;gap:3px;padding:14px 16px;border-radius:16px;background:#1b1715;border:1px solid #ffffff14}
.ep-sms-list b{font-size:16px;color:#fff;font-weight:650}.ep-sms-list li>span:last-child{font-size:14px;line-height:1.55;color:var(--e-mut)}
.ep-sms-list .st{justify-self:start;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:99px}
.ep-sms-list .st.live{background:#4cd39a26;color:var(--e-green)}.ep-sms-list .st.soon{background:#ffc15a26;color:var(--e-amber)}
@media (max-width:899px){.ep-modes{padding:32px 22px}.ep-modes li{flex-basis:100%}}
/* 3 Nov: laptop screens (~880 px tall) — shrink the hero so the headline, buttons and the whole phone fit without scrolling */
@media (min-width:900px) and (max-height:1000px){.landing .ep h1{font-size:clamp(48px,min(5.6vw,10.5vh),96px)}.ep-in{padding-top:clamp(20px,3vh,40px);padding-bottom:clamp(24px,4vh,48px)}.ep .lede{font-size:clamp(16px,1.25vw,19px);margin-top:18px}.ep .try.ep-cta{margin-top:22px}.ep-pill{margin-bottom:14px}.ep-stage .dev.hero-dev{--s:.78}}

/* 3 Nov: "New tour coming soon" dialog (index.html #film). Page tokens from style.css, so it follows light/dark. */
.ep .hero-film .hf-bell{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--e-coral);box-shadow:0 0 0 4px #ff8a6326}
.film-dlg.tour-dlg{width:min(440px,calc(100vw - 32px));background:var(--surface);color:var(--text);border-radius:20px;overflow:visible;box-shadow:var(--shadow)}
.tour-card{padding:30px 28px 24px}
.tour-card h2{margin:0 0 8px;font-size:24px;line-height:1.2;letter-spacing:-.01em;padding-right:36px}
.tour-lede{margin:0 0 20px;color:var(--muted);font-size:16px;line-height:1.5}
.tour-by{display:inline-flex;padding:3px;border-radius:99px;background:var(--surface-2);margin-bottom:16px}
.tour-by button{font:inherit;font-size:14px;font-weight:600;min-height:40px;padding:0 20px;border:0;border-radius:99px;background:transparent;color:var(--muted);cursor:pointer}
.tour-by button[aria-pressed=true]{background:var(--text);color:var(--bg)}
.tour-by button:focus-visible,.tour-go:focus-visible,.tour-ok input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tour-lab{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
#tour-in{width:100%;box-sizing:border-box;min-height:48px;padding:0 14px;font:inherit;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--field-line);border-radius:12px}
#tour-in:focus{outline:2px solid var(--accent);outline-offset:1px}
#tour-in[aria-invalid=true]{border-color:var(--bad)}
.tour-ok{display:flex;gap:12px;align-items:flex-start;margin:16px 0 18px;font-size:14px;line-height:1.45;cursor:pointer}
.tour-ok input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--accent)}
.tour-go{width:100%;min-height:48px;border:0;border-radius:12px;background:var(--accent);color:var(--on-accent);font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.tour-go:disabled{opacity:.8;cursor:default}
.tour-msg{min-height:22px;margin:10px 0 0;font-size:14px;color:var(--muted)}
.tour-msg.bad{color:var(--bad)}
.tour-fine{margin:6px 0 0;font-size:12px;color:var(--muted)}
.tour-fine a{color:inherit}
.tour-done{padding:6px 0 4px;outline:0}
.tour-done p{margin:0;color:var(--muted);font-size:16px;line-height:1.5}
.film-dlg.tour-dlg .film-x{background:var(--surface-2);color:var(--text);top:12px;right:12px;width:40px;height:40px}
.film-dlg.tour-dlg::backdrop{background:rgba(10,8,7,.7)}
