:root{--page-gutter:clamp(18px,8vw,160px)}
.snap-section[data-snap-fit="false"]{scroll-snap-align:none!important}.snap-section[data-snap-fit="true"]{scroll-snap-align:start}
.shell,.hero-grid,.section-shell{width:calc(100% - (var(--page-gutter) * 2))!important;max-width:none!important;margin-inline:auto}
.section.snap-section{min-height:var(--viewport-available,100svh);display:flex;align-items:center;padding-block:clamp(42px,6vh,72px)}
.section-shell{min-height:0!important;display:block!important}.hero,.hero-grid{min-height:var(--viewport-available,100svh)}
.hero-grid{height:auto;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)}.hero-copy{min-width:0}.hero-photo{min-width:0}
.hero-name,.hero-thesis{text-wrap:balance}.hero-roles{display:flex;flex-wrap:wrap;gap:.25em .7em;text-wrap:pretty}.hero-roles span{display:inline-flex;align-items:center}.hero-roles span:not(:last-child)::after{content:"｜";margin-left:.7em;color:var(--gold)}
.notes-list .note h3{font-size:1.05rem;line-height:1.5}.notes-list .note p{font-size:.84rem;line-height:1.6}.notes-list .note time,.notes-list .note-cat{font-size:.78rem}
.section-heading>*{min-width:0}.section-heading h2,.section-heading p:not(.eyebrow),.map-node b{white-space:normal;overflow-wrap:anywhere;text-wrap:pretty}.map-node{min-width:0}.rail-card h3,.note h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-thesis{max-width:650px}
.content-rail{position:relative;padding-inline:clamp(48px,4vw,64px);overflow:visible}.rail-track{min-width:0}.rail-control{position:absolute;top:50%;z-index:2;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--teal);cursor:pointer;transform:translateY(-50%)}.rail-control-prev{left:0}.rail-control-next{right:0}.rail-control:hover{background:var(--teal);color:var(--white)}.rail-control:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-height:640px) and (min-width:901px){.hero-copy{padding-block:clamp(24px,5vh,42px)}.hero-name{font-size:clamp(3rem,7vh,4.4rem)}.hero-roles{margin-top:14px}.hero-thesis{margin-top:14px;line-height:1.65}.hero-actions{margin-top:18px}.credential-row{margin-top:18px}}
@media(max-width:1279px){.section-heading{align-items:flex-start}}
@media(max-width:900px){:root{--page-gutter:clamp(14px,4vw,32px)}.shell,.hero-grid,.section-shell{width:calc(100% - (var(--page-gutter) * 2))!important}.section.snap-section{min-height:0;display:block;padding-block:52px}.hero,.hero-grid{min-height:0}.hero-grid{grid-template-columns:minmax(0,1fr)}.rail-card h3,.note h3{white-space:normal;overflow:visible}.map-node b{white-space:normal}}
@media(max-width:560px){:root{--page-gutter:14px}.notes-list .note h3{font-size:1rem}.notes-list .note p{font-size:.82rem}.content-rail{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-inline:0}.rail-track{grid-column:1/-1;grid-row:1}.rail-control{position:static;grid-row:2;width:44px;height:44px;transform:none}.rail-control-prev{justify-self:end}.rail-control-next{justify-self:start}}
@media(prefers-reduced-motion:reduce){.rail-control{transition:none}}

/* Topic Map: component-sized modes and natural-height fallback. */
.map-section .section-shell{container-type:inline-size;container-name:topic-shell}.topic-workspace{container-type:inline-size;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:28px}.theme-map,.topic-preview{min-width:0}.topic-preview{overflow:auto}
@container topic-shell (max-width:1050px){.topic-workspace{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:18px}.theme-map{min-height:430px}.theme-layout{height:430px;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:10px 22px}.map-node{min-height:96px}.topic-preview{padding:22px}}
@container topic-shell (max-width:760px){.topic-workspace{grid-template-columns:minmax(0,1fr)}.topic-preview{min-height:0}.theme-map{min-height:430px}.theme-layout{height:430px}}
@media(max-height:620px) and (min-width:769px){.topic-workspace{grid-template-columns:minmax(0,1fr)}.theme-map{min-height:360px}.theme-layout{height:360px}.topic-preview{min-height:0;max-height:none}}
