@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#142440;--paper:#f4f6fa;--accent:#c5a36b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.preview{text-align:center;background:#e3e8f0;padding:7px 16px;font-size:13px}header{display:flex;align-items:center;justify-content:space-between;padding:30px 6%;border-bottom:1px solid #14244026}.brand{font-size:29px;letter-spacing:6px;line-height:1.1}.brand span{display:block;font-size:10px;letter-spacing:3.3px;margin-top:8px}nav{display:flex;gap:35px;align-items:center;font-size:14px}.navbutton{border:1px solid #14244055;padding:11px 20px}.hero{padding:70px 6% 0;background:var(--ink);color:var(--paper)}.eyebrow{font-size:12px;letter-spacing:2.3px;font-weight:600}.hero .eyebrow{color:var(--accent)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(48px,7.6vw,110px);line-height:1.1;letter-spacing:-2px;margin:28px 0 35px}h1 em{font-weight:400;color:#d7bc8f}.herobottom{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:60px}.herobottom p{color:#d1dbea;line-height:1.8}.button{background:var(--accent);color:var(--ink);border:0;display:flex;justify-content:space-between;align-items:center;gap:45px;padding:17px 25px;font-weight:600;cursor:pointer}.button:hover{background:#d7bc8f}.rule{border-top:1px solid #ffffff30;padding:20px 0;display:flex;gap:50px;letter-spacing:2px;font-size:12px}.services{padding:85px 6%;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:55px}h2{font-size:44px;line-height:1.18;margin-top:20px}.number{font-size:12px;letter-spacing:1.5px;color:#58677e}h3{font-size:27px;line-height:1.3;margin:18px 0}.services p{color:#526079;font-size:15px;margin-bottom:22px}.services article a{font-size:14px;border-bottom:1px solid #8c9ab0;padding-bottom:5px}.booking{display:grid;grid-template-columns:1fr 1.25fr;gap:10%;padding:80px 6%;background:#e6ebf3}.intro h2{font-size:60px}.intro p{max-width:350px;margin-top:25px;color:#526079}.intro ol{padding-left:22px;margin-top:36px}.intro li{padding:10px 0}form{background:#fff;padding:32px}.formhead{display:flex;justify-content:space-between;align-items:center;gap:15px}.formhead h3{margin:0 0 25px}.formhead span{font-size:10px;letter-spacing:1px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:14px}label span{color:#68738a;font-size:12px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #cbd3df;background:#fff;border-radius:0;padding:11px;margin-top:7px;color:var(--ink)}textarea{resize:vertical}.wide{grid-column:1/-1}form .button{width:100%;margin-top:24px}.note{font-size:12px;color:#5a6780;margin-top:14px}#review{margin-top:24px;border-top:1px solid #ccd5e2}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px}#review p{font-size:14px}#copy{margin-top:15px;padding:10px;cursor:pointer}#copied{font-size:14px;margin-left:10px}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:45px 6%}footer p,footer>span{font-size:13px;color:#526079}:focus-visible{outline:3px solid #98753d;outline-offset:4px}@media(max-width:800px){.services{grid-template-columns:1fr;gap:35px;padding:50px 6%}.booking{grid-template-columns:1fr;gap:35px;padding:50px 6%}.herobottom{align-items:start;flex-direction:column}.hero{padding-top:45px}nav>a:first-child{display:none}.navbutton{font-size:12px;padding:8px 12px}header{gap:20px}.brand{font-size:24px}.brand span{font-size:9px;letter-spacing:2.4px}.rule{gap:20px;font-size:10px}footer{flex-wrap:wrap}.intro h2{font-size:48px}form{padding:22px}.formhead span{display:none}}@media(max-width:400px){.grid{grid-template-columns:1fr}.wide{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#theme-toggle{border:1px solid #8593aa;background:transparent;color:inherit;padding:11px 15px;cursor:pointer;font-size:14px;white-space:nowrap}
html[data-theme="dark"]{color-scheme:dark}
html[data-theme="dark"] body{background:#090b10;color:#eef2f8}
html[data-theme="dark"] .preview{background:#13161c;color:#c6cad2}
html[data-theme="dark"] header{border-color:#303641}
html[data-theme="dark"] .navbutton{border-color:#71829e}
html[data-theme="dark"] .hero{background:#0b1019;color:#f4f6fa}
html[data-theme="dark"] .booking{background:#0d1119}
html[data-theme="dark"] form{background:#171c25}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0b1017;border-color:#46505f;color:#f1f4fa}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#a8afb9;opacity:1}
html[data-theme="dark"] .number,html[data-theme="dark"] .services p,html[data-theme="dark"] .intro p,html[data-theme="dark"] label span,html[data-theme="dark"] .note,html[data-theme="dark"] footer p,html[data-theme="dark"] footer>span{color:#b9bec8}
html[data-theme="dark"] #review{border-color:#63799a}
html[data-theme="dark"] #copy{background:#1d2530;color:#f1f4fa;border:1px solid #576476}
html[data-theme="dark"] :focus-visible{outline-color:#e0bc7d}
@media(max-width:800px){header{flex-wrap:wrap}nav{gap:12px;flex-wrap:wrap}#theme-toggle{padding:8px 12px}}

.brand .wordmark{display:flex;align-items:center;font-size:29px;letter-spacing:6px;line-height:1;margin:0}
.brand .brand-subtitle{margin-top:7px}
.solar-o{width:35px;height:35px;margin:-3px 2px -3px -3px;flex-shrink:0;overflow:visible}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:650px;padding-top:75px}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;z-index:-3}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,8,14,.96) 0%,rgba(5,8,14,.86) 28%,rgba(5,8,14,.25) 69%,rgba(5,8,14,.08) 100%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,8,14,.96),transparent 45%)}
.hero-content{position:relative}
.hero h1{font-size:clamp(48px,6.2vw,89px);max-width:850px}
.herobottom{display:block;padding-bottom:65px}.herobottom p{max-width:510px;color:#e0e7f2;text-shadow:0 1px 8px #08142a}
.herobottom .button{display:inline-flex;margin-top:28px;min-width:210px}
@media(max-width:800px){.brand .wordmark{font-size:24px}.solar-o{width:30px;height:30px}.hero{padding-top:48px;min-height:690px}.hero-image{object-position:65% center}.hero::before{background:linear-gradient(90deg,rgba(5,8,14,.92),rgba(5,8,14,.4))}.hero h1{font-size:clamp(44px,8vw,64px)}.herobottom{padding-bottom:80px}.herobottom p{max-width:370px}}

/* Layered charcoal surfaces with restrained midnight-blue light. */
html[data-theme="dark"] body{background:#090b10}
html[data-theme="dark"] header{background:linear-gradient(115deg,#080a0e 15%,#121925 78%,#0b1017);border-bottom:1px solid #c5a36b35}
html[data-theme="dark"] .preview{background:#080a0e;color:#aeb4bd;border-bottom:1px solid #ffffff0b}
html[data-theme="dark"] .services{background:radial-gradient(ellipse at 0% 5%,#17213188,transparent 60%),linear-gradient(115deg,#101319,#080a0e 75%);border-bottom:1px solid #c5a36b25}
html[data-theme="dark"] .booking{background:radial-gradient(ellipse at 95% 80%,#1b2b4255,transparent 60%),linear-gradient(145deg,#080a0e 15%,#111720 70%,#090c11)}
html[data-theme="dark"] form{background:linear-gradient(135deg,#1c222c,#11151c 75%);border:1px solid #b7a17a33;box-shadow:0 24px 65px #00000045,inset 0 1px 0 #ffffff06}
html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea{background:#0b0e14;border-color:#3d4653}
html[data-theme="dark"] footer{background:linear-gradient(110deg,#080a0d,#101620);border-top:1px solid #c5a36b25}
html[data-theme="dark"] .button{background:linear-gradient(115deg,#ddc08a,#bc985c);box-shadow:0 4px 18px #00000020}
html[data-theme="dark"] .button:hover{background:linear-gradient(115deg,#e6cd9d,#caaa71)}
html[data-theme="dark"] .services .eyebrow,html[data-theme="dark"] .intro .eyebrow{color:#c5a36b}

/* Discreet header switch; the full dark palette remains available. */
#theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;border-radius:50%;flex-shrink:0}
.theme-track{display:block;width:28px;height:16px;padding:3px;border-radius:20px;background:#14244024;transition:background .2s}
.theme-thumb{display:block;width:10px;height:10px;border-radius:50%;background:#68738a;transition:transform .2s,background .2s}
#theme-toggle:hover .theme-track{background:#14244040}
#theme-toggle[aria-checked="true"] .theme-track{background:#c5a36b40}
#theme-toggle[aria-checked="true"] .theme-thumb{transform:translateX(12px);background:#c5a36b}
@media(prefers-reduced-motion:reduce){.theme-track,.theme-thumb{transition:none}}
