
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#F7F4EE;--ink:#1A1814;--mid:#4A4540;--muted:#8A8480;
  --rule:rgba(26,24,20,0.12);--accent:#2B4C3F;--warm:#C4A882;
}
html{scroll-behavior:smooth}
body{font-family:'Instrument Sans',sans-serif;background:var(--bg);color:var(--ink);font-size:0.88rem;font-weight:300;line-height:1.85}

/* Type */
.lbl{font-size:0.58rem;font-weight:500;letter-spacing:0.3em;text-transform:uppercase}
.disp{font-family:'Fraunces',Georgia,serif;font-size:clamp(3rem,6vw,5.5rem);font-weight:200;font-style:italic;line-height:1.0;letter-spacing:-0.02em}
.h2{font-family:'Fraunces',Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:200;font-style:italic;line-height:1.1}
.h3{font-family:'Fraunces',Georgia,serif;font-size:1.1rem;font-weight:400;font-style:italic}
.lead{font-family:'Fraunces',Georgia,serif;font-size:clamp(0.9rem,1.3vw,1.05rem);font-weight:300;font-style:italic;line-height:1.7}
.gr{width:40px;height:1px;background:var(--warm);margin:1rem 0}

/* Sections */
.sl{background:var(--bg);padding:7rem 5vw;color:var(--ink)}
.sd{background:var(--ink);padding:7rem 5vw;color:var(--bg)}
.sa{background:var(--accent);padding:7rem 5vw;color:var(--bg)}
.w{max-width:1100px;margin:0 auto}
.wn{max-width:640px;margin:0 auto}

/* Buttons */
.bp{background:var(--warm);color:var(--ink);font-family:'Instrument Sans',sans-serif;font-size:0.68rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;padding:0.85rem 2rem;border:none;cursor:pointer;display:inline-block;text-decoration:none;transition:opacity .2s}
.bp:hover{opacity:.85}
.ba{background:var(--accent);color:var(--bg);font-family:'Instrument Sans',sans-serif;font-size:0.68rem;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;padding:0.85rem 2rem;border:none;cursor:pointer;display:inline-block;text-decoration:none;transition:opacity .2s}
.ba:hover{opacity:.85}
.bs{font-family:'Instrument Sans',sans-serif;font-size:0.68rem;font-weight:400;letter-spacing:0.1em;text-transform:uppercase;color:rgba(247,244,238,0.45);border-bottom:1px solid rgba(247,244,238,0.2);background:none;border-top:none;border-left:none;border-right:none;cursor:pointer;padding-bottom:2px;text-decoration:none;display:inline-block;transition:color .2s}
.bs:hover{color:rgba(247,244,238,0.7)}

/* Nav */
nav{background:var(--ink);padding:1.2rem 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(247,244,238,0.04)}
.nav-logo{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:200;font-size:1rem;color:var(--bg);text-decoration:none;letter-spacing:.02em}
.nav-links{display:flex;align-items:center;gap:2.5rem}
.nav-link{font-family:'Instrument Sans',sans-serif;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(247,244,238,0.55);text-decoration:none;transition:color .2s}
.nav-link:hover,.nav-link.active{color:rgba(247,244,238,0.9)}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px;flex-direction:column;gap:5px;z-index:200}
.nav-hamburger span{display:block;width:22px;height:1.5px;background:rgba(247,244,238,0.7);transition:all .25s}
.nav-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* Forms */
.fi{width:100%;background:rgba(255,255,255,0.04);border:1px solid rgba(247,244,238,0.12);color:var(--bg);font-family:'Instrument Sans',sans-serif;font-size:0.82rem;padding:0.65rem 0.85rem;outline:none;font-weight:300;transition:border-color .2s}
.fi:focus{border-color:rgba(196,168,130,0.5)}
.fi option{color:#1A1814;background:#fff}
.fl{display:block;font-size:0.72rem;font-weight:500;margin-bottom:0.35rem;color:rgba(247,244,238,0.6)}
.fg{margin-bottom:1.2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.2rem}

/* Mirror */
.mirror-block{display:flex;flex-direction:column;gap:1rem;max-width:560px;border-left:1px solid var(--warm);padding-left:1.8rem}
.mirror-block p{font-family:'Fraunces',Georgia,serif;font-style:italic;color:var(--mid)}

/* Cards */
.card-light{background:rgba(26,24,20,0.04);border:1px solid var(--rule);padding:2rem}
.card-dark{padding:2.5rem}

/* MV cards */
.mv-card{background:var(--ink);padding:2rem 1.5rem;border:1px solid rgba(247,244,238,0.07);cursor:pointer;transition:border-color .2s;text-decoration:none;display:block}
.mv-card:hover{border-color:rgba(196,168,130,0.3)}

/* Phase grid */
.phases{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(247,244,238,0.1);margin-top:3.5rem}
.phase{padding:2rem 1.5rem;border-right:1px solid rgba(247,244,238,0.08)}
.phase:first-child{padding-left:0}
.phase:last-child{border-right:none;padding-right:0}
.phase-num{font-size:0.52rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(247,244,238,0.3);margin-bottom:1rem}

/* Stats bar */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);margin:3rem 0}
.stat{padding:1.5rem;text-align:center}
.stat-label{font-size:0.52rem;letter-spacing:0.25em;text-transform:uppercase;color:rgba(247,244,238,0.35);margin-bottom:0.4rem}
.stat-val{font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:1rem;font-weight:200;color:var(--bg)}

