.personal-heading{text-align:center;margin:42px 0 31px}
.hero-greeting{font:italic 22px var(--serif);margin:0 0 8px;color:#666}
.personal-heading .hero-name{font-size:clamp(88px,10vw,145px);line-height:1.03;letter-spacing:-.035em}
.name-period{margin-left:2px}
.personal-heading .eyebrow{margin:18px 0 0;font-size:9px;letter-spacing:.17em}
.personal-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,355px) minmax(0,1fr);gap:clamp(25px,5vw,72px);max-width:1100px;margin:0 auto;align-items:center}
.hero-biography{padding-bottom:30px}
.hero-biography>.micro-label{font-size:8px}
.hero-biography>p:not(.hero-bio-detail){font:24px/1.32 var(--serif);letter-spacing:-.02em;margin:20px 0}
.hero-biography .hero-bio-detail{font:11px/1.85 var(--sans);max-width:225px;color:var(--muted);margin:0 0 24px}
.hero-biography .text-link{font-size:10px;gap:20px}
.hero-save{display:flex;align-items:center;gap:16px;font-size:10px;margin-top:27px;color:#555;max-width:fit-content}
.hero-save span{font-size:15px}
.hero-save:hover{text-decoration:underline;text-underline-offset:4px}
.hero-portrait{position:relative;margin:0;padding:10px 10px 0;isolation:isolate}
.portrait-outline{position:absolute;inset:0 0 35px;border:1px solid #dedede;border-radius:200px;z-index:-1}
.portrait-outline::after{position:absolute;content:"";inset:-11px 11px 11px -11px;border:1px solid #efefef;border-radius:200px;transform:rotate(-5deg)}
.portrait-image{aspect-ratio:.77;border-radius:190px;overflow:hidden;background:#fafafa;position:relative}
.portrait-image img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.35);transform-origin:50% 62%;transition:transform .7s cubic-bezier(.2,.6,.3,1)}
.hero-portrait:hover .portrait-image img{transform:scale(1.39)}
.hero-portrait figcaption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.05em;margin:16px 4px 0;color:#777;line-height:1.4}
.hero-work-totals{justify-self:end;min-width:172px;padding-bottom:30px}
.work-total+.work-total{margin-top:38px}
.work-total .micro-label{font-size:8px;letter-spacing:.13em;line-height:1.7;display:block}
.work-total p{font:400 clamp(57px,5.8vw,82px)/1 var(--serif);margin:11px 0 0;letter-spacing:-.055em;white-space:nowrap}
.work-total p>span{font-size:.66em;vertical-align:5%;margin-left:3px}
.totals-note{font-size:9px;line-height:1.8;color:#777;margin:28px 0 0}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;padding:32px 0 34px;gap:24px;max-width:1100px;margin:auto}
.hero-bottom .text-link{font-size:10px;gap:24px;border-bottom:none;padding:0}
.hero-signature{font-family:var(--serif);font-weight:700;font-variant-caps:small-caps;font-size:22px;letter-spacing:-.02em}
.brand-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;border-top:1px solid var(--line);padding:31px 0 28px;text-align:center}
.brand-strip a{font:700 18px var(--serif);font-variant-caps:small-caps;color:#555;line-height:1.4;transition:color .2s}
.brand-strip a:hover{color:var(--ink)}
.hero-contact{padding:25px 0}
.profile-location{font-size:9px;text-transform:uppercase;letter-spacing:.12em;margin:37px 0 0;line-height:1.8;color:#555}
.profile-location>span{font-size:11px;text-transform:none;letter-spacing:0}
.profile-note{margin-top:42px}
.contact-card{cursor:pointer;transform:perspective(1200px) rotate(-1deg) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transition:transform .3s,box-shadow .3s}
.contact-card:hover{box-shadow:0 1px 1px #ccc,0 12px 34px #00000012}
.card-hint{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#777;text-align:center;margin:27px 0 0}
.card-hint span{font-size:14px;margin-left:8px}
.contact-actions{margin-top:24px}
.office-note{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:35px;text-align:center;line-height:1.6}
.office-note .micro-label{font-size:8px}
.office-note .quiet-link{font-size:10px}
.contact-open{overflow:hidden}
#contact-dialog:not([open]){display:none}
#contact-dialog{width:min(510px,calc(100vw - 32px));max-height:calc(100svh - 48px);margin:auto;border:1px solid #d5d5d5;padding:0;color:var(--ink);background:#fff;box-shadow:0 20px 80px #0000001a;overflow:auto}
#contact-dialog::backdrop{background:#ffffffc9;backdrop-filter:blur(8px)}
.dialog-inner{position:relative;padding:43px 38px 25px}
.dialog-close{position:absolute;top:15px;right:15px;display:grid;place-items:center;min-width:32px;min-height:32px;border:0;background:#fff;cursor:pointer}
.dialog-close:hover{background:#f3f3f3}
.dialog-person{display:flex;align-items:center;gap:18px;margin-bottom:23px}
.dialog-person>img{width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:50% 53%;flex-shrink:0}
.dialog-person .micro-label{font-size:7px;letter-spacing:.15em;margin:0 0 7px}
.dialog-person h2{font:700 34px/1 var(--serif);font-variant-caps:small-caps;letter-spacing:-.02em;margin:0 0 7px}
.dialog-role{font-size:8px;color:#666;margin:0;line-height:1.7}
#dialog-description{font-size:12px;line-height:1.75;color:#666;margin:0 0 23px;max-width:340px}
.dialog-save{width:100%;font-size:12px;padding:17px 20px}
.contact-import-note{font-size:9px;line-height:1.7;color:#777;margin:9px 0 21px}
.dialog-contact-links{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding-bottom:25px}
.dialog-contact-links>a,.dialog-contact-links>button{display:flex;align-items:center;justify-content:center;gap:13px;min-height:43px;font-size:10px;border:1px solid #ddd;background:#fff;cursor:pointer}
.dialog-contact-links>a:hover,.dialog-contact-links>button:hover{border-color:#777}
.dialog-contact-links span{font-size:14px}
.dialog-details{margin:0;border-top:1px solid var(--line);padding-top:15px;font-size:11px}
.dialog-details>div{display:grid;grid-template-columns:80px 1fr;padding:7px 0;gap:15px;line-height:1.6}
.dialog-details dt{color:#777;font-size:9px}
.dialog-details dd{margin:0;overflow-wrap:anywhere}
.dialog-details a:hover{text-decoration:underline;text-underline-offset:3px}
.share-status{font-size:10px;line-height:1.6;margin:12px 0 0;color:#555;min-height:0}
.share-status:empty{display:none}
.share-details{width:100%;resize:vertical;border:1px solid #ccc;background:#fff;color:var(--ink);font:11px/1.6 var(--sans);padding:12px;margin-top:18px}
.share-details[hidden]{display:none}
@media(max-width:1050px){
 .personal-heading{margin-top:38px}.personal-heading .hero-name{font-size:12vw}
 .personal-hero-grid{grid-template-columns:minmax(0,1fr) 290px minmax(0,1fr);gap:30px}
 .hero-biography>p:not(.hero-bio-detail){font-size:21px}.hero-biography .hero-bio-detail{font-size:10px}
 .hero-work-totals{min-width:150px}.work-total p{font-size:65px}
 .brand-strip a{font-size:16px}
}
@media(max-width:820px){
 .personal-hero-grid{grid-template-columns:minmax(0,1fr) 255px minmax(0,1fr);gap:23px}
 .hero-biography>p:not(.hero-bio-detail){font-size:19px}.hero-biography .hero-bio-detail{font-size:9px}
 .hero-work-totals{min-width:126px}.work-total p{font-size:55px}.work-total .micro-label{font-size:7px}
 .hero-save{font-size:9px}.hero-biography .text-link{font-size:9px}
}
@media(max-width:700px){
 .personal-heading{margin:35px 0 30px}.hero-greeting{font-size:18px;margin-bottom:10px}.personal-heading .hero-name{font-size:clamp(60px,14.7vw,103px);letter-spacing:-.04em}.personal-heading .eyebrow{font-size:7px;letter-spacing:.11em;margin-top:15px}
 .personal-hero-grid{display:flex;flex-direction:column;gap:32px}.hero-portrait{order:1;width:min(310px,79vw);padding-inline:8px}.portrait-image{aspect-ratio:.84}.portrait-outline{inset:0 0 33px}.hero-portrait figcaption{font-size:7px;margin-top:14px}
 .hero-work-totals{order:2;display:grid;grid-template-columns:1fr 1fr;gap:20px 30px;width:100%;max-width:390px;padding-bottom:0;text-align:center}.work-total+.work-total{margin-top:0}.work-total p{font-size:62px;line-height:1;margin-top:9px}.work-total .micro-label{font-size:7px;min-height:25px}.work-total:first-child .micro-label{display:flex;align-items:center;justify-content:center}.totals-note{grid-column:1/-1;margin:0;font-size:8px}.totals-note br{display:none}
 .hero-biography{order:3;text-align:center;padding-bottom:0;max-width:390px}.hero-biography>p:not(.hero-bio-detail){font-size:25px;margin:15px 0}.hero-biography>p:not(.hero-bio-detail) br{display:none}.hero-biography .hero-bio-detail{font-size:12px;line-height:1.8;max-width:none;margin-bottom:23px}.hero-biography .text-link{font-size:10px}.hero-save{display:inline-flex;font-size:10px;margin-top:0;margin-left:24px}
 .hero-bottom{padding:30px 0;gap:12px}.hero-bottom .text-link{font-size:8px;gap:9px}.hero-signature{font-size:19px}
 .brand-strip{grid-template-columns:1fr 1fr;gap:18px 15px;padding-block:24px}.brand-strip a{font-size:17px}
 .hero-contact{padding-block:24px}.profile-location{margin-top:25px;font-size:8px}.profile-location>span{font-size:10px}.profile-note{margin-top:30px}
 .contact-actions{gap:8px;flex-wrap:wrap}.contact-actions .button{font-size:9px;padding:15px 12px;gap:15px}.card-hint{font-size:8px;margin-top:24px}
 .office-note .quiet-link{font-size:9px;max-width:290px}.office-note{margin-top:27px}
 .dialog-inner{padding:43px 24px 23px}.dialog-person{gap:13px}.dialog-person>img{height:62px;width:62px}.dialog-person h2{font-size:30px}.dialog-role{font-size:7px}.dialog-contact-links{gap:6px}.dialog-contact-links>a,.dialog-contact-links>button{gap:8px;font-size:9px}.dialog-details>div{grid-template-columns:65px 1fr;gap:12px}
}
@media(max-width:360px){
 .work-total p{font-size:54px}.hero-work-totals{gap:20px}.hero-biography>p:not(.hero-bio-detail){font-size:23px}.hero-save{margin-left:15px}.hero-bottom .text-link{font-size:7px;gap:6px}.hero-signature{font-size:17px}.hero-topline{font-size:7px;letter-spacing:.08em}.brand-strip a{font-size:15px}.contact-actions{flex-direction:column}.contact-actions .button{font-size:11px;justify-content:center;gap:25px}.dialog-person h2{font-size:27px}
}
@media(prefers-reduced-motion:reduce){.portrait-image img,.hero-portrait:hover .portrait-image img{transform:scale(1.35)}.contact-card{transform:rotate(-1deg)!important}}
@media print{
 .personal-heading{margin-block:20px}.personal-heading .hero-name{font-size:65pt}.personal-hero-grid{grid-template-columns:1fr 230px 1fr;gap:25px}.hero-biography>p:not(.hero-bio-detail){font-size:14pt}.hero-biography .hero-bio-detail{font-size:9pt}.hero-save,.hero-bottom,.brand-strip,.card-hint,.office-note,#contact-dialog{display:none!important}.hero-work-totals{min-width:110px}.work-total p{font-size:37pt}.contact-card{transform:none!important}.hero-portrait{max-width:230px}.profile-location{margin-top:20px}
}
