@font-face{font-family:"Bricolage Grotesque";src:url(fonts/bricolage-grotesque.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --pop:#D9A35E;--pop2:#F3D29C;--white:#F4E4D2;--ink:#2A140A;--deep:#2A0A03;
  --sh:color-mix(in srgb,var(--deep) 22%,#0a0807);
  --g0:#0f0c0b;--g1:#17120f;--g2:#1f1915;--g3:#2a221d;
  --mute:#c9b8a6;--dim:#9b8b7b;--line:color-mix(in srgb,var(--white) 14%,transparent);
  --r:12px;--R:20px;--pad:clamp(16px,5vw,72px);
  --vh:100vh;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html[data-shot]{scroll-behavior:auto}
body{font-family:Inter,system-ui,sans-serif;background:var(--g0);color:var(--white);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3,.disp{font-family:"Bricolage Grotesque",Inter,sans-serif;letter-spacing:-.03em}
h2{font-weight:800;font-size:clamp(30px,4vw,48px);line-height:1.02}
h3{font-weight:700;font-size:20px;line-height:1.2}
p{line-height:1.6}
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.pop{background:linear-gradient(180deg,var(--pop2) 5%,var(--pop) 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sec{padding:88px var(--pad)}
.sec+.sec{padding-top:0}
.wrap{max-width:1180px;margin:0 auto}
.head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}
.head p{max-width:46ch;color:var(--mute)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r);padding:14px 20px;font:700 15px Inter;cursor:pointer;color:var(--ink);text-decoration:none;
  background:linear-gradient(180deg,var(--pop2) -40%,var(--pop) 70%);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 12px 28px -10px var(--pop);transition:transform .15s ease-out,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 16px 32px -10px var(--pop)}
.btn:active{transform:translateY(0)}
.btn:focus-visible,.ghost:focus-visible,a:focus-visible{outline:3px solid var(--pop2);outline-offset:3px}
.ghost{display:inline-flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--white) 30%,transparent);color:var(--white);background:color-mix(in srgb,var(--white) 7%,transparent);border-radius:var(--r);padding:13px 18px;font:600 15px Inter;cursor:pointer;text-decoration:none}
.ghost:hover{background:color-mix(in srgb,var(--white) 12%,transparent)}
/* frosted card: tinted white on the warm ground, a 1px top light, never a flat fill */
.card{position:relative;border-radius:var(--R);padding:24px;border:1px solid var(--line);
  background:linear-gradient(180deg,color-mix(in srgb,var(--white) 7%,transparent),color-mix(in srgb,var(--white) 3%,transparent)),var(--g1);
  box-shadow:0 1px 0 color-mix(in srgb,var(--white) 10%,transparent) inset,0 30px 60px -40px rgba(0,0,0,.8)}
.card.hot{border-color:color-mix(in srgb,var(--pop) 45%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--pop) 14%,transparent),color-mix(in srgb,var(--pop) 4%,transparent)),var(--g1)}
.grain{position:relative;isolation:isolate}
.grain::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.08;mix-blend-mode:overlay;border-radius:inherit;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 1.2 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* ---------- HERO (the picked one: one house, golden hour -> dusk on scroll) ---------- */
.track{position:relative;height:calc(var(--vh) * 2.4)}
.hero{position:sticky;top:0;height:var(--vh);display:flex;flex-direction:column;padding:28px var(--pad) 40px;overflow:hidden;isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.08;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 1.2 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.stack{position:absolute;inset:0;z-index:-3;transform:scale(1.04)}
.ph{position:absolute;inset:0;background-size:cover;background-position:center 60%}
.ph.a{background-image:url(img/gold-soft.jpg)}
.ph.b{background-image:url(img/dusk-soft.jpg);opacity:0}
.shade{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(80% 78% at 0% 100%,color-mix(in srgb,var(--sh) 80%,transparent) 0%,color-mix(in srgb,var(--sh) 45%,transparent) 45%,transparent 72%),
             linear-gradient(0deg,color-mix(in srgb,var(--sh) 55%,transparent) 0%,transparent 38%),
             linear-gradient(180deg,color-mix(in srgb,var(--sh) 30%,transparent) 0%,transparent 14%)}
nav{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}
.logo{font-family:"Bricolage Grotesque";font-weight:800;font-size:22px;letter-spacing:-.02em;text-decoration:none}
.links{display:flex;gap:28px;font-size:14px;font-weight:500;opacity:.92}
.links a{text-decoration:none}
.navbtn{border:1px solid color-mix(in srgb,var(--white) 50%,transparent);color:var(--white);background:color-mix(in srgb,var(--white) 10%,transparent);backdrop-filter:blur(10px);border-radius:999px;padding:9px 18px;font:600 14px Inter;cursor:pointer}
.hbody{flex:1;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:end;position:relative;z-index:2;padding-top:48px}
.hero .eyebrow{color:var(--white);opacity:.88;margin-bottom:18px}
h1{font-weight:800;font-size:clamp(48px,8.4vw,128px);line-height:.9;letter-spacing:-.045em;text-shadow:0 18px 60px rgba(0,0,0,.35)}
h1 em{font-style:normal;background:linear-gradient(180deg,var(--pop2) 5%,var(--pop) 75%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 22px color-mix(in srgb,var(--pop) 30%,transparent))}
.lede{max-width:440px;margin-top:24px;font-size:17px;line-height:1.55;opacity:.95}
.facts{display:flex;gap:28px;margin-top:32px;font-size:14px}
.facts b{display:block;font:800 26px "Bricolage Grotesque"}
.hero .eyebrow,.lede,.facts,nav{text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 18px rgba(0,0,0,.45)}
.book{background:linear-gradient(180deg,color-mix(in srgb,var(--white) 16%,transparent),color-mix(in srgb,var(--white) 8%,transparent));backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);border:1px solid color-mix(in srgb,var(--white) 28%,transparent);border-radius:var(--R);padding:22px;
  box-shadow:0 1px 0 color-mix(in srgb,var(--white) 40%,transparent) inset,0 40px 90px -30px rgba(0,0,0,.6)}
