:root{
  --ink:#0d0f12; --ink-2:#14181d; --ink-3:#1c2229;
  --steel:#c9ced4; --steel-dim:#8b939c; --ice:#9fd3f0; --ice-2:#d8eefa;
  --red:#c8323a; --line:rgba(201,206,212,.14);
  --head:"Anton","Impact","Haettenschweiler","Arial Narrow Bold",sans-serif;
  --cond:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"Barlow","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--steel);font:400 17px/1.6 var(--body);
  background:var(--ink);
  /* scratched-ice / grain texture via SVG noise */
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:var(--ice)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}

/* top bar */
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;background:rgba(13,15,18,.88);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brand-mini{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--steel);font:400 20px/1 var(--head);letter-spacing:.06em}
.brand-mini svg{width:34px;height:22px;color:var(--ice)}
.topbar nav{display:flex;gap:14px;align-items:center}
.topbar nav a{color:var(--steel);text-decoration:none;font:600 15px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase}
.topbar nav a:not(.btn){display:none}
@media(min-width:720px){.topbar nav a:not(.btn){display:inline}}

/* buttons */
.btn{display:inline-block;background:var(--ice);color:var(--ink)!important;text-decoration:none;border:0;cursor:pointer;
  font:700 17px/1 var(--cond);letter-spacing:.1em;text-transform:uppercase;padding:14px 22px;border-radius:3px;
  box-shadow:0 0 0 2px var(--ink),0 0 0 3px var(--ice)}
.btn:hover{background:var(--ice-2)}
.btn-ghost{background:transparent;color:var(--steel)!important;box-shadow:inset 0 0 0 2px var(--steel-dim)}
.btn-ghost:hover{background:rgba(201,206,212,.08)}
.btn-sm{padding:9px 14px;font-size:14px}

/* hero */
.hero{position:relative;overflow:hidden;text-align:center;padding:56px 20px 70px;
  background:
    radial-gradient(ellipse at 50% 0%,rgba(159,211,240,.18),transparent 60%),
    linear-gradient(180deg,var(--ink-2),var(--ink));}
.hero-lines{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:
    linear-gradient(90deg,transparent calc(50% - 2px),rgba(200,50,58,.55) calc(50% - 2px),rgba(200,50,58,.55) calc(50% + 2px),transparent calc(50% + 2px)),
    radial-gradient(circle at 50% 58%,transparent 150px,rgba(159,211,240,.35) 151px,rgba(159,211,240,.35) 154px,transparent 155px);}
