:root{
  --ink:#1b100c; --ink2:#2a1812; --lacquer:#7d1d17; --cinnabar:#a8342a;
  --gold:#d8b27a; --gold2:#ecd3a4; --cream:#f1e8d8; --paper:#e8dcc6; --brown:#4a2c20;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
section{scroll-margin-top:5rem}
[hidden]{display:none!important}
body{background:var(--ink);color:var(--cream);font-family:var(--serif);line-height:1.6;-webkit-font-smoothing:antialiased}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;z-index:50;background:var(--gold2);color:var(--ink);padding:.6rem 1rem}
.skip:focus{top:1rem}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
main:focus{outline:none}

.bar{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1.2rem,4vw,3rem);background:linear-gradient(rgba(27,16,12,.92),rgba(27,16,12,.55));backdrop-filter:blur(6px);border-bottom:1px solid rgba(216,178,122,.18)}
.wordmark{color:var(--gold2);text-decoration:none;font-variant:small-caps;letter-spacing:.14em;font-size:1.3rem}
.nav ul{display:flex;gap:2.2rem;list-style:none;padding:0}
.nav a{color:var(--cream);text-decoration:none;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;opacity:.82;padding:.3rem 0;border-bottom:1px solid transparent;transition:opacity .3s,border-color .3s}
.nav a:hover,.nav a:focus-visible{opacity:1;border-color:var(--cinnabar)}
.menu-toggle{display:none;background:none;border:1px solid rgba(216,178,122,.5);color:var(--gold2);font:inherit;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;padding:.45rem .9rem;cursor:pointer}

.hero{position:relative;min-height:78svh;display:grid;align-items:center;padding:9rem clamp(1.2rem,6vw,5.5rem) 9rem;overflow:hidden;isolation:isolate}
.hero-photo{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 40%,#3a2016 0%,var(--ink) 70%)}
.scenery{position:absolute;right:0;top:0;bottom:0;width:min(58%,640px);background:url(assets/scenery.jpg) center/cover;-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%);mask-image:linear-gradient(90deg,transparent,#000 35%)}
.table{position:absolute;left:0;right:0;bottom:0;height:min(14vw,170px);background:url(assets/table.jpg) right center/cover;-webkit-mask-image:linear-gradient(transparent,#000 45%);mask-image:linear-gradient(transparent,#000 45%);opacity:.92}
.hero-copy{max-width:36rem}
.eyebrow{color:var(--gold);font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;margin-bottom:1.2rem}
h1{font-weight:400;line-height:.95}
.h-grand{display:block;font-variant:small-caps;font-size:clamp(3.2rem,9vw,6.4rem);letter-spacing:.03em;color:var(--gold2)}
.h-sub{display:block;margin-top:.9rem;font-size:clamp(.9rem,2vw,1.2rem);letter-spacing:.42em;text-transform:uppercase;color:var(--cream)}
.rule{width:12rem;height:1px;margin:1.8rem 0;background:linear-gradient(90deg,var(--gold),transparent)}
.lede{font-size:1.2rem;color:#e5d6bd;margin-bottom:2rem}
.btn{font:inherit;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--cream);background:var(--lacquer);border:1px solid var(--gold);padding:.95rem 1.6rem;cursor:pointer;transition:background .3s,transform .3s}
.btn:hover{background:var(--cinnabar);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--brown);border-color:var(--lacquer)}
.btn-ghost:hover{background:var(--lacquer);color:var(--cream)}

.cream{background:radial-gradient(ellipse at 50% 0%,var(--cream),var(--paper));color:var(--brown);padding:clamp(4rem,9vw,7rem) clamp(1.2rem,6vw,5rem);text-align:center}
.facts{display:grid;grid-template-columns:repeat(3,1fr);max-width:62rem;margin:0 auto}
.facts div{padding:1rem 2rem;border-left:1px solid rgba(125,29,23,.25)}
.facts div:first-child{border-left:0}
dt{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--lacquer);margin-bottom:.6rem}
dd{font-size:1.3rem;color:var(--ink2)}
.note{margin:1.5rem auto 0;max-width:30rem;font-size:.95rem;background:rgba(125,29,23,.08);border-left:2px solid var(--lacquer);padding:.8rem 1rem;text-align:left}
.note-x{margin-left:.5rem;font:inherit;font-size:.8rem;background:none;border:0;color:var(--lacquer);text-decoration:underline;cursor:pointer}

.closing{position:relative;min-height:24rem;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 70% 50%,#5a2116,var(--ink) 70%);isolation:isolate;padding:5rem 1.5rem}
.lattice{position:absolute;left:0;top:0;bottom:0;width:min(48%,520px);z-index:-1;background:url(assets/lattice.jpg) center/cover;-webkit-mask-image:linear-gradient(90deg,#000 50%,transparent);mask-image:linear-gradient(90deg,#000 50%,transparent)}
.closing-copy{text-align:center}
.closing h2{font-weight:400;font-variant:small-caps;font-size:clamp(2.2rem,6vw,4rem);letter-spacing:.06em;color:var(--gold2);line-height:1}
.closing h2 span{display:block;margin-top:1rem;font-variant:normal;font-size:.8rem;letter-spacing:.38em;text-transform:uppercase;color:var(--cream)}
.closing .rule{margin:1.8rem auto;background:linear-gradient(90deg,transparent,var(--gold),transparent)}

.foot{background:#140b08;text-align:center;padding:1.6rem 1rem;font-size:.82rem;color:#bfae93;border-top:1px solid rgba(216,178,122,.15)}
.foot .small{font-size:.74rem;margin-top:.3rem}

.dialog-wrap{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem}
.dialog-wrap[hidden]{display:none}
.scrim{position:absolute;inset:0;background:rgba(20,11,8,.75)}
.dialog{position:relative;max-width:30rem;background:var(--cream);color:var(--brown);padding:2.2rem;border-top:3px solid var(--lacquer);animation:rise .35s ease}
.dialog h2{font-weight:400;font-variant:small-caps;font-size:1.7rem;color:var(--lacquer);margin-bottom:.8rem}
.dialog p{margin-bottom:1.5rem}

.reveal{opacity:1;transform:none;transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
@keyframes rise{from{opacity:0;transform:translateY(10px)}}

@media (max-width:767px){
  .hero{min-height:90svh}
  .hero-copy{position:relative;text-shadow:0 2px 16px #1b100c}
  .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(27,16,12,.72),rgba(27,16,12,.28))}
  .menu-toggle{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--ink);border-bottom:1px solid rgba(216,178,122,.25);display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0;padding:.5rem 1.2rem 1rem}
  .nav a{display:block;padding:.9rem 0}
  .scenery{width:100%;opacity:.45;-webkit-mask-image:none;mask-image:none}
  .facts{grid-template-columns:1fr}
  .facts div{border-left:0;border-top:1px solid rgba(125,29,23,.2)}
  .facts div:first-child{border-top:0}
  .lattice{width:100%;opacity:.35}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
