:root{
  --ivory:#F4ECD8;
  --ivory-dim:rgba(244,236,216,.72);
  --amber:#E8A33D;
  --amber-warm:#F0A94A;
  --indigo:#1B2A4A;
  --indigo-deep:#101B30;
  --ink:#0A0D14;
  --rule:rgba(244,236,216,.16);
  --measure:66ch;
  box-sizing:border-box;
}
*,*::before,*::after{box-sizing:inherit;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:calc(64px + env(safe-area-inset-top,0px));}
body{
  background:var(--ink);color:var(--ivory);
  font-family:'EB Garamond',Georgia,serif;
  font-size:clamp(1.02rem,1.05rem + .2vw,1.22rem);
  line-height:1.65;-webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px);
}
h1,h2,h3,.wordmark,.nav__link,.eyebrow,.btn{font-family:'Cinzel','Trajan Pro',Georgia,serif;}
a{color:inherit;}
img{max-width:100%;display:block;}

/* Nav */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  height:64px;padding:0 clamp(1rem,4vw,2.6rem);padding-top:env(safe-area-inset-top,0px);
  background:linear-gradient(to bottom,rgba(10,13,20,.92),rgba(10,13,20,.62) 70%,transparent);
  backdrop-filter:blur(6px);
}
.wordmark{font-weight:600;letter-spacing:.14em;font-size:clamp(.72rem,1.9vw,.9rem);
  color:var(--ivory);text-decoration:none;white-space:nowrap;}
.wordmark span{color:var(--amber);}
.nav__links{display:flex;gap:clamp(1rem,3vw,2.2rem);align-items:center;}
.nav__link{font-weight:500;letter-spacing:.08em;font-size:clamp(.66rem,1.5vw,.8rem);
  color:var(--ivory-dim);text-decoration:none;padding:.4rem 0;position:relative;transition:color .25s ease;}
.nav__link:hover,.nav__link[aria-current="page"]{color:var(--ivory);}
.nav__link[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--amber);}

/* Splash front door */
.door{position:relative;height:100svh;min-height:520px;width:100%;overflow:hidden;background:#000;}
.door__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;}
.door__title{position:absolute;top:44%;left:0;right:0;text-align:center;white-space:nowrap;z-index:2;
  opacity:0;transform:translateY(10px);animation:rise 1500ms cubic-bezier(.16,.68,.32,1) 350ms forwards;}
.door__title span{display:inline-block;font-weight:600;letter-spacing:.03em;line-height:1;
  font-size:clamp(1.3rem,6.2vw,4.4rem);color:var(--ivory);
  text-shadow:0 1px 0 rgba(122,82,32,.55),0 2px 0 rgba(0,0,0,.5),0 3px 1px rgba(0,0,0,.42),
    0 10px 22px rgba(0,0,0,.6),0 0 24px rgba(244,172,74,.5),0 0 52px rgba(236,150,52,.3),0 0 96px rgba(224,120,40,.16);}
.door__credit{position:absolute;bottom:calc(6% + env(safe-area-inset-bottom,0px));right:6vw;text-align:right;z-index:2;
  font-family:'Cinzel',serif;font-weight:400;letter-spacing:.09em;font-size:clamp(.62rem,1.7vw,.95rem);
  color:var(--ivory-dim);text-shadow:0 1px 10px rgba(0,0,0,.9);opacity:0;animation:fade 1500ms ease 900ms forwards;}
.door__enter{position:absolute;left:0;right:0;bottom:calc(3% + env(safe-area-inset-bottom,0px));text-align:center;z-index:2;
  opacity:0;animation:fade 1200ms ease 1500ms forwards;}
.door__enter a{font-family:'Cinzel',serif;letter-spacing:.22em;font-size:.7rem;color:var(--ivory-dim);
  text-decoration:none;display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;}
.door__enter .chev{width:16px;height:16px;border-right:1px solid var(--amber);border-bottom:1px solid var(--amber);
  transform:rotate(45deg);animation:bob 2.2s ease-in-out infinite;}
@keyframes rise{to{opacity:1;transform:translateY(0);}}
@keyframes fade{to{opacity:1;}}
@keyframes bob{0%,100%{transform:rotate(45deg) translate(0,0);}50%{transform:rotate(45deg) translate(3px,3px);}}

