/* Loaded by the staged inner-page upgrade only; never loaded by index.html. */
html:has(body[data-experience]) { background:var(--navy); color-scheme:dark; scrollbar-color:#788299 var(--navy); scrollbar-width:thin; }
html.lenis { scroll-behavior:auto; }
html.inner-dialog-open { overflow:hidden; }
body[data-experience] { --experience-muted:#c1c7d5; --experience-gutter:clamp(1.5rem,5vw,5rem); padding-top:5rem; color:var(--paper-light); background:var(--navy); }
.inner-motion-ready body[data-experience] :is(.title-line,[data-hero-reveal],[data-hero-object]) { opacity:0; }
body[data-experience] main { min-height:0; }
.page-shell { width:min(calc(100% - var(--experience-gutter) * 2),75rem); margin-inline:auto; }
.content-section { padding-block:clamp(4rem,8vw,7rem); scroll-margin-top:7rem; }
.content-section + .content-section { border-top:0; }
.section-heading { display:block; margin-bottom:0; }
.section-heading h2 { margin:0; font-size:clamp(2.1rem,4.5vw,3.8rem); font-weight:750; line-height:1.22; letter-spacing:-.025em; text-wrap:balance; }
.section-heading h2 span { color:var(--pink); }
.section-heading > p { max-width:34em; margin:1.3rem 0 0; color:var(--experience-muted); font-size:1.08rem; line-height:1.8; }
.section-heading--wide { display:flex; justify-content:space-between; align-items:end; gap:2rem; }
body[data-experience] .site-nav.inner-nav { grid-template-columns:1fr auto; height:5rem; min-height:5rem; padding:.7rem var(--experience-gutter); color:var(--paper-light); border:0; box-shadow:none; backdrop-filter:none; background:var(--navy); }
body[data-experience] .site-nav__brand { font-size:clamp(1.1rem,1.55vw,1.4rem); }
body[data-experience] .site-nav__brand span { color:var(--pink); display:inline; }
.inner-nav__actions { display:flex; align-items:center; gap:.8rem; }
.inner-nav__home { display:grid; place-items:center; width:3.15rem; height:3.15rem; color:var(--pink); background:var(--paper-light); text-decoration:none; border-radius:50%; transition:transform 180ms ease,background 180ms ease; }
.inner-nav__home svg { width:1.3rem; height:1.3rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.inner-nav__home:hover { transform:scale(1.06); }
.inner-nav__trigger { display:grid; place-items:center; width:3.15rem; height:3.15rem; padding:0; color:var(--ink); background:var(--paper-light); border:0; border-radius:50%; text-decoration:none; cursor:pointer; transition:transform 160ms var(--ease-out),background 180ms ease; }
.inner-nav__icon { display:grid; justify-items:center; align-content:center; width:1.15rem; gap:.34rem; }
.inner-nav__icon i { display:block; width:1.15rem; height:2px; border-radius:999px; background:var(--pink); }
.ui-icon { display:inline-block; width:1em; height:1em; vertical-align:-.125em; }
.chapter-menu__top button { display:inline-flex; align-items:center; gap:.6rem; justify-content:center; }
.inner-nav__trigger:active { transform:scale(.97); }
.chapter-cue,.text-action { display:inline-flex; align-items:center; gap:1.5rem; min-height:3rem; margin-top:1.5rem; color:var(--pink); font-weight:650; text-decoration:none; border:0; }
.chapter-cue span { display:inline-block; transition:transform 180ms var(--ease-out); }
.chapter-menu { inset:0; width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:clamp(1.5rem,3vw,3rem) var(--experience-gutter); color:var(--paper-light); background:#272727; border:0; overflow:auto; }
.chapter-menu::backdrop { background:rgba(8,10,17,.5); }
.chapter-menu__surface { max-width:86rem; margin:auto; min-height:calc(100dvh - var(--experience-gutter) * 2); }
.chapter-menu__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.chapter-menu__top span { font-size:clamp(1.4rem,2.6vw,2.8rem); font-weight:800; letter-spacing:-.04em; }
.chapter-menu__top em { color:var(--pink); font-style:normal; }
.chapter-menu__top button { display:grid; place-items:center; width:3.4rem; height:3.4rem; min-width:0; min-height:0; padding:0; background:var(--paper-light); color:var(--ink); border:0; border-radius:50%; font-size:2rem; line-height:1; cursor:pointer; }
.chapter-menu nav { display:grid; gap:0; width:min(100%,62rem); margin:clamp(3rem,8vh,6rem) 0 0 auto; }
.chapter-menu nav a { display:grid; grid-template-columns:5rem 1fr; align-items:center; width:100%; min-height:clamp(5rem,12vh,8rem); color:var(--paper-light); border-top:1px solid rgba(255,255,255,.2); font-size:clamp(2.6rem,6vw,5.5rem); font-weight:800; line-height:1.12; letter-spacing:-.025em; text-decoration:none; transition:color 200ms ease,padding-left 200ms ease; }
.chapter-menu nav a:last-child { border-bottom:1px solid rgba(255,255,255,.2); }
.chapter-menu nav a small { color:#aaa; font-size:clamp(.9rem,1.3vw,1.3rem); font-weight:650; }
.chapter-menu nav a strong { font-weight:800; }
.chapter-menu nav a[aria-current] { color:var(--pink); }
.chapter-menu__mail { display:block; width:fit-content; margin:0 auto; font-size:.9rem; overflow-wrap:anywhere; text-underline-offset:.3em; }
.portrait-index { display:grid; grid-template-columns:minmax(0,.45fr) minmax(0,.55fr); gap:clamp(2rem,5vw,7rem); align-items:stretch; width:100%; max-width:1920px; min-height:100svh; margin:0 auto; padding:4rem clamp(2rem,6vw,8rem) 0; overflow:hidden; background:var(--navy); }
.portrait-index__person { position:relative; align-self:end; height:min(88svh,860px); }
.portrait-index__person > img { position:absolute; left:50%; bottom:0; width:100%; max-width:100%; height:100%; object-fit:contain; object-position:center bottom; transform:translateX(-50%); }
.portrait-index__bubble { position:absolute; z-index:2; top:7%; right:-4%; padding:1.05rem 1.35rem; color:var(--navy); background:var(--paper-light); font-size:clamp(1rem,1.4vw,1.4rem); font-weight:850; line-height:1.25; transform:rotate(5deg); clip-path:polygon(0 0,95% 0,100% 8%,97% 86%,35% 87%,18% 100%,20% 87%,0 89%); }
.portrait-index__body { align-self:center; padding:2rem 0 4rem; }
.portrait-index__eyebrow { margin:0 0 1rem; color:var(--pink); font-size:.94rem; font-weight:800; letter-spacing:.12em; }
.portrait-index__body h2 { margin:0 0 2rem; font-size:clamp(2.8rem,4.3vw,5.8rem); line-height:1.12; letter-spacing:-.075em; }
.portrait-index__body h2 span { color:var(--pink); }
.portrait-index__links { display:block; }
.portrait-index__links a { display:grid; grid-template-columns:3.8rem 1fr; gap:.8rem; align-items:center; min-height:clamp(4.7rem,9vh,7.8rem); color:var(--paper-light); text-decoration:none; transition:color 170ms ease,padding-left 170ms ease,background 170ms ease; }
.portrait-index__links a span { color:var(--pink); font-size:1.1rem; font-weight:800; letter-spacing:.08em; }
.portrait-index__links a strong { font-size:clamp(2rem,3.35vw,4.1rem); font-weight:780; letter-spacing:-.065em; }
.portrait-index__links a[aria-current="page"] strong { color:var(--pink); }
.portrait-index__links a:hover { padding-left:.7rem; color:var(--pink); background:rgba(255,154,182,.055); }
.portrait-index__contact { display:grid; grid-template-columns:auto 1fr; gap:.4rem 1rem; align-items:center; margin-top:2rem; }
.portrait-index__contact > span { color:var(--experience-muted); font-size:1rem; }
.portrait-index__contact .email-copy-line { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; min-width:0; }
.portrait-index__contact .email-copy-line [role="status"] { margin:0; min-height:0; color:var(--pink); font-size:.82rem; }
.portrait-index__mail { width:fit-content; max-width:100%; color:var(--paper-light); font-size:1.2rem; overflow-wrap:anywhere; text-underline-offset:.25em; cursor:copy; }
.portrait-index__contact .email-copy { display:inline-flex; align-items:center; gap:.4rem; min-height:2rem; padding:.3rem .6rem; color:var(--pink); background:transparent; border:1px solid currentColor; border-radius:999px; font:inherit; font-size:.82rem; font-weight:750; white-space:nowrap; cursor:pointer; }
.portrait-index__contact .email-copy svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.portrait-index__contact .email-copy:hover { color:var(--navy); background:var(--pink); }
.portrait-index__status { grid-column:1/-1; min-height:1.4em; margin:0; color:var(--pink); font-size:.8rem; }
.no-script-note { padding:2rem; line-height:1.8; color:var(--experience-muted); }
body[data-experience] :is(a,button):focus-visible { outline:2px solid var(--pink); outline-offset:5px; }
@media (hover:hover) and (pointer:fine) {
  body[data-experience] .site-nav .inner-nav__trigger:hover { background:var(--pink); color:var(--ink); }
  .chapter-cue:hover span { transform:translateY(4px); }
  .text-action:hover,.chapter-menu a:hover,.story-anchors a:hover { color:var(--pink); }
  .portrait-index__links a:hover { color:var(--pink); }
}
@media (max-width:700px) {
  .section-heading--wide { display:block; }
  .chapter-menu nav { margin:4rem 0; }
  .chapter-menu nav a { grid-template-columns:2.7rem 1fr; min-height:5.8rem; }
  .portrait-index { display:flex; flex-direction:column-reverse; align-items:stretch; min-height:100svh; gap:1rem; padding:4rem 1.4rem 0; }
  .portrait-index__body { align-self:stretch; padding:0; }
  .portrait-index__body h2 { font-size:clamp(2.8rem,9vw,4rem); }
  .portrait-index__links a { min-height:4.7rem; }
  .portrait-index__links a strong { font-size:clamp(2rem,7vw,3rem); }
  .portrait-index__person { align-self:center; width:min(90%,420px); height:360px; }
  .portrait-index__bubble { top:0; right:-5%; }
}
@media (prefers-reduced-motion:reduce) {
  body[data-experience] :is(a,button) { transition:color 150ms ease,background-color 150ms ease !important; }
  .inner-nav__trigger:active,.chapter-cue:hover span { transform:none; }
}
body[data-experience] .site-nav.inner-nav { padding-block:0; }
.inner-nav__trigger { width:3.15rem; height:3.15rem; }
.portrait-index__links a { grid-template-columns:4.3rem 1fr; }
.portrait-index__links a span { font-size:1.5rem; }
.portrait-index__mail { font-size:1.4rem; }
@media (hover:hover) and (pointer:fine) { .inner-nav__trigger:hover .inner-nav__icon i { background:var(--ink); } }
@media (max-width:700px) {
  .portrait-index__contact { grid-template-columns:1fr; }
  .portrait-index__mail { font-size:1.2rem; }
}
