/* Emperian · Apple-style layout on the Emperian deck theme.
   Layout: centred full-width chapters, one idea per screen, lots of air, big tight type. */
:root{
  --navy:#061331; --navy-2:#0B2160; --navy-3:#0A1A47; --blue:#1D4ED8; --sky:#7FB2FF;
  --orange:#FF7A1A; --orange-deep:#E4550C; --amber:#FFB561; --green:#86EFAC;
  --white:#FFFFFF; --soft:rgba(255,255,255,.72); --dim:rgba(255,255,255,.52); --line:rgba(255,255,255,.14);
  --panel:rgba(255,255,255,.06); --ink:#0B1530; --ink-soft:#5B6785;
  --display:"Inter Tight",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut-l:max(20px,env(safe-area-inset-left,0px)); --gut-r:max(20px,env(safe-area-inset-right,0px));
  --wrap:1120px; --nav-h:52px;
  --ease:cubic-bezier(.22,.61,.21,1);
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{background:var(--navy);scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);-webkit-text-size-adjust:100%}
body{background:var(--navy);color:var(--white);font-family:var(--body);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:41;background:var(--navy)}
img,video{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:10px}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-left:var(--gut-l);padding-right:var(--gut-r)}
.narrow{max-width:820px}
.center{text-align:center}

/* ---------- nav: thin translucent bar ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(6,19,49,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color .3s}
.nav.scrolled{border-bottom-color:var(--line)}
.nav .wrap{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:16px}
.mark{font:800 20px/1 var(--display);letter-spacing:-.025em;text-decoration:none}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-links a:not(.pill){font:500 14px/1 var(--body);color:var(--soft);text-decoration:none;transition:color .2s}
.nav-links a:not(.pill):hover{color:#fff}
.nav-links .hide-sm{display:none}
@media (min-width:760px){.nav-links .hide-sm{display:inline}}

/* ---------- type ---------- */
.eyebrow{font:600 clamp(15px,1.3vw,19px)/1.3 var(--display);color:var(--amber);letter-spacing:-.005em}
.display{font:800 clamp(46px,9.2vw,128px)/.98 var(--display);letter-spacing:-.045em;text-wrap:balance}
.h2{font:800 clamp(36px,6vw,80px)/1.02 var(--display);letter-spacing:-.04em;text-wrap:balance}
.h3{font:700 clamp(24px,2.6vw,34px)/1.12 var(--display);letter-spacing:-.025em;text-wrap:balance}
.lead{font:500 clamp(19px,2vw,26px)/1.4 var(--body);color:var(--soft);letter-spacing:-.01em;text-wrap:balance}
.hot{background:linear-gradient(100deg,#FFB561,#FF7A1A 55%,#FF5A1F);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.08em}

/* ---------- buttons ---------- */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;font:600 16px/1 var(--body);text-decoration:none;color:#fff;background:linear-gradient(100deg,var(--orange-deep),var(--orange) 55%,#FF9440);box-shadow:0 8px 28px -10px rgba(255,122,26,.85);transition:transform .25s var(--ease),box-shadow .25s,filter .25s;white-space:nowrap}
.pill:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 12px 36px -10px rgba(255,122,26,1)}
.pill.sm{min-height:34px;padding:0 16px;font-size:14px;box-shadow:none}
.pill.lg{min-height:56px;padding:0 32px;font-size:18px}
.link{display:inline-flex;align-items:center;gap:4px;font:500 clamp(17px,1.5vw,19px)/1 var(--body);color:var(--sky);text-decoration:none;background:none;border:0;cursor:pointer;padding:10px 4px}
.link:hover{text-decoration:underline;text-underline-offset:4px}
.link svg{width:14px;height:14px;transition:transform .2s}
.link:hover svg{transform:translateX(2px)}
.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 26px;margin-top:34px}

