/* Team review, September 2026. Extend the supplied Oakvale identity. */
.menu-experiences {
  display:block; width:fit-content; margin:0 0 26px;
  font:400 1.65rem/1.21 var(--serif); letter-spacing:var(--title-tracking);
}
.menu-bottom .menu-utility { flex-wrap:wrap; }
.story-hero::after { background:linear-gradient(180deg,#0004,#0005 60%,#0003); }
.hero,.closing,.pillar-images,.gallery-item,.editorial>:is(img,.cms-frame),.amenity-card>:is(img,.cms-frame),.home-detail-card>:is(img,.cms-frame) { background-color:#d9d9ce; }
.newsletter-actions { display:flex; flex-wrap:wrap; gap:14px; }
.newsletter-actions .button { white-space:normal; }
.letters-intro { padding-bottom:52px; }
.letters-intro .button { margin-top:28px; }
.letters-archive { max-width:1320px; }
.letters-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px 28px; }
.letter-card { min-width:0; }
.newsletter-story { max-width:860px; margin:auto; padding-top:150px; }
body:has(.newsletter-story) .site-header { color:var(--ink); background:var(--paper); }
body:has(.newsletter-story) .brand .logo-dark { opacity:1; }
body:has(.newsletter-story) .brand .logo-light { opacity:0; }
.newsletter-story header { margin:40px 0; }
.newsletter-story h1 { font-size:clamp(2.4rem,5vw,4.4rem); }
.newsletter-story h2 { font-size:2rem; margin:48px 0 20px; }
.newsletter-story h3 { font-size:1.5rem; margin:36px 0 16px; }
.newsletter-story p,.newsletter-story li { line-height:1.7; }
.newsletter-story>p,.newsletter-story>ul,.newsletter-story>ol { margin:24px 0; }
.newsletter-story ul,.newsletter-story ol { padding-left:1.6em; }
.newsletter-story li { margin:10px 0; }
.newsletter-story blockquote { border-left:2px solid var(--olive,#2A2E1F); padding:8px 24px; margin:32px 0; font-style:italic; }
.newsletter-story figure { margin:36px 0; }
.newsletter-story img { display:block; max-width:100%; height:auto; margin:auto; }
.newsletter-story-cover img { max-height:680px; width:auto; }
.newsletter-story figcaption { font-size:.9rem; color:var(--muted); margin-top:12px; }
.newsletter-story time { display:block; margin:16px 0; color:var(--muted); }
.newsletter-story a:not(.button) { text-decoration:underline; text-underline-offset:4px; }
.newsletter-story p,.newsletter-story h1,.newsletter-story h2,.newsletter-story h3 { overflow-wrap:anywhere; }
.letter-cover { display:block; overflow:hidden; background:#e5e5da; }
.letter-cover :is(img,.cms-frame) { width:100%; height:auto; aspect-ratio:210/297; object-fit:contain; }
.letter-card .eyebrow { margin:22px 0 10px; color:var(--muted); font-size:.875rem; }
.letter-card h2 { font-size:1.7rem; margin:0 0 16px; }
.letter-card>p:not(.eyebrow) { color:var(--muted); margin-bottom:22px; }
.letter-card .text-button { display:inline-flex; align-items:center; gap:12px; min-height:44px; text-decoration:underline; text-underline-offset:5px; }
.story-details { max-width:1250px; }
.story-details .editorial { padding-inline:0; }
.story-details .editorial>:is(img,.cms-frame) { height:auto; aspect-ratio:4/3; }
@media(max-width:900px) { .letters-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .menu-experiences { font-size:1.4rem; margin-bottom:24px; }
  .menu-bottom .menu-utility { gap:8px 18px; }
  .newsletter-actions { margin-top:24px; }
  .newsletter .newsletter-actions .button { margin-top:0; }
  .letters-grid { grid-template-columns:1fr; max-width:460px; margin:auto; gap:44px; }
  .letters-intro { padding-bottom:32px; }
  .letters-intro h1 { font-size:2.35rem; }
  .editorial>:is(img,.cms-frame) { height:auto; aspect-ratio:4/3; }
  .photo-pair :is(img,.cms-frame) { height:auto; aspect-ratio:3/4; }
}
