:root { --ink:#11100f; --paper:#f1ede5; --coral:#ff5b58; --muted:#6d6860; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; height:100%; object-fit:cover; }
.nav { height:94px; display:flex; align-items:center; justify-content:space-between; padding:0 4.2vw; background:var(--paper); position:relative; z-index:3; }
.wordmark { font-family:"Arial Narrow",Impact,sans-serif; font-stretch:condensed; font-weight:900; font-size:2rem; line-height:.74; letter-spacing:-.07em; display:flex; flex-direction:column; width:max-content; }
.wordmark small { font-family:Arial,sans-serif; font-size:.43rem; letter-spacing:.18em; margin-top:8px; font-weight:700; text-decoration:line-through; }
nav { display:flex; gap:34px; font-size:.69rem; text-transform:uppercase; letter-spacing:.16em; }
nav a,.nav-call,.text-link { border-bottom:1px solid transparent; transition:.2s; }
nav a:hover,.text-link:hover { border-color:currentColor; }
.nav-call { font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; display:flex; gap:12px; }
.hero { height:calc(100vh - 94px); min-height:650px; position:relative; color:white; overflow:hidden; }
.hero img { position:absolute; inset:0; object-position:center 55%; transform:scale(1.01); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.12) 70%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 45%); }
.eyebrow,.hero-index,.hero-copy { position:absolute; z-index:1; }
.eyebrow { top:7%; left:4.2vw; text-transform:uppercase; font-size:.65rem; letter-spacing:.22em; }
.hero-copy { left:4.2vw; bottom:10%; max-width:720px; }
h1,h2 { font-family:Georgia,"Times New Roman",serif; font-weight:400; margin:0; letter-spacing:-.055em; }
h1 { font-size:clamp(4.7rem,8.5vw,9rem); line-height:.78; }
em { font-weight:400; }
.hero-copy>p { max-width:440px; font-size:1rem; line-height:1.7; margin:32px 0; }
.button { display:inline-flex; align-items:center; justify-content:space-between; min-width:240px; padding:17px 20px; text-transform:uppercase; font-size:.67rem; letter-spacing:.13em; transition:.25s; }
.button.light { background:white; color:black; }
.button:hover { transform:translateY(-2px); }
.hero-index { right:4.2vw; bottom:5%; font-size:.6rem; letter-spacing:.15em; }
.manifesto,.selection-copy { display:grid; grid-template-columns:1fr 2.4fr; padding:135px 7vw; gap:30px; }
.section-tag { text-transform:uppercase; letter-spacing:.18em; font-size:.62rem; margin:10px 0; }
.manifesto h2,.selection-copy h2 { font-size:clamp(3.2rem,6vw,6.8rem); line-height:.92; }
.manifesto>div>p { max-width:560px; margin-left:35%; line-height:1.75; color:var(--muted); }
.manifesto .lead { margin-top:58px; font-family:Georgia,serif; font-size:1.35rem; color:var(--ink); line-height:1.5; }
.editorial-grid { padding:0 4.2vw 110px; display:grid; grid-template-columns:1.1fr .9fr; grid-template-rows:62vw 47vw; gap:12px; }
.tile,.coral-panel { position:relative; overflow:hidden; margin:0; }
.tile img { transition:transform .6s ease; }
.tile:hover img { transform:scale(1.025); }
.tile figcaption { position:absolute; left:0; right:0; bottom:0; padding:25px; color:white; text-transform:uppercase; letter-spacing:.16em; font-size:.61rem; background:linear-gradient(transparent,rgba(0,0,0,.7)); }
.tile figcaption span { margin-right:20px; opacity:.65; }
.coral-panel { background:var(--coral); padding:7vw 5vw; display:flex; flex-direction:column; }
.coral-panel>p { font-size:.6rem; letter-spacing:.2em; }
.coral-panel h2 { font-size:clamp(3rem,5vw,6rem); line-height:.93; margin-top:auto; }
.big-arrow { font-size:5rem; align-self:flex-end; line-height:1; }
.selection-copy { background:var(--ink); color:var(--paper); }
.selection-copy>p:last-child { max-width:470px; line-height:1.8; color:#aaa59d; align-self:end; }
.visit { display:grid; grid-template-columns:1.25fr .75fr; min-height:760px; }
.visit-image img { object-position:center; }
.visit-card { background:var(--coral); padding:95px 6vw; display:flex; flex-direction:column; justify-content:center; }
.visit-card h2 { font-size:clamp(4.2rem,7vw,7.5rem); line-height:.78; margin:55px 0; }
address { font-style:normal; font-size:1.08rem; line-height:1.7; }
.phone { font-family:Georgia,serif; font-size:1.8rem; margin-top:17px; }
.visit-actions { display:flex; align-items:center; gap:28px; margin-top:55px; }
.button.dark { background:var(--ink); color:white; }
.text-link { font-size:.64rem; text-transform:uppercase; letter-spacing:.13em; padding-bottom:4px; }
footer { background:var(--ink); color:var(--paper); min-height:260px; padding:65px 4.2vw; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.footer-mark { font-size:3.6rem; }
footer p,footer>a:last-child { font-size:.6rem; text-transform:uppercase; letter-spacing:.15em; color:#98938d; }
@media (max-width:760px) {
  .nav { height:76px; padding:0 20px; }
  .wordmark { font-size:1.55rem; }
  nav { display:none; }
  .hero { height:calc(100svh - 76px); min-height:600px; }
  .hero-copy,.eyebrow { left:20px; }
  .hero-copy { bottom:9%; right:20px; }
  h1 { font-size:clamp(4rem,20vw,6rem); }
  .hero-copy>p { font-size:.9rem; }
  .hero-index { display:none; }
  .manifesto,.selection-copy { grid-template-columns:1fr; padding:85px 22px; }
  .manifesto>div>p { margin-left:0; }
  .manifesto .lead { margin-top:40px; }
  .editorial-grid { grid-template-columns:1fr; grid-template-rows:125vw 115vw 90vw 90vw; padding:0 12px 70px; }
  .coral-panel { padding:45px 28px; }
  .selection-copy>p:last-child { margin-top:30px; }
  .visit { grid-template-columns:1fr; }
  .visit-image { height:85vw; }
  .visit-card { min-height:650px; padding:70px 24px; }
  .visit-actions { flex-direction:column; align-items:flex-start; }
  footer { align-items:flex-start; flex-direction:column; min-height:330px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.tile img,.button{transition:none} }
