
/* Layout concept: a flight through deep space that opens, like a planet's lit edge, into Tatraapi's own light lavender world. Deep indigo bands return for the competition and contact. */
:root{
  color-scheme:light;
  --paper:#F7F3EC;      /* lavender ground, from their site */
  --paper-2:#EFE8DB;    /* deeper lavender */
  --card:#FFFFFF;
  --ink:#161B2C;        /* text */
  --muted:#5E6374;
  --line:#E4DBCB;
  --violet:#9A6F2C;     /* their button violet */
  --violet-2:#8A7656;   /* their soft violet */
  --violet-soft:#D9C08F;
  --deep:#0D1630;       /* their indigo band */
  --deep-2:#05070F;     /* deep space */
  --star:#F4F0E8;
  --gold:#F2C94C;       /* diya flame */
  --gold-ink:#A9780A;   /* flame gold readable on light */
  --blue:#2E7FC7;       /* diya bowl */
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --display:'Cinzel','Cormorant Garamond',Georgia,serif;
  --sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --deva:'Tiro Devanagari Sanskrit','Noto Serif Devanagari','Nirmala UI',serif;
  --ease:cubic-bezier(.2,.7,.1,1); --ease-io:cubic-bezier(.7,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
svg,canvas{display:block;max-width:100%}
::selection{background:var(--violet);color:#fff}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:1280px;margin-inline:auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.eyebrow{display:inline-flex;align-items:center;gap:.8rem;color:var(--violet);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}
.eyebrow::before{content:"";width:28px;height:1.5px;background:currentColor}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.015em;margin:0;text-wrap:balance}
h2{font-size:clamp(2.3rem,5.4vw,4.6rem)}
h2 em{font-style:italic;color:var(--violet)}
p{margin:0}
.deva{font-family:var(--deva)}
section{position:relative;padding-block:clamp(70px,8.5vw,115px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dark{background:var(--deep);color:var(--star)}
.dark h2 em{color:var(--gold)}
.dark .eyebrow{color:var(--violet-soft)}

.js .rv:not(.in){opacity:0;transform:translateY(26px)}
.rv{transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0s)}

/* ---------- CURSOR ---------- */
.cur,.ring{position:fixed;left:0;top:0;pointer-events:none;z-index:350;border-radius:50%}
.cur{width:6px;height:6px;background:var(--violet);margin:-3px 0 0 -3px;mix-blend-mode:normal}
.ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid rgba(154,111,44,.45);display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .3s,border-color .3s}
.ring span{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .2s}
.ring.big{width:84px;height:84px;margin:-42px 0 0 -42px;background:var(--violet);border-color:var(--violet)}
.ring.big span{opacity:1}
.ring.hov{width:56px;height:56px;margin:-28px 0 0 -28px;border-color:var(--violet)}
body.on-dark .cur{background:var(--gold)}
body.on-dark .ring{border-color:rgba(242,201,76,.55)}
body.on-dark .ring.big{background:var(--gold);border-color:var(--gold)}
body.on-dark .ring.big span{color:var(--deep-2)}
@media (hover:none),(pointer:coarse){.cur,.ring{display:none}}
@media (hover:hover) and (pointer:fine){.has-cursor,.has-cursor a,.has-cursor button{cursor:none}}

/* ---------- NAV ---------- */
.progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--blue),var(--violet),var(--gold));z-index:220}
.nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--star);
  padding:calc(12px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 12px max(24px,env(safe-area-inset-left,0px));transition:transform .6s var(--ease),background .5s,color .4s,box-shadow .5s}
.nav.light{background:rgba(255,255,255,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.nav.hide{transform:translateY(-110%)}
.brand{display:flex;align-items:center}
.brand img{height:58px;width:auto;display:block}
.brand .on-light{display:none}
.nav.light .brand .on-light{display:block}
.nav.light .brand .on-darkbg{display:none}
.links{display:flex;gap:26px;list-style:none;margin:0;padding:0}
.links a{font-size:.9rem;font-weight:500;opacity:.78;transition:opacity .3s,color .3s;position:relative}
.links a::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.links a:hover,.links a.on{opacity:1}
.links a:hover::after,.links a.on::after{transform:scaleX(1)}
.nav.light .links a.on{color:var(--violet)}
.nav-r{display:flex;align-items:center;gap:10px}
.comp-pill{display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:999px;background:var(--violet);color:#fff;font-size:.84rem;font-weight:500;animation:pillGlow 2.8s infinite}
@keyframes pillGlow{0%{box-shadow:0 0 0 0 rgba(154,111,44,.55)}70%,100%{box-shadow:0 0 0 14px rgba(154,111,44,0)}}
.comp-pill i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.sound-wrap{position:relative}
.sound{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1.5px solid currentColor;border-radius:999px;opacity:.85;transition:opacity .3s,background .3s}
.sound:hover,.sound.on{opacity:1}
.bars{display:flex;gap:2px;align-items:flex-end;height:12px}
.bars i{width:2px;height:3px;background:var(--gold);border-radius:1px}
.nav.light .bars i{background:var(--violet)}
.sound.on .bars i{animation:eq 1s ease-in-out infinite}
.sound.on .bars i:nth-child(2){animation-delay:.2s}.sound.on .bars i:nth-child(3){animation-delay:.4s}.sound.on .bars i:nth-child(4){animation-delay:.1s}
@keyframes eq{0%,100%{height:3px}50%{height:12px}}
.moods{position:absolute;right:0;top:calc(100% + 10px);width:270px;padding:10px;border-radius:18px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 30px 60px rgba(14,22,44,.22);display:grid;gap:4px}
.moods p{padding:6px 10px 8px;color:var(--muted);font-size:.8rem;line-height:1.45}
.mood{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;text-align:left;padding:10px;border-radius:12px;transition:background .25s}
.mood:hover{background:var(--paper)}
.mood.on{background:var(--paper-2)}
.mood b{font-weight:500;font-size:.92rem;display:block}
.mood small{color:var(--muted);font-size:.76rem}
.mood .ic{width:30px;height:30px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;color:var(--violet);font-size:.85rem}
.mood.off{border-top:1px solid var(--line);border-radius:0 0 12px 12px;margin-top:4px}
.burger{display:none;width:44px;height:44px;border-radius:50%;border:1.5px solid currentColor;position:relative}
.burger b{position:absolute;left:13px;right:13px;height:1.5px;background:currentColor;transition:transform .35s}
.burger b:first-child{top:18px}.burger b:last-child{top:25px}
.menu-open .burger b:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .burger b:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.overlay{position:fixed;inset:0;z-index:190;background:var(--deep);color:var(--star);clip-path:circle(0 at calc(100% - 46px) 42px);transition:clip-path .9s var(--ease-io);display:flex;align-items:center;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.menu-open .overlay{clip-path:circle(160% at calc(100% - 46px) 42px)}
.menu-open .nav{color:var(--star);background:transparent;box-shadow:none}
.overlay ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.overlay li{overflow:hidden}
.overlay a{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,9vw,5rem);line-height:1.1;transform:translateY(110%);transition:transform .8s var(--ease),color .3s}
.menu-open .overlay a{transform:none}
.overlay li:nth-child(2) a{transition-delay:.05s}.overlay li:nth-child(3) a{transition-delay:.1s}.overlay li:nth-child(4) a{transition-delay:.15s}.overlay li:nth-child(5) a{transition-delay:.2s}.overlay li:nth-child(6) a{transition-delay:.25s}
.overlay a:hover{color:var(--gold);font-style:italic}

/* ---------- HERO: deep space flight ---------- */
.hero{min-height:100vh;min-height:100svh;padding:0;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;background:var(--deep-2);color:var(--star)}
#space,#title{position:absolute;inset:0;width:100%;height:100%}
#space{z-index:-3}#title{z-index:-2}
.limb{position:absolute;left:50%;bottom:0;width:240vw;height:240vw;max-width:4200px;max-height:4200px;transform:translate(-50%,calc(100% - var(--rise,90px)));border-radius:50%;z-index:-1;pointer-events:none;
  background:radial-gradient(circle at 50% 0%,#FFFFFF 0,#F7F3EC 2.5%,#F7F3EC 100%);box-shadow:0 0 0 1px rgba(255,255,255,.7),0 -10px 40px rgba(217,192,143,.9),0 -40px 160px rgba(154,111,44,.7),0 -120px 320px rgba(78,158,227,.35)}
.hero-ui{position:relative;flex:1;display:flex;flex-direction:column;padding-top:calc(92px + env(safe-area-inset-top,0px));padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
.title-slot{flex:1 1 auto;min-height:clamp(110px,24vh,320px)}
.hero-mid{position:relative;display:flex;justify-content:center;pointer-events:none;padding:0 16px;margin:6px 0 clamp(22px,4.5vh,52px)}
.tatra{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px 14px;padding:10px 22px;border-radius:999px;border:1px solid rgba(244,240,232,.22);background:rgba(5,7,15,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.92rem;color:rgba(244,240,232,.75)}
.tatra .deva{color:var(--gold);font-size:1.15rem}
.tatra em{font-family:var(--serif);font-style:italic;color:var(--star)}
.intro-el{opacity:0;transform:translateY(16px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease)}
.hero.early .signal.intro-el{opacity:1;transform:none}
.hero.ready .intro-el{opacity:1;transform:none}
.hero.ready .hero-copy.intro-el{transition-delay:.35s}
.tstyle{position:absolute;left:50%;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:4px;padding:5px;border-radius:999px;background:rgba(5,7,15,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(244,240,232,.2);box-shadow:0 10px 30px rgba(14,22,44,.35);white-space:nowrap}
.tstyle span{padding:0 8px 0 10px;color:rgba(244,240,232,.55);font-size:.58rem}
.tstyle button{padding:8px 14px;border-radius:999px;color:var(--star);font-size:.8rem;opacity:.7;transition:background .3s,opacity .3s}
.tstyle button:hover{opacity:1}
.tstyle button.on{background:var(--violet);opacity:1}
.hero-bottom{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.hero-copy{max-width:470px}
.hero-copy p{color:rgba(244,240,232,.78);font-size:clamp(1rem,1.3vw,1.12rem)}
.hero-copy p strong{color:#fff;font-weight:500}
.hero-copy p.hint{margin-top:16px;color:rgba(244,240,232,.45);font-size:.68rem;transition:opacity 1s}
.signal{position:relative;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;text-align:left;max-width:430px;padding:18px 24px 18px 18px;border-radius:22px;color:#fff;
  background:linear-gradient(135deg,rgba(154,111,44,.85),rgba(14,22,44,.85));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;transition:transform .5s var(--ease);box-shadow:0 20px 60px rgba(154,111,44,.45)}
.signal::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--a,0deg),rgba(242,201,76,.15) 0 65%,var(--gold) 80%,rgba(242,201,76,.15) 95%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 3.5s linear infinite}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes spin{to{--a:360deg}}
.signal:hover{transform:translateY(-4px) scale(1.01)}
.beacon{position:relative;width:54px;height:54px;display:grid;place-items:center}
.beacon i{position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--gold);animation:ping 2.4s var(--ease) infinite;opacity:0}
.beacon i:nth-child(2){animation-delay:.8s}.beacon i:nth-child(3){animation-delay:1.6s}
@keyframes ping{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.3);opacity:0}}
.beacon svg{width:26px;height:26px;color:var(--gold);position:relative}
.signal .k{color:var(--gold);display:flex;align-items:center;gap:8px}
.signal .k::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold)}
.signal strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.32rem;line-height:1.15;margin:6px 0 4px}
.signal .go{font-size:.86rem;display:inline-flex;gap:8px;align-items:center;opacity:.9}
.signal .go svg{width:14px;transition:transform .3s}
.signal:hover .go svg{transform:translateX(4px)}
.speed{position:absolute;right:max(24px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(244,240,232,.5);z-index:2}
.speed .bar{width:2px;height:120px;background:rgba(244,240,232,.15);position:relative;border-radius:2px;overflow:hidden}
.speed .bar i{position:absolute;left:0;right:0;bottom:0;height:var(--v,10%);background:linear-gradient(0deg,var(--violet-soft),var(--gold));transition:height .2s}
.speed span{writing-mode:vertical-rl;transform:rotate(180deg)}

/* ---------- ABOUT / LOTUS ---------- */
.about{background:radial-gradient(55% 65% at 78% 50%,rgba(217,192,143,.28),transparent 70%),var(--paper);padding-top:clamp(40px,6vw,80px)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.about-copy{min-width:0}
.about-copy h2{margin:22px 0 28px}
.about-copy p{color:var(--muted);font-size:1.1rem;max-width:560px}
.about-copy p+p{margin-top:18px}
.about-copy strong{color:var(--ink);font-weight:500}
.lotus-stage{position:relative;aspect-ratio:1;width:100%;max-width:560px;justify-self:center}
.lotus-stage svg{width:100%;height:100%;overflow:visible}
.ring-text{transform-origin:300px 300px}
.ring-text text{font-family:var(--mono);font-size:16px;font-weight:500;fill:var(--violet)}
.petal{transform-origin:300px 340px}
.city-tip{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);color:var(--violet-2);white-space:nowrap}

/* ---------- IDEAS ---------- */
.ideas{height:400vh;padding:0;background:linear-gradient(180deg,var(--paper),var(--paper-2) 15%,var(--paper-2) 85%,var(--paper))}
.ideas-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center}
.orbit{position:absolute;right:-12vw;top:50%;width:min(92vh,880px);aspect-ratio:1;transform:translateY(-50%) rotate(var(--rot,0deg));opacity:.7;pointer-events:none}
.track{display:flex;height:100%;will-change:transform}
.panel{flex:none;width:min(80vw,1100px);height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 6vw;position:relative}
.panel.intro{width:min(72vw,880px);padding-left:max(6vw,64px)}
.panel.intro p{color:var(--muted);max-width:460px;margin-top:26px;font-size:1.08rem}
.panel .bg-word{position:absolute;left:3vw;top:50%;transform:translateY(-55%);font-family:var(--deva);font-size:min(40vh,26vw);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(154,111,44,.12);pointer-events:none;white-space:nowrap;transition:-webkit-text-stroke-color .8s,transform 1.2s var(--ease),color .8s}
.panel.active .bg-word{-webkit-text-stroke-color:rgba(154,111,44,.3);color:rgba(154,111,44,.04);transform:translateY(-55%) scale(1.03)}
.panel .inner{position:relative;max-width:620px;margin-left:14vw;padding:34px 36px;border-radius:28px;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 30px 80px rgba(14,22,44,.08);border:1px solid #fff}
.chip{display:inline-flex;align-items:center;gap:14px}
.chip .deva{padding:6px 16px;border-radius:999px;background:var(--paper-2);border:1px solid var(--line);color:var(--violet);font-size:1.15rem}
.chip .mono{color:var(--violet-2);font-weight:500}
.panel h3{font-size:clamp(2.6rem,5.6vw,5.2rem);margin:20px 0 18px;letter-spacing:-.02em}
.panel p{color:var(--muted);font-size:clamp(1.02rem,1.35vw,1.2rem);max-width:520px}
.ideas-hud{position:absolute;left:max(6vw,64px);right:6vw;bottom:6vh;display:flex;align-items:center;gap:22px;color:var(--muted)}
.ideas-hud .bar{flex:1;height:2px;background:var(--line);position:relative}
.ideas-hud .bar i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--violet),var(--gold))}
.ideas-hud b{color:var(--violet);font-weight:500}

