@font-face{font-family:"Instrument Serif";src:url("assets/fonts/instrument-serif.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("assets/fonts/dm-sans.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}

:root{color-scheme:light;--paper:#f8f9fa;--ink:#1c2228;--muted:#5c636b;--rule:#d9dde1;--blue:#234ed5;--blue-hover:#173eae;--green:#247451;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1.5rem;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}
::selection{background:#dbe5ff;color:var(--ink)}
a{color:inherit;text-decoration:none;touch-action:manipulation}
a:focus-visible{outline:3px solid var(--blue);outline-offset:6px;border-radius:2px}
svg{display:block;flex:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
p,h1,h2,figure{margin:0}
.page-shell{max-width:1440px;margin:0 auto;padding:0 max(6.25%,env(safe-area-inset-right)) 0 max(6.25%,env(safe-area-inset-left))}
.skip-link{position:fixed;z-index:10;left:1rem;top:1rem;background:var(--ink);color:#fff;padding:.8rem 1.2rem;transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.masthead{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--rule)}
.identity{display:inline-flex;gap:1.1rem;align-items:center;min-height:44px}
.monogram{font-family:var(--serif);font-size:3rem;line-height:1;letter-spacing:-.08em}
.monogram span{color:var(--blue);font-size:.65em;letter-spacing:0}
.identity-label{font-size:.75rem;line-height:1.45;text-transform:uppercase;letter-spacing:.1em}
.availability{display:flex;align-items:center;gap:.65rem;font-size:.875rem;white-space:nowrap}
.status-dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #e8f0eb}
.profile{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.88fr);grid-template-rows:auto 1fr;column-gap:8%;padding:58px 0 48px}
.introduction{grid-area:1/1}
.eyebrow{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.5}
.introduction .eyebrow{color:var(--muted);margin-bottom:22px}
h1{font-family:var(--serif);font-size:clamp(6.25rem,10.9vw,9.8rem);font-weight:400;line-height:.82;letter-spacing:-.035em}
.name-period{color:var(--blue)}
.bio{grid-area:2/1;margin-top:30px;max-width:425px}
.bio-heading{font-size:1.25rem;letter-spacing:-.025em;margin-bottom:8px}
.bio>p:last-child{font-size:1rem;color:var(--muted);line-height:1.65;text-wrap:pretty}
.next-chapter{display:block;margin-top:.15em;color:var(--ink)}
.portrait{grid-area:1/2/3/3;align-self:center;width:100%;max-width:404px;justify-self:end}
.portrait-image{position:relative;background:#1b2023;overflow:hidden;aspect-ratio:4/4.7}
.portrait-image:after{content:"";position:absolute;bottom:0;left:0;width:44px;height:4px;background:var(--blue)}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 37%;filter:grayscale(1)}
figcaption{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-top:13px;font-size:.75rem;line-height:1.5;color:var(--muted)}
.caption-mark{font-size:.75rem;letter-spacing:.04em;white-space:nowrap}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:6%;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:30px 0 32px;align-items:center;scroll-margin-top:1.5rem}
.contact-heading .eyebrow{color:var(--muted);margin-bottom:9px}
h2{font-family:var(--serif);font-size:2.65rem;font-weight:400;line-height:1.02;letter-spacing:-.015em}
.email-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--blue);color:#fff;min-height:68px;padding:16px 24px;font-size:clamp(1.05rem,2.25vw,1.9rem);letter-spacing:-.025em;transition:background .2s ease}
.email-link span{overflow-wrap:anywhere}
.email-link:hover{background:var(--blue-hover)}
.email-link .arrow{width:26px;height:26px;transition:transform .2s ease}
.email-link:hover .arrow{transform:translate(2px,-2px)}
.contact-secondary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:10px}
.phone-link,.save-contact{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;font-size:.9375rem;transition:color .2s ease}
.phone-link svg{width:17px;height:17px}
.save-contact svg{width:17px;height:17px}
.save-contact{color:var(--muted)}
.phone-link:hover,.save-contact:hover,.social-links a:hover{color:var(--blue)}
.footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:82px;color:var(--muted);font-size:.8125rem}
.social-links{display:flex;align-items:center;gap:2rem}
.social-links a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:.875rem;transition:color .2s ease}

@media(min-width:1440px){.profile{padding-top:64px;padding-bottom:54px}.bio{margin-top:36px}}
@media(max-width:1000px) and (min-width:701px){.page-shell{padding-inline:5%}.profile{column-gap:6%;grid-template-columns:1.15fr .9fr}h1{font-size:clamp(5rem,11.7vw,7.4rem)}.portrait{max-width:340px}.caption-mark{display:none}.contact{grid-template-columns:1fr 1.65fr;gap:5%}.contact-secondary{gap:.5rem}.phone-link,.save-contact{font-size:.875rem}.email-link{padding:15px 18px}.bio{margin-top:26px}}
@media(max-width:700px){
  .page-shell{padding-inline:max(24px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-right))}
  .masthead{min-height:83px;gap:1rem}
  .identity{gap:0}.identity-label{display:none}.monogram{font-size:2.7rem}.availability{font-size:.8125rem;gap:.6rem}
  .profile{padding:32px 0 28px;grid-template-columns:minmax(0,1.3fr) minmax(0,.87fr);grid-template-rows:auto auto;column-gap:16px;row-gap:26px;align-items:center}
  .introduction{align-self:center}.introduction .eyebrow{font-size:.75rem;letter-spacing:.06em;margin-bottom:15px}
  h1{font-size:clamp(3.3rem,14.8vw,6.25rem);line-height:.89;letter-spacing:-.025em}
  .portrait{grid-area:1/2;align-self:center;max-width:210px}.portrait-image{aspect-ratio:3/4}.portrait-image:after{width:26px;height:3px}.portrait img{object-position:50% 35%}figcaption{display:none}
  .bio{grid-area:2/1/3/3;margin:0;max-width:100%}.bio-heading{font-size:1.1875rem;margin-bottom:7px}.bio>p:last-child{font-size:1rem;line-height:1.6}
  .contact{grid-template-columns:1fr;gap:20px;padding:24px 0 19px}
  .contact-heading{display:flex;align-items:baseline;gap:1.5rem}.contact-heading .eyebrow{margin:0;font-size:.75rem;white-space:nowrap;letter-spacing:.06em}h2{font-size:1.875rem;line-height:1.1}h2 br{display:none}
  .email-link{min-height:60px;font-size:clamp(1.125rem,5.1vw,1.7rem);padding:14px 17px}.email-link .arrow{width:22px;height:22px}
  .contact-secondary{gap:8px;padding-top:9px}.phone-link,.save-contact{font-size:.875rem;gap:8px}
  .footer{min-height:80px;font-size:.75rem;gap:1rem}.social-links{gap:1.4rem}.social-links a{font-size:.8125rem;gap:.3rem}
}
@media(max-width:370px){.page-shell{padding-inline:20px}.profile{column-gap:10px}.introduction .eyebrow{font-size:.75rem;letter-spacing:0}.contact-heading{gap:14px}h2{font-size:1.65rem}.phone-link,.save-contact{gap:6px;font-size:.875rem}.save-contact svg{width:15px}.social-links{gap:1rem}.footer{gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(forced-colors:active){.status-dot{background:CanvasText}.email-link{border:1px solid LinkText}.portrait img{filter:none}}
