/* ===================== HEADER ===================== */
.hdr{
  position:sticky; top:0; z-index:60;
  background:color-mix(in oklab, var(--bg) 88%, transparent);
  backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s var(--ease), background .3s var(--ease);
}
.hdr.scrolled{box-shadow:var(--shadow-md); background:color-mix(in oklab, var(--bg) 96%, transparent)}
.hdr__in{
  max-width:var(--maxw); margin-inline:auto;
  padding:var(--space-3) clamp(var(--space-5),4vw,var(--space-10));
  display:flex; align-items:center; gap:var(--space-6);
}
.brand{display:flex; align-items:center; gap:var(--space-3); flex:none}
.brand__mark{width:clamp(88px,10vw,116px); height:auto}
.brand__sub{
  font-family:var(--font-d); font-size:var(--text-xs); font-weight:800;
  text-transform:uppercase; letter-spacing:.14em; color:var(--text-2);
  border-left:1px solid var(--line-2); padding-left:var(--space-3); line-height:1.25;
  display:flex; flex-direction:column;
}
.brand__llc{font-size:.72em; letter-spacing:.2em; color:var(--text-3)}

.nav{display:flex; gap:clamp(var(--space-4), 1.6vw, var(--space-6)); margin-left:auto; flex-wrap:nowrap}
@media (min-width:1241px){ .nav{gap:var(--space-4)} .nav a{letter-spacing:.04em} }
.nav a{
  font-family:var(--font-d); font-size:var(--text-sm); font-weight:600;
  text-transform:uppercase; letter-spacing:.06em; color:var(--text-2); white-space:nowrap;
  padding-block:var(--space-2); position:relative; transition:color .18s var(--ease);
}
.nav a::after{content:''; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--accent); transition:right .28s var(--ease)}
.nav a:hover{color:var(--text)}
.nav a:hover::after{right:0}

.hdr__act{display:flex; align-items:center; gap:var(--space-3); flex:none}
.tgl{
  width:38px; height:38px; display:grid; place-items:center; flex:none;
  background:transparent; border:1px solid var(--line); border-radius:var(--r-md);
  color:var(--text-2); cursor:pointer; transition:color .18s var(--ease), border-color .18s var(--ease);
}
.tgl:hover{color:var(--accent); border-color:var(--accent)}
.tgl svg{width:18px; height:18px}
[data-theme="dark"] .tgl__sun{display:none}
[data-theme="light"] .tgl__moon{display:none}
.btn--call{background:var(--accent); color:var(--accent-ink); box-shadow:var(--shadow-sm)}
.btn--call:hover{background:var(--accent-2)}

.burger{display:none; width:42px; height:38px; background:transparent; border:1px solid var(--line); border-radius:var(--r-md); cursor:pointer; padding:9px 10px; flex-direction:column; justify-content:space-between}
.burger span{display:block; height:2px; background:var(--text); border-radius:2px; transition:transform .25s var(--ease), opacity .2s var(--ease)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mnav{display:none; flex-direction:column; background:var(--bg); border-top:1px solid var(--line); box-shadow:var(--shadow-md); padding:var(--space-3) clamp(var(--space-5),4vw,var(--space-10)) var(--space-6)}
.mnav a{font-family:var(--font-d); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:var(--text-sm); padding:var(--space-4) 0; border-bottom:1px solid var(--line)}
.mnav__call{color:var(--accent); border-bottom:0 !important}

@media (max-width:1240px){
  .nav{display:none}
  .hdr__act .btn--call span{display:none}
  .hdr__act .btn--call{padding:var(--space-3); width:38px; height:38px}
  .hdr__act{margin-left:auto}
  .burger{display:flex}
  .mnav[data-open="1"]{display:flex}
}
@media (max-width:420px){ .brand__sub{display:none} }

/* ===================== HERO ===================== */
.hero{position:relative; padding-top:clamp(var(--space-8),5vw,var(--space-16)); overflow:hidden; background:linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%)}
.hero__glow{
  position:absolute; inset:-30% -10% auto -10%; height:70%;
  background:radial-gradient(60% 60% at 50% 0%, color-mix(in oklab, var(--accent) 22%, transparent) 0%, transparent 70%);
  pointer-events:none;
}
.hero__in{
  position:relative; max-width:var(--maxw); margin-inline:auto;
  padding-inline:clamp(var(--space-5),4vw,var(--space-10));
  display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(var(--space-8),4vw,var(--space-16));
  align-items:center;
}
.hero__art{display:flex; align-items:center; justify-content:center}
.hero__art img{
  width:100%; max-width:560px; height:auto;
  filter:drop-shadow(0 18px 44px oklch(0% 0 0/.55));
}
[data-theme="light"] .hero__art img{filter:drop-shadow(0 18px 40px oklch(25% .03 55/.24))}
.hero__copy h1{margin-bottom:var(--space-5); font-size:clamp(2rem, 1.1rem + 2vw, 2.9rem); text-wrap:initial}
.hero__copy h1 em{font-style:normal; color:#FD740A; -webkit-text-stroke:1.1px #FD740A; paint-order:stroke fill}   /* a hair lighter than --accent so the flat text reads as bright as the logo lettering, which carries bevel highlights */
.hero__cta{display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-8)}
.hero__note{margin-top:var(--space-4); font-size:var(--text-sm); color:var(--text-3)}