/* ---------- MAP ---------- */
.axis{background:var(--paper)}
.axis-head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:46px}
.axis-head p{color:var(--muted);max-width:420px}
.tag{display:inline-block;padding:6px 12px;border-radius:8px;background:var(--paper-2);color:var(--violet);font-weight:500}
.map-card{position:relative;border-radius:28px;background:radial-gradient(70% 90% at 50% 20%,#FFFFFF,#FBF8F2);border:1px solid #fff;box-shadow:0 30px 80px rgba(14,22,44,.08);overflow:hidden}
.map-scroll{overflow-x:auto;scrollbar-width:none}
.map-scroll::-webkit-scrollbar{display:none}
.map-svg{width:100%;min-width:720px;height:auto}
.map-svg .land{fill:url(#dots)}
.map-svg .arc{fill:none;stroke:url(#arcGrad);stroke-width:2;stroke-linecap:round;stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 2.6s var(--ease)}
.axis.in .map-svg .arc{stroke-dashoffset:0}
.axis.in .map-svg .arc.two{transition-delay:1.2s}
.city{cursor:pointer}
.city .halo{fill:rgba(154,111,44,.18);transform-box:fill-box;transform-origin:center;animation:halo 2.6s ease-out infinite}
@keyframes halo{0%{transform:scale(.4);opacity:1}100%{transform:scale(2.2);opacity:0}}
.city .dot{fill:var(--violet);stroke:#fff;stroke-width:2}
.city text{font-family:var(--serif);font-size:16px;fill:var(--ink)}
.city.sel .dot{fill:var(--gold)}
.city.sel text{fill:var(--violet)}
.traveler{fill:var(--gold);filter:drop-shadow(0 0 5px rgba(242,201,76,.9))}
.cities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.city-card{min-width:0;text-align:left;padding:20px 22px;border-radius:20px;background:var(--card);border:1px solid var(--line);transition:border-color .35s,box-shadow .35s,transform .45s var(--ease)}
.city-card:hover,.city-card.sel{border-color:var(--violet-soft);box-shadow:0 18px 40px rgba(154,111,44,.14);transform:translateY(-3px)}
.city-card .mono{color:var(--violet-2);letter-spacing:.08em;font-size:.68rem}
.city-card h4{font-family:var(--serif);font-weight:400;font-size:1.65rem;margin:8px 0 4px;color:var(--violet)}
.city-card p{color:var(--muted);font-size:.94rem}
.city-card .n{float:right;color:var(--gold-ink)}

/* ---------- FILM ---------- */
.film{background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.film-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:clamp(40px,7vw,100px);align-items:center}
.poster-wrap{perspective:1200px}
.poster{position:relative;aspect-ratio:2/3;border-radius:18px;overflow:hidden;transform-style:preserve-3d;transition:transform .25s ease-out;color:var(--star);box-shadow:0 40px 90px rgba(14,22,44,.35);
  background:radial-gradient(90% 55% at 50% 22%,rgba(78,158,227,.45),transparent 70%),radial-gradient(70% 50% at 50% 95%,rgba(154,111,44,.7),transparent),linear-gradient(180deg,#12223F,#05070F)}
.poster canvas{position:absolute;inset:0;width:100%;height:100%}
.poster .glare{position:absolute;inset:0;background:radial-gradient(circle at var(--gx,50%) var(--gy,30%),rgba(255,255,255,.2),transparent 45%);mix-blend-mode:overlay;pointer-events:none}
.poster .pz{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:26px;transform:translateZ(40px)}
.poster .badge{align-self:flex-start;padding:6px 12px;border-radius:999px;border:1px solid rgba(242,201,76,.6);color:var(--gold)}
.poster h3{text-align:center;font-weight:300;font-size:clamp(2rem,3.8vw,3.1rem);letter-spacing:.2em;padding-left:.2em}
.poster .dv{display:block;text-align:center;font-family:var(--deva);color:var(--violet-soft);font-size:1.4rem;margin-top:6px}
.poster .sub{text-align:center;color:rgba(244,240,232,.75);font-size:.9rem;margin-top:12px}
.poster .credits{text-align:center;color:rgba(244,240,232,.7);font-size:.58rem;line-height:1.9}
.film-copy{min-width:0}
.film-copy h2{margin:22px 0 24px}
.film-copy>p{color:var(--muted);font-size:1.08rem;max-width:580px}
.question{margin-top:34px;padding:24px 26px;border-radius:22px;background:var(--card);border:1px solid var(--line);display:grid;gap:10px;box-shadow:0 20px 50px rgba(14,22,44,.06)}
.question h4{font-family:var(--serif);font-weight:500;font-size:1.5rem;margin:0}
.question p{color:var(--muted);font-size:.98rem}
.kin{margin-top:30px}
.kin .mono{color:var(--violet-2);font-weight:500}
.kin ul{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.kin li{padding:8px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-family:var(--serif);font-style:italic;font-size:.96rem;transition:border-color .3s,background .3s,color .3s}
.kin li:hover{border-color:var(--violet);background:var(--violet);color:#fff}

/* ---------- TEAM ---------- */
.team{background:var(--paper-2)}
.team-head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:46px}
.team-head p{color:var(--muted);max-width:380px}
.roster{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.roster li{border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.roster li::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--violet),#1C2A48);transform:translateY(101%);transition:transform .6s var(--ease)}
.roster li:hover::before,.roster li:focus-within::before{transform:none}
.member{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,.9fr);gap:22px;align-items:center;padding:clamp(20px,3vw,30px) 0;position:relative;z-index:1;transition:color .4s}
.member .idx{color:var(--violet-2);transition:color .4s}
.member .nm{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,5vw,4.2rem);line-height:1;transition:transform .6s var(--ease)}
.member .rl{color:var(--violet);display:block;font-weight:500;transition:color .4s}
.member .ds{color:var(--muted);font-size:.94rem;display:block;margin-top:6px;transition:color .4s}
.roster li:hover .member{color:#fff}
.roster li:hover .nm{transform:translateX(16px);font-style:italic}
.roster li:hover .rl{color:var(--gold)}
.roster li:hover .ds,.roster li:hover .idx{color:rgba(255,255,255,.85)}
.float{position:fixed;left:0;top:0;width:220px;height:280px;pointer-events:none;z-index:150;border-radius:16px;overflow:hidden;opacity:0;transform:translate(36px,-50%) scale(.7) rotate(-6deg);transition:opacity .3s,transform .5s var(--ease);color:var(--star);
  border:2px solid var(--gold);background:radial-gradient(80% 60% at 50% 30%,rgba(78,158,227,.45),transparent),linear-gradient(180deg,#142445,#05070F);display:flex;flex-direction:column;justify-content:space-between;padding:18px;box-shadow:0 30px 60px rgba(14,22,44,.35)}
.float.on{opacity:1;transform:translate(36px,-50%) scale(1) rotate(var(--tilt,0deg))}
.float .fi{font-family:var(--serif);font-style:italic;font-size:8rem;line-height:.8;text-align:center;color:transparent;-webkit-text-stroke:1.5px var(--gold);margin-top:18px}
.float .mono{color:var(--gold)}
.float small{color:rgba(244,240,232,.7);font-size:.72rem}
@media (hover:none){.float{display:none}}

/* ---------- COMPETITION (deep band) ---------- */
.comp{overflow:hidden;background:radial-gradient(55% 60% at 20% 30%,rgba(154,111,44,.55),transparent 70%),radial-gradient(45% 50% at 85% 80%,rgba(78,158,227,.3),transparent 70%),var(--deep)}
.comp canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.comp .wrap{position:relative}
.comp-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,80px);align-items:start}
.comp-copy{min-width:0}
.comp-copy h2{margin:22px 0 14px}
.comp-copy .lead{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.8rem);color:var(--gold);margin-bottom:22px}
.comp-copy>p{color:rgba(244,240,232,.78);font-size:1.06rem;max-width:600px}
.ticks{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px}
.ticks li{display:grid;grid-template-columns:24px 1fr;gap:12px}
.ticks li::before{content:"";width:18px;height:18px;margin-top:4px;border-radius:50%;background:radial-gradient(circle,var(--gold) 0 30%,transparent 32%),rgba(242,201,76,.15);border:1px solid rgba(242,201,76,.6)}
.apply-card{position:relative;padding:clamp(26px,3vw,38px);border-radius:28px;background:var(--card);color:var(--ink);overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.35)}
.apply-card::after{content:"";position:absolute;width:300px;height:300px;right:-130px;top:-130px;border-radius:50%;background:radial-gradient(circle,rgba(154,111,44,.25),transparent 65%)}
.apply-card h3{font-size:2.2rem;margin:14px 0 10px}
.apply-card>p{color:var(--muted)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}
.fact{padding:14px;border-radius:14px;background:var(--paper);min-width:0}
.fact .mono{color:var(--violet-2);font-size:.62rem;font-weight:500}
.fact b{display:block;font-family:var(--serif);font-weight:500;font-size:1.05rem;margin-top:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:999px;background:var(--violet);color:#fff;font-weight:500;font-size:.96rem;transition:transform .35s var(--ease),box-shadow .35s,background .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(154,111,44,.35)}
.btn.gold{background:var(--gold);color:var(--deep-2)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn.ghost:hover{border-color:var(--violet);box-shadow:none}
.btn.full{width:100%}

/* ---------- NEWS ---------- */
.news{background:var(--paper)}
.news-head{max-width:760px;margin-bottom:46px}
.news-head h2{margin:22px 0 16px}
.news-head p{color:var(--muted);font-size:1.1rem}
.status{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.st{min-width:0;padding:22px;border-radius:20px;background:var(--card);border:1px solid var(--line);position:relative;overflow:hidden;transition:border-color .4s,transform .5s var(--ease),box-shadow .4s}
.st::before{content:"";position:absolute;inset:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(217,192,143,.22),transparent 60%);opacity:0;transition:opacity .4s}
.st:hover{border-color:var(--violet-soft);transform:translateY(-3px);box-shadow:0 18px 40px rgba(154,111,44,.12)}
.st:hover::before{opacity:1}
.st>*{position:relative}
.st .mono{color:var(--violet-2);font-size:.62rem;font-weight:500}
.st .state{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:500;font-size:1.35rem;margin:10px 0 8px}
.st .state::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c,var(--violet));box-shadow:0 0 0 4px color-mix(in srgb,var(--c,var(--violet)) 20%,transparent)}
.st p{color:var(--muted);font-size:.94rem}
.looking{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,70px);margin-top:clamp(70px,9vw,110px);align-items:start}
.looking-l{min-width:0}
.looking-l h3{font-size:clamp(2rem,3.6vw,3rem);margin:18px 0 14px}
.looking-l p{color:var(--muted)}
.looking-l .btn{margin-top:26px}
.roles{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.roles li{border-bottom:1px solid var(--line)}
.roles button{width:100%;display:grid;grid-template-columns:1fr 30px;gap:14px;text-align:left;padding:18px 0;align-items:center}
.roles .t{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.55rem);transition:color .3s,transform .5s var(--ease)}
.roles button:hover .t{color:var(--violet);transform:translateX(6px)}
.roles .pm{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);position:relative;transition:transform .5s var(--ease),background .3s,border-color .3s;color:var(--violet)}
.roles .pm::before,.roles .pm::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.roles .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s}
.roles li.open .pm{transform:rotate(180deg);background:var(--violet);color:#fff;border-color:var(--violet)}
.roles li.open .pm::after{transform:translate(-50%,-50%)}
.roles .bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.roles li.open .bd{grid-template-rows:1fr}
.roles .bd>div{overflow:hidden}
.roles .bd p{color:var(--muted);padding-bottom:20px;max-width:560px}
.letter{margin-top:clamp(70px,9vw,110px);padding:clamp(28px,4vw,48px);border-radius:28px;background:radial-gradient(70% 90% at 100% 0%,rgba(217,192,143,.35),transparent 60%),var(--card);border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;box-shadow:0 30px 70px rgba(14,22,44,.07)}
.letter h3{font-size:clamp(1.8rem,3vw,2.5rem)}
.letter p{color:var(--muted);margin-top:10px}
.field{display:flex;gap:8px;padding:6px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);transition:border-color .3s}
.field:focus-within{border-color:var(--violet)}
.field input{flex:1;min-width:0;background:none;border:0;outline:0;padding:10px 16px}
.field.err{border-color:#D9534F;animation:shake .4s}
.field.ok{border-color:#2FA37A}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.msg{min-height:1.4em;margin-top:10px;font-family:var(--mono);font-size:.76rem;color:var(--muted)}
.msg.err{color:#C0392B}.msg.ok{color:#1E8A63}

/* ---------- CONTACT (deep band) ---------- */
.contact{text-align:center;overflow:hidden;background:radial-gradient(60% 80% at 50% 0%,rgba(154,111,44,.5),transparent 70%),var(--deep)}
.contact .quote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(2.2rem,6.4vw,5.6rem);line-height:1.05;max-width:1000px;margin:24px auto 0;text-wrap:balance}
.contact .quote span{display:inline-block;transition:color .4s,transform .5s var(--ease)}
.contact .quote span:hover{color:var(--gold);transform:translateY(-4px)}
.contact .lede{color:rgba(244,240,232,.75);max-width:620px;margin:26px auto 0;font-size:1.06rem}
.copy-mail{display:inline-flex;align-items:center;gap:14px;margin-top:36px;padding:16px 26px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(244,240,232,.25);font-family:var(--mono);font-size:clamp(.82rem,2vw,1rem);color:var(--star);transition:border-color .3s,background .3s;max-width:100%}
.copy-mail:hover{border-color:var(--gold);background:rgba(255,255,255,.12)}
.copy-mail small{color:var(--gold);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase}
.social{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}
.social a{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:#fff;color:var(--deep);font-size:.9rem;font-weight:500;transition:transform .3s,background .3s,color .3s}
.social a:hover{background:var(--gold);transform:translateY(-2px)}
.social svg{width:16px;height:16px}
.addr{margin-top:30px;color:rgba(244,240,232,.6);font-size:.9rem}

/* copy fidelity additions */
.hero-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px}
.hero-links a{font-size:.88rem;color:#fff;padding-bottom:3px;border-bottom:1px solid rgba(244,240,232,.35);transition:border-color .3s,color .3s}
.hero-links a:hover{color:var(--gold);border-color:var(--gold)}
.comp-pill .short{display:none}
.poster-note{margin-top:16px;color:var(--muted);font-size:.9rem;text-align:center}
.question p+p{margin-top:12px}
.core{margin-top:clamp(60px,8vw,100px)}
.core-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.cq{min-width:0;padding:24px;border-radius:22px;background:var(--card);border:1px solid var(--line);box-shadow:0 20px 50px rgba(14,22,44,.06)}
.cq .mono{color:var(--violet);font-weight:500}
.cq p{font-family:var(--serif);font-size:1.3rem;line-height:1.25;margin-top:12px}
.cq.withheld{background:linear-gradient(160deg,#142445,#05070F);color:var(--star);border-color:transparent}
.cq.withheld .mono{color:var(--gold)}
.cq p.small{font-family:var(--sans);font-size:.92rem;line-height:1.6;color:rgba(244,240,232,.8)}
.comp-copy p.intro{font-size:1.12rem;color:#fff;margin-bottom:20px}
.status-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid rgba(242,201,76,.5);color:var(--gold);margin-bottom:18px}
.status-pill i{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:pillGlow 2.4s infinite}
.apply-card h3{margin-top:0}
.fact.wide{grid-column:1/-1}
.fine{margin-top:12px;font-size:.8rem;color:var(--muted)}
.fine a{color:var(--violet);text-decoration:underline}
.cinfo{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px;text-align:left}
.cinfo>div{min-width:0;padding:22px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(244,240,232,.15);display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.cinfo .mono{color:var(--gold)}
.cinfo p{color:rgba(244,240,232,.85);font-size:.95rem}
.cinfo .copy-mail{margin-top:6px}
.cinfo .btn{margin-top:8px}
.addr a{color:var(--gold);text-decoration:underline}
@media (max-width:960px){.core-grid{grid-template-columns:1fr 1fr}.cinfo{grid-template-columns:1fr}}
@media (max-width:640px){.comp-pill .full-t{display:none}.comp-pill .short{display:inline}.core-grid{grid-template-columns:1fr}}

/* ---------- FOOTER ---------- */
footer{padding-block:56px calc(30px + env(safe-area-inset-bottom,0px));background:var(--paper)}
.foot{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.foot-logo{height:96px;width:auto}
.foot-links{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}
.foot-links a:hover{color:var(--violet)}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}
.foot-bottom .deva{color:var(--violet)}

/* ================= REDESIGN: film to footer ================= */
.dark{color:var(--star)}
/* film: a screening room */
.s-film{background:radial-gradient(70% 50% at 50% 0%,#13244A,transparent 70%),linear-gradient(180deg,#0A1022,#05070F 60%,#0B1428);overflow:hidden;padding-bottom:0}
.beam{position:absolute;left:50%;top:-40px;width:1400px;height:1100px;transform:translateX(-50%);pointer-events:none;
  background:conic-gradient(from 180deg at 50% 0%,transparent 0 158deg,rgba(217,192,143,.16) 170deg,rgba(255,255,255,.14) 180deg,rgba(217,192,143,.16) 190deg,transparent 202deg);
  -webkit-mask:linear-gradient(180deg,#000 10%,transparent 85%);mask:linear-gradient(180deg,#000 10%,transparent 85%);animation:flicker 6s infinite}
@keyframes flicker{0%,100%{opacity:.9}47%{opacity:.75}50%{opacity:.95}53%{opacity:.8}}
.film-head{text-align:center;max-width:1000px;margin:0 auto;position:relative}
.film-head .eyebrow{justify-content:center}
.film-head h2{font-size:clamp(2.6rem,6.6vw,6rem);margin:26px 0 22px;color:#fff}
.film-head h2 em{color:var(--violet-soft)}
.tone{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2vw,1.6rem);color:var(--gold)}
.film-intro{max-width:640px;margin:20px auto 0;color:rgba(244,240,232,.7);font-size:1.06rem}
.story-grid{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:clamp(40px,7vw,110px);margin-top:clamp(80px,10vw,140px);align-items:start}
.story-poster{position:sticky;top:110px;min-width:0}
.story-poster .poster{box-shadow:0 40px 100px rgba(0,0,0,.5),0 0 0 1px rgba(217,192,143,.2)}
.poster-note{margin-top:18px;color:rgba(244,240,232,.55);font-size:.86rem;text-align:center}
.story{min-width:0;padding-bottom:40px}
.story-k{color:var(--gold)}
.story h3{font-size:clamp(2rem,3.6vw,3.2rem);margin:16px 0 34px;color:#fff}
.story-lines p{font-family:var(--serif);font-weight:300;font-size:clamp(1.25rem,2.05vw,1.75rem);line-height:1.5;margin-bottom:1.1em}
.story-lines .w{color:rgba(244,240,232,.18);transition:color .4s}
.story-lines .w.on{color:#F4F0E8}
.kin{margin-top:clamp(70px,9vw,120px);padding:34px 0 46px;border-top:1px solid rgba(244,240,232,.1)}
.kin-l{color:var(--violet-soft)}
.marquee{overflow:hidden;margin-top:18px;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;align-items:center;gap:34px;width:max-content;animation:mq 38s linear infinite;font-family:var(--serif);font-size:clamp(2.2rem,5.4vw,4.8rem);line-height:1.15;white-space:nowrap}
.marquee:hover .mq-track{animation-play-state:paused}
.mq-track .f{color:#fff;font-style:italic}
.mq-track .o{color:transparent;-webkit-text-stroke:1.2px rgba(244,240,232,.6)}
.mq-track i{font-style:normal;color:var(--gold);font-size:.4em}
@keyframes mq{to{transform:translateX(-50%)}}
/* core questions: a film strip */
.s-q{background:linear-gradient(180deg,var(--paper),var(--paper-2));overflow:hidden}
.strip-wrap{margin-top:34px;overflow:hidden}
.strip{display:flex;gap:16px;width:max-content;padding:44px 22px;background:#070B18;position:relative;will-change:transform}
.strip::before,.strip::after{content:"";position:absolute;left:0;right:0;height:14px;background:repeating-linear-gradient(90deg,transparent 0 12px,rgba(247,243,236,.85) 12px 30px,transparent 30px 42px);border-radius:3px}
.strip::before{top:15px}.strip::after{bottom:15px}
.frame{flex:none;width:min(480px,78vw);min-height:300px;padding:30px;border-radius:6px;display:flex;flex-direction:column;justify-content:space-between;
  background:radial-gradient(90% 80% at 30% 20%,rgba(154,111,44,.55),transparent 70%),radial-gradient(60% 60% at 90% 100%,rgba(78,158,227,.35),transparent 70%),#101C38;color:#fff;position:relative;overflow:hidden}
.frame::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);pointer-events:none}
.fnum{color:var(--gold);font-size:.8rem}
.frame p{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.15;margin-top:40px}
.frame.wh{background:#05070F;border:1px solid rgba(242,201,76,.3)}
.redact{display:grid;gap:10px;margin-top:26px}
.redact i{display:block;height:22px;background:#000;border-radius:2px;width:92%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.redact i:nth-child(2){width:74%}.redact i:nth-child(3){width:48%}
.frame p.small{font-family:var(--sans);font-size:.92rem;line-height:1.6;color:rgba(244,240,232,.75);margin-top:22px}
/* team: end credits */
.s-team{background:radial-gradient(50% 40% at 50% 0%,rgba(154,111,44,.35),transparent 70%),#05070F;text-align:center}
.s-team::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 50%,transparent 55%,rgba(0,0,0,.45))}
.credits-head .eyebrow{justify-content:center}
.credits-head h2{margin-top:22px;color:#fff}
.credits{list-style:none;margin:clamp(60px,8vw,110px) auto 0;padding:0;display:grid;gap:clamp(56px,7vw,90px);max-width:760px;position:relative;z-index:1}
.credit{display:grid;justify-items:center;gap:12px}
.credit .role{color:var(--gold);font-size:.7rem}
.credit .name{font-family:var(--serif);font-weight:300;font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:1;letter-spacing:-.02em;color:#fff;transition:color .5s,letter-spacing .8s var(--ease)}
.credit:hover .name{letter-spacing:0;color:transparent;background:linear-gradient(90deg,#D9C08F,#fff,#F2C94C);-webkit-background-clip:text;background-clip:text}
.credit .bio{max-width:520px;color:rgba(244,240,232,.62);font-size:.98rem}
.credit+.credit::before{content:"✦";display:block;color:rgba(242,201,76,.5);font-size:.7rem;margin:-40px 0 28px}
/* competition: an admission ticket */
.s-comp{background:radial-gradient(60% 60% at 85% 40%,rgba(217,192,143,.45),transparent 70%),var(--paper);overflow:hidden}
.comp-bgword{position:absolute;right:-4vw;bottom:-6vw;font-size:min(34vw,420px);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(154,111,44,.12);pointer-events:none;white-space:nowrap}
.comp2{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:center;position:relative}
.comp2-copy{min-width:0}
.comp2-copy h2{font-size:clamp(2.6rem,5.8vw,5.2rem);margin:22px 0 22px}
.comp2-copy .intro{font-size:1.14rem;color:var(--ink);max-width:560px;margin-bottom:22px}
.comp2-copy h3{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.4vw,2rem);color:var(--violet);margin:6px 0 14px}
.comp2-copy p{color:var(--muted);max-width:560px}
.s-comp .status-pill{color:var(--gold-ink);border-color:rgba(169,120,10,.4);background:#fff}
.rules{list-style:none;counter-reset:r;margin:28px 0 0;padding:0;display:grid;gap:10px;max-width:560px}
.rules li{counter-increment:r;display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--line)}
.rules li::before{content:"0" counter(r);font-family:var(--mono);font-size:.74rem;color:var(--violet);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--paper-2)}
.ticket-wrap{perspective:1200px;min-width:0}
.ticket{position:relative;display:grid;grid-template-columns:1fr 190px;border-radius:24px;color:var(--star);transform-style:preserve-3d;transition:transform .3s ease-out;
  background:radial-gradient(80% 90% at 0% 0%,rgba(154,111,44,.75),transparent 60%),radial-gradient(60% 80% at 100% 100%,rgba(78,158,227,.4),transparent 60%),#0F1A36;}
.ticket{-webkit-mask:radial-gradient(circle 13px at calc(100% - 190px) 0,transparent 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at calc(100% - 190px) 100%,transparent 97%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 13px at calc(100% - 190px) 0,transparent 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at calc(100% - 190px) 100%,transparent 97%,#000) bottom/100% 51% no-repeat}
.ticket-wrap{filter:drop-shadow(0 40px 60px rgba(14,22,44,.35))}
.t-main{padding:34px 30px;position:relative;overflow:hidden;min-width:0}
.t-k{color:var(--violet-soft);font-size:.62rem}
.t-main h3{font-size:clamp(2rem,3vw,2.6rem);margin:18px 0 12px;color:#fff}
.t-main p{color:rgba(244,240,232,.75);max-width:340px}
.t-mark{position:absolute;right:-10px;bottom:-26px;font-size:7rem;color:rgba(217,192,143,.12);line-height:1}
.t-stub{border-left:2px dashed rgba(244,240,232,.25);padding:30px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}
.t-stub .mono{color:var(--violet-soft);font-size:.6rem}
.t-stub b{font-family:var(--serif);font-weight:400;font-size:2.6rem;line-height:1;color:var(--gold);margin:6px 0}
.t-stub .btn{margin-top:16px;width:100%}
.sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.14) var(--sx,45%),transparent 60%);mix-blend-mode:screen}
/* where it stands: a production timeline */
.s-stand{background:radial-gradient(60% 70% at 15% 0%,rgba(217,192,143,.35),transparent 70%),linear-gradient(160deg,#9A6F2C,#16305A 55%,#0D1630)}
.stand-head{max-width:760px}
.stand-head h2{margin:22px 0 16px;color:#fff}
.stand-head p{color:rgba(244,240,232,.8);font-size:1.1rem}
.s-stand .eyebrow{color:#E6D6B4}
.tl{list-style:none;margin:clamp(60px,8vw,90px) 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:22px;position:relative}
.tl-line{position:absolute;left:0;right:0;top:11px;height:2px;background:rgba(244,240,232,.18)}
.tl-line i{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,var(--gold),#fff,var(--violet-soft))}
.tl-i{position:relative;min-width:0;padding-top:42px}
.tl-i .dot{position:absolute;top:0;left:0;width:24px;height:24px;border-radius:50%;border:2px solid var(--gold);background:#16305A}
.tl-i.ok .dot{background:var(--gold);box-shadow:0 0 0 6px rgba(242,201,76,.18),0 0 20px rgba(242,201,76,.6)}
.tl-i.prog .dot{background:linear-gradient(90deg,var(--gold) 50%,#16305A 50%)}
.tl-i.open .dot{border-color:rgba(244,240,232,.6)}
.tl-i .mono{color:#E6D6B4;font-size:.66rem}
.tl-i b{display:block;font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.15;margin:8px 0 10px;color:#fff}
.tl-i p{color:rgba(244,240,232,.72);font-size:.9rem}
/* roles: casting cards that flip */
.s-roles{background:var(--paper)}
.roles-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:50px}
.roles-head h2{margin-top:22px}
.roles-head p{color:var(--muted)}
.flip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.flip{position:relative;height:330px;perspective:1100px;text-align:left;padding:0}
.fc{position:absolute;inset:0;border-radius:24px;padding:26px;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .8s var(--ease)}
.front{background:#fff;border:1px solid var(--line);justify-content:space-between;overflow:hidden}
.front::after{content:"";position:absolute;width:260px;height:260px;right:-90px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,rgba(217,192,143,.4),transparent 65%)}
.front .num{font-family:var(--serif);font-size:4.6rem;line-height:.9;color:transparent;-webkit-text-stroke:1.2px var(--violet-soft)}
.front .t{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.05;position:relative;z-index:1}
.front .plus{position:absolute;right:22px;top:22px;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line)}
.front .plus::before,.front .plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--violet);transform:translate(-50%,-50%)}
.front .plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.back{transform:rotateY(180deg);background:linear-gradient(160deg,var(--violet),#1D3F72);color:#fff;gap:12px;overflow:auto}
.back .t2{font-family:var(--serif);font-size:1.35rem;color:var(--gold)}
.back .d{font-size:.92rem;line-height:1.6;color:rgba(255,255,255,.92)}
.flip.on .front,.flip:focus-visible .front{transform:rotateY(-180deg)}
.flip.on .back,.flip:focus-visible .back{transform:rotateY(0)}
@media (hover:hover) and (pointer:fine){.flip:hover .front{transform:rotateY(-180deg)}.flip:hover .back{transform:rotateY(0)}}
/* letter: stationery */
.s-letter{background:linear-gradient(180deg,var(--paper),var(--paper-2));padding-top:20px}
.paper{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:clamp(34px,5vw,60px);border-radius:6px;transform:rotate(-.6deg);
  background:repeating-linear-gradient(180deg,transparent 0 33px,rgba(154,111,44,.07) 33px 34px),#FFFDF8;box-shadow:0 2px 0 #EFE9DC,0 40px 80px rgba(14,22,44,.14)}
.paper::before{content:"";position:absolute;left:clamp(20px,3vw,40px);top:0;bottom:0;width:1.5px;background:rgba(224,92,120,.25)}
.paper-l{padding-left:clamp(12px,2vw,24px);min-width:0}
.paper h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.9rem,3.2vw,2.8rem);color:var(--ink);margin-bottom:14px}
.paper p{color:var(--muted)}
.paper .sig{margin-top:14px;font-family:var(--serif);font-style:italic;color:var(--violet)}
.paper-r{min-width:0}
.stamp{position:absolute;right:26px;top:-22px;width:92px;height:108px;display:grid;place-items:center;background:linear-gradient(160deg,var(--violet),#1D3F72);color:var(--gold);font-size:1.3rem;transform:rotate(6deg);
  -webkit-mask:radial-gradient(circle 5px at 5px 5px,transparent 98%,#000) -5px -5px/10px 10px;mask:radial-gradient(circle 5px at 5px 5px,transparent 98%,#000) -5px -5px/10px 10px;box-shadow:0 10px 20px rgba(14,22,44,.25)}
.postmark{position:absolute;right:96px;top:10px;width:84px;height:84px;border-radius:50%;border:2px solid rgba(154,111,44,.25);transform:rotate(-12deg)}
.postmark::before{content:"";position:absolute;left:-40px;right:-60px;top:30px;height:22px;background:repeating-linear-gradient(180deg,rgba(154,111,44,.22) 0 2px,transparent 2px 7px)}
/* contact */
.s-contact{background:radial-gradient(60% 60% at 50% 0%,rgba(154,111,44,.55),transparent 70%),#05070F;text-align:center;overflow:hidden}
.s-contact canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.s-contact .wrap{position:relative}
.bigq{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(2.6rem,8vw,7.4rem);line-height:1;margin:26px auto 0;max-width:1100px;text-wrap:balance}
.bigq span{display:inline-block;opacity:0;transform:translateY(40px);filter:blur(8px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease)}
.bigq.in span{opacity:1;transform:none;filter:none}
.bigq.in span:nth-child(2){transition-delay:.12s}.bigq.in span:nth-child(3){transition-delay:.24s}.bigq.in span:nth-child(4){transition-delay:.36s}.bigq.in span:nth-child(5){transition-delay:.5s}
.bigq .g{color:var(--gold)}
.s-contact .lede{color:rgba(244,240,232,.75);max-width:640px;margin:30px auto 0}
/* footer */
footer.s-foot{background:#05070F;color:var(--star);padding:60px 0 calc(28px + env(safe-area-inset-bottom,0px));overflow:hidden;border-top:1px solid rgba(244,240,232,.08)}
.foot-top{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.s-foot .foot-logo{height:92px;width:auto}
.s-foot .foot-links{display:flex;gap:22px;flex-wrap:wrap;color:rgba(244,240,232,.7);font-size:.9rem}
.s-foot .foot-links a:hover{color:var(--gold)}
.wordmark{font-family:var(--serif);font-weight:400;font-size:17vw;line-height:.82;letter-spacing:-.02em;text-align:center;white-space:nowrap;margin:40px 0 10px;user-select:none;
  color:transparent;-webkit-text-stroke:1px rgba(217,192,143,.35);background:radial-gradient(28vw circle at var(--wx,50%) 60%,#F2C94C,#D9C08F 40%,transparent 70%);-webkit-background-clip:text;background-clip:text}
.s-foot .foot-bottom{border-top:1px solid rgba(244,240,232,.12);color:rgba(244,240,232,.55);margin-top:10px}
.s-foot .foot-bottom .deva{color:var(--gold)}
@media (max-width:960px){
  .story-grid,.comp2,.roles-head,.paper{grid-template-columns:1fr}
  .story-poster{position:relative;top:0;max-width:340px;margin:0 auto}
  .tl{grid-template-columns:1fr;gap:30px;padding-left:40px}
  .tl-line{left:11px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .tl-line i{transform-origin:top;transform:scaleY(var(--p,0))}
  .tl-i{padding-top:0}.tl-i .dot{left:-40px}
  .flip-grid{grid-template-columns:1fr 1fr}
  .paper{transform:none}
}
@media (max-width:640px){
  .flip-grid{grid-template-columns:1fr}
  .flip{height:300px}
  .ticket{grid-template-columns:1fr}
  .ticket{-webkit-mask:none;mask:none}
  .t-stub{border-left:0;border-top:2px dashed rgba(244,240,232,.25)}
  .strip-wrap{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .strip-wrap::-webkit-scrollbar{display:none}
  .frame{scroll-snap-align:center}
  .stamp{width:70px;height:84px;right:16px;font-size:1rem}.postmark{display:none}
  .s-foot .foot-logo{height:72px}
}

/* ================= v5 adjustments ================= */
.sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.s-film{padding-bottom:0}
.film2{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:clamp(40px,6vw,90px);align-items:start;position:relative}
.film2 .story-poster{position:sticky;top:100px}
.film2-copy{min-width:0}
.film2-copy h2{font-size:clamp(2.4rem,4.6vw,4.4rem);margin:22px 0 16px;color:#fff}
.film2-copy h2 em{color:var(--violet-soft)}
.film2-copy .film-intro{margin:14px 0 0;max-width:620px;text-align:left}
.film2 .story{margin-top:34px;padding:28px 30px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid rgba(244,240,232,.12);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.film2 .story h3{font-size:clamp(1.5rem,2.4vw,2.1rem);margin:12px 0 18px}
.film2 .story-lines p{font-size:clamp(1.02rem,1.25vw,1.15rem);line-height:1.65;margin-bottom:.9em}
.film2 .story-lines p:last-child{margin-bottom:0}
.s-film .kin{margin-top:clamp(50px,6vw,80px);padding:22px 0 30px}
.s-film .mq-track{font-size:clamp(1.8rem,3.6vw,3.2rem)}
.s-q .strip{padding:40px 0}
.frame{min-height:250px;width:min(430px,76vw)}
.frame p{margin-top:28px;font-size:clamp(1.45rem,2vw,1.9rem)}
.s-team2{background:linear-gradient(180deg,var(--paper-2),var(--paper))}
.team-head{margin-bottom:40px}
.roster .nm{display:flex;align-items:center;gap:14px}
.av{display:none;flex:none;width:52px;height:52px;border-radius:50%;place-items:center;font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--gold);background:radial-gradient(circle at 30% 30%,#1D3F72,#05070F);background-size:cover;background-position:center;border:2px solid var(--gold)}
.float{width:230px;height:300px;padding:16px;gap:10px}
.float .ph{flex:1;border-radius:10px;display:grid;place-items:center;background:radial-gradient(80% 60% at 50% 30%,rgba(78,158,227,.45),transparent),linear-gradient(180deg,#142445,#05070F);background-size:cover;background-position:center;overflow:hidden}
.float .ph.has .fi{display:none}
.float .fi{margin-top:0}
@media (hover:none),(pointer:coarse){.av{display:grid}}
.looking2{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:start}
.roles-intro h2{margin:22px 0 18px}
.roles-intro p{color:var(--muted)}
.roles button{grid-template-columns:44px 1fr 30px}
.roles .num{color:var(--violet-2);font-size:.72rem}
.roles .t{font-size:clamp(1.3rem,2.2vw,1.8rem)}
.roles .bd p{padding-left:58px}
.s-roles .paper{margin-top:clamp(60px,7vw,90px)}
@media (max-width:960px){.film2,.looking2{grid-template-columns:1fr}.film2 .story-poster{position:relative;top:0;max-width:320px;margin:0 auto}.roles .bd p{padding-left:0}}

.comps{margin-top:22px;display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;padding:16px 20px;border-radius:18px;border:1px solid rgba(242,201,76,.25);background:linear-gradient(90deg,rgba(242,201,76,.08),rgba(255,255,255,.02))}
.comps-l{color:var(--gold);font-size:.66rem;flex:none}
.comps ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.comps li{padding:6px 13px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(244,240,232,.16);font-family:var(--sans);font-size:.86rem;font-weight:500;color:#fff;transition:background .3s,border-color .3s}
.comps li:hover{background:var(--violet);border-color:var(--violet)}
.s-film{padding-bottom:clamp(70px,8.5vw,115px)}
/* typography: Cormorant Garamond for headings, Cinzel for the name, Jost for text and labels */
body{font-size:17px}
h1,h2,h3{font-weight:500;letter-spacing:-.005em}
h2{font-size:clamp(2.5rem,5.8vw,5rem);line-height:1}
.mono{font-weight:500;letter-spacing:.2em}
.eyebrow{font-weight:500}
.poster h3,.wordmark,.t-stub b{font-family:var(--display)}
.wordmark{font-size:15vw;letter-spacing:.02em}
.poster h3{letter-spacing:.14em}
.film2 .story-lines p{font-weight:500;font-size:clamp(1.12rem,1.45vw,1.32rem);line-height:1.6}
.film2-copy h2{font-size:clamp(2.6rem,5vw,4.8rem)}
.bigq,.contact .quote{font-weight:400}
.frame p{font-weight:500;font-size:clamp(1.65rem,2.3vw,2.15rem)}
.panel h3{font-weight:500}
.member .nm{font-weight:500}
.roles .t{font-weight:500;font-size:clamp(1.45rem,2.4vw,1.95rem)}
.tl-i b{font-weight:600;font-size:1.6rem}
.city-card h4,.question h4,.st .state{font-weight:600}
.tone,.comp2-copy h3{font-weight:500}
.ring-text text{font-family:var(--sans);font-weight:500;font-size:17px}
.paper h3{font-weight:500}
/* ================= v5: night sky, logo, palette ================= */
:root{--violet:#9A6F2C;--violet-2:#8A7656;--violet-soft:#D9C08F;--gold:#E8BE4F;--gold-ink:#9A7414;--lotus:#D6649B}
.limb{display:none}
.speed{display:none!important}
.hero{background:#04060C}
.horizon{position:absolute;left:0;right:0;bottom:0;height:200px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(4,6,12,0),rgba(22,34,60,.45));}
.title-slot{display:grid;place-items:center;padding:6px 0}
.hero-logo{position:relative;width:min(500px,84vw,calc(36vh*1.48));aspect-ratio:834/513;opacity:0}
.hero-logo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 30px rgba(232,190,79,.18))}
.hero-logo .tm{position:absolute;right:-3%;top:55%;font-family:var(--sans);font-size:clamp(1rem,1.9vw,1.6rem);color:#E8BE4F;font-weight:600;text-shadow:0 0 12px rgba(232,190,79,.5)}
.hero-logo .glint{position:absolute;inset:0;pointer-events:none;opacity:0}
.hero-logo.show{opacity:1}
.hero-logo.rv-fade.show{animation:rvFade 2.4s var(--ease) both}
@keyframes rvFade{from{opacity:0;transform:scale(1.04);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
.hero-logo.rv-focus.show{animation:rvFocus 2.6s var(--ease) both}
@keyframes rvFocus{0%{opacity:0;transform:scale(.88);filter:blur(28px) brightness(2.2)}60%{opacity:1;filter:blur(3px) brightness(1.3)}100%{opacity:1;transform:none;filter:none}}
.hero-logo.rv-rise.show{animation:rvRise 2.6s var(--ease) both}
@keyframes rvRise{from{opacity:1;clip-path:inset(100% 0 0 0);transform:translateY(24px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
.hero-logo.rv-rise.show img{animation:rvGlow 2.6s ease-out both}
@keyframes rvGlow{0%,60%{filter:drop-shadow(0 0 40px rgba(232,190,79,.9))}100%{filter:drop-shadow(0 0 30px rgba(232,190,79,.18))}}
.hero-logo.rv-sweep.show{opacity:1;-webkit-mask-image:linear-gradient(100deg,#000 42%,transparent 58%);mask-image:linear-gradient(100deg,#000 42%,transparent 58%);-webkit-mask-size:300% 100%;mask-size:300% 100%;animation:rvSweep 2.6s var(--ease) both}
@keyframes rvSweep{from{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}
.hero-logo.rv-sweep.show .glint{opacity:1;background:linear-gradient(100deg,transparent 40%,rgba(255,236,170,.75) 50%,transparent 60%);background-size:300% 100%;mix-blend-mode:screen;animation:rvGlint 2.6s var(--ease) both}
@keyframes rvGlint{from{background-position:100% 0;opacity:1}85%{opacity:1}to{background-position:0 0;opacity:0}}
.hero.rush .hero-logo.show,.hero.rush .hero-logo.show img,.hero.rush .hero-logo.show .glint{animation-duration:.45s!important}
.hero.ready .hero-logo.show img{filter:drop-shadow(0 0 30px rgba(232,190,79,.18))}
.brand{position:relative;align-items:flex-start}
.brand img{height:84px!important}
.brand .tm{display:none;font-family:var(--sans);font-size:.72rem;font-weight:600;color:#9A6F2C;margin:50px 0 0 0}
.nav.light .brand .tm{display:inline}
.nav:not(.light) .brand::after{content:"™";font-family:var(--sans);font-size:.72rem;font-weight:600;color:#AAD2F5;margin:50px 0 0 0}
.hero-ui{padding-top:calc(118px + env(safe-area-inset-top,0px))}
.foot-brand{display:inline-flex;align-items:flex-start}
.foot-brand .tm{color:#AAD2F5;font-family:var(--sans);font-size:.8rem;margin:36px 0 0 3px}
.s-foot .foot-logo{height:120px}
.signal{background:linear-gradient(135deg,rgba(18,34,63,.88),rgba(5,7,15,.88));box-shadow:0 20px 60px rgba(0,0,0,.45);border:1px solid rgba(232,190,79,.25)}
.tatra{background:rgba(5,7,15,.55)}
.comp-pill{background:var(--gold);color:#05070F}
.comp-pill i{background:#05070F;box-shadow:none}
@keyframes pillGlow{0%{box-shadow:0 0 0 0 rgba(232,190,79,.55)}70%,100%{box-shadow:0 0 0 14px rgba(232,190,79,0)}}
.tstyle button.on{background:var(--gold);color:#05070F}
.ring-text text{fill:#B24B82}
/* map: more visual, no text boxes */
.cities{display:none!important}
.map-card{background:radial-gradient(70% 90% at 50% 20%,#0F1E3A,#05070F);border:1px solid rgba(232,190,79,.18)}
.map-svg .land{fill:url(#dots)}
.map-svg{transition:none}
.landmark{fill:none;stroke:#E8BE4F;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.city text{fill:#F4F0E8;font-family:var(--serif);font-weight:600}
.city .dot{fill:#E8BE4F;stroke:#05070F}
.city .halo{fill:rgba(232,190,79,.25)}
.city.sel .dot{fill:#fff}
.city.sel text{fill:#E8BE4F}
.map-info{position:absolute;left:22px;bottom:20px;max-width:320px;padding:16px 18px;border-radius:16px;background:rgba(5,7,15,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(232,190,79,.3);color:#F4F0E8;transition:opacity .5s,transform .5s var(--ease)}
.map-info.hide{opacity:0;transform:translateY(8px)}
.map-info .mono{color:#E8BE4F;font-size:.62rem;letter-spacing:.12em}
.map-info h4{font-family:var(--serif);font-weight:600;font-size:1.7rem;margin:4px 0 2px}
.map-info p{color:rgba(244,240,232,.75);font-size:.92rem}
.map-dots{position:absolute;right:18px;bottom:18px;display:flex;gap:6px}
.map-dots button{padding:6px 12px;border-radius:999px;font-size:.74rem;color:#F4F0E8;border:1px solid rgba(244,240,232,.25);background:rgba(5,7,15,.5)}
.map-dots button.on{background:#E8BE4F;color:#05070F;border-color:#E8BE4F}
#dots circle{fill:rgba(217,192,143,.38)}
@media (max-width:640px){.map-info{position:relative;left:auto;right:auto;bottom:auto;max-width:none;margin:10px 12px 0;transform:none}.map-info.hide{display:none}.map-svg{min-width:0!important}.map-dots{position:relative;right:auto;bottom:auto;padding:12px;flex-wrap:wrap}.brand img{height:62px!important}.brand .tm,.nav:not(.light) .brand::after{margin-top:36px}.hero-ui{padding-top:calc(96px + env(safe-area-inset-top,0px))}}
/* ================= r6: palette, map, ideas, spacing ================= */
:root{--paper:#F5EFE4;--paper-2:#ECE3D2;--card:#FFFDF8;--ink:#0E1424;--muted:#5B5F6E;--line:#E3D7C1;--violet:#9A6F2C;--violet-2:#8A7656;--violet-soft:#D9C08F;--gold:#D9B15C;--gold-ink:#8C6420;--deep:#0D1428;--deep-2:#060A16;--rose:#B24B82}
section{padding-block:clamp(56px,6.5vw,96px)}
h2 em{color:var(--violet)}
.btn{background:#0E1424;color:#F5EFE4}
.btn:hover{background:#9A6F2C;color:#fff;box-shadow:0 14px 34px rgba(154,111,44,.3)}
.dark .btn:not(.gold){background:#F5EFE4;color:#0E1424}
.eyebrow{color:var(--violet)}
.roster li::before{background:linear-gradient(90deg,#0E1424,#1C2A48)}
.s-stand{background:radial-gradient(60% 80% at 10% 0%,rgba(217,177,92,.18),transparent 60%),linear-gradient(160deg,#121C36,#0A1022)}
.s-stand .eyebrow{color:#D9C08F}
.tl-i .mono{color:#D9C08F}
.s-team2{background:linear-gradient(180deg,var(--paper-2),var(--paper))}
.ideas{background:linear-gradient(180deg,var(--paper),#EFE5D3)}
.chip .deva{background:#FFFDF8;border-color:var(--line);color:var(--violet)}
.chip .mono{color:var(--violet-2)}
.ideas-hud b{color:var(--violet)}
.ideas-hud .bar i{background:linear-gradient(90deg,#9A6F2C,#D9B15C)}
.panel .bg-word{-webkit-text-stroke-color:rgba(154,111,44,.14)}
.panel.active .bg-word{-webkit-text-stroke-color:rgba(154,111,44,.32);color:rgba(154,111,44,.05)}
.about{background:radial-gradient(55% 65% at 78% 50%,rgba(232,170,200,.22),transparent 70%),var(--paper)}
/* ideas: tighter, with visuals */
.ideas{height:300vh}
.panel{width:min(66vw,920px);padding:0 3vw}
.panel.intro{width:min(46vw,640px);padding-left:max(6vw,64px)}
.panel .inner{display:grid;grid-template-columns:150px minmax(0,1fr);gap:30px;align-items:center;max-width:760px;margin-left:8vw;background:rgba(255,253,248,.82)}
.idea-art svg,.bg-art svg{width:100%;height:auto;overflow:visible;fill:none;stroke:#A9813A;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.idea-art{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;padding:12px;background:radial-gradient(circle,rgba(217,177,92,.18),rgba(217,177,92,0) 70%)}
.idea-art .fill,.bg-art .fill{fill:#C9A04F;stroke:none}
.bg-art{position:absolute;right:2vw;top:50%;width:min(52vh,34vw);transform:translateY(-50%);opacity:.09;pointer-events:none}
.bg-art svg{stroke-width:.8}
.panel h3{margin:14px 0 12px}
.spin{transform-origin:80px 80px;animation:ispin 24s linear infinite}
.spin.slow{animation-duration:60s}
@keyframes ispin{to{transform:rotate(360deg)}}
.rip{transform-origin:80px 80px;animation:irip 4s ease-out infinite;opacity:0}
.rip.r2{animation-delay:2s}
@keyframes irip{0%{transform:scale(.6);opacity:.7}100%{transform:scale(1.15);opacity:0}}
.pulse{transform-origin:80px 86px;animation:irip2 3s ease-out infinite}
@keyframes irip2{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.2);opacity:0}}
.rays{animation:iflick 3s ease-in-out infinite}
@keyframes iflick{50%{opacity:.35}}
.tilt{transform-origin:80px 50px;animation:itilt 6s ease-in-out infinite}
@keyframes itilt{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
.pan.l{transform-origin:34px 50px;animation:ipan 6s ease-in-out infinite}.pan.r{transform-origin:126px 50px;animation:ipan 6s ease-in-out infinite}
@keyframes ipan{0%,100%{transform:rotate(6deg)}50%{transform:rotate(-6deg)}}
.orbit-p{transform-origin:80px 80px;animation:iorb 10s linear infinite}
@keyframes iorb{to{transform:rotate(360deg)}}
.orbit-p circle{transform:scaleY(.4);transform-origin:80px 80px}
@media (max-width:960px){.panel .inner{grid-template-columns:1fr;gap:12px;margin-left:0}.idea-art{width:110px;height:110px}.bg-art{display:none}.panel{width:86vw}.panel.intro{width:86vw}}
/* real map */
.map-card{background:#070C1A;border:1px solid rgba(217,177,92,.25)}
.map-svg .ocean{fill:url(#oceanG)}
.map-svg .grat{fill:none;stroke:rgba(255,255,255,.05);stroke-width:.5}
.map-svg .geo-land{fill:url(#landG);stroke:rgba(217,192,143,.45);stroke-width:.5}
.map-svg .geo-hi{fill:url(#hiG);stroke:rgba(217,177,92,.75);stroke-width:.7}
.map-svg .geo-borders{fill:none;stroke:rgba(217,192,143,.22);stroke-width:.4}
.map-svg .arc{stroke-width:1.6}
.map-info{width:320px;max-width:calc(100% - 44px);padding:0;overflow:hidden;background:rgba(6,10,22,.86)}
.map-info img{display:block;width:100%;height:180px;object-fit:cover}
.mi-body{padding:14px 18px 16px}
.city{cursor:pointer}
@media (max-width:640px){.map-info{width:auto;max-width:none}.map-info img{height:200px}}
/* less empty space */
.about-grid{align-items:center}
.lotus-stage{max-width:500px}
.team-head{margin-bottom:28px}
.news-head,.stand-head{margin-bottom:0}
.s-roles .paper{margin-top:56px}
.kin,.comps{margin-top:18px}
/* r7: TM outside the clipped area, gentle transition into the page, realistic lotus */
.hero-logo.show{opacity:1;animation:none!important;-webkit-mask-image:none!important;mask-image:none!important;clip-path:none!important}
.hero-logo .tm{right:-6%;top:54%;opacity:0}
.hero-logo.show .tm{animation:tmIn .8s 1.7s both}
.hero.rush .hero-logo.show .tm{animation-delay:.3s}
@keyframes tmIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.hero-logo.rv-fade.show img{animation:rvFade 2.4s var(--ease) both}
.hero-logo.rv-focus.show img{animation:rvFocus 2.6s var(--ease) both}
.hero-logo.rv-rise.show img{animation:rvRise 2.6s var(--ease) both,rvGlow 2.6s ease-out both}
.hero-logo.rv-sweep.show img{-webkit-mask-image:linear-gradient(100deg,#000 42%,transparent 58%);mask-image:linear-gradient(100deg,#000 42%,transparent 58%);-webkit-mask-size:300% 100%;mask-size:300% 100%;animation:rvSweep 2.6s var(--ease) both}
.hero.rush .hero-logo.show img{animation-duration:.45s!important}
.hero.ready .hero-logo.show img{filter:drop-shadow(0 0 30px rgba(232,190,79,.18))}
/* gradual dusk-to-day transition from the night sky into the page */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:300px;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,rgba(4,6,12,0) 0%,rgba(16,22,40,.55) 30%,rgba(58,60,78,.75) 55%,rgba(150,138,128,.85) 78%,#F5EFE4 100%)}
.horizon{display:none}
.hero-ui{padding-bottom:calc(210px + env(safe-area-inset-bottom,0px))}
.tstyle{bottom:calc(120px + env(safe-area-inset-bottom,0px))}
.about{background:linear-gradient(180deg,#F5EFE4,#F5EFE4 40%,rgba(245,239,228,0) 100%),radial-gradient(55% 65% at 78% 50%,rgba(232,170,200,.22),transparent 70%),var(--paper);padding-top:clamp(24px,3vw,48px)}
@media (max-width:640px){.hero-ui{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}.tstyle{bottom:calc(96px + env(safe-area-inset-bottom,0px))}.hero::after{height:220px}}
#mandala,#rays,#dial{display:none}
/* r8: map pop-ups on hover, no zoom; TM placement */
.map-info{top:0;left:0;bottom:auto;width:290px;pointer-events:none;transition:opacity .35s,transform .35s var(--ease);transform:none}
.map-info.hide{opacity:0;transform:translateX(-8px)}
.map-info.from-right.hide{transform:translateX(8px)}
.map-info img{height:150px}
.city .halo{animation-duration:2s}
.city:hover .dot{r:8}
.hero-logo .tm{left:98.6%;right:auto;top:66%}
.brand{position:relative}
.brand .tm,.nav:not(.light) .brand::after{position:absolute;left:calc(98% + 2px);top:62%;margin:0!important}
.foot-brand{position:relative}
.foot-brand .tm{position:absolute;left:calc(98% + 2px);top:62%;margin:0}
@media (max-width:640px){.map-info{position:relative;top:auto!important;left:auto!important;width:auto;pointer-events:auto;transform:none!important}.map-info.hide{display:none}}
/* ---------- MODALS ---------- */
.modal{position:fixed;inset:0;z-index:260;display:flex;justify-content:flex-end;visibility:hidden;pointer-events:none}
.modal.open{visibility:visible;pointer-events:auto}
.modal .scrim{position:absolute;inset:0;background:rgba(5,7,15,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .5s}
.modal.open .scrim{opacity:1}
.sheet{position:relative;width:min(640px,100%);height:100%;overflow-y:auto;background:radial-gradient(80% 40% at 100% 0%,rgba(217,192,143,.3),transparent 60%),#fff;color:var(--ink);
  padding:calc(28px + env(safe-area-inset-top,0px)) max(28px,env(safe-area-inset-right,0px)) calc(40px + env(safe-area-inset-bottom,0px)) 28px;transform:translateX(100%);transition:transform .7s var(--ease-io)}
.modal.open .sheet{transform:none}
.sheet-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.x{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--line);position:relative;flex:none}
.x::before,.x::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%) rotate(45deg)}
.x::after{transform:translate(-50%,-50%) rotate(-45deg)}
.steps{display:flex;gap:8px;align-items:center;color:var(--muted)}
.steps i{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-style:normal;font-family:var(--mono);font-size:.7rem}
.steps i.on{background:var(--violet);color:#fff;border-color:var(--violet)}
.steps span{width:24px;height:1.5px;background:var(--line)}
.sheet h3{font-size:2rem;margin-bottom:8px}
.sheet .note{color:var(--muted);font-size:.94rem;margin-bottom:22px}
.k-label{color:var(--violet);font-weight:500}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form .full{grid-column:1/-1}
.fl{display:grid;gap:6px;min-width:0}
.fl>label:not(.drop){font-family:var(--mono);font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--violet-2)}
.fl>label:not(.drop) b{color:var(--violet);font-weight:500}
.fl input,.fl select,.fl textarea{width:100%;padding:13px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);outline:0;transition:border-color .3s,background .3s}
.fl textarea{min-height:90px;resize:vertical}
.fl input:focus,.fl select:focus,.fl textarea:focus{border-color:var(--violet);background:#fff}
.fl.bad input,.fl.bad select{border-color:#D9534F}
.drop{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1.5px dashed var(--violet-soft);background:var(--paper);cursor:pointer;transition:border-color .3s,background .3s;min-width:0}
.drop:hover{border-color:var(--violet);background:#fff}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.drop .fn{color:var(--muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.drop .ext{margin-left:auto;color:var(--violet-2);font-family:var(--mono);font-size:.62rem;flex:none}
.drop.has{border-style:solid;border-color:#2FA37A}
.drop.has .fn{color:var(--ink)}
.fl.bad .drop{border-color:#D9534F}
.fee{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;border-radius:14px;background:var(--paper-2);margin-top:6px}
.fee b{font-family:var(--serif);font-weight:500;font-size:1.3rem}
.pay{display:grid;gap:14px}
.pay-box{padding:22px;border-radius:18px;background:var(--paper)}
.pay-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.94rem}
.pay-row:last-child{border:0;color:var(--ink);font-weight:500}
.methods{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.methods span{padding:6px 12px;border-radius:999px;border:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.demo{font-size:.82rem;color:var(--muted);padding:12px 14px;border-radius:12px;border:1.5px dashed var(--violet-soft)}
.done{text-align:center;padding:30px 0}
.done .seal{width:96px;height:96px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(154,111,44,.22),transparent 70%);color:var(--violet)}
.done .seal svg{width:44px}
.done p{color:var(--muted);margin-top:8px}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,calc(100% + 60px));z-index:380;padding:12px 20px;border-radius:999px;background:var(--deep);color:#fff;font-weight:500;font-size:.88rem;transition:transform .5s var(--ease)}
.toast.show{transform:translate(-50%,0)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1500px){.speed{display:none}}
@media (max-width:1100px){.links{display:none}.burger{display:block}}
@media (max-width:960px){
  .about-grid,.film-grid,.comp-grid,.looking,.letter{grid-template-columns:1fr}
  .lotus-stage{max-width:440px}
  .poster-wrap{max-width:360px}
  .status{grid-template-columns:1fr 1fr}
  .cities{grid-template-columns:1fr}
  .ideas{height:auto;background:var(--paper-2)}
  .ideas-pin{position:relative;height:auto;padding:100px 0 70px;display:block}
  .track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;transform:none!important;height:auto;gap:12px;padding:0 16px}
  .track::-webkit-scrollbar{display:none}
  .panel{width:86vw;min-height:60vh;height:auto;scroll-snap-align:start;padding:30px 0}
  .panel.intro{width:86vw;padding-left:0}
  .panel .inner{margin-left:0;padding:26px 22px}
  .panel .bg-word{font-size:40vw;left:0}
  .ideas-hud{position:relative;left:auto;right:auto;bottom:auto;margin:16px 24px 0}
  .orbit{right:-50vw;opacity:.4}
  .hero-bottom{grid-template-columns:1fr}
  .speed{display:none}
}
@media (max-width:640px){
  .wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .nav{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .brand img{height:48px}
  .comp-pill .full-t,.sound .lbl{display:none}
  .comp-pill{padding:10px 14px}
  .status{grid-template-columns:1fr}
  .member{grid-template-columns:36px minmax(0,1fr)}
  .member .meta{grid-column:2}
  .form{grid-template-columns:1fr}
  .tatra{font-size:.8rem;padding:8px 14px}
  .tstyle span{display:none}
  .tstyle button{padding:7px 11px;font-size:.74rem}
  .hero-copy{display:none}
  .hero-ui{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .map-svg{min-width:640px}
  .field{flex-direction:column;border-radius:18px}
  .moods{right:-60px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
.nav .brand::after{content:none!important;display:none!important}.tm{display:none!important}
/* r10: final light sweep reveal */
.hero-logo.rv-sweep.show img{-webkit-mask-image:linear-gradient(100deg,#000 40%,rgba(0,0,0,.35) 50%,transparent 60%);mask-image:linear-gradient(100deg,#000 40%,rgba(0,0,0,.35) 50%,transparent 60%);-webkit-mask-size:300% 100%;mask-size:300% 100%;animation:rvSweep 2.3s cubic-bezier(.42,0,.22,1) both}
.hero-logo.rv-sweep .glint{-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.hero-logo.rv-sweep.show .glint{opacity:1;background:linear-gradient(100deg,transparent 46.5%,rgba(255,232,160,.9) 50%,transparent 53.5%);background-size:300% 100%;mix-blend-mode:screen;animation:rvGlint 2.3s cubic-bezier(.42,0,.22,1) both}
.hero.rush .hero-logo.show img,.hero.rush .hero-logo.show .glint{animation-duration:.6s!important}
.pay-row.ref{color:var(--ink,#1d2433);border-bottom:0}.pay-row.ref b{font-family:var(--mono,monospace);letter-spacing:.06em;font-size:1rem}
.upi{display:flex;gap:18px;align-items:center;padding:18px;border-radius:18px;border:1px solid var(--line);background:#fff}
.upi-qr{flex:0 0 168px;width:168px;height:168px}.upi-qr svg{width:100%;height:100%;display:block}
.upi-txt{font-size:.88rem;color:var(--muted);display:grid;gap:8px}.upi-h{font-weight:600;color:var(--ink,#1d2433);font-size:.98rem}.upi-to{font-size:.82rem}
.upi-app{display:none;text-align:center;text-decoration:none}
@media (hover:none) and (pointer:coarse){.upi-app{display:block;order:-1}.pay-box{order:-2}}
@media (max-width:560px){.upi{flex-direction:column;text-align:center}.upi-qr{flex-basis:auto}}
.map-info img{height:auto!important;aspect-ratio:16/9;object-fit:contain}
/* r11: competition card, louder and easier to read */
.signal{max-width:500px;gap:20px;padding:22px 26px 22px 20px;border-radius:24px;border:0;
  background:linear-gradient(140deg,#1C2E58 0%,#0C1633 55%,#2B200B 100%);
  box-shadow:0 0 0 1.5px rgba(232,190,79,.6),0 22px 60px rgba(0,0,0,.55),0 0 46px rgba(232,190,79,.28);animation:sigGlow 2.8s ease-in-out infinite}
@keyframes sigGlow{50%{box-shadow:0 0 0 1.5px rgba(242,201,76,.95),0 22px 60px rgba(0,0,0,.55),0 0 80px rgba(242,201,76,.5)}}
.signal::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,236,170,.22) 48%,transparent 60%);background-size:250% 100%;animation:sigShine 4.5s ease-in-out infinite}
@keyframes sigShine{0%,55%{background-position:130% 0}100%{background-position:-30% 0}}
.signal .sig-body{position:relative;z-index:1;display:grid;justify-items:start}
.signal .k{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(242,201,76,.16);border:1px solid rgba(242,201,76,.55);color:#F7D66B;font-size:.72rem;letter-spacing:.2em;font-weight:600}
.signal .k::before{display:none}
.signal .k .live{width:8px;height:8px;border-radius:50%;background:#F2C94C;box-shadow:0 0 0 0 rgba(242,201,76,.7);animation:livePing 1.6s ease-out infinite}
@keyframes livePing{to{box-shadow:0 0 0 9px rgba(242,201,76,0)}}
.signal strong{font-family:var(--serif);font-weight:600;font-size:clamp(1.55rem,2.1vw,1.95rem);line-height:1.12;margin:12px 0 14px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.signal strong em{font-style:italic;color:#F2C94C}
.signal .go{opacity:1;padding:11px 20px;border-radius:999px;background:linear-gradient(180deg,#F7D66B,#DDA93A);color:#1A1405;font-weight:600;font-size:.98rem;box-shadow:0 8px 22px rgba(242,201,76,.35);transition:transform .3s,box-shadow .3s}
.signal:hover .go{box-shadow:0 10px 30px rgba(242,201,76,.55)}
.signal .go svg{width:15px}
.beacon{width:64px;height:64px;z-index:1}
.beacon::before{content:"";position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle,rgba(242,201,76,.28),rgba(242,201,76,.06) 70%);border:1px solid rgba(242,201,76,.5)}
.beacon svg{width:28px;height:28px;color:#F7D66B}
@media (max-width:600px){.signal{max-width:none;padding:18px;gap:14px}.beacon{width:52px;height:52px}.signal strong{font-size:1.4rem;margin:10px 0 12px}}
@media (prefers-reduced-motion: reduce){.signal,.signal::after,.signal .k .live{animation:none}}
.form .fl{align-self:start;align-content:start}
.fl-err{display:none;margin-top:6px;color:#C0392B;font-size:.8rem;font-weight:500}
.fl.bad .fl-err{display:block}
.fl.bad input,.fl.bad select,.fl.bad textarea{border-color:#C0392B!important;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.fl.bad .drop{border:1.5px solid #C0392B!important;background:rgba(192,57,43,.05)}
/* r12: phones */
@media (max-width:960px){
  /* four ideas: stacked cards instead of a sideways carousel */
  .ideas-pin{padding:76px 0 60px}
  .track{display:grid!important;grid-template-columns:1fr;overflow:visible!important;scroll-snap-type:none!important;padding:0 16px!important;gap:16px!important}
  .panel,.panel.intro{width:auto!important;min-height:0!important;height:auto!important;padding:0!important;position:relative;overflow:hidden;background:none!important;box-shadow:none!important;border-radius:28px}
  .panel.intro{padding:0 4px 10px!important;overflow:visible}
  .panel .bg-word{font-size:30vw;left:auto;right:-4vw}
  .panel .inner{padding:24px 20px!important}
  .ideas-hud{display:none!important}
  .orbit{display:none}
}
@media (max-width:760px){
  /* core questions: the film strip runs downwards on phones */
  .strip-wrap{overflow:visible!important;scroll-snap-type:none!important;margin:28px 16px 0}
  .strip{flex-direction:column;width:auto!important;padding:14px 34px!important;gap:14px;border-radius:6px;transform:none!important}
  .strip::before,.strip::after{top:0!important;bottom:0!important;width:12px;height:auto!important;background:repeating-linear-gradient(180deg,transparent 0 12px,rgba(247,243,236,.85) 12px 30px,transparent 30px 42px)!important}
  .strip::before{left:11px!important;right:auto!important}.strip::after{right:11px!important;left:auto!important}
  .frame{width:auto!important;min-height:0!important;padding:24px 22px!important}
  .frame p{margin-top:18px!important;font-size:1.45rem!important}
  .frame p.small{font-size:.95rem!important;margin-top:16px!important}
}
@media (max-width:760px){
  /* filming locations: bigger map, then a photo card per city */
  .map-dots{display:none!important}
  .map-card{border-radius:22px}
  .city text{font-size:26px}
  .city .dot{transform:scale(1.6);transform-box:fill-box;transform-origin:center}
}
@media (max-width:760px){
  /* footer: everything centred on phones */
  .foot-top{flex-direction:column;align-items:center;text-align:center;gap:26px}
  .foot-brand{justify-content:center}
  .s-foot .foot-links{justify-content:center;gap:14px 22px}
  .s-foot .foot-bottom{flex-direction:column;align-items:center;text-align:center;gap:10px}
  .wordmark{text-align:center}
}
@media (max-width:640px){.hero-ui{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}}
@media (min-width:761px){.lbl-bg,.map-hint,.mi-x,.map-scrim{display:none!important}}
@media (max-width:760px){
  /* phones: gold label pills on the map, tap for a photo popup */
  .city text{font-size:24px;fill:#1A1405!important;font-weight:600}
  .city .lbl-bg{fill:#E8BE4F;stroke:rgba(255,236,170,.8);stroke-width:1.5}
  .city.sel .lbl-bg{fill:#fff}
  .city{cursor:pointer}
  .map-hint{margin:10px 0 2px;text-align:center;color:var(--muted);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}
  .map-scrim{position:fixed;inset:0;z-index:290;background:rgba(5,7,15,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  .map-info{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;z-index:291;width:min(340px,calc(100vw - 32px))!important;max-width:none!important;margin:0!important;transform:translate(-50%,-50%)!important;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
  .map-info.hide{display:none!important}
  .map-info img{height:auto!important;aspect-ratio:16/9;object-fit:contain}
  .mi-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:rgba(5,7,15,.65);border:1px solid rgba(244,240,232,.35);z-index:2}
  .mi-x::before,.mi-x::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}
  .mi-x::after{transform:translate(-50%,-50%) rotate(-45deg)}
}
.rules li{align-items:start}.rules li span{display:block;font-size:.95rem;line-height:1.5;color:var(--ink,#1d2433)}.rules li b{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--violet);margin-bottom:2px}
.prizes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px;max-width:560px}
.prizes div{padding:14px 12px;border-radius:14px;background:linear-gradient(160deg,#16223F,#0B1226);color:#F4F0E8;text-align:center}
.prizes b{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:#E8BE4F}
.prizes span{font-size:.75rem;letter-spacing:.06em;color:rgba(244,240,232,.75)}
.perks{margin-top:16px;max-width:560px;color:var(--muted);font-size:.95rem}
@media (max-width:420px){.prizes b{font-size:1.2rem}.prizes div{padding:12px 6px}}
.map-info{width:400px}
@media (min-width:761px){.map-info{z-index:5}.map-dots{right:auto!important;left:18px!important}}
.float{height:auto!important}
.float .ph{flex:none!important;width:100%;aspect-ratio:3/4;background-size:cover!important;background-position:center top!important}
.map-info img{object-fit:cover!important}
/* r14: film frames get line art, slate marks and crop corners */
.frame{position:relative;overflow:hidden}
.frame .fmeta{position:absolute;top:28px;right:30px;display:flex;gap:14px;font-size:.62rem;letter-spacing:.14em;color:rgba(244,240,232,.45)}
.frame .crop{display:block!important;margin:0!important;padding:0!important;position:absolute!important;width:14px!important;height:14px!important;max-width:14px;width:14px;height:14px;border:0 solid rgba(232,190,79,.55);pointer-events:none}
.frame .crop.tl{top:12px;left:12px;border-top-width:1px;border-left-width:1px}.frame .crop.tr{top:12px;right:12px;border-top-width:1px;border-right-width:1px}
.frame .crop.bl{bottom:12px;left:12px;border-bottom-width:1px;border-left-width:1px}.frame .crop.br{bottom:12px;right:12px;border-bottom-width:1px;border-right-width:1px}
.frame .fart{display:block;width:62%;max-width:230px;height:auto;margin:6px auto -4px;filter:drop-shadow(0 0 14px rgba(232,190,79,.25))}
.frame .fart .dr{stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 2.4s cubic-bezier(.3,.7,.2,1)}
.s-q.in-view .frame .fart .dr{stroke-dashoffset:0}
.frame p{margin-top:10px!important}
.frame::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 45% at 50% 38%,rgba(232,190,79,.12),transparent 70%)}
@media (max-width:760px){.frame .fart{width:54%;margin:12px auto 0}.frame .fmeta{top:24px;right:22px}}
@media (prefers-reduced-motion:reduce){.frame .fart .dr{stroke-dashoffset:0;transition:none}}

/* r14: four ideas, a gilded manuscript card */
.panel .inner{border-radius:30px!important;background:linear-gradient(155deg,#FFFDF8 0%,#FAF3E6 55%,#F3E7D0 100%)!important;
  box-shadow:0 40px 90px rgba(70,48,15,.16),0 2px 0 rgba(255,255,255,.9) inset,inset 0 0 0 10px rgba(255,253,248,.9),inset 0 0 0 11px rgba(169,129,58,.45),inset 0 0 0 15px rgba(255,253,248,.0),inset 0 0 0 16px rgba(169,129,58,.18)!important;
  overflow:hidden;isolation:isolate}
.panel .inner::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background:
  radial-gradient(70% 90% at 0% 0%,rgba(232,190,79,.16),transparent 60%),
  repeating-linear-gradient(0deg,rgba(120,90,40,.025) 0 1px,transparent 1px 4px)}
.panel .orn{position:absolute;width:46px;height:46px;pointer-events:none;color:#A9813A;opacity:.85}
.panel .orn.tl{top:18px;left:18px}.panel .orn.tr{top:18px;right:18px;transform:scaleX(-1)}.panel .orn.bl{bottom:18px;left:18px;transform:scaleY(-1)}.panel .orn.br{bottom:18px;right:18px;transform:scale(-1)}
.panel .numeral{position:absolute;right:78px;top:44px;font-family:var(--serif);font-style:italic;font-size:clamp(3.4rem,6vw,5.6rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(169,129,58,.45);pointer-events:none}
.idea-art{position:relative;width:170px!important;height:170px!important;background:radial-gradient(circle,#FFFDF8 0 52%,rgba(232,190,79,.22) 53%,rgba(232,190,79,0) 72%)!important;box-shadow:0 0 0 1px rgba(169,129,58,.35),0 18px 40px rgba(120,85,25,.15)}
.idea-art::before{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px dashed rgba(169,129,58,.45);animation:medal 40s linear infinite}
.idea-art::after{content:"";position:absolute;inset:-20px;border-radius:50%;border:1px solid rgba(169,129,58,.15)}
@keyframes medal{to{transform:rotate(360deg)}}
.panel h3{background:linear-gradient(100deg,#1d2433 30%,#8A6424 70%,#1d2433);-webkit-background-clip:text;background-clip:text;color:transparent}
.panel .idea-txt p{font-size:1.06rem;line-height:1.75;color:#5B5246}
.panel .idea-txt p::before{content:"";display:block;width:56px;height:1px;margin:0 0 16px;background:linear-gradient(90deg,#A9813A,transparent)}
.panel .inner{padding:46px 52px!important}
@media (max-width:960px){.idea-art{width:120px!important;height:120px!important}.panel .numeral{right:60px;top:34px;font-size:3rem}.panel .inner{padding:34px 26px!important}.panel .orn{width:34px;height:34px}}
@media (prefers-reduced-motion:reduce){.idea-art::before{animation:none}}
/* r15: four ideas astrolabe */
.astro{--gold:#E8BE4F;--ink:#F4F0E8;--muted:rgba(244,240,232,.66);--asf:"Cormorant Garamond",Georgia,serif;--deva:"Tiro Devanagari Sanskrit",serif;color:#F4F0E8}.astro{position:relative;height:360vh;background:radial-gradient(120% 60% at 50% 0%,#14234A 0%,#070B18 55%,#05070F 100%)}.astro::before{content:"";position:absolute;left:0;right:0;top:0;height:140px;background:linear-gradient(var(--paper,#F5EFE4),rgba(245,239,228,0))}.astro::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(rgba(245,239,228,0),var(--paper,#F5EFE4))}.astro .pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;grid-template-areas:"dial head" "dial txt";grid-template-rows:auto auto;align-content:center;column-gap:5vw;row-gap:4vh;padding:0 6vw}.astro .dialwrap{grid-area:dial;align-self:center}.astro .head{grid-area:head;align-self:end}.astro .txt{grid-area:txt;align-self:start}.astro canvas.stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.astro .head{position:relative;z-index:2}.astro .eyebrow{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:14px}.astro .eyebrow::before{content:"";width:40px;height:1px;background:var(--gold)}.astro .head h2{font-family:var(--asf);font-weight:500;font-size:clamp(1.8rem,2.8vw,2.6rem);margin-top:10px;line-height:1.1}.astro .head h2 em{color:var(--gold);font-style:italic}.astro .dialwrap{position:relative;z-index:1;width:min(78vh,44vw);aspect-ratio:1;justify-self:center}.astro .dial{width:100%;height:100%;overflow:visible}.astro .dial .rot{transform-origin:300px 300px;transition:transform 1.4s cubic-bezier(.65,0,.2,1)}.astro .dial text.dv{font-family:var(--deva);font-size:30px;fill:rgba(232,190,79,.32);transition:fill .8s}.astro .dial text.dv.on{fill:#F7D66B}.astro .pointer{position:absolute;left:50%;top:-2%;transform:translateX(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:14px solid var(--gold);filter:drop-shadow(0 0 8px rgba(232,190,79,.8))}.astro .core{position:absolute;inset:31%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#0C1633 0 60%,rgba(12,22,51,.0) 72%)}.astro .core svg{width:78%;height:auto;overflow:visible;fill:none;stroke:#E8BE4F;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 12px rgba(232,190,79,.45))}.astro .core svg .fill{fill:#E8BE4F;stroke:none}.astro .core svg *{stroke-dasharray:600;stroke-dashoffset:600;animation:draw 2.2s cubic-bezier(.3,.7,.2,1) forwards}@keyframes draw{to{stroke-dashoffset:0}}
.astro .txt{position:relative;z-index:2;max-width:520px}.astro .num{font-family:var(--asf);font-style:italic;font-size:clamp(4rem,8vw,7.5rem);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(232,190,79,.6)}.astro .deva{font-family:var(--deva);color:var(--gold);font-size:1.3rem;margin-top:22px;display:block}.astro .txt h3{font-family:var(--asf);font-weight:500;font-size:clamp(2.8rem,5vw,4.8rem);line-height:1;margin:8px 0 22px;letter-spacing:-.01em}.astro .txt p{color:var(--muted);font-size:clamp(1.08rem,1.4vw,1.28rem);line-height:1.75;font-weight:300;max-width:460px}.astro .txt p::before{content:"";display:block;width:64px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);margin-bottom:20px}.astro .swap{transition:opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1)}.astro .swap.out{opacity:0;transform:translateY(14px)}.astro .steps{display:flex;align-items:center;gap:10px;margin-top:34px;pointer-events:none}.astro .steps i{width:7px;height:7px;border-radius:50%;border:1px solid rgba(232,190,79,.6);transition:background .4s,transform .4s}.astro .steps i.on{background:var(--gold);transform:scale(1.3)}.astro .steps span{margin-left:12px;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(244,240,232,.45)}
@media (max-width:820px){.astro{height:340vh}.astro .pin{grid-template-columns:1fr;grid-template-areas:"head" "dial" "txt";grid-template-rows:auto auto auto;align-content:center;row-gap:2vh;padding:0 16px}.astro .head{position:relative;left:auto;top:auto;text-align:center}.astro .eyebrow{justify-content:center}.astro .dialwrap{width:min(76vw,44vh)}.astro .txt{text-align:center;margin:0 auto}.astro .num{display:none}.astro .deva{margin-top:0}.astro .txt h3{font-size:2.4rem;margin:4px 0 12px}.astro .txt p{font-size:.98rem;line-height:1.6;margin:0 auto}.astro .txt p::before{margin:0 auto 14px}.astro .steps{justify-content:center;margin-top:18px}
}
@media (prefers-reduced-motion:reduce){.astro .dial .rot{transition:none}.astro .core svg *{animation:none;stroke-dashoffset:0}}.astro .head h2{color:#F4F0E8}.astro .txt h3{color:#F4F0E8}.astro{padding:260px 0 260px!important}
.astro .steps span{white-space:nowrap!important;width:auto!important;display:inline-block!important;border:0!important;height:auto!important;background:none!important;padding:0!important}
.astro .core{inset:31%!important;border-radius:50%!important;overflow:hidden;padding:0!important;margin:0!important;width:auto!important;height:auto!important;position:absolute!important;background:radial-gradient(circle,rgba(20,35,74,.9) 0 45%,rgba(12,22,51,0) 70%)!important;display:grid!important;place-items:center}
.tatra{align-items:center!important;line-height:1}
.tatra>*{display:inline-flex;align-items:center;line-height:1.2}
.tatra .deva{font-size:1.05rem;line-height:1.2;position:relative;top:-.06em}
.tatra span:not(.deva){font-size:.95rem}
.tatra em{font-size:1rem}
.frame.wh2 .veil{display:block;filter:blur(7px);opacity:.75;user-select:none}
.frame.wh2 .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.frame.wh2 .cap{font-family:inherit!important;font-size:.92rem!important;line-height:1.6!important;color:rgba(244,240,232,.72);margin-top:12px!important}
.frame.wh2::before,.frame.wh2::after{background-image:none!important}.frame.wh2 .fmeta{z-index:3}
.frame .wstamp{padding:2px 8px;border:1px solid rgba(232,190,79,.7);border-radius:3px;color:#E8BE4F;letter-spacing:.22em;transform:rotate(-4deg);display:inline-block}
/* r16: soft dusk blends where light and dark sections meet */
#film,#news,#contact{padding-top:230px!important}
#film,#news{padding-bottom:240px!important}
#film>.wrap,#news>.wrap,#contact>.wrap{position:relative;z-index:2}
.blend{position:absolute;left:0;right:0;height:260px;pointer-events:none;z-index:1}
.blend.t{top:-1px;background:linear-gradient(180deg,#F5EFE4 0%,rgba(245,239,228,.88) 14%,rgba(196,186,176,.55) 38%,rgba(60,62,78,.35) 66%,rgba(10,16,34,0) 100%)}
.blend.b{bottom:-1px;background:linear-gradient(0deg,#F5EFE4 0%,rgba(245,239,228,.88) 14%,rgba(196,186,176,.55) 38%,rgba(60,62,78,.35) 66%,rgba(10,16,34,0) 100%)}
@media (max-width:760px){#film,#news,#contact{padding-top:170px!important}#film,#news{padding-bottom:180px!important}.blend{height:190px}}
/* r17: fades get their own empty space; content starts only on the full dark */
.astro::before{height:260px!important;background:linear-gradient(180deg,#F5EFE4 0%,rgba(245,239,228,.85) 20%,rgba(150,145,150,.45) 55%,rgba(20,35,74,0) 100%)!important}
.astro::after{height:260px!important;background:linear-gradient(0deg,#F5EFE4 0%,rgba(245,239,228,.85) 20%,rgba(150,145,150,.45) 55%,rgba(5,7,15,0) 100%)!important}
#film,#news,#contact{padding-top:330px!important}
#film,#news{padding-bottom:330px!important}
.blend{height:250px!important}
@media (max-width:760px){.astro{padding:180px 0 180px!important}.astro::before,.astro::after{height:180px!important}#film,#news,#contact{padding-top:240px!important}#film,#news{padding-bottom:240px!important}.blend{height:180px!important}}
/* r18: clean cuts with a gold hairline instead of long fades (hero fade kept) */
.blend{display:none!important}
.astro::before,.astro::after{display:none!important}
.astro{padding:0!important;border-top:1px solid rgba(232,190,79,.55);border-bottom:1px solid rgba(232,190,79,.55)}
#film,#news,#contact{padding-top:clamp(72px,9vw,110px)!important;border-top:1px solid rgba(232,190,79,.55)}
#film,#news{padding-bottom:clamp(72px,9vw,110px)!important;border-bottom:1px solid rgba(232,190,79,.55)}
@media (max-width:760px){.astro{padding:0!important}#film,#news,#contact{padding-top:64px!important}#film,#news{padding-bottom:64px!important}}
.map-svg .geo-ny{fill:#8C6B2C;stroke:#F2C94C;stroke-width:.9;stroke-linejoin:round}
.map-svg .geo-lake{fill:#0F1E3F;stroke:rgba(217,192,143,.45);stroke-width:.45}
/* r20: speaker button next to the logo */
.nav .brand{order:0}
.sound-wrap{margin-left:18px;margin-right:auto;align-self:center}
@media (min-width:1101px){.links{position:absolute;left:50%;transform:translateX(-50%)}}
.sound{gap:8px;padding:9px 14px 9px 11px}
.sound .spk{width:22px;height:22px;display:block}
.sound .spk .x{display:block}.sound .spk .w1,.sound .spk .w2{display:none}
.sound.on .spk .x{display:none}.sound.on .spk .w1,.sound.on .spk .w2{display:block}
.sound.on .spk .w1{animation:spk 1.4s ease-in-out infinite}.sound.on .spk .w2{animation:spk 1.4s .25s ease-in-out infinite}
@keyframes spk{50%{opacity:.35}}
.sound:not(.on){animation:spkHint 2.4s ease-in-out 3s 3}
@keyframes spkHint{50%{box-shadow:0 0 0 6px rgba(232,190,79,.25)}}
@media (max-width:640px){.sound-wrap{margin-left:10px}.sound{padding:8px 10px}.sound .lbl{display:none}}
/* r20: competition card pushed right on phones */
@media (max-width:760px){
  .signal{width:72%!important;max-width:72%!important;margin-left:auto!important;margin-right:0!important;justify-self:end!important;grid-template-columns:1fr!important}
  .signal .beacon{display:none!important}
  .hero-bottom{justify-items:end!important}
}
