:root {
  --ink:#0b1512;
  --paper:#f4f0e8;
  --paper-2:#e8e0d2;
  --gold:#c7a66a;
  --rust:#a75035;
  --line:rgba(11,21,18,.18);
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}
a{color:inherit}
img{display:block;width:100%;height:100%;object-fit:cover}
.shell{width:min(1080px,calc(100% - 48px));margin:auto}
.serif{font-family:var(--serif);font-weight:400}
.topbar{height:76px;background:var(--ink);color:white}
.topbar .shell{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{text-decoration:none;letter-spacing:.2em;font-weight:800}
.brand-word{display:flex;align-items:baseline;gap:10px}
.back{text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--gold)}
.hero{min-height:620px;position:relative;display:flex;align-items:end;color:white;overflow:hidden}
.hero>img{position:absolute;inset:0}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,14,11,.9),rgba(6,14,11,.28)),linear-gradient(0deg,rgba(6,14,11,.75),transparent 55%)}
.hero-copy{position:relative;z-index:1;padding:120px 0 70px;max-width:820px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;color:var(--gold);font-weight:700}
.hero h1{font-size:clamp(4rem,8vw,8rem);line-height:.82;letter-spacing:-.05em;margin:20px 0 25px}
.hero p{max-width:680px;font-size:1.12rem;color:rgba(255,255,255,.8)}
.price{display:flex;gap:14px;align-items:end;margin-top:30px}
.price strong{font-family:var(--serif);font-size:2.5rem;font-weight:400;color:var(--gold)}
.price span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7);padding-bottom:7px}
.facts{background:var(--ink);color:white}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:24px;border-left:1px solid rgba(255,255,255,.15)}
.fact:first-child{border-left:0}
.fact small{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}
.fact b{font-family:var(--serif);font-size:1.25rem;font-weight:400}
.intro{padding:105px 0}
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}
.intro h2,.days-head h2{font-size:clamp(3rem,5.5vw,5.5rem);line-height:.9;letter-spacing:-.04em;margin:0}
.intro-copy{font-family:var(--serif);font-size:1.45rem;line-height:1.35}
.moments{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:60px}
.moment{background:var(--paper);padding:25px}
.moment small{color:var(--rust);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:700}
.moment h3{font-family:var(--serif);font-size:1.45rem;font-weight:400;line-height:1.1;margin:12px 0}
.moment p{font-size:.85rem;color:#59645f;margin:0}
.days-wrap{background:var(--paper-2);padding:105px 0}
.days-head{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;margin-bottom:45px}
.days-head p{color:#59645f;margin:0}
.day{display:grid;grid-template-columns:90px .72fr 1.28fr;gap:25px;padding:28px 0;border-top:1px solid var(--line)}
.day-no{color:var(--rust);font-size:.68rem;text-transform:uppercase;letter-spacing:.13em}
.day h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;line-height:1.15;margin:0 0 7px}
.day-stage{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#6c7771}
.day-copy>p{margin:0 0 15px;color:#56615b}
.beats{display:grid;gap:8px}
.beats p{margin:0;font-size:.82rem;color:#59645f}
.beats b{color:var(--ink)}
.note{background:var(--ink);color:white;padding:26px 30px;margin-top:35px;display:grid;grid-template-columns:150px 1fr;gap:25px}
.note b{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--gold)}
.note p{margin:0;color:rgba(255,255,255,.72);font-size:.85rem}
.clear{padding:105px 0}
.clear-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.clear h2{font-family:var(--serif);font-size:2.2rem;font-weight:400}
.clear ul{padding-left:18px;color:#59645f}
.cta{background:#254e64;color:white;padding:90px 0}
.cta-grid{display:flex;justify-content:space-between;align-items:end;gap:50px}
.cta h2{font-family:var(--serif);font-size:clamp(3rem,5.5vw,5.5rem);line-height:.9;font-weight:400;margin:15px 0}
.cta p{max-width:570px;color:rgba(255,255,255,.72)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid white;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700;white-space:nowrap}
.legal{padding:25px 0;background:#07100d;color:rgba(255,255,255,.6);font-size:.72rem}
@media(max-width:760px){
  .shell{width:calc(100% - 30px)}
  .brand{font-size:.92rem;letter-spacing:.13em}
  .brand-word{gap:7px}
  .hero{min-height:660px}
  .hero-copy{padding:90px 0 55px}
  .facts-grid{grid-template-columns:1fr 1fr}
  .fact:nth-child(3){border-left:0}
  .fact:nth-child(n+3){border-top:1px solid rgba(255,255,255,.15)}
  .intro,.days-wrap,.clear,.cta{padding:72px 0}
  .intro-grid,.days-head,.clear-grid{grid-template-columns:1fr;gap:28px}
  .moments{grid-template-columns:1fr}
  .day{grid-template-columns:58px 1fr;gap:10px}
  .day-copy{grid-column:2}
  .note{grid-template-columns:1fr;gap:6px}
  .cta-grid{display:block}
  .cta .btn{margin-top:25px;width:100%}
}