.strip{
  list-style:none; padding:0; margin:clamp(var(--space-10),6vw,var(--space-20)) auto 0;
  max-width:var(--maxw); padding-inline:clamp(var(--space-5),4vw,var(--space-10));
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  border-top:1px solid var(--line);
}
.strip li{padding:var(--space-6) var(--space-4); border-right:1px solid var(--line); display:flex; flex-direction:column; gap:var(--space-1)}
.strip li:last-child{border-right:0}
.strip__n{font-family:var(--font-d); font-size:var(--text-lg); font-weight:900; color:var(--accent); letter-spacing:-.02em}
.strip__l{font-size:var(--text-xs); color:var(--text-3); text-transform:uppercase; letter-spacing:.1em; font-weight:600}

@media (max-width:920px){
  .hero__in{grid-template-columns:1fr; gap:var(--space-8)}
  .hero__copy{order:-1}
  .strip{grid-template-columns:repeat(2,1fr)}
  .strip li:nth-child(2){border-right:0}
  .strip li:nth-child(1),.strip li:nth-child(2){border-bottom:1px solid var(--line)}
}

/* ===================== SECTIONS ===================== */
.sec{padding-block:clamp(var(--space-16),9vw,var(--space-32))}
.sec--alt{background:var(--bg-2); border-block:1px solid var(--line)}
.sec__hd{max-width:60ch; margin-bottom:clamp(var(--space-10),5vw,var(--space-16))}
.sec__sub{color:var(--text-2); margin-top:var(--space-5); max-width:58ch}

/* ---------- fleet ---------- */
.fleet{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(var(--space-5),2.5vw,var(--space-8))}
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.card:hover{transform:translateY(-5px); border-color:color-mix(in oklab, var(--accent) 55%, var(--line)); box-shadow:var(--shadow-lg)}
.card--feat{border-color:color-mix(in oklab, var(--accent) 45%, var(--line)); box-shadow:var(--glow)}
.card__img{position:relative; aspect-ratio:16/9; overflow:hidden; background:var(--surface-2)}
.card__img img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease)}
.card:hover .card__img img{transform:scale(1.045)}
.tag{
  position:absolute; top:var(--space-3); left:var(--space-3);
  font-family:var(--font-d); font-size:var(--text-xs); font-weight:800; text-transform:uppercase; letter-spacing:.12em;
  padding:var(--space-1) var(--space-3); border-radius:999px;
  background:color-mix(in oklab, oklch(15% .01 60) 82%, transparent); color:oklch(97% .005 80);
  border:1px solid color-mix(in oklab, white 26%, transparent); backdrop-filter:blur(6px);
}
.tag--hot{background:var(--accent); color:var(--accent-ink); border-color:transparent}