/* Footer */
footer{background:var(--ink);border-top:1px solid rgba(247,244,238,0.05);padding:3.5rem 5vw;display:flex;align-items:flex-start;justify-content:space-between;gap:3rem}
.footer-col-title{font-size:0.58rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--warm);margin-bottom:1rem}
.footer-link{display:block;font-size:0.72rem;color:rgba(247,244,238,0.3);text-decoration:none;margin-bottom:0.4rem;transition:color .2s}
.footer-link:hover{color:rgba(247,244,238,0.6)}
.footer-copy{background:var(--ink);border-top:1px solid rgba(247,244,238,0.04);padding:1.2rem 5vw;text-align:center}
.footer-copy p{font-size:0.62rem;color:rgba(247,244,238,0.15);letter-spacing:0.1em}

/* Photo placeholder */
.photo-ph{background:rgba(26,24,20,0.06);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}
.photo-ph span{color:var(--muted);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;text-align:center}
.photo-ph-dark{background:rgba(74,69,64,0.35);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}
.photo-ph-dark span{color:rgba(247,244,238,0.18);font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;text-align:center}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.8s,transform 0.8s cubic-bezier(.16,1,.3,1)}
.reveal.on{opacity:1;transform:none}

/* Responsive */
@media(max-width:900px){
  .nav-hamburger{display:flex}
  .nav-links{
    position:fixed;top:0;left:0;right:0;bottom:0;
    background:var(--ink);flex-direction:column;
    align-items:center;justify-content:center;gap:2.5rem;
    transform:translateX(100%);transition:transform .3s ease;z-index:150;
  }
  .nav-links.open{transform:translateX(0)}
  .nav-links .nav-link{display:flex;font-size:.85rem;color:rgba(247,244,238,0.7)}
  .nav-links .bp{padding:1rem 2.5rem;font-size:.72rem}
  .two-col{grid-template-columns:1fr !important}
  .two-col .photo-ph,.two-col .photo-ph-dark{display:none}
  .phases{grid-template-columns:1fr 1fr !important}
  .stats-bar{grid-template-columns:1fr 1fr !important}
  .card-grid-3{grid-template-columns:1fr !important}
  .mv-grid{grid-template-columns:1fr 1fr !important}
  footer{flex-direction:column;gap:2rem}
  /* Collapse inline-style grids that don't use named classes */
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr !important;gap:2rem !important}
  div[style*="repeat(3,1fr)"],
  div[style*="repeat(3, 1fr)"]{grid-template-columns:1fr 1fr !important}
}
@media(max-width:640px){
  .form-row{grid-template-columns:1fr}
  .phases{grid-template-columns:1fr !important}
  .mv-grid{grid-template-columns:1fr !important}
  div[style*="repeat(3,1fr)"],
  div[style*="repeat(3, 1fr)"]{grid-template-columns:1fr !important}
}
