:root { --ink:#171918; --cream:#f2efe8; --blue:#91cfe9; --green:#4f7d5d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans",sans-serif; font-size:16px; }
a { color:inherit; text-decoration:none; }
.story-nav { min-height:112px; display:flex; align-items:center; justify-content:space-between; padding:1.4rem 4vw; background:var(--ink); color:#fff; }
.story-brand { display:inline-flex; flex-direction:column; align-items:center; line-height:.8; }
.story-brand span { font-family:"Playfair Display",serif; font-size:2.55rem; letter-spacing:.03em; }
.story-brand small { margin-top:.65rem; font-size:.66rem; letter-spacing:.34em; }
.story-nav nav { display:flex; align-items:center; gap:.75rem; text-transform:uppercase; letter-spacing:.11em; font-size:.7rem; }
.story-nav nav a { min-height:44px; display:inline-flex; align-items:center; padding:.7rem 1rem; border:1px solid rgba(255,255,255,.75); }
.story-call { display:none !important; }
.story-hero { min-height:calc(100svh - 112px); display:grid; grid-template-columns:1fr 1fr; }
.story-copy { display:flex; flex-direction:column; justify-content:center; padding:8vw 7vw; background:var(--green); color:#fff; }
.eyebrow { margin:0 0 1.4rem; text-transform:uppercase; letter-spacing:.18em; font-size:.75rem; font-weight:600; }
h1 { margin:0; font-family:"Playfair Display",serif; font-size:clamp(4.6rem,8vw,9rem); font-weight:500; letter-spacing:-.05em; line-height:.82; }
.story-body { max-width:690px; margin-top:3rem; font-family:"Playfair Display",serif; font-size:clamp(1.2rem,1.65vw,1.65rem); line-height:1.48; }
.story-body p { margin:0 0 1.15rem; }
.story-cta { align-self:flex-start; display:inline-flex; gap:1rem; margin-top:1.5rem; padding:1rem 0 .4rem; border-bottom:1px solid; text-transform:uppercase; letter-spacing:.13em; font-size:.74rem; }
.story-photo { margin:0; min-height:760px; overflow:hidden; background:#24362b; }
.story-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
footer { display:grid; grid-template-columns:1fr 1fr auto; gap:3rem; align-items:start; padding:5rem 6vw 2rem; background:var(--ink); color:#fff; }
footer p { margin:0; line-height:1.65; }
footer>div { display:flex; flex-direction:column; gap:.8rem; }
footer>small { grid-column:1/-1; margin-top:3rem; color:#999; }
.footer-phone { display:inline-block; margin-top:.7rem; border-bottom:1px solid rgba(255,255,255,.7); }
@media (max-width:800px) {
  .story-nav { min-height:90px; padding:1rem 18px; }
  .story-brand span { font-size:1.9rem; }
  .story-brand small { font-size:.55rem; }
  .story-nav nav { gap:.45rem; }
  .story-nav nav a { padding:.65rem .7rem; font-size:.62rem; }
  .story-call { display:inline-flex !important; }
  .story-info { display:none !important; }
  .story-hero { grid-template-columns:1fr; }
  .story-copy { min-height:680px; padding:6rem 24px; }
  h1 { font-size:clamp(4.2rem,20vw,6.7rem); }
  .story-body { font-size:1.24rem; }
  .story-photo { min-height:108vw; }
  footer { grid-template-columns:1fr; padding:4rem 24px 2rem; }
  footer>small { grid-column:1; }
}
