:root{--navy:#172741;--navy-d:#0D1828;--deep:#08101c;--gold:#B58932;--gold-l:#D2AE62;--ivory:#F6F2EA;--paper:#FBF8F2;--ink:#1b2333;--muted:#5d6472;--line:#e3dccd;
--serif:'Cormorant Garamond',Georgia,serif;--sans:Montserrat,system-ui,sans-serif;--w:1240px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:var(--sans);font-size:clamp(1rem,.3vw + .95rem,1.1rem);line-height:1.8;color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--gold);color:var(--navy-d);padding:8px 12px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.k{font-size:.7rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.dark .k,.hero .k{color:var(--gold-l)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-.005em}
h2{font-size:clamp(2.3rem,4.2vw,3.9rem);margin:.35em 0 .5em}
h3{font-size:clamp(1.45rem,2vw,1.8rem);margin-bottom:.4em}
h2 em,h1 em{font-style:italic;color:var(--gold)}
.dark h2 em,.hero h1 em{color:var(--gold-l)}
p+p{margin-top:1.1em}
.lead{font-size:clamp(1.15rem,1.2vw + .8rem,1.45rem);line-height:1.65;color:var(--navy);font-weight:400}
.dark .lead{color:var(--ivory)}
.btn{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:16px 28px;border:1px solid var(--gold);color:var(--navy-d);background:var(--gold-l);transition:background .25s,color .25s}
.btn:hover{background:var(--navy-d);color:var(--gold-l)}
.btn-o{background:transparent;color:var(--ivory);border-color:rgba(210,174,98,.6)}.btn-o:hover{background:var(--gold-l);color:var(--navy-d)}
/* header */
.top{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.top.solid{background:rgba(13,24,40,.96);backdrop-filter:blur(8px);border-color:rgba(210,174,98,.2)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img.em{height:46px;width:auto}.brand img.wm{height:20px;width:auto}
.nav{display:flex;gap:26px;list-style:none}
.nav a{color:var(--ivory);text-decoration:none;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.nav a:hover{opacity:1;color:var(--gold-l)}
.menu-btn{display:none;background:none;border:1px solid rgba(210,174,98,.6);color:var(--ivory);font:600 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:10px 14px;cursor:pointer}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--ivory);background:var(--navy-d);overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,24,40,.94) 0%,rgba(13,24,40,.7) 42%,rgba(13,24,40,.1) 78%),linear-gradient(0deg,rgba(13,24,40,.9),transparent 40%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:clamp(64px,10vh,120px);width:100%}
.hero h1{font-size:clamp(3rem,7vw,6.6rem);max-width:12ch;margin:.25em 0 .35em}
.hero .lead{max-width:36ch;color:rgba(246,242,234,.9)}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px}
.scroll{position:absolute;right:clamp(20px,4vw,48px);bottom:40px;z-index:2;writing-mode:vertical-rl;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-l);opacity:.8}
/* sections */
section{padding:clamp(88px,12vw,160px) 0}
.dark{background:var(--navy-d);color:rgba(246,242,234,.88)}
.dark h2,.dark h3{color:var(--ivory)}
.paper{background:var(--paper)}
.grid2{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,7vw,110px);align-items:start}
.prose{max-width:66ch}
.drop::first-letter{float:left;font-family:var(--serif);font-size:5.4em;line-height:.8;padding:.06em .1em 0 0;color:var(--gold)}
.quote{font-family:var(--serif);font-style:italic;font-size:clamp(2rem,3.6vw,3.3rem);line-height:1.2;color:var(--ivory);max-width:22ch;margin:0 auto;text-align:center}
.quote::before{content:"";display:block;width:64px;height:1px;background:var(--gold-l);margin:0 auto 36px}
.quote cite{display:block;margin-top:28px;font:600 .7rem var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-l);font-style:normal}
/* vision pillars */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:rgba(210,174,98,.22);border:1px solid rgba(210,174,98,.22);margin-top:72px}
.pillar{background:var(--navy-d);padding:44px 34px 48px}
.pillar .n{font-family:var(--serif);font-size:3rem;color:var(--gold-l);line-height:1;display:block;margin-bottom:22px}
.pillar p{font-size:.95rem;line-height:1.75}
/* future day */
.day{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(28px,4vw,56px);margin-top:64px;counter-reset:d}
.day article{border-top:1px solid var(--gold);padding-top:26px}
.day time{font-family:var(--serif);font-size:2.4rem;color:var(--gold);line-height:1;display:block;margin-bottom:14px}
.day p{font-size:.98rem}
.note{font-size:.8rem;color:var(--muted);margin-top:48px;font-style:italic}
/* full bleed */
.bleed{position:relative;height:clamp(420px,72vh,760px);overflow:hidden;background:var(--navy-d)}
.bleed img{width:100%;height:100%;object-fit:cover}
.bleed figcaption{position:absolute;left:clamp(20px,4vw,48px);bottom:28px;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-l)}
/* stations */
.stations{list-style:none;margin-top:72px;border-top:1px solid var(--line)}
.stations li{display:grid;grid-template-columns:110px 1fr 1.4fr;gap:clamp(20px,4vw,60px);padding:38px 0;border-bottom:1px solid var(--line);align-items:baseline}
.stations .n{font-family:var(--serif);font-size:3.2rem;color:var(--gold);line-height:1}
.stations h3{margin:0}
.stations p{color:var(--muted)}
/* centre rooms */
.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px);margin-top:64px}
.room{background:#fff;border:1px solid var(--line);padding:38px 32px 40px;position:relative}
.room::before{content:"";position:absolute;left:32px;top:0;width:44px;height:2px;background:var(--gold)}
.room .k{display:block;margin-bottom:14px}
.room p{font-size:.95rem;color:var(--muted)}
/* split image */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:640px;background:var(--navy-d);color:rgba(246,242,234,.88)}
.split figure{position:relative;overflow:hidden}
.split figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split .txt{padding:clamp(56px,8vw,120px) clamp(28px,6vw,96px);display:flex;flex-direction:column;justify-content:center}
.split h2{color:var(--ivory)}
.split.rev figure{order:2}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 8px;list-style:none}
.tags li{border:1px solid rgba(210,174,98,.5);color:var(--gold-l);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:9px 14px}
.steps{list-style:none;margin-top:30px;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:0 0 22px 54px}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:-.15em;font-family:var(--serif);font-size:1.8rem;color:var(--gold-l)}
.steps b{color:var(--ivory);font-weight:600}
.src{font-size:.78rem;opacity:.7;margin-top:18px}
.src a{color:var(--gold-l)}
/* community */
.comm{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:64px;border-top:1px solid var(--line)}
.comm div{padding:34px 28px 10px 0;border-right:1px solid var(--line);margin-right:28px}
.comm div:last-child{border-right:0;margin-right:0}
.comm p{font-size:.95rem;color:var(--muted)}
/* digital */
.digi{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:rgba(210,174,98,.22);margin-top:64px;border:1px solid rgba(210,174,98,.22)}
.digi div{background:var(--navy-d);padding:40px 34px}
.digi h3{font-size:1.5rem}
.digi p{font-size:.95rem}
/* roadmap */
.road{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,3vw,36px);margin-top:64px;position:relative}
.road::before{content:"";position:absolute;left:0;right:0;top:11px;height:1px;background:var(--gold)}
.road div{position:relative;padding-top:44px}
.road div::before{content:"";position:absolute;left:0;top:4px;width:15px;height:15px;border-radius:50%;background:var(--ivory);border:2px solid var(--gold)}
.road div.now::before{background:var(--gold)}
.road .k{display:block;margin-bottom:10px}
.road p{font-size:.95rem;color:var(--muted)}
/* join */
.join{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:rgba(210,174,98,.22);border:1px solid rgba(210,174,98,.22);margin:64px 0 56px}
.join div{background:var(--navy-d);padding:34px 28px 38px}
.join h3{font-size:1.4rem}
.join p{font-size:.92rem}
.cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.cta small{opacity:.7;font-size:.8rem}
/* footer */
footer{background:var(--deep);color:rgba(246,242,234,.7);padding:64px 0 40px;font-size:.85rem}
.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:48px;align-items:start;padding-top:12px}
.foot img{height:150px;width:auto}
.foot h4{font:600 .68rem var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-l);margin-bottom:14px}
.foot ul{list-style:none}.foot li{margin-bottom:8px}
.foot a{text-decoration:none}.foot a:hover{color:var(--gold-l)}
.legal-line{margin-top:44px;padding-top:22px;border-top:1px solid rgba(210,174,98,.18);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.76rem}
/* legal pages */
.page-head{background:var(--navy-d);color:var(--ivory);padding:150px 0 70px}
.page-head h1{font-size:clamp(2.6rem,5vw,4.2rem);margin-top:.3em}
.legal{max-width:760px;padding:72px 0 110px}
.legal h2{font-size:1.7rem;margin:1.6em 0 .5em}
.legal p,.legal li{font-size:.97rem}
.legal ul{padding-left:1.2em}
/* reveal */
.js .rv{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
@media (max-width:980px){
.nav{position:fixed;inset:76px 0 auto;flex-direction:column;gap:0;background:var(--navy-d);padding:12px 24px 24px;display:none;border-bottom:1px solid rgba(210,174,98,.25)}
.nav.open{display:flex}.nav a{display:block;padding:14px 0;border-bottom:1px solid rgba(210,174,98,.12)}
.menu-btn{display:block}
.top .wrap{height:68px}.brand img.em{height:40px}.brand img.wm{height:16px}
.grid2,.split{grid-template-columns:1fr}
.split figure{min-height:380px}.split.rev figure{order:0}
.rooms{grid-template-columns:1fr 1fr}
.comm{grid-template-columns:1fr 1fr}.comm div{border-right:0;margin-right:0;padding-right:0;border-bottom:1px solid var(--line)}
.road{grid-template-columns:1fr 1fr;row-gap:44px}.road::before{display:none}
.stations li{grid-template-columns:70px 1fr}.stations li p{grid-column:2}
.foot{grid-template-columns:1fr}
}
@media (max-width:600px){.rooms,.comm,.road{grid-template-columns:1fr}.stations .n{font-size:2.4rem}.hero h1{font-size:clamp(2.6rem,11vw,3.6rem)}}