.hero-inner{position:relative;max-width:760px;margin:0 auto}
.kicker{font:600 14px/1 var(--cond);letter-spacing:.3em;text-transform:uppercase;color:var(--steel-dim);margin:0 0 18px}
.crest{width:min(300px,78vw);height:auto;display:block;margin:0 auto 6px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.6))}
h1{margin:0;font:400 clamp(58px,15vw,132px)/.88 var(--head);letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(180deg,#f4f7fa 0%,#b9c1ca 48%,#78828d 52%,#dfe4e9 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 2px 0 rgba(0,0,0,.0)}
h1 span{display:block;font-size:.42em;letter-spacing:.42em;margin-top:.18em;padding-left:.42em;
  background:none;color:var(--ice);-webkit-text-fill-color:var(--ice)}
.tagline{display:inline-block;margin:22px 0 10px;font:700 clamp(18px,4.6vw,24px)/1 var(--cond);letter-spacing:.35em;text-transform:uppercase;
  color:var(--ink);background:var(--steel);padding:8px 14px 8px 20px;transform:skew(-8deg)}
.headline{margin:18px auto 0;max-width:760px;text-wrap:balance;font:400 clamp(30px,7vw,48px)/1.05 var(--head);letter-spacing:.02em;text-transform:uppercase;color:#eef1f4}
.lede{max-width:560px;margin:14px auto 26px;color:var(--steel);font-size:18px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.board-stripe{position:absolute;left:0;right:0;bottom:0;height:12px;
  background:linear-gradient(180deg,var(--red) 0 50%,var(--ice) 50% 100%);opacity:.85}

/* sections */
section{padding:64px 0}
.section-title{display:flex;align-items:baseline;gap:14px;margin:0 0 28px;
  font:400 clamp(34px,7vw,52px)/1 var(--head);text-transform:uppercase;letter-spacing:.03em;color:#eef1f4}
.section-title span{font:700 18px/1 var(--cond);color:var(--ice);letter-spacing:.15em;
  border:2px solid var(--ice);padding:4px 7px;border-radius:2px}
h3{font:700 22px/1.1 var(--cond);letter-spacing:.06em;text-transform:uppercase;color:#eef1f4;margin:10px 0 8px}

/* why cards */
.section-lede{margin:-14px 0 24px;font:600 20px/1.3 var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--ice)}
.cards{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.cards{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.cards{grid-template-columns:repeat(4,1fr)}}
.card{background:linear-gradient(180deg,var(--ink-3),var(--ink-2));border:1px solid var(--line);border-top:3px solid var(--ice);
  padding:22px 20px;border-radius:4px}
.card svg{width:44px;height:44px;color:var(--ice)}
.card p{margin:0;color:#b3bac2}

/* about strip */
.about{padding:40px 0;border-top:1px solid var(--line)}
.about-inner{text-align:center}
.about-line{margin:0 auto;max-width:720px;text-wrap:balance;font:700 clamp(22px,4.6vw,30px)/1.25 var(--cond);letter-spacing:.03em;color:#eef1f4}
.about-note{margin:12px 0 0;font:600 14px/1.3 var(--cond);letter-spacing:.18em;text-transform:uppercase;color:var(--steel-dim)}

/* pricing */
.pricing{background:
  repeating-linear-gradient(135deg,rgba(255,255,255,.015) 0 14px,transparent 14px 28px),var(--ink-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.badge{display:inline-block;margin:-12px 0 24px;font:700 14px/1 var(--cond);letter-spacing:.25em;text-transform:uppercase;
  color:var(--ink);background:var(--red);color:#fff;padding:7px 12px;border-radius:2px}
.price-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:640px){.price-grid{grid-template-columns:1fr 1fr}}
@media(min-width:980px){.price-grid{grid-template-columns:repeat(4,1fr)}}
.price-card{position:relative;background:var(--ink);border:1px solid var(--line);border-radius:4px;padding:24px 20px 20px}
.price-card.featured{border:2px solid var(--ice);box-shadow:0 0 0 4px rgba(159,211,240,.08)}
.price-card.featured::before{content:"Most popular";position:absolute;top:-12px;left:18px;background:var(--ice);color:var(--ink);
  font:700 12px/1 var(--cond);letter-spacing:.18em;text-transform:uppercase;padding:6px 8px}
.price{margin:4px 0 12px;font:400 64px/1 var(--head);color:#f1f4f7}
.price sup{font-size:.42em;vertical-align:top;position:relative;top:.35em;margin-right:2px;color:var(--ice)}
.price small{font:600 18px/1 var(--cond);color:var(--steel-dim);letter-spacing:.06em;margin-left:4px}
.price-card ul{margin:0;padding:0;list-style:none}
.price-card li{padding:7px 0 7px 22px;border-top:1px dashed var(--line);position:relative;color:#b3bac2;font-size:16px}
.price-card li::before{content:"";position:absolute;left:2px;top:15px;width:10px;height:3px;background:var(--ice)}
.fine{margin:22px 0 0;font-size:14px;color:var(--steel-dim)}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}
@media(min-width:820px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{counter-increment:s;position:relative;padding:20px 18px 18px 18px;background:var(--ink-2);border:1px solid var(--line);border-radius:4px}
.steps li::before{content:counter(s,decimal-leading-zero);display:block;font:400 44px/1 var(--head);color:transparent;
  -webkit-text-stroke:1.5px var(--ice);margin-bottom:6px}
.steps strong{font:700 22px/1 var(--cond);letter-spacing:.08em;text-transform:uppercase;color:#eef1f4}
.steps p{margin:8px 0 0;color:#b3bac2;font-size:16px}

/* faq */
.faq{background:var(--ink-2);border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:4px 0}
summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;position:relative;
  font:700 21px/1.2 var(--cond);letter-spacing:.04em;text-transform:uppercase;color:#eef1f4}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:10px;font:400 30px/1 var(--head);color:var(--ice)}
details[open] summary::after{content:"–"}
details p{margin:0 0 16px;color:#b3bac2;max-width:760px}
.hollow-diagram{display:block;overflow:visible;width:100%;max-width:420px;margin:4px 0 18px}
.hollow-diagram text{fill:var(--steel-dim);font:600 13px var(--cond);letter-spacing:.05em}

/* booking */
.book-grid{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:860px){.book-grid{grid-template-columns:1fr 1.2fr}}
.contact-list p{margin:0 0 14px;font-size:18px}
.label{display:block;font:700 13px/1 var(--cond);letter-spacing:.22em;text-transform:uppercase;color:var(--steel-dim);margin-bottom:4px}
.ph{font-style:normal;font-size:13px;color:#f0b44c;margin-left:4px}
.placeholder-note{display:inline-block;font:600 13px/1.3 var(--cond);letter-spacing:.12em;text-transform:uppercase;
  color:#1a1300;background:#f0b44c;padding:6px 10px;border-radius:2px;margin:0 0 16px}
.contact-form{background:var(--ink-2);border:1px solid var(--line);border-radius:4px;padding:22px}
.contact-form label{display:block;margin-bottom:14px;font:600 15px/1.2 var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:6px;padding:12px;
  background:var(--ink);color:#eef1f4;border:1px solid #39424c;border-radius:3px;font:400 16px var(--body)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--ice);border-color:transparent}
.form-msg{margin:12px 0 0;color:var(--ice);min-height:1em}

/* footer */
.footer{position:relative;text-align:center;padding:48px 20px 30px;color:var(--steel-dim);border-top:1px solid var(--line)}
.footer .board-stripe{top:0;bottom:auto;height:6px}
.foot-brand{font:400 30px/1 var(--head);letter-spacing:.08em;color:var(--steel);margin:6px 0 10px}
.footer p{margin:4px 0}
.small{font-size:13px}
section[id]{scroll-margin-top:64px}