/* ---------- sections ---------- */
.chapter{position:relative;padding-block:clamp(88px,13vw,168px)}
.chapter.tight{padding-block:clamp(64px,9vw,120px)}
.chapter.alt{background:var(--navy-3)}
.chapter + .chapter:not(.alt):not(.book){border-top:1px solid var(--line)}
.head{max-width:900px;margin-inline:auto;text-align:center;display:grid;gap:18px}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding-top:clamp(56px,9vw,112px);padding-bottom:clamp(72px,10vw,140px);isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(50% 40% at 85% 8%,rgba(255,122,26,.34),transparent 70%),
  radial-gradient(55% 45% at 8% 60%,rgba(59,130,246,.42),transparent 70%),
  linear-gradient(180deg,#061331 0%,#0B2160 58%,#061331 100%)}
.hero .head{gap:22px;max-width:1120px}
.hero .lead{max-width:30ch;margin-inline:auto}

/* VSL stage */
.stage{margin-top:clamp(48px,7vw,88px)}
.vsl{position:relative;max-width:1080px;margin-inline:auto;aspect-ratio:16/9;border-radius:clamp(18px,2.4vw,32px);overflow:hidden;background:#000;box-shadow:0 60px 140px -50px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.12);transform:scale(var(--s,1));transform-origin:50% 0;will-change:transform}
.vsl video{width:100%;height:100%;object-fit:contain;background:#000}
.vsl .disc{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;border:0;background:rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.35) inset;transition:transform .3s var(--ease),background .3s,opacity .3s;z-index:3}
.vsl .disc:hover{transform:scale(1.07);background:var(--orange)}
.vsl .disc svg{width:30px;height:30px;margin-left:4px}
.vsl .len{position:absolute;left:16px;bottom:16px;z-index:3;font:600 14px/1 var(--body);padding:9px 14px;border-radius:999px;background:rgba(6,19,49,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:opacity .3s}
.vsl.playing .disc,.vsl.playing .len{opacity:0;pointer-events:none}

/* three promises under the film */
.promises{display:grid;grid-template-columns:1fr;gap:28px;max-width:1000px;margin:clamp(48px,6vw,72px) auto 0;text-align:center}
.promise{display:grid;justify-items:center;gap:10px;min-width:0}
.promise .ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,122,26,.14);color:var(--orange)}
.promise .ic svg{width:22px;height:22px}
.promise b{font:700 clamp(19px,1.6vw,22px)/1.25 var(--display);letter-spacing:-.015em;max-width:22ch;text-wrap:balance}
@media (min-width:760px){.promises{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}

/* ---------- trust ---------- */
.feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,20px);max-width:960px;margin:clamp(40px,5vw,64px) auto 0}
.fcard{background:#fff;border-radius:clamp(16px,2vw,26px);padding:clamp(14px,2vw,28px) 10px clamp(14px,1.6vw,22px);display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0}
.fcard .lg{height:clamp(52px,8vw,104px);width:100%;display:flex;align-items:center;justify-content:center}
.fcard img{max-height:100%;max-width:86%;object-fit:contain}
.badge{font:700 clamp(9.5px,1vw,12px)/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:999px;color:#fff;background:var(--navy-2);text-align:center}
.badge.pv{background:linear-gradient(90deg,var(--orange-deep),var(--orange))}
.strip{margin-top:clamp(28px,4vw,48px);overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.track{display:flex;gap:14px;width:max-content;animation:roll 50s linear infinite}
.strip:hover .track{animation-play-state:paused}
.chip{flex:none;width:140px;height:74px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;padding:10px 16px}
.chip img{max-width:100%;max-height:100%;object-fit:contain}
@keyframes roll{to{transform:translateX(calc(-50% - 7px))}}
@media (min-width:900px){.chip{width:180px;height:92px}}

/* big numbers */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,2vw,16px);max-width:1000px;margin:clamp(64px,8vw,104px) auto 0;text-align:center}
.stat{min-width:0}
.stat b{display:block;font:800 clamp(23px,7.4vw,112px)/1 var(--display);letter-spacing:-.05em;white-space:nowrap}
.stat span{display:block;margin-top:10px;font:500 clamp(14px,1.5vw,19px)/1.3 var(--body);color:var(--soft)}

/* ---------- results carousel ---------- */
.rail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.rail-head .h2{max-width:14ch}
.rail-nav{display:none;gap:12px;flex:none}
.rail-nav button{width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.1);display:grid;place-items:center;cursor:pointer;transition:background .2s,opacity .2s}
.rail-nav button:hover{background:rgba(255,255,255,.18)}
.rail-nav button:disabled{opacity:.35;cursor:default}
.rail-nav svg{width:20px;height:20px}
@media (min-width:760px){.rail-nav{display:flex}}
.rail{display:flex;gap:clamp(14px,1.6vw,22px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-top:clamp(36px,4vw,56px);padding-block:8px 24px;
  padding-left:max(var(--gut-l),calc((100vw - var(--wrap)) / 2 + 20px));padding-right:max(var(--gut-r),calc((100vw - var(--wrap)) / 2 + 20px));
  scroll-padding-left:max(var(--gut-l),calc((100vw - var(--wrap)) / 2 + 20px))}
.rail::-webkit-scrollbar{display:none}
.pc{flex:none;width:min(76vw,320px);scroll-snap-align:start;display:flex;flex-direction:column;text-align:left;border:0;padding:0;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);border-radius:26px;overflow:hidden;cursor:zoom-in;transition:transform .35s var(--ease),background .3s}
.pc:hover{transform:scale(1.015);background:rgba(255,255,255,.1)}
.pc[data-video]{cursor:pointer}
.pc .th{position:relative;display:block;aspect-ratio:4/5;background:#fff;overflow:hidden}
.pc .th img{width:100%;height:100%;object-fit:cover;object-position:top}
.pc .pl{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,122,26,.92);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(255,122,26,.22)}
.pc .pl svg{width:24px;height:24px;margin-left:3px}
.pc .tx{display:block;padding:18px 20px 22px}
.pc .n{display:block;font:800 clamp(30px,3vw,38px)/1 var(--display);letter-spacing:-.04em}
.pc .l{display:block;margin-top:8px;font:500 16px/1.35 var(--body);color:var(--soft)}