/* photo gallery strip -- three shots per listing, click to swap the main image */
.gal{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line); border-bottom:1px solid var(--line)}
.gal__b{
  position:relative; display:block; padding:0; border:0; margin:0; cursor:pointer;
  aspect-ratio:16/9; overflow:hidden; background:var(--surface-2);
  opacity:.5; transition:opacity .25s var(--ease);
}
.gal__b img{width:100%; height:100%; object-fit:cover; display:block}
.gal__b:hover{opacity:.82}
.gal__b.is-on{opacity:1}
.gal__b.is-on::after{content:""; position:absolute; inset:auto 0 0 0; height:3px; background:var(--accent)}
.gal__b:focus-visible{outline:2px solid var(--accent); outline-offset:-2px; opacity:1}
/* the one unit without photos yet -- spec-only card, no image slot */
.card__soon{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-3);
  aspect-ratio:16/9; padding:var(--space-5); text-align:center;
  background:var(--surface-2); border-bottom:1px solid var(--line);
}
.card__soon p{
  margin:0; max-width:26ch;
  font-family:var(--font-d); font-size:var(--text-xs); font-weight:700;
  text-transform:uppercase; letter-spacing:.1em; color:var(--text-3);
}
.tag--inline{position:static; inset:auto}

/* a single card orphaned on the last row sits centred rather than hard left */
.fleet > .card:last-child:nth-child(3n+1){grid-column:2}

.card__bd{padding:clamp(var(--space-5),2vw,var(--space-8)); display:flex; flex-direction:column; gap:var(--space-4); flex:1}
.card__bd h3{text-transform:uppercase; letter-spacing:-.01em}
.card__dim{font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.09em; color:var(--accent); font-weight:600; margin-top:calc(var(--space-4) * -1 + var(--space-1))}
.card__txt{font-size:var(--text-sm); color:var(--text-2)}

.spec{list-style:none; padding:0; margin:0; display:flex; flex-direction:column}
.spec li{display:flex; justify-content:space-between; align-items:baseline; gap:var(--space-4); font-size:var(--text-xs); padding-block:var(--space-2); border-bottom:1px dashed var(--line)}
.spec li:last-child{border-bottom:0}
.spec span{color:var(--text-3); text-transform:uppercase; letter-spacing:.07em; font-weight:600}
.spec b{font-family:var(--font-d); font-weight:700; text-align:right}

.price{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; margin-top:auto}
.price div{background:var(--surface-2); padding:var(--space-3) var(--space-2); display:flex; flex-direction:column; align-items:center; gap:2px}
.price span{font-size:var(--text-xs); color:var(--text-3); text-transform:uppercase; letter-spacing:.08em; font-weight:600}
.price b{font-family:var(--font-d); font-size:var(--text-lg); font-weight:900; color:var(--accent); letter-spacing:-.02em; line-height:1}

@media (max-width:1000px){ .fleet{grid-template-columns:1fr; max-width:560px; margin-inline:auto}
  .fleet > .card:last-child:nth-child(3n+1){grid-column:auto} }

/* ---------- rates ---------- */
.split{display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(var(--space-8),5vw,var(--space-16)); align-items:center}
.split__l .btn{margin-top:var(--space-8)}
.rt{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden}
.rt th, .rt td{padding:var(--space-4) var(--space-5); text-align:right; border-bottom:1px solid var(--line)}
.rt thead th{
  font-family:var(--font-d); font-size:var(--text-xs); font-weight:800; text-transform:uppercase; letter-spacing:.12em;
  color:var(--text-3); background:var(--surface-2); border-bottom:1px solid var(--line-2);
}
.rt thead th:first-child, .rt tbody th{text-align:left}
.rt tbody th{font-family:var(--font-b); font-weight:600; font-size:var(--text-sm)}
.rt tbody td{font-family:var(--font-d); font-weight:800; font-size:var(--text-base); color:var(--accent)}
.rt tbody tr:last-child th, .rt tbody tr:last-child td{border-bottom:0}
.rt tbody tr{transition:background .2s var(--ease)}
.rt tbody tr:hover{background:var(--surface-2)}

.terms{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(var(--space-4),2vw,var(--space-6)); margin-top:clamp(var(--space-12),6vw,var(--space-20))}
.term{background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:var(--r-md); padding:var(--space-6)}
.term__k{display:block; font-family:var(--font-d); font-size:var(--text-xl); font-weight:900; color:var(--accent); letter-spacing:-.03em; line-height:1; margin-bottom:var(--space-3); white-space:nowrap}
.term__k i{font-style:normal; font-size:.45em; letter-spacing:0; color:var(--text-3)}
.term h3{font-size:var(--text-sm); text-transform:uppercase; letter-spacing:.09em; margin-bottom:var(--space-2)}
.term p{font-size:var(--text-sm); color:var(--text-2)}

