@font-face{font-family:Inter;src:url(assets/inter-variable.woff2);font-weight:100 900;font-display:swap}
@font-face{font-family:Montserrat;src:url(assets/montserrat-900-italic.woff2);font-weight:900;font-style:italic;font-display:swap}
:root{color-scheme:dark;--bg:#080d17;--panel:#111a2d;--ink:#f5f7ff;--muted:#c4cfe3;--blue:#69c9ff;--gold:#ffd25c;--line:#273750}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Inter,system-ui,sans-serif}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.wrap{width:min(1160px,calc(100% - 36px));margin-inline:auto}
header{border-bottom:1px solid var(--line);background:#0b1220}
.bar,.brand,nav{display:flex;align-items:center;gap:18px}
.bar{justify-content:space-between;min-height:76px}
.brand{gap:9px;font-weight:850;line-height:1.1}
.brand img{object-fit:contain}
.brand small{display:block;color:var(--blue);font-size:.63rem;letter-spacing:.09em;margin-top:4px}
nav{color:var(--muted);font-size:.88rem;font-weight:650}
nav a:hover{color:var(--gold)}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:0;border-radius:12px;padding:14px 20px;background:linear-gradient(105deg,#ffd761,#ffae36);color:#14141a;font:inherit;font-weight:850;text-align:center;cursor:pointer}
.btn:hover{background:#ffe083}
.btn.small{font-size:.85rem;padding:10px 14px}
.hero{background:radial-gradient(ellipse at 86% 25%,#143f70,transparent 55%),radial-gradient(ellipse at 2% 0%,#48182b,transparent 44%),#0a111e;border-bottom:1px solid var(--line)}
.hero-grid,.booking{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,5vw,70px)}
.hero-grid{padding-block:clamp(38px,7vw,95px)}
.eyebrow{font-size:.75rem;font-weight:850;letter-spacing:.14em;color:var(--blue)}
h1,h2{font-family:Montserrat,Inter,sans-serif;font-weight:900;font-style:italic;line-height:1.07;letter-spacing:-.055em;margin:0 0 16px}
h1{font-size:clamp(2.25rem,5vw,4.5rem)}
h2{font-size:clamp(2rem,4.1vw,3.65rem)}
em{color:var(--gold)}
.lead{color:var(--muted);max-width:55ch;margin:0 0 22px}
.note{font-size:.82rem;color:var(--muted)}
.hero-photo{margin:0;border:1px solid #4b85b8;border-radius:21px;overflow:hidden;box-shadow:0 12px 60px #005ad344}
.hero-photo img{width:100%;height:auto}
figcaption{display:flex;justify-content:space-between;gap:8px;background:#10213b;padding:10px 15px;font-size:.7rem;letter-spacing:.08em;font-weight:800}
figcaption span{color:var(--blue)}
.section{padding-block:clamp(44px,7vw,84px)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:23px}
article,form{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:20px}
article span{color:var(--gold);font-weight:900}
h3{line-height:1.25;margin:8px 0}
article p{margin:0;color:var(--muted)}
.gallery{background:radial-gradient(ellipse at 20% 0%,#1b3154,transparent 70%),#0d1524}
video{width:100%;aspect-ratio:4/5;background:#000;border-radius:11px}
.booking{align-items:start}
ol{padding-left:23px;color:var(--muted)}
li{margin-bottom:8px}
label{display:block;font-weight:700;margin-bottom:13px}
input,select,textarea{display:block;width:100%;font:inherit;margin-top:4px;border:1px solid #50617e;border-radius:9px;padding:9px 10px;background:#080f1c;color:var(--ink)}
form .btn{width:100%}
.location,footer{border-top:1px solid var(--line)}
.secondary{background:var(--panel);color:var(--blue);border:1px solid #50617e}
.secondary:hover{background:#1c2d49}
footer{color:var(--muted);padding-block:20px}
.mobile-cta{display:none}
@media(max-width:700px){nav{display:none}.hero-grid,.booking,.cards{grid-template-columns:1fr}.hero-grid{gap:24px}.gallery article{max-width:440px;width:100%;margin:auto}footer{padding-bottom:95px}.mobile-cta{display:flex;position:fixed;bottom:max(10px,env(safe-area-inset-bottom));inset-inline:12px;box-shadow:0 3px 22px #000b}}
@media(max-width:350px){.bar{gap:6px}.brand{font-size:.8rem}.brand img{width:42px}.btn.small{padding:9px;font-size:.76rem}}
