.name-link{color:#2c596e;text-decoration:underline;text-decoration-color:#9db9c5;text-underline-offset:5px;transition:color .2s,text-decoration-color .2s}
.name-link:hover,.name-link:focus-visible{color:#1d789c;text-decoration-color:currentColor}

.portrait-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;overflow:hidden;text-align:center;background:radial-gradient(circle at 50% 32%,#405870 0,#2b3a4f 55%,#253246 100%);border:1px solid #8eabb5;color:#f6f1e4}
.portrait-photo{width:100%;height:100%;object-fit:cover;object-position:center 5%}
.about-art .portrait-slot{position:absolute;inset:25px}

.story-hero{background:#eef0ec;padding-top:clamp(75px,9vw,120px);padding-bottom:clamp(75px,9vw,120px)}
.story-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(45px,8vw,105px)}
.story-hero h1{font-size:clamp(3.5rem,6vw,6rem);margin-bottom:26px}
.story-hero h1 em{display:block}
.story-hero-copy>p:not(.section-kicker){max-width:650px;color:#52616a;font-size:1.12rem;line-height:1.78}
.story-hero-copy>p.story-lead{font-family:'Heebo','Assistant',Arial,sans-serif;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.55;color:#324556}
.story-hero-copy .text-link{margin-top:18px}
.story-portrait-frame{width:100%;max-width:460px;aspect-ratio:4/4.7;background:#e0dcd0;padding:20px;justify-self:center}
.story-portrait-frame .portrait-slot{width:100%;height:100%}

.story-section{background:#f8f6f0}
.story-layout{display:grid;grid-template-columns:.42fr 1fr;gap:clamp(55px,10vw,145px);align-items:start}
.story-side{position:sticky;top:125px;border-top:1px solid #b9c9ca;padding-top:20px;color:#596a73}
.story-side-star{font-size:2rem;color:#c3a66d}
.story-side p{font-family:'Heebo','Assistant',Arial,sans-serif;font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.5;margin:15px 0 0}
.story-content{max-width:780px}
.story-chapter+.story-chapter{border-top:1px solid #d6d9d4;margin-top:70px;padding-top:64px}
.story-chapter h2{font-size:clamp(2.1rem,3.6vw,3.6rem);margin-bottom:26px}
.story-chapter>p:not(.section-kicker){color:#52616a;font-size:1.12rem;line-height:1.92;margin-bottom:20px}
.story-chapter blockquote{margin:35px 0 8px;padding:14px 24px;border-right:3px solid #c3a66d;font-family:'Heebo','Assistant',Arial,sans-serif;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.35;color:#34566c}
.story-chapter>p.story-emphasis{font-family:'Heebo','Assistant',Arial,sans-serif;font-size:clamp(1.3rem,2.15vw,1.85rem);line-height:1.55;color:#34566c;margin:30px 0}
.story-chapter>p.story-closing{font-family:'Heebo','Assistant',Arial,sans-serif;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:700;color:#304b60;margin-top:32px}

.story-contact{background:#283142;color:#fff;text-align:center}
.story-contact-inner{max-width:850px}
.story-contact h2{color:#f8f6f0;margin-bottom:22px}
.story-contact h2 em{color:#e9d7a5}
.story-contact p:not(.section-kicker){color:#c4d0d7;font-size:1.12rem;margin:0 auto 30px}

@media(max-width:850px){
  .story-hero-grid,.story-layout{grid-template-columns:1fr}
  .story-hero-grid{gap:45px}
  .story-portrait-frame{justify-self:start;max-width:440px}
  .story-side{display:none}
}
@media(max-width:650px){
  .about-art .portrait-slot{inset:15px}
  .story-hero h1{font-size:clamp(3rem,12vw,4.2rem)}
  .story-portrait-frame{max-width:360px;padding:13px}
  .story-chapter+.story-chapter{margin-top:52px;padding-top:50px}
  .story-chapter>p:not(.section-kicker){font-size:1.04rem}
}