.terms > .term:last-child:nth-child(3n+1){grid-column:2}
@media (max-width:1000px){ .split{grid-template-columns:1fr} .terms{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .terms{grid-template-columns:1fr} .rt th,.rt td{padding:var(--space-3)} }

/* ---------- steps ---------- */
.steps{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(var(--space-5),3vw,var(--space-10))}
.steps li{position:relative; padding-top:var(--space-8); border-top:2px solid var(--line)}
.steps li::before{content:''; position:absolute; top:-2px; left:0; width:38%; height:2px; background:var(--accent)}
.steps__n{font-family:var(--font-d); font-size:var(--text-xs); font-weight:900; letter-spacing:.16em; color:var(--accent); display:block; margin-bottom:var(--space-4)}
.steps h3{font-size:var(--text-lg); text-transform:uppercase; margin-bottom:var(--space-3)}
.steps p{font-size:var(--text-sm); color:var(--text-2)}
@media (max-width:1000px){ .steps{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .steps{grid-template-columns:1fr} }

/* ---------- reserve ---------- */
.rsv{display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(var(--space-8),5vw,var(--space-16)); align-items:start}
.rsv__calls{display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-8)}
.hours{margin-top:clamp(var(--space-8),4vw,var(--space-12)); border-top:1px solid var(--line); padding-top:var(--space-5); display:flex; flex-direction:column; gap:var(--space-2)}
.hours div{display:flex; justify-content:space-between; gap:var(--space-4); padding-block:var(--space-2); border-bottom:1px dashed var(--line); font-size:var(--text-sm)}
.hours dt{font-family:var(--font-d); font-weight:700; text-transform:uppercase; letter-spacing:.09em; font-size:var(--text-xs); color:var(--text-3)}
.hours dd{margin:0; font-weight:600}

.frm{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(var(--space-5),3vw,var(--space-10)); display:flex; flex-direction:column; gap:var(--space-5); box-shadow:var(--shadow-md)}
.frm__hd{font-size:var(--text-lg); text-transform:uppercase; letter-spacing:.02em; padding-bottom:var(--space-4); border-bottom:1px solid var(--line)}
.f2{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5)}
.f3{display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--space-5)}
.fld{display:flex; flex-direction:column; gap:var(--space-2)}
.fld > span{font-family:var(--font-d); font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.11em; color:var(--text-3)}
.fld > span i{color:var(--accent); font-style:normal; margin-left:2px}
.fld__note{font-weight:600; text-transform:none; letter-spacing:.02em; margin-left:.55em !important}
.fld__calc{font-family:var(--font-d); font-size:var(--text-xs); font-weight:700; letter-spacing:.03em; color:var(--accent); margin-top:calc(var(--space-1) * -1)}
.idv{display:flex; flex-direction:column; gap:var(--space-4); padding:var(--space-5); background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:var(--r-md)}
.idv__hd{font-family:var(--font-d); font-size:var(--text-xs); font-weight:800; text-transform:uppercase; letter-spacing:.14em; color:var(--accent)}
.idv__p{font-size:var(--text-xs); line-height:1.65; color:var(--text-3); margin:0; max-width:62ch}
.idv__hd--2{margin-top:var(--space-3); padding-top:var(--space-5); border-top:1px solid var(--line)}
.idv__p--fine{padding-top:var(--space-2); color:var(--text-3); opacity:.9}
.chk{display:flex; align-items:flex-start; gap:var(--space-3); cursor:pointer}
.chk input{flex:0 0 auto; -webkit-appearance:none; appearance:none; width:1.15rem; height:1.15rem; margin:.1rem 0 0; border:1.5px solid var(--line-2); border-radius:4px; background:var(--bg); cursor:pointer; position:relative; transition:background .15s ease, border-color .15s ease}
.chk input:hover{border-color:var(--accent)}
.chk input:checked{background:var(--accent); border-color:var(--accent)}
.chk input:checked::after{content:''; position:absolute; left:.3rem; top:.13rem; width:.28rem; height:.55rem; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg)}
.chk input:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.chk span{font-size:var(--text-sm); line-height:1.55; color:var(--text-2); max-width:60ch}
.chk span i{color:var(--accent); font-style:normal; font-weight:800; margin-left:.2em}
.chk.err span{color:var(--accent)}
.chk.err input{outline:2px solid var(--accent); outline-offset:2px}
.est{background:var(--bg); border:1px solid var(--line-2); border-left:3px solid var(--accent); border-radius:var(--r-md); padding:var(--space-5)}
.est__hd{font-family:var(--font-d); font-size:var(--text-xs); font-weight:800; text-transform:uppercase; letter-spacing:.16em; color:var(--accent); margin-bottom:var(--space-4)}
.est__r{display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-4); padding:var(--space-2) 0; font-size:var(--text-sm); color:var(--text-2)}
.est__r b{font-family:var(--font-d); font-weight:800; color:var(--text-1); white-space:nowrap}
.est__r--sub{margin-top:var(--space-2); padding-top:var(--space-3); border-top:1px solid var(--line)}
.est__r--tot{margin-top:var(--space-2); padding-top:var(--space-3); border-top:1px solid var(--line)}
.est__r--tot span{font-family:var(--font-d); font-weight:800; text-transform:uppercase; letter-spacing:.09em; font-size:var(--text-xs); color:var(--text-1)}
.est__r--tot b{font-size:var(--text-lg); color:var(--accent)}
.est__fine{margin-top:var(--space-4); font-size:var(--text-xs); line-height:1.6; color:var(--text-3)}
.est__fine b{color:var(--text-2); font-weight:700}
.fld input, .fld select, .fld textarea{
  background:var(--bg); border:1px solid var(--line-2); border-radius:var(--r-md);
  padding:var(--space-3) var(--space-4); font-size:var(--text-sm); width:100%;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.fld textarea{resize:vertical; min-height:88px}
.fld input:focus, .fld select:focus, .fld textarea:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 22%, transparent)}
.fld input::placeholder, .fld textarea::placeholder{color:var(--text-3)}
.fld.err input, .fld.err select{border-color:oklch(62% .21 25)}
.frm__fine{font-size:var(--text-xs); color:var(--text-3); text-align:center}