/* Layout */
.wrap{max-width:1100px;margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem);}
.section{padding:clamp(3.4rem,9vw,7rem) 0;}
.pagetop{padding-top:calc(96px + env(safe-area-inset-top,0px));}
.eyebrow{display:block;font-size:.72rem;letter-spacing:.24em;color:var(--amber);margin-bottom:1.1rem;font-weight:500;}
h2{font-weight:600;letter-spacing:.02em;line-height:1.1;font-size:clamp(1.7rem,4.4vw,2.9rem);margin-bottom:1.4rem;}
h3{font-weight:600;letter-spacing:.03em;font-size:clamp(1.1rem,2.4vw,1.4rem);margin-bottom:.7rem;}
p{max-width:var(--measure);margin-bottom:1.1rem;}
.lead{font-size:clamp(1.2rem,1.2rem + .5vw,1.6rem);line-height:1.5;color:var(--ivory);}
.dim{color:var(--ivory-dim);}
.rule{height:1px;background:var(--rule);border:0;margin:0;}
.ph{color:var(--amber-warm);font-style:italic;font-family:'EB Garamond',serif;}
.slot{border:1px dashed rgba(232,163,61,.5);border-radius:2px;
  background:linear-gradient(180deg,rgba(232,163,61,.05),rgba(232,163,61,.02));
  color:var(--ivory-dim);font-style:italic;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:1.5rem;min-height:120px;}
.slot small{font-family:'Cinzel',serif;font-style:normal;letter-spacing:.14em;font-size:.62rem;color:var(--amber);display:block;margin-bottom:.5rem;}
.ratio16{position:relative;width:100%;aspect-ratio:16/9;}
.ratio16>*{position:absolute;inset:0;width:100%;height:100%;}
.btn{display:inline-block;font-size:.72rem;letter-spacing:.14em;font-weight:500;color:var(--ink);background:var(--amber);
  text-decoration:none;padding:.85rem 1.6rem;border:0;border-radius:2px;cursor:pointer;transition:background .25s ease;}
.btn:hover{background:var(--amber-warm);}
.btn--ghost{background:transparent;color:var(--ivory);border:1px solid var(--rule);}
.btn--ghost:hover{border-color:var(--amber);}
.grid2{display:grid;grid-template-columns:1fr;gap:clamp(1.6rem,4vw,3rem);}
@media(min-width:760px){.grid2{grid-template-columns:1fr 1fr;align-items:start;}}
.grid3{display:grid;grid-template-columns:1fr;gap:1rem;}
@media(min-width:680px){.grid3{grid-template-columns:repeat(3,1fr);}}
.laurels{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
@media(min-width:680px){.laurels{grid-template-columns:repeat(4,1fr);}}
.laurel{border:1px dashed rgba(244,236,216,.28);border-radius:2px;padding:1.1rem .8rem;text-align:center;
  font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.12em;color:var(--ivory-dim);min-height:88px;
  display:flex;align-items:center;justify-content:center;}
.specs{width:100%;border-collapse:collapse;font-size:.98rem;}
.specs th,.specs td{text-align:left;padding:.7rem 1rem;border-bottom:1px solid var(--rule);vertical-align:top;}
.specs th{font-family:'Cinzel',serif;font-weight:500;letter-spacing:.08em;font-size:.72rem;color:var(--amber);white-space:nowrap;width:38%;}
.specs-scroll{overflow-x:auto;}
.bg-indigo{background:linear-gradient(180deg,var(--indigo-deep),var(--ink));}
.center{text-align:center;}
.center p{margin-left:auto;margin-right:auto;}
footer{border-top:1px solid var(--rule);padding:2.4rem 0 calc(2.4rem + env(safe-area-inset-bottom,0px));}
.foot{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--ivory-dim);}
.foot a{color:var(--ivory-dim);text-decoration:none;}
.foot a:hover{color:var(--ivory);}
.note{border-left:2px solid var(--amber);background:rgba(232,163,61,.06);padding:1rem 1.2rem;margin:1.6rem 0;
  font-size:.95rem;color:var(--ivory-dim);max-width:var(--measure);}
.note strong{color:var(--ivory);font-family:'Cinzel',serif;font-weight:500;letter-spacing:.04em;font-size:.85rem;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .door__title,.door__credit,.door__enter{animation:none;opacity:1;transform:none;}
  .door__enter .chev{animation:none;}
}
