/* About extends the approved site: real document objects, not generated certificates. */
.profile-page{--page:min(960px,calc(100% - 80px));--profile-column:min(880px,calc(100% - 208px))}
.profile-page .scene-image{height:var(--profile-scene-height,100%);object-fit:fill;opacity:.64}
.profile-page .button{background:linear-gradient(130deg,#076bdb,#0765d0)}
.profile-main{width:var(--profile-column);margin:auto;padding-top:var(--site-opening-top)}
.profile-opening{position:relative;min-height:292px;isolation:isolate}
.profile-copy{position:relative;z-index:1;padding-top:0;width:44%}
.profile-copy h1{font-size:52px;line-height:.99;letter-spacing:-.035em;font-weight:700}
.profile-copy h1 span{color:var(--blue)}
.profile-roles{color:#315e95;font-size:14px;line-height:1.42;margin-top:16px}
.profile-location{color:#315e95;font-size:13px;line-height:1.5;margin-top:16px}
.profile-portrait{position:absolute;left:44%;top:0;width:41%;height:292px;overflow:hidden;mask-image:linear-gradient(#000 89%,transparent 100%);z-index:-1}
.profile-portrait img{width:100%;height:auto;max-width:none}
.profile-books{position:absolute;right:-2%;bottom:-28px;width:31%;height:auto;z-index:1}
.profile-handwriting{position:absolute;top:38px;right:-4%;font-family:"Bad Script","Segoe Script",cursive;font-size:19px;line-height:1.35;color:var(--muted);transform:rotate(-12deg);transform-origin:center;width:20%}
.profile-handwriting .script-heart{width:22px;height:28px;margin:5px 0 0 75px}
.profile-biography{padding:8px 0 32px}
.profile-biography h2,.documents-heading h2{font-size:30px;line-height:1.16;letter-spacing:-.03em;font-weight:700}
.profile-biography p{max-width:75ch;margin-top:12px;font-size:16px;line-height:1.5;color:#315e95;text-wrap:pretty}
.profile-media-link{min-height:44px}
.profile-publications{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
.documents-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.documents-heading h2{white-space:nowrap}
.document-filters{display:flex;flex-wrap:wrap;align-items:center;gap:7px;flex:0 1 auto;min-width:0;max-width:100%}
.document-filters button{min-height:38px;max-width:100%;padding:8px 17px;border-radius:999px;background:rgba(244,251,255,.88);color:#244a80;font-size:12px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;transition:background .2s ease,color .2s ease}
.document-filters button:hover{background:#dcf0ff}
.document-filters button[aria-pressed=true]{background:#cce9ff;color:#055fae}
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.document-card{border-radius:12px;background:rgba(249,253,255,.66);min-width:0;overflow:hidden}
.document-open{display:block;padding:7px 7px 10px;height:100%;border-radius:inherit;transition:background .25s ease}
.document-open:hover{background:rgba(255,255,255,.6)}
.document-open:focus-visible{outline-offset:-3px}
.document-preview{position:relative;display:flex;align-items:center;justify-content:center;height:188px;border-radius:6px;overflow:hidden;background:rgba(226,240,250,.35)}
.document-preview>img{width:100%;height:100%;object-fit:contain}
.document-preview-rotated>img{width:150px;height:213px;transform:rotate(90deg);object-fit:contain}
.document-enlarge{position:absolute;right:9px;bottom:9px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 3px 12px rgba(30,72,108,.1);color:var(--navy);transition:transform .25s var(--ease)}
.document-enlarge svg{width:19px;height:19px}
.document-open:hover .document-enlarge{transform:scale(1.05)}
.document-caption{display:block;padding:8px 3px 0}
.document-caption strong{display:block;font-size:15px;line-height:1.25;font-weight:700;letter-spacing:-.015em}
.document-caption>span{display:block;font-size:13px;line-height:1.35;color:#315e95;margin-top:2px;max-width:48ch}
.profile-contact{position:relative;isolation:isolate;width:min(1000px,calc(100% - 96px));margin:28px auto 0;min-height:155px;padding:24px 42px;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.95);background:rgba(204,234,254,.55);scroll-margin-top:24px}
.profile-contact-photo{position:absolute;inset:0 0 0 auto;width:66%;height:100%;object-fit:cover;object-position:63% 55%;mask-image:linear-gradient(90deg,transparent,#000 30%,#000 100%);z-index:-1}
.profile-contact-copy{position:relative;z-index:1}
.profile-contact h2{font-size:31px;line-height:1.2;letter-spacing:-.035em;font-weight:700}
.profile-contact h2 span{color:inherit}
.profile-contact-actions{display:flex;align-items:center;gap:28px;margin-top:18px}
.profile-contact .button{height:44px;padding:0 24px;font-size:13px;flex:none}
.profile-contact .contact-details{width:auto;font-size:13px;gap:8px}
[hidden]{display:none!important}
#document-viewer{position:fixed;inset:0;width:min(1000px,calc(100% - 48px));height:min(880px,calc(100dvh - 48px));max-width:none;max-height:none;margin:auto;padding:20px 24px;border:1px solid rgba(255,255,255,.9);border-radius:18px;background:#f5fbff;color:var(--navy);box-shadow:0 20px 80px rgba(16,47,78,.25);overflow:hidden}
#document-viewer[open]{display:flex;flex-direction:column}
#document-viewer::backdrop{background:rgba(20,44,68,.48);backdrop-filter:blur(8px)}
.viewer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex:none}
.viewer-head h2{font-size:22px;line-height:1.2;letter-spacing:-.02em}
.viewer-head p{font-size:13px;line-height:1.4;color:#315e95;margin-top:5px}
.viewer-close{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;font-size:28px;background:#e0f1fd;color:var(--navy)}
.viewer-stage{position:relative;display:grid;place-items:center;flex:1;min-height:0;margin-top:18px;overflow:hidden}
#viewer-image{width:100%;height:100%;object-fit:contain;min-height:0;transform:rotate(var(--document-rotation,0deg))}
#viewer-image.is-rotated{position:absolute;width:min(52vh,650px);height:min(78vw,880px)}
#viewer-status{position:absolute;text-align:center;font-size:14px;line-height:1.5;color:#315e95;padding:24px;background:#f5fbff;border-radius:10px}
#viewer-status:empty{display:none}
#viewer-original{flex:none;align-self:flex-start;margin-top:10px;min-height:40px;font-size:13px}
@media(min-width:1200px){.profile-opening{min-height:328px}.profile-copy{padding-top:0}.profile-copy h1{font-size:56px}.profile-roles{font-size:15px;line-height:1.5}.profile-location{font-size:14px;margin-top:20px}.profile-portrait{height:328px;width:40%;left:44%;top:0}.profile-books{bottom:-18px}.profile-handwriting{font-size:21px}.document-preview{height:214px}}
@media(max-width:1120px){.documents-heading{flex-wrap:wrap;gap:12px}.documents-heading h2{font-size:28px}}
@media(max-width:960px){
 .profile-page{--page:calc(100% - 40px);--profile-column:calc(100% - 80px)}
 .profile-main{padding-top:var(--site-opening-top)}
 .profile-opening{min-height:320px}
 .profile-copy{padding-top:0;width:48%}
 .profile-copy h1{font-size:clamp(36px,5.7vw,52px)}
 .profile-roles{font-size:14px;line-height:1.5}
 .profile-portrait{left:48%;width:42%;top:0;height:320px}
 .profile-handwriting{font-size:15px;right:-4%;top:15px;width:18%}
 .profile-books{right:-3%;width:28%;bottom:0}
 .profile-biography{padding:18px 0 32px}
 .profile-biography p{font-size:16px;line-height:1.55}
 .documents-heading{gap:14px;margin-bottom:18px}
 .documents-heading h2{font-size:28px;white-space:normal}
 .document-filters{flex-wrap:wrap;gap:8px}
 .document-filters button{min-height:44px;padding:0 16px;font-size:13px}
 .document-grid{gap:18px}
 .document-preview{height:clamp(165px,23vw,218px)}
 .document-caption strong{font-size:15px}
 .document-caption>span{font-size:13px;line-height:1.45}
 .profile-contact{width:calc(100% - 40px);padding:26px 28px;min-height:175px;margin-top:28px}
 .profile-contact h2{font-size:30px;max-width:16ch}
 .profile-contact-actions{gap:20px}
 .profile-contact .contact-details{font-size:13px}
}
@media(max-width:640px){
 .profile-page{--profile-column:calc(100% - 40px)}
 .profile-opening{display:flex;flex-direction:column;min-height:0}
 .profile-copy{width:100%;padding-top:0}
 .profile-copy h1{font-size:44px;line-height:1.03}
 .profile-roles{font-size:14px;max-width:36ch;margin-top:18px}
 .profile-location{margin-top:14px;font-size:13px}
 .profile-portrait{position:relative;left:auto;top:auto;align-self:center;width:min(290px,86%);height:300px;margin-top:20px;z-index:0}
 .profile-books{right:0;width:120px;bottom:0}
 .profile-handwriting{top:auto;bottom:156px;right:0;width:100px;font-size:12px;line-height:1.45;z-index:1}
 .profile-handwriting .script-heart{width:15px;height:22px;margin-left:62px}
 .profile-biography{padding-top:16px;padding-bottom:32px}
 .profile-biography h2{font-size:28px}
 .profile-biography p{font-size:16px;line-height:1.6;margin-top:12px}
 .documents-heading h2{font-size:28px;max-width:16ch}
 .document-filters{gap:8px;flex:0 1 auto;max-width:100%}
 .document-filters button{padding:0 13px;font-size:12px}
 .document-grid{grid-template-columns:1fr;gap:14px}
 .document-preview{height:210px}
 .document-enlarge{width:44px;height:44px}
 .document-caption{padding:10px 5px 3px}
 .document-caption strong{font-size:16px}
 .document-caption>span{font-size:14px;line-height:1.45;margin-top:4px}
 .profile-contact{padding:24px;min-height:282px;margin-top:30px}
 .profile-contact-photo{width:100%;object-position:66% 50%;opacity:.72;mask-image:linear-gradient(90deg,transparent,#000 100%)}
 .profile-contact h2{font-size:31px;max-width:13ch}
 .profile-contact-actions{flex-direction:column;align-items:flex-start;gap:22px;margin-top:22px}
 .profile-contact .contact-details{font-size:14px;gap:14px}
 #document-viewer{width:calc(100% - 24px);height:calc(100dvh - 24px);padding:16px;border-radius:16px}
 .viewer-head h2{font-size:19px}
 .viewer-head p{font-size:12px}
 .viewer-stage{margin-top:14px}
}
@media(max-width:359px){.profile-handwriting{display:none}}
@media(prefers-reduced-transparency:reduce){.document-card,.document-filters button,.profile-contact{background:#e6f4ff}#document-viewer::backdrop{backdrop-filter:none}}
@media(prefers-contrast:more){.profile-roles,.profile-location,.profile-biography p,.document-caption>span{color:#163e73}.document-card{background:#f5fbff}.document-filters button[aria-pressed=true]{outline:2px solid #0969c6;outline-offset:-2px}}