/* ---------- guarantee bento ---------- */
.bento{display:grid;grid-template-columns:1fr;gap:clamp(14px,1.6vw,20px);max-width:1000px;margin:clamp(48px,6vw,80px) auto 0}
.tile{border-radius:clamp(22px,2.4vw,32px);padding:clamp(28px,4vw,52px);background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);min-width:0;display:grid;gap:12px;align-content:start}
.tile .tag{font:700 13px/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.tile .tag.g{color:var(--green)}.tile .tag.o{color:var(--amber)}
.tile .big{font:800 clamp(44px,6.4vw,84px)/1 var(--display);letter-spacing:-.05em}
.tile p{font:500 clamp(17px,1.5vw,20px)/1.4 var(--body);color:var(--soft)}
.tile.warm{background:radial-gradient(120% 120% at 100% 0%,rgba(255,122,26,.22),transparent 60%),var(--panel)}
@media (min-width:760px){.bento{grid-template-columns:1fr 1fr}}

/* ---------- quote ---------- */
.quote{max-width:960px;margin-inline:auto;text-align:center}
.quote blockquote{font:700 clamp(28px,4.4vw,56px)/1.12 var(--display);letter-spacing:-.035em;text-wrap:balance}
.quote figcaption{display:inline-flex;align-items:center;gap:14px;margin-top:32px;text-align:left;font:500 16px/1.35 var(--body);color:var(--soft)}
.quote figcaption img{width:72px;height:48px;object-fit:contain;background:#fff;border-radius:12px;padding:5px}
.quote figcaption b{display:block;color:#fff;font-weight:600}

/* ---------- booking ---------- */
.book{background:radial-gradient(60% 50% at 50% 0%,rgba(29,78,216,.45),transparent 70%),var(--navy)}
.cal{max-width:1000px;margin:clamp(40px,5vw,64px) auto 0;min-height:640px;border-radius:clamp(20px,2.4vw,32px);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;padding:32px 20px;box-shadow:0 60px 140px -50px rgba(0,0,0,.9);overflow:hidden}
.cal b{display:block;font:800 clamp(22px,2vw,30px)/1.1 var(--display);letter-spacing:-.02em}
.cal span{display:block;margin-top:8px;font:500 17px/1.4 var(--body);color:var(--ink-soft)}
.cal iframe{width:100%;min-height:640px;border:0}

/* ---------- footer ---------- */
.foot{background:#040D24;border-top:1px solid var(--line);padding-block:48px calc(40px + env(safe-area-inset-bottom,0px));font-size:14px;color:var(--dim)}
.foot .wrap{display:grid;gap:28px}
.foot .top-row{display:grid;gap:24px}
.foot .brand b{display:block;font:800 22px/1 var(--display);letter-spacing:-.025em;color:#fff}
.foot .brand p{margin-top:12px;max-width:52ch;line-height:1.55;color:var(--soft)}
.foot address{font-style:normal;line-height:1.6}
.foot address strong{display:block;color:#fff;font-weight:600;margin-bottom:4px}
.foot .bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;padding-top:20px;border-top:1px solid var(--line)}
.foot .bottom nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot .bottom a{text-decoration:none;color:var(--soft)}
.foot .bottom a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media (min-width:760px){.foot .top-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}.foot address{justify-self:end}}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:60;background:rgba(4,10,30,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:calc(76px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));cursor:zoom-out}
.lb video{max-width:min(96vw,520px);max-height:100%;border-radius:18px;background:#000}
.lb img{max-width:min(96vw,1000px);max-height:100%;width:auto;height:auto;border-radius:18px;object-fit:contain}
.lb-x{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center;cursor:pointer}
.lb-x svg{width:22px;height:22px}

/* ---------- scroll reveal (content is visible without JS) ---------- */
.js .rv{opacity:0;transform:translateY(36px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

/* ---------- legal pages ---------- */
.legal{padding-block:clamp(56px,9vw,120px) clamp(72px,10vw,140px)}
.legal .wrap{max-width:780px}
.legal h1{font:800 clamp(44px,7vw,80px)/1 var(--display);letter-spacing:-.045em}
.legal .meta{margin-top:18px;font:500 15px/1.4 var(--body);color:var(--dim)}
.legal .intro{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.legal h2{font:700 clamp(24px,2.6vw,30px)/1.2 var(--display);letter-spacing:-.025em;margin-top:56px;scroll-margin-top:80px}
.legal h3{font:600 19px/1.3 var(--display);letter-spacing:-.01em;margin-top:28px;color:#fff}
.legal p,.legal li{font:400 17px/1.7 var(--body);color:var(--soft)}
.legal p{margin-top:16px}
.legal ul{margin-top:14px;padding-left:22px;display:grid;gap:8px}
.legal li::marker{color:var(--orange)}
.legal li strong,.legal p strong{color:#fff;font-weight:600}
.legal a{color:var(--sky);text-underline-offset:3px}
.legal address{font-style:normal;margin-top:16px;padding:22px 24px;border-radius:20px;background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);font:400 17px/1.7 var(--body);color:var(--soft)}
.legal address strong{color:#fff;font-weight:600}
.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:28px;font:500 15px/1 var(--body);color:var(--sky);text-decoration:none}
.back:hover{text-decoration:underline;text-underline-offset:3px}
.back svg{width:14px;height:14px}

/* ---------- reduced motion: soften ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{transform:none;transition:opacity .6s ease}
  .vsl{transform:none!important}
  .track{animation-duration:140s}
  .pill:hover,.pc:hover,.vsl .disc:hover{transform:none}
}