.out[hidden]{display:none}
.out{border:1px solid var(--accent); border-radius:var(--r-md); padding:var(--space-5); background:var(--surface-2); display:flex; flex-direction:column; gap:var(--space-4)}
.out__hd{font-family:var(--font-d); font-size:var(--text-sm); font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:var(--accent)}
.out__box{font-family:var(--font-b); font-size:var(--text-sm); white-space:pre-wrap; word-break:break-word; color:var(--text-2); margin:0; line-height:1.55}
.out__act{display:flex; flex-wrap:wrap; gap:var(--space-3)}
.send{display:inline-flex; align-items:stretch; border:1px solid var(--line-2); border-radius:var(--r-md); overflow:hidden}
.send__l{display:flex; align-items:center; white-space:nowrap; padding:0 var(--space-4); background:var(--surface); font-family:var(--font-d); font-size:var(--text-xs); font-weight:800; text-transform:uppercase; letter-spacing:.12em; color:var(--text-3); border-right:1px solid var(--line-2)}
.send__b{display:flex; align-items:center; padding:var(--space-3) var(--space-5); font-family:var(--font-d); font-size:var(--text-sm); font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--text-1); text-decoration:none; transition:background .15s ease, color .15s ease}
.send__b + .send__b{border-left:1px solid var(--line-2)}
.send__b:hover, .send__b:focus-visible{background:var(--accent); color:#fff}
@media (max-width:479px){ .send{width:100%} .send__l{padding:0 var(--space-3); letter-spacing:.08em} .send__b{flex:1; justify-content:center; padding-left:var(--space-3); padding-right:var(--space-3)} }
.trap{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.out__sent{display:flex; align-items:flex-start; gap:var(--space-2); font-size:var(--text-sm); line-height:1.5; color:var(--accent); font-weight:700; margin:0}
.out__fb{font-size:var(--text-xs); line-height:1.6; color:var(--text-3); margin:0}
.out__fb a{color:var(--text-2); text-decoration:underline; text-underline-offset:3px}
.out__fb a:hover{color:var(--accent)}
.out__note{font-size:var(--text-xs); line-height:1.6; color:var(--text-3); margin:0}
.out__note b{color:var(--accent); font-weight:800}
@media (max-width:1000px){ .rsv{grid-template-columns:1fr} }
@media (max-width:520px){ .f2{grid-template-columns:1fr} .f3{grid-template-columns:1fr} }

/* ---------- service area ---------- */
.area{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(var(--space-6),3vw,var(--space-12))}
.area__grp h3{font-size:var(--text-sm); text-transform:uppercase; letter-spacing:.11em; color:var(--text-3); padding-bottom:var(--space-4); border-bottom:1px solid var(--line); margin-bottom:var(--space-5)}
.chips{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:var(--space-2)}
.chips li{
  font-family:var(--font-d); font-size:var(--text-xs); font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  padding:var(--space-2) var(--space-4); border:1px solid var(--line-2); border-radius:999px; color:var(--text-2);
}
.chips--pri li{background:var(--accent); color:var(--accent-ink); border-color:transparent; font-weight:800}
@media (max-width:820px){ .area{grid-template-columns:1fr} }

/* ---------- closer ---------- */
.closer{
  padding-block:clamp(var(--space-16),8vw,var(--space-24));
  background:
    radial-gradient(70% 120% at 50% 0%, color-mix(in oklab, var(--accent) 16%, transparent) 0%, transparent 65%),
    var(--bg-2);
  border-top:1px solid var(--line);
}
.closer__in{display:grid; grid-template-columns:auto 1fr; gap:clamp(var(--space-8),5vw,var(--space-16)); align-items:center}
.closer__lock{width:clamp(220px,26vw,340px); height:auto; filter:drop-shadow(0 14px 30px oklch(0% 0 0/.45))}
[data-theme="light"] .closer__lock{filter:drop-shadow(0 14px 30px oklch(20% .02 60/.22))}
.closer h2{margin-bottom:var(--space-4)}
.closer p{color:var(--text-2)}
.closer__cta{display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-8)}
@media (max-width:820px){ .closer__in{grid-template-columns:1fr; text-align:center; justify-items:center} .closer__cta{justify-content:center} }

/* ---------- faq ---------- */
.faq{max-width:64rem; display:flex; flex-direction:column; gap:clamp(var(--space-8),4vw,var(--space-12))}
.faq__grp{display:flex; flex-direction:column}
.faq__gh{
  font-family:var(--font-d); font-size:var(--text-xs); font-weight:800; text-transform:uppercase;
  letter-spacing:.16em; color:var(--accent); padding-bottom:var(--space-4);
  border-bottom:2px solid var(--line); position:relative;
}
.faq__gh::after{content:''; position:absolute; left:0; bottom:-2px; width:56px; height:2px; background:var(--accent)}
.faq__i{border-bottom:1px solid var(--line)}
.faq__i summary{
  list-style:none; cursor:pointer; display:flex; align-items:flex-start; gap:var(--space-5);
  padding-block:var(--space-5); font-weight:600; font-size:var(--text-base); color:var(--text-1);
  transition:color .18s var(--ease);
}
.faq__i summary::-webkit-details-marker{display:none}
.faq__i summary::after{
  content:''; flex:none; margin-left:auto; margin-top:.35em; width:11px; height:11px;
  border-right:2px solid var(--accent); border-bottom:2px solid var(--accent);
  transform:rotate(45deg); transition:transform .22s var(--ease);
}
.faq__i[open] summary::after{transform:rotate(225deg)}
.faq__i summary:hover{color:var(--accent)}
.faq__i summary:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:var(--r-sm)}
.faq__a{padding:0 clamp(var(--space-6),4vw,var(--space-10)) var(--space-6) 0; max-width:62ch}
.faq__a p{font-size:var(--text-sm); color:var(--text-2); line-height:1.7}
.faq__a a{color:var(--accent); text-decoration:underline; text-underline-offset:3px}
@media (max-width:560px){ .faq__i summary{font-size:var(--text-sm); gap:var(--space-4)} }
.faq__cta{
  max-width:64rem; margin-top:clamp(var(--space-8),4vw,var(--space-12));
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:var(--space-5) var(--space-8); padding:clamp(var(--space-5),3vw,var(--space-8));
  background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:var(--r-lg);
}
.faq__cta p{font-family:var(--font-d); font-weight:700; text-transform:uppercase; letter-spacing:.03em; font-size:var(--text-base); max-width:38ch}
@media (max-width:560px){ .faq__cta{flex-direction:column; align-items:flex-start} .faq__cta .btn{width:100%; justify-content:center} }

