/* Alcove Nights site styles */
:root{--bg:#FDFDFB;--card:#FFFFFF;--ink:#0F1115;--body:#2B303B;--slate:#6B7385;--faint:#A1A7B3;--hair:#E9EAED;--tile:#F4F5F7;--dark:#14171F;--btn:#1D2330;--btn2:#EEEFF2;--acc:#2E486B;--acc-soft:#E4EAF2;--gray2:#8C93A0}
body{margin:0;font-family:'Geist',system-ui,sans-serif;background:var(--bg);color:var(--body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}
html{scroll-padding-top:88px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
a{color:var(--ink);text-decoration:none}
h1,h2,h3,p{margin:0}
.mono{font-family:'Geist Mono',ui-monospace,monospace}
.wrap{max-width:1192px;margin:0 auto;padding:0 32px;box-sizing:border-box;width:100%}
.h1{font-weight:400;font-size:clamp(42px,5.2vw,66px);line-height:1.04;letter-spacing:-0.045em;color:var(--ink);text-wrap:balance}
.h2{font-weight:400;font-size:44px;line-height:1.1;letter-spacing:-0.035em;color:var(--ink);text-wrap:balance}
.h2 span{color:var(--gray2)}
.lbl{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate);display:flex;align-items:center;gap:10px}
.lbl b{font-weight:500;color:var(--acc)}
.lbl::after{content:"";width:28px;height:1px;background:var(--acc);opacity:.5}
.btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 18px;border-radius:10px;border:0;font-family:inherit;font-size:15px;font-weight:450;cursor:pointer;transition:transform 90ms ease-out,background 150ms;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.dark{background:var(--btn);color:#fff}.dark:hover{background:#0F1115}
.lite{background:var(--btn2);color:var(--ink)}.lite:hover{background:#E4E6EA}
.card{background:var(--card);border-radius:16px;box-shadow:0 0 0 1px var(--hair),0 12px 30px -18px rgba(15,17,21,.3)}
.pill{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:5px 14px 5px 5px;box-shadow:0 0 0 1px var(--hair);font-size:13px;color:var(--body)}
.pill .tag{background:var(--acc);color:#fff;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:500}
.sec{padding:120px 0}
.hdr{position:sticky;top:0;z-index:30;background:rgba(253,253,251,.82);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--hair)}
.nav a{font-size:14px;color:var(--body)}.nav a:hover{color:var(--ink)}
/* hero field */
.field{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.field .ln{position:absolute;height:1px;background:#DADDE2}
.field .glow{position:absolute;left:50%;top:38%;width:720px;height:420px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(46,72,107,.16),rgba(46,72,107,0) 65%)}
.field .st{position:absolute;height:1px;width:140px;background:linear-gradient(90deg,rgba(46,72,107,0),rgba(46,72,107,.85),rgba(46,72,107,0));animation:drift 14s linear infinite}
@keyframes drift{from{transform:translateX(-200px)}to{transform:translateX(1500px)}}
.arch{display:flex;flex-direction:column;align-items:center;gap:6px}
.arch i{display:block;height:3px;border-radius:2px;background:var(--acc)}
/* carousel */
.gal{position:relative;overflow:hidden;border-radius:12px;background:var(--tile);touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.gal.grab{cursor:grabbing}.track{display:flex;will-change:transform}
.slide{flex:0 0 100%;aspect-ratio:1}.slide img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.thumbs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.thumbs button{padding:0;border:0;background:none;border-radius:8px;overflow:hidden;aspect-ratio:1;cursor:pointer;opacity:.5;transition:opacity 150ms;min-height:44px}
.thumbs button img{display:block;width:100%;height:100%;object-fit:cover}
.thumbs button.on{opacity:1;box-shadow:0 0 0 1.5px var(--ink)}
.row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--hair);font-size:15px}
.num{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;color:var(--acc)}
.step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:20px 0;border-top:1px solid var(--hair)}
.step h3{font-size:16px;font-weight:500;color:var(--ink);margin-bottom:4px}
.step p{font-size:15px;color:var(--slate)}
.faq{border-top:1px solid var(--hair);padding:18px 0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:450;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--faint);font-size:18px}
.faq[open] summary::after{content:"\00d7"}
.faq p{padding-top:10px;font-size:15px;color:var(--slate);max-width:33em}
.stat{font-weight:400;font-size:44px;letter-spacing:-0.03em;color:#fff;line-height:1}
.foot a{font-size:14px;color:var(--body)}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(253,253,251,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hair);transform:translateY(110%);will-change:transform}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
@media (max-width:820px){.wrap{padding:0 18px}.sec{padding:80px 0}.h1{font-size:40px}.h2{font-size:32px}.two{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}.four{grid-template-columns:repeat(2,minmax(0,1fr))!important}.nav,.signin{display:none!important}.btn{width:100%}.heroBtns{flex-direction:column;width:100%}.panel{position:static!important}.galwrap{position:static!important}.arch i{transform:scale(.7)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.fgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:28px!important}.fgrid>div:first-child{grid-column:1/-1}.hdr>.wrap{grid-template-columns:1fr auto!important}.page>*{order:3}.page>header{order:0}.prodSec{order:1;padding:12px 0 56px!important}.heroSec{order:2;padding:24px 0 56px!important}.prodCard{padding:12px 12px 20px!important;border-radius:14px!important}.heroSec .heroBtns,.heroSec .reassure{display:none!important}.prodSec .wrap{padding:0 12px}}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.field .st{animation:none;display:none}}
@media (prefers-reduced-transparency:reduce){.hdr,.bar{background:var(--bg);backdrop-filter:none}}
.doc{display:grid;grid-template-columns:220px minmax(0,1fr);gap:72px;align-items:start}
.side{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px}
.side a{font-size:14px;color:var(--slate);padding:8px 12px;border-radius:8px;min-height:20px}
.side a:hover{color:var(--ink);background:var(--tile)}
.side a.on{color:var(--ink);background:var(--tile);font-weight:450}
.body{max-width:680px}
.body h2{font-size:22px;font-weight:500;letter-spacing:-0.02em;color:var(--ink);margin:44px 0 12px}
.body p{font-size:16px;line-height:1.65;color:var(--body);margin:0 0 14px}
.body ul{margin:0 0 14px;padding:0;list-style:none}
.body li{position:relative;padding:7px 0 7px 22px;font-size:16px;line-height:1.55;color:var(--body);border-top:1px solid var(--hair)}
.body li:last-child{border-bottom:1px solid var(--hair)}
.body li::before{content:"";position:absolute;left:2px;top:17px;width:6px;height:6px;border-radius:50%;background:var(--acc);opacity:.7}
.body a.lnk{color:var(--acc);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ph{background:#FFF6D6;color:#5A4A12;border-radius:4px;padding:0 4px;font-family:'Geist Mono',ui-monospace,monospace;font-size:.86em}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:32px 0 8px}
.fact{padding:18px 18px 16px}
.fact .k{font-family:'Geist Mono',ui-monospace,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--slate)}
.fact .v{font-size:28px;letter-spacing:-0.03em;color:var(--ink);margin-top:10px;line-height:1.05}
.fact .s{font-size:13px;color:var(--slate);margin-top:6px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld label{font-size:13px;color:var(--body);font-weight:450}
.fld input,.fld textarea{box-sizing:border-box;width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:0;border-radius:10px;box-shadow:0 0 0 1px var(--hair);padding:11px 12px;min-height:44px}
.fld input:focus,.fld textarea:focus{outline:none;box-shadow:0 0 0 1.5px var(--acc)}
@media (max-width:820px){.doc{grid-template-columns:minmax(0,1fr);gap:28px}.side{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}.side a{padding:8px 12px;background:var(--tile);font-size:13px;min-height:28px;display:flex;align-items:center}.side a.on{background:var(--btn);color:#fff}.facts{grid-template-columns:minmax(0,1fr)}.fact .v{font-size:24px}.body h2{font-size:20px;margin-top:36px}}
