/* Layout: navy nav, black hero, numbered rows, alternating black/navy/charcoal bands, black footer. One deliberate dark look. */
:root{--black:#050607;--navy:#0B1A26;--navy-2:#13293A;--char:#111315;--text:#F2EFE8;--soft:rgba(242,239,232,.68);--line:rgba(242,239,232,.14);--amber:#E8A93C;--amber-ink:#1A1206;
--display:Archivo,"Helvetica Neue",Arial,sans-serif;--serif:"Source Serif 4",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--text);font:400 18px/1.6 var(--serif)}
a{color:var(--amber)}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);margin:0;text-wrap:balance}
h1{font-weight:600;font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.05;letter-spacing:-.02em;max-width:18ch}
h1 em{color:var(--amber);font-family:var(--serif);font-weight:600;letter-spacing:-.01em}
h2{font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.12;max-width:24ch}
h3{font-weight:600;font-size:20px;line-height:1.3}
p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.eyebrow{font:500 13px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.muted{color:var(--soft)}.small{font-size:15px;color:var(--soft)}
.lede{font-size:clamp(18px,2vw,21px);color:var(--soft);max-width:64ch}
.stack{display:flex;flex-direction:column;gap:18px}.gap{gap:40px}
.band{padding-block:88px}.navy{background:var(--navy)}.char{background:var(--char)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;font:600 14px var(--display);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-a{background:var(--amber);color:var(--amber-ink)}
.btn-o{border-color:var(--line);color:var(--text);background:none}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
nav.top{background:var(--navy);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:10}
nav.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;padding-block:14px}
.logo{font:700 19px var(--display);color:var(--text);text-decoration:none}.logo span{color:var(--amber)}
nav.top ul{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0;padding:0;list-style:none}
nav.top li a{font:500 13px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--soft);text-decoration:none}
nav.top li a:hover,nav.top li a[aria-current]{color:var(--text)}
nav.top .btn{min-height:40px;padding:0 18px;background:var(--black);color:var(--text)}
.hero{padding-block:104px}
.hero .stack{gap:26px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.svc-row{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.3fr) auto;gap:16px 28px;align-items:start;padding-block:28px;border-top:1px solid var(--line);color:inherit;text-decoration:none}
.svc-row:hover h3{color:var(--amber)}
.svc-row i{font:500 14px var(--mono);font-style:normal;color:var(--amber);padding-top:3px}
.svc-row p{color:var(--soft);font-size:17px}
.svc-row b{font:500 13px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--amber);white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}
.card{background:var(--navy);border:1px solid var(--line);padding:24px;display:flex;flex-direction:column;gap:10px}
.char .card{background:var(--black)}.navy .card{background:var(--navy-2)}
.card p{font-size:16px;color:var(--soft)}
.tag{font:500 12px var(--mono);letter-spacing:.06em;color:var(--amber)}
.card.hi{border-color:var(--amber)}
.price{font:700 36px/1 var(--display);color:var(--text)!important}.price small{font:400 15px var(--serif);color:var(--soft)}
.steps{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:24px 32px}
.steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px}
.steps i{font:500 14px var(--mono);font-style:normal;color:var(--amber);padding-top:4px}
.steps strong{display:block;font:600 17px var(--display)}.steps span{font-size:16px;color:var(--soft)}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:48px;align-items:start}
.rows{margin:0;padding:0;list-style:none}.rows li{padding:16px 0;border-bottom:1px solid var(--line)}
.rows strong{display:block;font:600 17px var(--display)}.rows span{font-size:16px;color:var(--soft)}
.table{overflow-x:auto}table{width:100%;min-width:560px;border-collapse:collapse;font-size:16px}
th,td{text-align:left;padding:12px 16px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
th{font:500 13px var(--mono);color:var(--soft)}td:first-child{font-family:var(--display);font-weight:600}td:nth-child(2){color:var(--soft)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.chips span{font:500 12px var(--mono);padding:3px 8px;border:1px solid var(--line)}
.portrait{max-width:320px;aspect-ratio:1;object-fit:cover;object-position:center top;border:1px solid var(--line);width:100%}
.prose{max-width:70ch;display:flex;flex-direction:column;gap:14px}.prose h2{font-size:22px;margin-top:18px;max-width:none}.prose ul{margin:0;padding-left:22px}
label{display:flex;flex-direction:column;gap:6px;font:500 13px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
input,textarea{font:400 16px var(--serif);color:var(--text);background:rgba(255,255,255,.05);border:1px solid var(--line);padding:13px;width:100%;border-radius:0}
.trap{position:absolute;left:-9999px}
.req{color:var(--amber)}
#booking{display:flex;flex-direction:column;gap:18px}
#booking .btn{width:100%;background:var(--text);color:var(--navy)}
.selected{padding:18px 20px;background:var(--black);border-left:3px solid var(--amber)}
#slots{display:flex;flex-direction:column;gap:12px}
#slots h3{font-size:17px;margin-top:10px}
.slot-row{display:flex;flex-wrap:wrap;gap:8px}
.slot{font:500 15px var(--display);color:var(--text);background:rgba(255,255,255,.05);border:1px solid var(--line);padding:11px 14px;cursor:pointer}
.slot:hover{border-color:var(--amber)}
.slot[aria-pressed=true]{background:var(--amber);border-color:var(--amber);color:var(--amber-ink)}
.note{min-height:1.5em;font-size:16px;color:var(--amber)}
footer{background:var(--black);border-top:1px solid var(--line);padding-block:64px 28px;font-size:16px}
.interest{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:24px 48px;align-items:center;padding-bottom:44px;border-bottom:1px solid var(--line)}
.interest form{display:flex;flex-wrap:wrap;gap:10px}.interest input{flex:1 1 170px}.interest .note{flex-basis:100%}
.foot{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:36px;padding-block:44px;border-bottom:1px solid var(--line)}
.foot h2{font:500 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-bottom:14px}
.foot ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.foot a{color:var(--soft);text-decoration:none}.foot a:hover{color:var(--text)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding-top:22px;font-size:14px;color:var(--soft)}.legal a{color:var(--soft)}
@media (max-width:760px){.band{padding-block:60px}.hero{padding-block:64px}.svc-row{grid-template-columns:36px minmax(0,1fr)}.svc-row p,.svc-row b{grid-column:2}nav.top{position:static}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
