:root{--bg:#0f1a2b;--bg2:#16243a;--fg:#ece6d6;--mute:#a9b1bd;--amber:#f2b34a;--gel:#e0467f;--teal:#3fb5a8;--line:rgba(236,230,214,.18);
--d:"Bricolage Grotesque","Arial Narrow",Arial,sans-serif;--b:"Instrument Sans",system-ui,-apple-system,Segoe UI,sans-serif;
color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#f1ece0;--bg2:#e4ddcc;--fg:#14233a;--mute:#4d5a6d;--amber:#a86b00;--gel:#b8265f;--teal:#17776d;--line:rgba(20,35,58,.2);color-scheme:light}}
:root[data-theme="light"]{--bg:#f1ece0;--bg2:#e4ddcc;--fg:#14233a;--mute:#4d5a6d;--amber:#a86b00;--gel:#b8265f;--teal:#17776d;--line:rgba(20,35,58,.2);color-scheme:light}
*,*::before,*::after{box-sizing:inherit}
html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;min-height:100%;background:var(--bg);color:var(--fg);font:400 1.0625rem/1.6 var(--b);overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:30}
a{color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--amber);color:#111;padding:.6rem 1rem;z-index:50}.skip:focus{left:8px}
h1,h2,h3{font-family:var(--d);line-height:.98;margin:0;letter-spacing:-.02em;font-weight:700;font-stretch:75%}
p{margin:0 0 1em;max-width:62ch}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;justify-content:space-between;align-items:center;padding:.9rem clamp(1rem,4vw,3rem);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.logo{font:800 1.5rem var(--d);text-decoration:none;letter-spacing:-.04em}
.logo i{font-style:normal;color:var(--amber)}
nav ul{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}
nav a{display:block;padding:.45rem .8rem;text-decoration:none;font-size:.95rem;position:relative}
nav a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.2rem;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .3s}
nav a:hover::after,nav a[aria-current=page]::after{transform:scaleX(1)}
.menu{display:none;background:none;border:1px solid var(--line);color:inherit;padding:.5rem .9rem;font:inherit;border-radius:99px;cursor:pointer}
@media (max-width:1100px){.menu{display:block}nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);display:none}nav.open{display:block}nav ul{flex-direction:column;padding:.5rem clamp(1rem,4vw,3rem) 1rem}nav a{font-size:1.4rem;font-family:var(--d)}}
main{outline:none}
.wrap{padding:clamp(3.5rem,9vw,8rem) clamp(1rem,4vw,3rem)}
.hero{position:relative;min-height:calc(100svh - 64px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1rem,4vw,3rem);overflow:hidden;--x:50%;--y:40%;background:radial-gradient(ellipse 40% 50% at var(--x) var(--y),rgba(242,179,74,.28),transparent 70%),linear-gradient(180deg,var(--bg),var(--bg2))}
.hero .big{font:800 clamp(7rem,32vw,30rem)/.8 var(--d);font-stretch:75%;letter-spacing:-.06em;margin:0 0 0 -.04em;color:transparent;background:radial-gradient(circle 24vmax at var(--x) var(--y),var(--amber),var(--gel) 55%,color-mix(in srgb,var(--fg) 12%,transparent) 100%);-webkit-background-clip:text;background-clip:text;user-select:none}
.hero h1{font-size:clamp(1.6rem,4.2vw,3.4rem);max-width:20ch;margin:1.2rem 0 .8rem}
.hero p{color:var(--mute)}
.btn{display:inline-block;padding:.8rem 1.4rem;border-radius:99px;border:1.5px solid var(--fg);text-decoration:none;font-weight:600;transition:background .25s,color .25s}
.btn:hover{background:var(--fg);color:var(--bg)}.btn.fill{background:var(--amber);border-color:var(--amber);color:#14110a}.btn.fill:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.hero .row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.4rem}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,5rem);align-items:start}
.intro h2,.ph h1{font-size:clamp(2.4rem,6.5vw,5.5rem)}
@media (max-width:860px){.intro{grid-template-columns:1fr}}
.rooms{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:minmax(26rem,60vh);gap:2px;background:var(--line)}
.room{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.2rem,2.5vw,2.2rem);text-decoration:none;overflow:hidden;background:var(--bg);transition:flex .5s}
.room svg{position:absolute;inset:0;width:100%;height:100%;opacity:.9;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.room:hover svg,.room:focus-visible svg{transform:scale(1.07)}
.room>*:not(svg){position:relative}
.room::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 8%,transparent 65%)}
.room>*:not(svg){z-index:2}
.room h3{font-size:clamp(1.8rem,3.4vw,3rem)}.room p{margin:.5rem 0 0;color:var(--mute);font-size:.98rem}
.tag{display:inline-block;font-size:.82rem;padding:.2rem .7rem;border:1px solid var(--line);border-radius:99px;color:var(--mute);margin-bottom:.8rem;align-self:flex-start}
@media (max-width:860px){.rooms{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:minmax(20rem,48vh)}}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1.5rem,5vw,5rem);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.frame{aspect-ratio:16/10;border:1px solid var(--line);overflow:hidden;background:var(--bg2);position:relative}
.frame svg{width:100%;height:100%;display:block}
.frame .cap{position:absolute;left:.8rem;bottom:.6rem;font-size:.8rem;color:var(--mute)}
.stage{background:var(--bg2)}
.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:2rem 0 0}
.tabs button{flex:1 1 9rem;text-align:left;background:none;border:0;border-bottom:3px solid transparent;color:var(--mute);padding:1rem .2rem;font:600 1rem var(--b);cursor:pointer;transition:color .2s,border-color .2s}
.tabs button[aria-selected=true]{color:var(--fg);border-color:var(--gel)}
.tabs span{display:block;font:700 1.5rem var(--d);margin-top:.2rem}
.panel{padding:2rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:2rem;min-height:15rem}
.panel h3{font-size:clamp(1.8rem,3.5vw,2.8rem)}
@media (max-width:860px){.panel{grid-template-columns:1fr}}
.rec{display:inline-flex;align-items:center;gap:.5rem;color:var(--gel);font-weight:600}.rec::before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:currentColor}
@media (prefers-reduced-motion:no-preference){.rec::before{animation:pulse 1.6s infinite}@keyframes pulse{50%{opacity:.25}}}
.list{display:grid;gap:0;border-top:1px solid var(--line)}
.item{display:grid;grid-template-columns:9rem 1fr auto;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--line);align-items:baseline;text-decoration:none}
.item h3{font-size:clamp(1.4rem,2.6vw,2.2rem);transition:transform .3s,color .3s}
.item:hover h3{transform:translateX(.6rem);color:var(--amber)}
.item small,.muted{color:var(--mute)}
@media (max-width:700px){.item{grid-template-columns:1fr}}
.ph{padding:clamp(3rem,8vw,7rem) clamp(1rem,4vw,3rem) 1rem}
.ph p{font-size:1.25rem;color:var(--mute);margin-top:1.2rem}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.2rem}
.card{border:1px dashed var(--line);padding:1.4rem;min-height:11rem}
.card h3{font-size:1.5rem;margin-bottom:.5rem}
form{display:grid;gap:1rem;max-width:34rem}
label{display:grid;gap:.3rem;font-weight:600}
input,textarea{font:inherit;color:inherit;background:var(--bg2);border:1px solid var(--line);padding:.8rem;border-radius:4px}
textarea{min-height:9rem}
#note{min-height:1.5rem;color:var(--amber)}
footer{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem) 2rem;border-top:1px solid var(--line)}
footer .big2{font:800 clamp(3rem,11vw,10rem)/.9 var(--d);font-stretch:75%;letter-spacing:-.05em;margin:0 0 2rem}
footer ul{display:flex;gap:1.4rem;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 1.5rem}
.legal h2{font-size:1.6rem;margin:2.2rem 0 .8rem;line-height:1.1}.legal p{color:var(--mute)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