.book h2{font:700 20px "Bricolage Grotesque";margin-bottom:4px}
.book .sub{font-size:13px;opacity:.8;margin-bottom:16px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.field{border:1px solid color-mix(in srgb,var(--white) 22%,transparent);background:color-mix(in srgb,var(--sh) 28%,transparent);border-radius:var(--r);padding:10px 12px}
.field label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.field span{font-size:15px;font-weight:500}
.book .btn{width:100%;margin-top:6px;padding:15px}
.note{font-size:12px;opacity:.7;margin-top:10px;text-align:center}
.sample-note{margin-top:14px;padding:10px 14px;border:1px dashed var(--line);border-radius:var(--r);font-size:13px;line-height:1.45;color:var(--mute);max-width:62ch}
.sample-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.nowrap{white-space:nowrap}
.book .sample-note{color:var(--white);opacity:.85;border-color:color-mix(in srgb,var(--white) 35%,transparent);max-width:none;text-shadow:none;margin-bottom:14px}
footer [data-sample-note] a{color:inherit}
.prog{position:fixed;left:0;right:0;top:0;height:2px;z-index:20;pointer-events:none;background:rgba(255,255,255,.10);transition:opacity .4s}
.prog i{display:block;height:100%;background:linear-gradient(90deg,#F3B26A,#E06A8E 60%,#8A4FD0);clip-path:inset(0 100% 0 0);box-shadow:0 0 6px rgba(255,190,140,.35)}
.hint{position:absolute;z-index:6;left:50%;top:104px;transform:translateX(-50%);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.8;text-shadow:0 1px 3px rgba(0,0,0,.7);transition:opacity .3s}
/* shot mode: the scroll-fade stretch collapses so a full-page capture reads as one page */
html[data-shot] .track{height:var(--vh)}
html[data-shot] .prog,html[data-shot] .hint{display:none}

/* ---------- shared blocks ---------- */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--R);overflow:hidden}
.strip>div{padding:26px 28px;background:var(--g1)}
.strip b{display:block;font:800 22px "Bricolage Grotesque";margin-bottom:6px}
.strip span{color:var(--mute);font-size:14px}
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:12px}
.gal figure{position:relative;border-radius:var(--R);overflow:hidden;background:var(--g2)}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease-out}
.gal figure:hover img{transform:scale(1.03)}
.gal .big{grid-column:span 2;grid-row:span 2}
.gal figcaption{position:absolute;left:12px;bottom:10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:999px;background:rgba(10,8,7,.55);backdrop-filter:blur(8px);color:var(--white)}
.trust{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.trust .card{padding:20px}
.trust .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;margin-bottom:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--pop) 30%,transparent),color-mix(in srgb,var(--pop) 10%,transparent));border:1px solid color-mix(in srgb,var(--pop) 40%,transparent);font:800 15px "Bricolage Grotesque";color:var(--pop2)}
.trust h3{font-size:16px;margin-bottom:6px}
.trust p{font-size:13px;color:var(--mute);line-height:1.5}
.area{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.area .card b{display:block;font:800 28px "Bricolage Grotesque";margin-bottom:2px}
.area .card small{display:block;color:var(--mute);font-size:13px;margin-top:6px;line-height:1.5}
.area .card .k{font-size:13px;color:var(--pop2);font-weight:600}
footer{padding:40px var(--pad) 48px;border-top:1px solid var(--line);color:var(--dim);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer b{color:var(--mute);font-weight:600}
.permit{font-variant-numeric:tabular-nums}
/* phone: single column, the action lives in a thumb bar */
.bar{display:none}
@media (max-width:860px){
  .links{display:none}
  .hbody{grid-template-columns:1fr;gap:28px;padding-top:96px}
  .lede{font-size:16px}.facts{gap:20px}
  .hint{display:none}
  .track{height:auto;min-height:calc(var(--vh) * 2.2)}
  .hero{position:relative;height:auto;min-height:var(--vh);padding-bottom:64px}
  .stack,.shade{position:fixed;transform:none}
  html{overflow-x:hidden}
  .shade{background:linear-gradient(180deg,color-mix(in srgb,var(--sh) 45%,transparent) 0%,color-mix(in srgb,var(--sh) 62%,transparent) 38%,color-mix(in srgb,var(--sh) 20%,transparent) 60%,color-mix(in srgb,var(--sh) 70%,transparent) 100%)}
  .ph{background-position:70% center}
  html[data-shot] .track{min-height:0}
  html[data-shot] .stack,html[data-shot] .shade{position:absolute}
  .sec{padding:64px 16px}
  .head{flex-direction:column;align-items:start;gap:12px;margin-bottom:24px}
  .strip,.trust,.area{grid-template-columns:1fr}
  .gal{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .gal .big{grid-column:span 2;grid-row:span 1;grid-auto-rows:200px}
  .bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    background:color-mix(in srgb,var(--g0) 82%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line)}
  .bar small{display:block;color:var(--mute);font-size:12px}.bar b{font:800 18px "Bricolage Grotesque"}
  .bar .btn{padding:14px 18px;white-space:nowrap}
  .bar.off{display:none} /* while the hero's own booking card is on screen the bar would be a second CTA (thumb-wright) */
  .track~section,.track~footer{position:relative;z-index:1;background:var(--g0)}
  footer{padding-bottom:110px} /* room under the pinned bar at the end */
}
@media (prefers-reduced-motion:reduce){.gal img{transition:none}}

/* ---------- calendar (A, round 2 — Sami 11-05: "an actual calendar look") ---------- */
.cal{padding:22px 24px}
.calhead{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px}
.calhead b{display:block;font:800 20px "Bricolage Grotesque"}
.calhead span{display:block;color:var(--mute);font-size:13px;margin-top:2px}
.calnav{display:flex;gap:6px}
.calnav span{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;border:1px solid var(--line);background:color-mix(in srgb,var(--white) 5%,transparent);color:var(--mute);font-size:14px}
.months{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mh{font:700 16px "Bricolage Grotesque";margin-bottom:12px}
.dow,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.dow span{text-align:center;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--dim);padding-bottom:6px}
.days b,.days i{height:40px;border-radius:10px;display:grid;place-items:center;font:600 13px Inter;font-variant-numeric:tabular-nums}
.days b.open{background:var(--g2);border:1px solid var(--line)}
.days b.fest{background:linear-gradient(180deg,color-mix(in srgb,var(--pop) 34%,transparent),color-mix(in srgb,var(--pop) 14%,transparent));border:1px solid color-mix(in srgb,var(--pop) 45%,transparent);color:var(--pop2)}
.days b.booked{background:repeating-linear-gradient(135deg,var(--g3) 0 4px,var(--g1) 4px 8px);border:1px solid var(--line);color:var(--dim);text-decoration:line-through}
.days b.sel{background:linear-gradient(180deg,var(--pop2) -40%,var(--pop) 70%);color:var(--ink);font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13px;color:var(--mute)}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend i{width:14px;height:14px;border-radius:4px;display:inline-block}
.legend .open{background:var(--g2);border:1px solid var(--line)}
.legend .fest{background:color-mix(in srgb,var(--pop) 30%,transparent);border:1px solid color-mix(in srgb,var(--pop) 50%,transparent)}
.legend .booked{background:repeating-linear-gradient(135deg,var(--g3) 0 3px,var(--g1) 3px 6px);border:1px solid var(--line)}
.legend .sel{background:var(--pop)}
@media (max-width:860px){
  .cal{padding:18px 16px}
  .months{grid-template-columns:1fr;gap:22px}
  .days b,.days i{height:44px;border-radius:9px}
  .calnav{display:none}
}

/* Booking surfaces share the house's type, glass and warm metal. */
[hidden]{display:none!important}
body{overflow-wrap:anywhere}
img{max-width:100%}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--pop2);outline-offset:3px}
button:disabled{cursor:default;opacity:.5;box-shadow:none;transform:none}
.navbtn{text-decoration:none;flex-shrink:0}
nav{gap:12px}
.hbody>*,.row2>*,.house-grid>*,.rates>*,.months>*,.checkout-grid>*,.form-pair>*{min-width:0}
.field select{display:block;width:100%;min-width:0;border:0;background:transparent;color:var(--white);padding:5px 0;font-size:15px}
select option{background:var(--g1);color:var(--white)}
.calendar-link{display:block}
.rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rate-value{display:block;font:800 36px "Bricolage Grotesque";margin:8px 0 2px}
.package-rate{margin-top:10px;font-size:13px;color:var(--mute)}
.cal{margin-top:12px}
.calnav button{width:36px;height:36px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);background:var(--g2);color:var(--white);cursor:pointer}
.days button{height:40px;min-width:0;border-radius:10px;display:grid;place-items:center;padding:0;font:600 13px Inter;font-variant-numeric:tabular-nums;color:var(--white);cursor:pointer}
.days button.open{background:var(--g2);border:1px solid var(--line)}
.days button.fest{background:linear-gradient(180deg,color-mix(in srgb,var(--pop) 34%,transparent),color-mix(in srgb,var(--pop) 14%,transparent));border:1px solid color-mix(in srgb,var(--pop) 45%,transparent);color:var(--pop2)}
.days button.booked{background:repeating-linear-gradient(135deg,var(--g3) 0 4px,var(--g1) 4px 8px);border:1px solid var(--line);color:var(--dim);text-decoration:line-through;opacity:1}
.days button.sel{background:linear-gradient(180deg,var(--pop2) -40%,var(--pop) 70%);color:var(--ink);font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.days button.past{opacity:.35;background:transparent}
.dow span{font-size:10px;letter-spacing:0}
input[type=radio],input[type=checkbox]{accent-color:var(--pop);flex:0 0 auto;width:18px;height:18px}
.muted{color:var(--mute)}
.small{font-size:13px}
.reading{margin:18px 0;color:var(--mute);font-size:14px;line-height:1.6}
.price-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.price-line>span:first-child{color:var(--mute)}
.price-line>span:last-child{flex-shrink:0;font-variant-numeric:tabular-nums}
.price-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:18px;font:800 clamp(22px,3vw,28px) "Bricolage Grotesque"}
.status{font-size:14px;line-height:1.6;color:var(--pop2)}
.status:empty{display:none}
.restart{display:block;width:fit-content;margin-top:10px;color:var(--white)}
.checkout{background:radial-gradient(ellipse at 75% 0%,color-mix(in srgb,var(--pop) 10%,transparent),transparent 48%),var(--g0)}
.checkout-header{padding:28px 0;gap:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.checkout-header>a:last-child{font-size:13px;color:var(--mute)}
.checkout-main{padding:36px 0 72px}
.checkout>.wrap{width:calc(100% - 2 * var(--pad))}
.steps{display:flex;gap:16px 28px;flex-wrap:wrap;list-style:none;color:var(--dim);font-size:13px;padding-bottom:32px}
.steps [aria-current]{color:var(--pop2);font-weight:700}
.checkout-heading{max-width:740px;margin-bottom:32px}
.checkout-heading h1{font-size:clamp(38px,6vw,76px);line-height:1;margin:12px 0 18px;text-shadow:none}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:24px;align-items:start}
.checkout h2{font-size:26px;line-height:1.15}
.checkout h3{font-size:20px}
.summary-title{margin:12px 0 18px}
.form-stack{display:grid;gap:20px}
.form-stack>label,.form-stack fieldset>label:not(.check-label),.form-pair>label,.plate-row>label{display:grid;gap:8px;min-width:0;font-size:14px;color:var(--mute)}
.form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-stack input:not([type=checkbox]),.form-stack select,.form-stack textarea{width:100%;min-width:0;max-width:100%;padding:13px 12px;border:1px solid color-mix(in srgb,var(--white) 25%,transparent);border-radius:var(--r);background:var(--g0);color:var(--white);font-size:16px;color-scheme:dark}
.form-stack textarea{resize:vertical}
.form-stack input[type=date]{appearance:none;-webkit-appearance:none;min-height:48px}
.form-stack fieldset{min-width:0;border:0;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:16px}
.form-stack legend{font:700 20px "Bricolage Grotesque";color:var(--white);padding-right:12px}
.plate-row{display:flex;align-items:end;gap:12px}
.plate-row>label{flex:1}
.plate-row .ghost{font-size:13px;padding:13px}
.form-stack .check-label{display:flex;align-items:start;gap:12px;line-height:1.5;color:var(--white)}
.check-label input{margin-top:2px}
.id-note{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:var(--r);color:var(--mute);font-size:14px;line-height:1.6;background:color-mix(in srgb,var(--pop) 5%,transparent)}
.contract{font:14px/1.7 Inter,system-ui,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;margin:24px 0;border:1px solid var(--line);border-radius:var(--r);padding:20px clamp(16px,3vw,28px);background:color-mix(in srgb,var(--white) 3%,transparent)}
.contract::before{content:'Rental agreement';display:block;font:700 11px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--pop);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
#payment-element{min-width:0}
#pay-status:not(:empty),#party-status:not(:empty){margin-bottom:24px}
.checkout footer{padding-bottom:40px}
@media(max-width:860px){
  .house-grid,.rates,.checkout-grid{grid-template-columns:minmax(0,1fr)!important}
  .house-grid figure{min-height:240px!important}
  .calhead{gap:8px;flex-wrap:wrap}
  .calnav{display:flex}
  .month:nth-child(2){display:none}
  .days button{height:40px;border-radius:9px}
  .checkout-main{padding-top:24px}
  .checkout .card{padding:20px}
  .checkout-header{padding:22px 0}
  .bar>div{min-width:0}
  .bar b{font-size:16px}
  .bar .btn{padding:14px}
}
@media(max-width:480px){
  .form-pair{grid-template-columns:minmax(0,1fr)}
  .checkout>.wrap{width:calc(100% - 32px)}
  .logo{font-size:20px}
  .hero{padding-left:16px;padding-right:16px}
  .book{padding:18px}
  .bar small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .track{height:auto;min-height:0}
  .hero{position:relative;height:auto;min-height:var(--vh)}
  .stack,.shade{position:absolute}
  .prog,.hint{display:none}
}
