
:root{
  --void:#000000;
  --coal:#08090A;
  --panel:#101113;
  --panel-2:#16181B;
  --line:#24272B;
  --line-2:#31363B;
  --steel:#868E97;
  --steel-2:#5C646C;
  --white:#F5F7F9;
  --concrete:#EAECEE;
  --concrete-2:#D3D7DA;
  --chrome:linear-gradient(135deg,#FFFFFF 0%,#C9CED4 38%,#FFFFFF 62%,#AEB4BB 100%);

  --display:'Saira',system-ui,sans-serif;
  --body:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;

  --pad:clamp(20px,5vw,64px);
  --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--void);color:var(--white);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
[id]{scroll-margin-top:142px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ---------- brand device: the dash-flanked tracked label, taken from the logo lockup ---------- */
.tag{
  font-family:var(--display);font-weight:500;font-size:11px;
  letter-spacing:.42em;text-transform:uppercase;color:var(--steel);
  display:inline-flex;align-items:center;gap:14px;white-space:nowrap;
}
.tag::before,.tag::after{content:"";width:26px;height:1px;background:var(--line-2);flex:none}
.tag.on-light{color:#6D757D}
.tag.on-light::before,.tag.on-light::after{background:#B9BEC3}
.tag.bright{color:var(--white)}
.tag.bright::before,.tag.bright::after{background:#5C646C}

h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1}
h1{font-size:clamp(36px,6.2vw,74px);font-weight:900;letter-spacing:-.04em}
h2{font-size:clamp(29px,4.4vw,52px);letter-spacing:-.035em}
h3{font-size:clamp(18px,2vw,22px);letter-spacing:-.015em;line-height:1.2}
.lede{font-size:clamp(16px,1.5vw,19px);color:var(--steel);max-width:58ch}
.gloss{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.02em;
  padding:16px 26px;border-radius:2px;border:1px solid transparent;cursor:pointer;white-space:nowrap;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.btn-primary{background:#fff;color:#000}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px -12px rgba(255,255,255,.45)}
.btn-ghost{border-color:var(--line-2);color:var(--white);background:transparent}
.btn-ghost:hover{border-color:#fff;transform:translateY(-2px)}
.btn-dark{background:#000;color:#fff}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 12px 30px -14px rgba(0,0,0,.6)}
.btn .arrow{transition:transform .18s ease}
.btn:hover .arrow{transform:translateX(3px)}


html{color-scheme:dark}body{min-height:100vh}header{border-bottom:1px solid var(--line);background:var(--void)}
.nav{max-width:var(--max);margin:auto;padding:0 var(--pad);min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{height:62px;width:auto;max-width:100%}.brand{flex-shrink:0}.back-link{font-family:var(--mono);font-size:13px;color:#a9b1b9}.back-link:hover{color:#fff}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,64px);padding-top:clamp(42px,6vw,80px);padding-bottom:72px;align-items:start}.booking-copy h1{font-size:clamp(38px,5vw,64px);line-height:1.05;margin:22px 0 24px}.booking-copy p{color:#a1aab3}.tag{font-size:12px;letter-spacing:.2em;white-space:normal}.steps{padding:20px 0;margin:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.steps p+p{margin-top:12px}.steps b{font-family:var(--mono);font-size:13px;color:#fff;margin-right:12px}.direct a{display:inline-block;color:var(--white);margin-top:8px}.direct a:hover{text-decoration:underline}
form{padding:28px;background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--white);border-radius:2px}form h2{font-size:24px;margin-bottom:8px}.form-intro{font-size:14px;color:#a1aab3;margin-bottom:24px}label{display:block;font-size:14px;font-weight:500;margin-bottom:18px}input,textarea{width:100%;min-width:0;display:block;background:var(--coal);border:1px solid var(--line-2);border-radius:2px;color:var(--white);padding:12px 13px;font:400 16px/1.5 var(--body);margin-top:7px}textarea{min-height:100px;resize:vertical}input:focus,textarea:focus{border-color:#fff}.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}form .btn{width:100%;justify-content:center;white-space:normal}button:disabled{opacity:.6;cursor:wait}.note{font-size:13px;line-height:1.6;color:#a1aab3;margin-top:14px}#status{font-size:14px;margin-top:12px}#status:empty{display:none}[hidden]{display:none!important}footer{border-top:1px solid var(--line);padding:24px 0;color:#a1aab3;font-family:var(--mono);font-size:12px}.confirmation{max-width:760px;padding-top:72px;padding-bottom:90px}.confirmation h1{margin:22px 0;font-size:clamp(38px,6vw,64px);line-height:1.05}.confirmation p{color:#a1aab3;margin-bottom:26px}.confirmation .btn{white-space:normal}
@media(max-width:780px){.booking-layout{grid-template-columns:1fr;gap:32px}.booking-copy h1{max-width:15ch}.nav{min-height:78px}.brand img{height:52px}.back-link{font-size:12px}.booking-copy .tag{font-size:11px}.tag::before,.tag::after{width:15px}form{padding:22px}}
@media(max-width:420px){.row{grid-template-columns:1fr;gap:0}.nav{gap:12px}.back-link{max-width:100px;text-align:right}.btn{padding:14px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