/* ===================== FOOTER ===================== */
.ft{background:var(--bg); border-top:1px solid var(--line); padding-top:clamp(var(--space-12),6vw,var(--space-20))}
.ft__in{display:grid; grid-template-columns:1.3fr .8fr .8fr 1.1fr; gap:clamp(var(--space-6),3vw,var(--space-12))}
.ft h3{font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.15em; color:var(--text-3); margin-bottom:var(--space-5)}
.ft__brand img{width:130px; height:auto; margin-bottom:var(--space-4)}
.ft__name{font-family:var(--font-d); font-weight:800; text-transform:uppercase; letter-spacing:.03em; font-size:var(--text-sm)}
.ft__tag{font-family:var(--font-d); font-style:italic; font-weight:700; text-transform:uppercase; font-size:var(--text-xs); letter-spacing:.04em; color:var(--text-2); margin-top:var(--space-2)}
.ft__tag em{font-style:italic; color:#FD740A; -webkit-text-stroke:.35px #FD740A; paint-order:stroke fill}   /* same treatment as the hero headline, stroke scaled to this type size */
.ft__nav, .ft__col{display:flex; flex-direction:column; gap:var(--space-3); font-size:var(--text-sm)}
.ft__nav a, .ft__col a{color:var(--text-2); transition:color .18s var(--ease)}
.ft__nav a:hover, .ft__col a:hover{color:var(--accent)}
.ft__col p{color:var(--text-3); font-size:var(--text-sm)}
.ft__big{font-family:var(--font-d) !important; font-size:var(--text-lg) !important; font-weight:900; color:var(--accent) !important; letter-spacing:-.02em}
.ft__sis{line-height:1.5}
.ft__pay{font-size:var(--text-xs) !important; letter-spacing:.02em; color:var(--text-3)}
.ft__base{
  margin-top:clamp(var(--space-10),5vw,var(--space-16)); padding-block:var(--space-6);
  border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:var(--space-3) var(--space-8);
  justify-content:space-between; font-size:var(--text-xs); color:var(--text-3);
}
@media (max-width:900px){ .ft__in{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .ft__in{grid-template-columns:1fr} }

/* ---------- availability ---------- */
.avail{margin-top:clamp(var(--space-8),4vw,var(--space-12)); border-top:1px solid var(--line); padding-top:var(--space-6)}
.avail__hd{display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap}
.avail__t{font-family:var(--font-display); font-size:var(--text-lg); letter-spacing:.02em; text-transform:uppercase; margin:0}
.avail__live{font-size:var(--text-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3)}
.avail__live--on{color:var(--accent)}
.avail__p{margin:var(--space-3) 0 var(--space-5); color:var(--ink-2); font-size:var(--text-sm); line-height:1.6}
.avail__ctl{display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4)}
.avail__list{list-style:none; margin:var(--space-6) 0 0; padding:0; border-top:1px solid var(--line)}
.av{border-bottom:1px solid var(--line)}
.av__b{appearance:none; -webkit-appearance:none; background:none; border:0; width:100%; display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); padding:var(--space-3) var(--space-2); font:inherit; color:inherit; text-align:left; cursor:pointer; transition:background var(--dur-2) var(--ease)}
.av__b:hover{background:var(--surface-2)}
.av__b:focus-visible{outline:2px solid var(--accent); outline-offset:-2px}
.av__b[disabled]{cursor:default}
.av__b[disabled]:hover{background:none}
.av__n{font-size:var(--text-sm); line-height:1.35}
.av__b[disabled] .av__n{color:var(--ink-3)}
.av__r{display:flex; align-items:center; gap:var(--space-3); flex-shrink:0}
.av__free{font-size:var(--text-xs); color:var(--ink-3); white-space:nowrap}
.av__s{font-size:var(--text-xs); font-weight:600; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; padding:.28em .6em; border-radius:999px; border:1px solid}
.av__s--ok{color:var(--accent); border-color:color-mix(in srgb, var(--accent) 45%, transparent); background:color-mix(in srgb, var(--accent) 10%, transparent)}
.av__s--no{color:var(--ink-3); border-color:var(--line); background:var(--surface-2)}
.av__s--hold{color:var(--ink-2); border-color:var(--line); background:var(--surface-2); border-style:dashed}
.avail__note{margin:var(--space-5) 0 0; font-size:var(--text-xs); color:var(--ink-3); line-height:1.6}
.avail__note b{color:var(--ink-2)}
.fld__conf{margin:calc(var(--space-2) * -1) 0 0; font-size:var(--text-xs); line-height:1.55; color:var(--accent)}
@media (max-width:520px){ .avail__ctl{grid-template-columns:1fr} }
