:root{
  --bone-ivory:#f2ede2;
  --aged-linen:#e4dbc9;
  --tarnished-silver:#9a958c;
  --black-sea:#07090b;
  --oxidized-charcoal:#252b2f;
  --old-growth-teak:#4a3222;
  --ink:#181411;
  --rose-gold:#b77a64;
  --rose-gold-soft:#c7957f;
  --line:rgba(242,237,226,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:radial-gradient(circle at 50% 0%,rgba(74,50,34,.32) 0%,#07090b 40%,#020202 100%);
  color:var(--bone-ivory);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
a{color:inherit;text-decoration:none}
.hero{
  min-height:100svh;
  padding:16px;
}
.hero-shell{
  max-width:1540px;
  min-height:calc(100svh - 32px);
  margin:0 auto;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:12px;
}
.site-header{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px 22px 16px;
  color:var(--aged-linen);
}
.brand-image{
  display:flex;
  justify-content:center;
  align-items:center;
  max-width:min(520px,70vw);
}
.brand-image img{
  display:block;
  height:38px;
  width:auto;
  max-width:100%;
  object-fit:contain;
}
.nav-links{
  display:flex;
  justify-content:center;
  gap:32px;
  color:var(--tarnished-silver);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:11px;
}
.nav-links a:hover{
  color:var(--bone-ivory);
}
.hero-art{
  margin:0;
  min-height:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  display:grid;
  place-items:center;
}
.hero-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.accession-dock{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(180deg,rgba(8,10,12,.96),rgba(21,24,27,.94)),
    radial-gradient(circle at 82% 40%,rgba(74,50,34,.28),transparent 32%);
  display:grid;
  grid-template-columns:minmax(280px,.95fr) minmax(380px,1fr);
  gap:28px;
  align-items:center;
  padding:20px 24px;
}
.eyebrow{
  color:var(--tarnished-silver);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:11px;
}
h1,h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
}
h1{
  font-size:clamp(28px,3vw,40px);
  line-height:1.02;
  margin:8px 0 6px;
  color:var(--bone-ivory);
}
h2{
  font-size:clamp(34px,4vw,58px);
  line-height:1.05;
  margin:14px 0;
  color:var(--bone-ivory);
}
.dock-copy p{
  color:var(--aged-linen);
  margin:0;
  max-width:660px;
  line-height:1.55;
  opacity:.9;
}
.signup-form{
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto;
  gap:10px;
  align-items:center;
}
input{
  min-width:0;
  padding:15px 16px;
  border:1px solid rgba(242,237,226,.20);
  background:var(--bone-ivory);
  color:var(--ink);
}
button{
  padding:15px 18px;
  border:1px solid var(--rose-gold);
  background:linear-gradient(180deg,var(--rose-gold-soft),var(--rose-gold));
  color:#140f0d;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  font-weight:600;
}
.form-status{
  grid-column:1 / -1;
  min-height:1.4em;
  font-size:12px;
  color:var(--tarnished-silver);
  margin:0;
}
.archive{
  max-width:1120px;
  margin:0 auto;
  padding:86px 30px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:44px;
  border-top:1px solid var(--line);
}
.archive p{
  color:var(--tarnished-silver);
  font-size:18px;
  line-height:1.7;
}
.site-footer{
  max-width:1120px;
  margin:0 auto;
  padding:36px 30px 54px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  color:var(--tarnished-silver);
  font-size:13px;
  text-align:center;
}
.site-footer img{
  display:block;
  height:34px;
  width:auto;
  max-width:min(420px,70vw);
  object-fit:contain;
  opacity:.9;
}
.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
@media(max-width:900px){
  .hero{padding:10px}
  .hero-shell{
    min-height:calc(100svh - 20px);
    gap:10px;
  }
  .site-header{
    padding:14px 16px 12px;
    gap:10px;
  }
  .brand-image img{
    height:30px;
  }
  .nav-links{
    gap:24px;
    font-size:10px;
  }
  .hero-art img{
    height:auto;
    max-height:52svh;
  }
  .accession-dock{
    grid-template-columns:1fr;
    gap:16px;
    padding:18px;
  }
  .signup-form{grid-template-columns:1fr}
  .archive{grid-template-columns:1fr;padding:54px 22px}
}

/* === Header v2: centered institutional masthead === */
.site-header{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:118px;
  padding:22px 24px 18px;
  border-top:1px solid rgba(242,237,226,.22);
  border-bottom:1px solid rgba(242,237,226,.24);
  background:
    linear-gradient(180deg,rgba(7,9,11,.98),rgba(20,23,25,.94) 58%,rgba(7,9,11,.98)),
    radial-gradient(circle at 50% 0%,rgba(74,50,34,.32),transparent 52%);
  box-shadow:
    inset 0 1px 0 rgba(242,237,226,.08),
    inset 0 -1px 0 rgba(0,0,0,.75),
    0 18px 42px rgba(0,0,0,.28);
}

.site-header::before,
.site-header::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:min(820px,72vw);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(154,149,140,.48),transparent);
}

