/* The supplied portrait remains a single, uncropped composition. */
.person-section{border-top:1px solid var(--rule);scroll-margin-top:36px}
.person-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:43px}
.person-heading>.eyebrow{color:var(--bronze)}
.person-notation{font:.75rem/1.6 "Courier New",monospace;letter-spacing:.06em;color:var(--muted);text-align:right}
.person-composition{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(0,1fr);gap:clamp(32px,4.5vw,72px);align-items:center}
.person-portrait{min-width:0}
.portrait-surface{--portrait-focus:61%;--portrait-left:1;--portrait-right:1;position:relative;isolation:isolate;aspect-ratio:3/2;background:var(--paper)}
.portrait-fallback{position:absolute;inset:0;transform-origin:61% 52%;transform:perspective(900px) translateX(var(--portrait-shift,0%)) rotateZ(var(--portrait-roll,0deg)) rotateY(var(--portrait-cant,0deg));-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,var(--portrait-left)) 56%,#000 61%,rgba(0,0,0,var(--portrait-right)) 66%);mask-image:linear-gradient(90deg,rgba(0,0,0,var(--portrait-left)) 56%,#000 61%,rgba(0,0,0,var(--portrait-right)) 66%)}
.portrait-original,.portrait-subject{display:block;width:100%;height:100%;object-fit:contain}
.portrait-original{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 89%,transparent),linear-gradient(180deg,transparent,#000 13%,#000 83%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 89%,transparent),linear-gradient(180deg,transparent,#000 13%,#000 83%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.portrait-subject-wrap{position:absolute;inset:0;opacity:0;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent);mask-image:linear-gradient(180deg,#000 88%,transparent)}
.portrait-subject{-webkit-mask-image:url('/assets/gio-subject-mask.png');mask-image:url('/assets/gio-subject-mask.png');-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;mask-mode:luminance;user-select:none}
.portrait-surface.has-subject-mask .portrait-original{opacity:.18}
.portrait-surface.has-subject-mask .portrait-subject-wrap{opacity:1}
.portrait-dissolve{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;user-select:none}
.portrait-surface.has-dissolve .portrait-fallback{opacity:0}
.portrait-surface.has-dissolve .portrait-dissolve{opacity:1}
.portrait-emblem-defs{position:absolute;pointer-events:none}
.portrait-emblem{position:absolute;pointer-events:none;user-select:none}
.portrait-emblem svg{display:block;width:100%;height:auto;image-rendering:auto}
.portrait-emblem-service{left:68%;top:25%;width:29%;opacity:calc(var(--portrait-service-sketch,0) * .84);-webkit-mask-image:linear-gradient(180deg,#000 var(--portrait-service-reveal,-10%),transparent calc(var(--portrait-service-reveal,-10%) + 20%));mask-image:linear-gradient(180deg,#000 var(--portrait-service-reveal,-10%),transparent calc(var(--portrait-service-reveal,-10%) + 20%))}
.portrait-emblem-practice{left:5%;top:40%;width:48%;opacity:calc(var(--portrait-practice-sketch,0) * .84);-webkit-mask-image:linear-gradient(180deg,#000 var(--portrait-practice-reveal,-10%),transparent calc(var(--portrait-practice-reveal,-10%) + 20%));mask-image:linear-gradient(180deg,#000 var(--portrait-practice-reveal,-10%),transparent calc(var(--portrait-practice-reveal,-10%) + 20%))}
.portrait-focus{position:absolute;inset:0 auto 0 var(--portrait-focus);width:1px;pointer-events:none;color:#f2e6cf;opacity:0;transition:opacity .2s}
.portrait-focus::before,.portrait-focus::after{content:"";position:absolute;width:1px;background:currentColor;box-shadow:0 0 1px #322b22}
.portrait-focus::before{top:0;height:12%}.portrait-focus::after{bottom:0;height:22%}
.portrait-focus-grip{position:absolute;bottom:8%;left:0;transform:translateX(-50%);display:grid;place-items:center;width:38px;height:38px;border:1px solid #e8d8bd;border-radius:50%;background:#39342bd9;z-index:1}
.portrait-focus-grip svg{fill:none;stroke:currentColor;stroke-width:1.2}
.portrait-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 20px;font:.75rem/1.7 "Courier New",monospace;letter-spacing:.03em;color:var(--muted);padding-top:18px}
.portrait-scrubber{margin-top:25px}
.portrait-control-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 15px;align-items:baseline;font-size:.875rem;line-height:1.5}
.portrait-control-label>span{font-size:.8125rem;color:var(--muted)}
.portrait-scrubber input{display:block;appearance:none;-webkit-appearance:none;width:100%;height:44px;padding:0;margin:2px 0 0;background:transparent;cursor:ew-resize;accent-color:var(--bronze)}
.portrait-scrubber input::-webkit-slider-runnable-track{height:1px;background:var(--rule)}
.portrait-scrubber input::-moz-range-track{height:1px;background:var(--rule)}
.portrait-scrubber input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:15px;height:15px;margin-top:-7px;border:1px solid var(--bronze);border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 8px var(--bronze)}
.portrait-scrubber input::-moz-range-thumb{width:13px;height:13px;border:1px solid var(--bronze);border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 8px var(--bronze)}
.portrait-scrubber input:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;border-radius:0}
.portrait-axis{display:flex;justify-content:space-between;gap:12px;font:.75rem/1.5 "Courier New",monospace;color:var(--muted);letter-spacing:.04em}
.person-copy{min-width:0}
.person-copy h2{font-size:clamp(37px,3.8vw,58px);line-height:1.07;letter-spacing:-.05em}
.person-introduction{font-size:1.125rem;line-height:1.5;color:var(--bronze);margin-top:21px}
.portrait-chapters{display:flex;flex-wrap:wrap;gap:2px 20px;margin-top:31px;border-bottom:1px solid var(--rule)}
.portrait-chapters button{position:relative;border:0;padding:13px 0;background:transparent;color:var(--muted);font-size:.875rem;line-height:1.5;cursor:pointer}
.portrait-chapters button::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--bronze);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.portrait-chapters button[aria-pressed="true"]{color:var(--ink)}
.portrait-chapters button[aria-pressed="true"]::after{transform:scaleX(1)}
.portrait-chapters button:hover{color:var(--bronze)}
.portrait-chapters button:focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
.portrait-story{display:grid;align-items:start;margin-top:27px}
.portrait-story-panel{grid-area:1/1;min-width:0}
/* Retain the tallest chapter's space to keep the portrait steady while exploring. */
.portrait-story-panel[hidden]{display:block;visibility:hidden;pointer-events:none}
.portrait-story-panel>.eyebrow{color:var(--bronze);letter-spacing:.05em}
.portrait-story-panel h3{font-size:clamp(22px,2.05vw,28px);line-height:1.23;font-weight:400;letter-spacing:-.025em;margin:11px 0 14px}
.portrait-story-panel>p:not(.eyebrow){font-size:1rem;line-height:1.7;color:var(--muted)}
.person-story-link{margin-top:27px}
.portrait-error{margin-top:18px;font-size:.875rem;line-height:1.6;color:var(--muted)}
.person-section.is-ready .portrait-surface{cursor:ew-resize;touch-action:pan-y}
.person-section.is-ready .portrait-original{user-select:none;-webkit-user-drag:none}
.person-section.is-ready .portrait-focus{opacity:.85}
.person-section.is-ready .portrait-surface:hover .portrait-focus,.person-section:has(.portrait-scrubber input:focus-visible) .portrait-focus{opacity:1}
.person-section.is-dragging .portrait-focus-grip{background:var(--bronze)}
[data-portrait-controls][hidden],.portrait-error[hidden]{display:none}
@media(max-width:1100px){.person-composition{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:34px}.person-copy h2{font-size:clamp(36px,3.8vw,44px)}.portrait-chapters{gap:2px 16px;margin-top:24px}.portrait-control-label>span{max-width:100%}.portrait-axis{letter-spacing:0}}
@media(max-width:820px){.person-heading{margin-bottom:30px}.person-notation{display:none}.person-composition{grid-template-columns:minmax(0,1fr);gap:35px}.person-portrait{max-width:660px;width:100%;justify-self:center}.person-copy{max-width:660px;justify-self:center;width:100%}.person-copy h2{font-size:clamp(38px,6.7vw,55px);max-width:560px}.person-introduction{margin-top:17px}.portrait-chapters{margin-top:24px;gap:26px}.portrait-story{margin-top:24px}.portrait-story-panel h3{font-size:26px}.portrait-story-panel>p:not(.eyebrow){max-width:590px}.portrait-control-label{font-size:.875rem}.portrait-scrubber{margin-top:20px}}
@media(max-width:420px){.portrait-caption{font-size:.75rem;letter-spacing:0}.portrait-caption>span:last-child{display:none}.portrait-control-label>span{font-size:.75rem}.portrait-axis{gap:6px;font-size:.75rem}.portrait-chapters{gap:20px}.portrait-story-panel h3{font-size:24px}.portrait-focus-grip{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.portrait-focus,.portrait-chapters button::after{transition:none}.portrait-fallback{transform:none}}
@media(forced-colors:active){.portrait-scrubber input{appearance:auto}.portrait-chapters button[aria-pressed="true"]{text-decoration:underline}.portrait-dissolve,.portrait-focus{display:none}.portrait-surface.has-dissolve .portrait-fallback{opacity:1}}
@media print{.portrait-scrubber,.portrait-chapters,.portrait-focus,.portrait-dissolve,.portrait-emblem{display:none}.portrait-fallback{transform:none}.portrait-surface.has-dissolve .portrait-fallback{opacity:1;-webkit-mask-image:none;mask-image:none}.person-composition{grid-template-columns:1fr 1fr;gap:30px}.portrait-story-panel[hidden]{display:none}.person-section{break-inside:avoid}}
