:root { --ink:#111; --muted:#5a5a5a; --line:#dcdcdc; --gold:#b49a5e; --bar:rgba(58,58,58,.88); --tint:#f5f4f1; --serif:"Libre Caslon Display",Georgia,serif; --sans:"Montserrat",system-ui,sans-serif; }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--sans); font-weight:400; color:var(--ink); background:#fff; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
.wrap { max-width:1120px; margin:0 auto; padding:0 24px; }

.bar { position:fixed; inset:0 0 auto 0; z-index:50; height:64px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(16px,3vw,40px); background:var(--bar); color:#fff; }
.bar__by { margin:0; font-size:10px; line-height:1.5; letter-spacing:.12em; text-transform:uppercase; }
.bar__mark img { height:26px; width:auto; }
.bar__link { justify-self:end; color:#fff; text-decoration:none; font-size:11px; letter-spacing:.16em; text-transform:uppercase; padding:8px 0; border-bottom:1px solid transparent; }
.bar__link:hover { border-bottom-color:#fff; }

.hero { position:relative; height:100vh; height:100dvh; background:#0c1322; }

.hero__stage { position:sticky; top:0; height:100vh; height:100dvh; overflow:hidden; }
.hero__poster,.hero__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__video { opacity:0; }
.hero__video.is-ready { opacity:1; }
.hero__shade { position:absolute; inset:0; background:rgba(0,0,0,.28); }
.hero__copy { position:relative; z-index:2; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff; padding:80px 20px 40px; }
.hero__place { margin:0 0 14px; font-size:clamp(15px,1.6vw,22px); letter-spacing:.08em; text-transform:uppercase; }
.hero__title { margin:0; font-family:var(--serif); font-weight:400; font-size:clamp(56px,9vw,112px); line-height:1; letter-spacing:.01em; text-transform:uppercase; }
.hero__price { margin:22px 0 0; font-size:clamp(18px,2.2vw,28px); font-weight:500; }
.hero__actions { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:30px; }
.tag { display:inline-block; background:var(--gold); color:#111; padding:13px 20px; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
.btn-hero { display:inline-block; background:#fff; color:#111; padding:13px 22px; font-size:14px; text-decoration:none; transition:background-color .2s ease,color .2s ease; }
.btn-hero:hover { background:#111; color:#fff; }
.hero__by { margin:28px 0 0; font-size:12px; line-height:1.7; letter-spacing:.04em; }

.card-wrap { position:relative; z-index:3; padding:0 24px; margin-top:-56px; }
.card { max-width:1296px; margin:0 auto; background:#fff; display:grid; grid-template-columns:1fr; gap:0; box-shadow:0 1px 0 var(--line); }
.card > div { padding:26px 32px; border-bottom:1px solid var(--line); }
@media (min-width:860px) { .card { grid-template-columns:1.2fr 1.4fr .8fr; } .card > div { border-bottom:0; border-right:1px solid var(--line); } .card > div:last-child { border-right:0; } }
.label { margin:0 0 8px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.value { margin:0; font-size:17px; }

.section { padding:clamp(64px,9vw,112px) 0; }
.section--tint { background:var(--tint); }
h2 { font-family:var(--serif); font-weight:400; font-size:clamp(34px,4.4vw,48px); line-height:1.1; margin:0 0 20px; }
h3 { font-family:var(--serif); font-weight:400; font-size:26px; margin:0 0 10px; }
.section p { font-size:15px; line-height:1.8; color:#333; max-width:62ch; margin:0 0 14px; }
.split { display:grid; grid-template-columns:1fr; gap:40px; align-items:center; }
@media (min-width:900px) { .split { grid-template-columns:5fr 6fr; gap:72px; } }
figure { margin:0; }
figcaption { margin-top:10px; font-size:11px; letter-spacing:.04em; color:var(--muted); }

.gate { display:grid; grid-template-columns:1fr; gap:48px; }
@media (min-width:900px) { .gate { grid-template-columns:4fr 5fr; gap:80px; } }
.ticks { list-style:none; padding:0; margin:24px 0 0; border-top:1px solid var(--line); }
.ticks li { padding:14px 0; border-bottom:1px solid var(--line); font-size:15px; }
.form { display:grid; gap:20px; background:#fff; padding:clamp(24px,4vw,40px); }
.field { display:grid; gap:8px; }
.field label { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.field input { width:100%; border:0; border-bottom:1px solid #111; padding:10px 0; font:inherit; font-size:16px; background:transparent; border-radius:0; }
.field input:focus { outline:2px solid var(--gold); outline-offset:4px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.consent { display:flex; gap:12px; align-items:flex-start; font-size:13px; line-height:1.6; color:#333; }
.consent input { margin-top:4px; width:17px; height:17px; flex:none; accent-color:#111; }
.error { margin:0; color:#a12a1c; font-size:14px; }
.btn-submit { width:100%; background:#111; color:#fff; border:1px solid #111; padding:16px 20px; font:inherit; font-size:14px; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:background-color .2s ease,color .2s ease; }
.btn-submit:hover:not(:disabled) { background:#fff; color:#111; }
.btn-submit:disabled { opacity:.6; cursor:progress; }
.fine { margin:0; font-size:12px; line-height:1.6; color:var(--muted); }

.facts { margin:32px 0 0; border-top:1px solid var(--line); }
.facts div { display:grid; grid-template-columns:1fr; gap:4px; padding:16px 0; border-bottom:1px solid var(--line); }
@media (min-width:640px) { .facts div { grid-template-columns:220px 1fr; gap:24px; } }
.facts dt { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.facts dd { margin:0; font-size:16px; }
.block { margin-top:48px; }
.plain { list-style:none; padding:0; margin:16px 0 0; border-top:1px solid var(--line); }
.plain li { padding:14px 0; border-bottom:1px solid var(--line); font-size:15px; }
.notes { display:grid; grid-template-columns:1fr; gap:32px; margin-top:48px; }
@media (min-width:900px) { .notes { grid-template-columns:3fr 2fr; gap:72px; } }
.note { padding:22px 0; border-top:1px solid var(--line); }
.steps { list-style:none; counter-reset:s; padding:0; margin:0; }
.steps li { counter-increment:s; position:relative; padding:18px 0 18px 44px; border-top:1px solid var(--line); font-size:15px; line-height:1.6; }
.steps li::before { content:counter(s); position:absolute; left:0; top:14px; font-family:var(--serif); font-size:24px; color:var(--gold); }

.footer { background:#2f2f2f; color:#cfcfcf; padding:56px 0; }
.footer p { font-size:12px; line-height:1.8; max-width:92ch; margin:0 0 14px; }
.footer strong { color:#fff; font-weight:500; }
.footer a { color:#fff; }

@media (max-width:720px) {
  .bar { grid-template-columns:auto 1fr; height:56px; }
  .bar__by { display:none; }
  .bar__mark img { height:20px; }
  .card-wrap { margin-top:-32px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .btn-hero,.btn-submit { transition:none; } }
[id] { scroll-margin-top:72px; }

.sound { position:absolute; z-index:3; right:clamp(16px,3vw,40px); bottom:clamp(72px,10vh,96px); background:transparent; color:#fff; border:1px solid rgba(255,255,255,.7); padding:10px 16px; font:inherit; font-size:11px; letter-spacing:.16em; text-transform:uppercase; cursor:pointer; }
.sound:hover, .sound[aria-pressed="true"] { background:#fff; color:#111; }
.sound:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }

.hero__by { color:#c9c9c9; }