.site-header::before{top:14px}
.site-header::after{bottom:14px}

.brand-image{
  display:flex;
  justify-content:center;
  align-items:center;
  width:min(760px,76vw);
  max-width:760px;
}

.brand-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:58px;
  object-fit:contain;
  opacity:.96;
  filter:
    drop-shadow(0 1px 0 rgba(242,237,226,.08))
    drop-shadow(0 10px 18px rgba(0,0,0,.46));
}

.nav-links{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:42px;
  padding-top:2px;
  color:var(--tarnished-silver);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:11px;
}

.nav-links::before,
.nav-links::after{
  content:"";
  display:block;
  width:74px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(154,149,140,.46));
}

.nav-links::after{
  background:linear-gradient(90deg,rgba(154,149,140,.46),transparent);
}

.nav-links a{
  color:var(--aged-linen);
  opacity:.78;
}

.nav-links a:hover{
  color:var(--bone-ivory);
  opacity:1;
}

@media(max-width:900px){
  .site-header{
    min-height:92px;
    padding:18px 16px 15px;
    gap:10px;
  }

  .site-header::before,
  .site-header::after{
    width:82vw;
  }

  .brand-image{
    width:min(520px,84vw);
  }

  .brand-image img{
    max-height:44px;
  }

  .nav-links{
    display:flex;
    gap:24px;
    font-size:10px;
    letter-spacing:.18em;
  }

  .nav-links::before,
  .nav-links::after{
    width:34px;
  }
}

@media(min-width:901px) and (max-width:1180px){
  .site-header{
    min-height:108px;
  }

  .brand-image{
    width:min(660px,74vw);
  }

  .brand-image img{
    max-height:52px;
  }
}

/* === Sticky masthead: persistent top navigation === */
body{
  scroll-padding-top:132px;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  max-width:none;
  margin:0;
  min-height:116px;
  border-top:0;
  border-left:0;
  border-right:0;
  border-bottom:1px solid rgba(242,237,226,.22);
  background:
    linear-gradient(180deg,rgba(7,9,11,.985),rgba(18,21,23,.965) 62%,rgba(7,9,11,.985)),
    radial-gradient(circle at 50% 0%,rgba(74,50,34,.30),transparent 56%);
  backdrop-filter:blur(8px);
  box-shadow:
    inset 0 -1px 0 rgba(0,0,0,.75),
    0 14px 38px rgba(0,0,0,.32);
}

.hero{
  padding-top:16px;
}

.hero-shell{
  min-height:calc(100svh - 148px);
}

.site-header::before{
  top:14px;
}

.site-header::after{
  bottom:14px;
}

@media(max-width:900px){
  body{
    scroll-padding-top:104px;
  }

  .site-header{
    position:sticky;
    top:0;
    min-height:92px;
    padding:18px 16px 15px;
  }

  .hero{
    padding-top:10px;
  }

  .hero-shell{
    min-height:calc(100svh - 112px);
  }
}
