*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f5ee;color:#17253b;font-family:Georgia,serif}a{color:inherit}button,input{font:inherit}.site-header{position:sticky;top:0;z-index:5;background:rgba(250,248,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid #d9d0c4;padding:12px max(22px,4vw);display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:205px;max-width:38vw;display:block}.nav{display:flex;gap:clamp(8px,1.5vw,25px);flex-wrap:wrap}.nav a,.eyebrow,.button,.footer{font:11px/1.6 Arial,sans-serif;letter-spacing:.13em;text-decoration:none}.nav a:hover,.footer a:hover{text-decoration:underline}.hero{min-height:78vh;display:flex;align-items:center;justify-content:flex-end;background:linear-gradient(90deg,rgba(8,23,39,.05),rgba(248,245,238,.8) 55%,rgba(248,245,238,.9)),url('assets/opening.webp') center/cover;padding:6vw}.hero-copy{max-width:570px;text-align:center;background:rgba(250,248,243,.82);padding:clamp(22px,4vw,65px);box-shadow:0 12px 50px #3331}.hero h1,h1,h2{font-weight:400;letter-spacing:.09em}.hero h1{font-size:clamp(30px,3.2vw,58px);margin:12px 0}.hero p{font-size:clamp(15px,1.3vw,20px);line-height:1.7}.button{display:inline-block;background:#aa9683;color:#111;padding:17px 28px;margin-top:15px;border:0;cursor:pointer}.button:hover{background:#c1ad9a}.intro,.section{max-width:1300px;margin:auto;padding:75px 5vw}.intro{text-align:center}.intro h2,.section h2{font-size:clamp(30px,4vw,52px);margin:12px 0 20px}.intro p{max-width:720px;margin:auto;line-height:1.75;font-size:19px}.section{border-top:1px solid #ded7cd}.section>p{font-size:18px;line-height:1.7;max-width:760px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.feature img{width:100%;display:block}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px}.tile{text-decoration:none;display:block}.tile img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.tile span{display:block;margin-top:12px;font:12px Arial,sans-serif;letter-spacing:.14em}.panel{max-width:1450px;margin:20px auto 45px;padding:0 20px}.panel img{width:100%;height:auto;display:block}.panel figcaption{font:12px Arial,sans-serif;color:#746b61;padding:10px 0}.page-title{text-align:center;padding:60px 20px 15px}.page-title h1{font-size:clamp(35px,4vw,60px);margin:0}.signup{max-width:650px;margin:55px auto 100px;padding:55px 25px;text-align:center;border:1px solid #cfc5b9;background:#fffaf3}.signup label{display:block;margin:25px 0 8px;font:12px Arial,sans-serif;letter-spacing:.1em}.signup input{width:100%;padding:15px;border:1px solid #bcb3a9}.notice{font:13px/1.6 Arial,sans-serif;color:#665c52}.footer{border-top:1px solid #ded7cd;padding:35px 5vw;display:flex;gap:22px;justify-content:center;flex-wrap:wrap}.footer a{text-decoration:none}@media(max-width:850px){.site-header{position:static;display:block;text-align:center}.brand img{margin:auto auto 14px}.nav{justify-content:center}.nav a{font-size:10px}.hero{min-height:610px;background-position:35% center;align-items:flex-end;padding:18px}.hero-copy{max-width:100%;width:100%;padding:24px}.feature{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.grid{grid-template-columns:1fr}.intro,.section{padding:50px 22px}.hero{min-height:650px}.panel{padding:0 8px}.nav{gap:12px}}
/* Homepage: preserve the approved 1672 × 941 artwork without a duplicate overlay. */
.hero {
  position: relative;
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 1672 / 941;
  padding: 0;
  background: url('assets/opening.webp') center center / 100% 100% no-repeat;
}
.hero-signup-link {
  position: absolute;
  left: 45.05%;
  top: 66.15%;
  width: 18.85%;
  height: 5.7%;
  display: block;
  border-radius: 2px;
  cursor: pointer;
}
.hero-signup-link:focus-visible {
  outline: 3px solid #17253b;
  outline-offset: 4px;
}
.visually-hidden {
  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: 850px) {
  .hero {
    min-height: 0;
    padding: 0;
    background-position: center center;
  }
}
@media (max-width: 520px) {
  .hero { min-height: 0; }
}

/* Final homepage rendering fix: use the supplied artwork as an actual image,
   not a CSS background, so no background gradient or overlay can wash it out. */
.hero.hero-artwork {
  position: relative; display: block; width: 100%; height: auto;
  min-height: 0; aspect-ratio: auto; padding: 0; margin: 0;
  background: none !important; opacity: 1 !important; filter: none !important;
}
.hero-artwork-image {
  display: block; width: 100%; height: auto; max-width: none;
  opacity: 1 !important; filter: none !important;
}
.hero.hero-artwork::before,.hero.hero-artwork::after { content: none !important; }
.hero.hero-artwork .hero-signup-link {
  position: absolute; left: 45.05%; top: 66.15%; width: 18.85%; height: 5.7%;
  background: transparent; opacity: 1; z-index: 2; font-size: 0;
}
