/* Shared editorial typography and grid. Scoped to preserve the approved homepage. */
:root{--site-gutter:clamp(24px,4vw,72px);--site-gap:24px;--site-rail:calc((100% - 11 * var(--site-gap)) / 6 + var(--site-gap));--site-serif:"Newsreader",Georgia,serif;--site-sans:"Instrument Sans",Arial,sans-serif}
/* One navigation shell on every public page. Homepage reveal timing stays intact. */
header.nav,body.page--plain header.nav{top:0!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;height:64px!important;min-height:64px!important;padding:0 var(--site-gutter)!important;border:0!important;border-bottom:1px solid rgba(36,35,29,.18)!important;border-radius:0!important;box-shadow:none!important;background:rgba(241,240,232,.97)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;justify-content:space-between!important;gap:24px!important}
header.nav .nav__mark{font-family:var(--site-serif)!important;font-size:25px!important;font-weight:400!important;line-height:1!important;letter-spacing:-.025em!important;color:#201f1a!important}
header.nav .nav__links{display:flex;align-items:center;gap:clamp(20px,2.1vw,32px);font-family:var(--site-sans)!important}
header.nav .nav__links a{display:flex;align-items:center;min-height:44px;padding:0!important;font-family:var(--site-sans)!important;font-size:14px!important;font-weight:400!important;line-height:1.4;color:#34332c!important}
.page-inner header.nav{transform:none!important;opacity:1!important;visibility:visible!important;transition:background .2s ease!important}
header.nav .nav__links a[aria-current="page"]::after{bottom:7px;border-bottom:1px solid currentColor}
/* Shared footer typography follows the landing page's serif/sans hierarchy. */
.closing{padding:112px var(--site-gutter) 0;text-align:left}
.closing__intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--site-gap);align-items:start}
.closing__intro>.h1,.closing__intro>.closing__sub,.closing__intro>.btn-row{grid-column:1 / span 8;margin-left:0;margin-right:0}
.closing .h1{font-family:var(--site-serif);font-weight:400;font-size:clamp(36px,4.4vw,64px);line-height:1.08;letter-spacing:-.02em;max-width:21ch;margin-left:0;margin-right:0;text-wrap:balance}
.closing__sub{font-family:var(--site-sans);font-size:18px;line-height:1.5;margin-top:20px;max-width:52ch}
.closing .btn-row{justify-content:flex-start;gap:12px;margin-top:28px;flex-wrap:wrap}
.footer{margin:96px calc(-1 * var(--site-gutter)) 0;padding:56px var(--site-gutter) 28px;border-radius:0;background:var(--paper);text-align:left;font-family:var(--site-sans)}
.footer__top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--site-gap);align-items:start;padding-bottom:40px}
.footer__top>div{grid-column:span 3;min-width:0}
.footer__mark{font-family:var(--site-serif);font-size:40px;font-weight:400;line-height:1.05;letter-spacing:-.025em;display:inline-block}
.footer__tag{font-family:var(--site-sans);font-size:15px;line-height:1.5;max-width:23ch;margin-top:16px}
.footer__col .label{font-family:var(--site-sans);font-size:13px;font-weight:500;line-height:1.4;letter-spacing:.04em;color:var(--muted);margin-bottom:16px}
.footer__col a{font-family:var(--site-sans);font-size:15px;line-height:1.4;display:flex;align-items:center;min-height:44px;padding:8px 0}
.footer__bottom{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px var(--site-gap);align-items:center;padding-top:24px;font-size:13px;line-height:1.5}
.footer__bottom>span:first-child{grid-column:1 / span 6}.footer__links{grid-column:7 / span 6;display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap}.footer__links a{padding:8px 0;overflow-wrap:anywhere}
/* The remaining homepage background section joins the same grid. */
.page-home #background{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--site-gap);padding:100px var(--site-gutter);text-align:left}
.page-home #background>.pill{grid-column:1 / span 2;grid-row:1 / span 2;justify-self:start;align-self:start}
.page-home #background>.bg__name,.page-home #background>.bg__role,.page-home #background>.bg__portrait,.page-home #background>.bg__text,.page-home #background>.strip{grid-column:3 / span 8}
.page-home #background .bg__name{font-family:var(--site-serif);font-size:clamp(36px,3.5vw,52px);line-height:1.08;letter-spacing:-.02em;margin-top:0!important}
.page-home #background .bg__role{font-family:var(--site-sans);font-size:17px;line-height:1.5;margin-top:14px}
.page-home #background .bg__portrait{width:100%;margin:36px 0;max-width:none}
.page-home #background .bg__text{font-size:18px;line-height:1.55;max-width:62ch;margin:0}
.page-home #background .strip{width:100%;max-width:none;margin:40px 0 0;gap:24px}
.page-home #background .label,.page-home #background>.pill{font-family:var(--site-sans);letter-spacing:.04em}
/* Interior content uses the same margins, column rail and type families. */
.page-inner .label,.page-inner .pill{font-family:var(--site-sans);letter-spacing:.04em}
.page-inner main h1,.page-inner main h2,.page-inner main h3{font-family:var(--site-serif);font-weight:400}
.page-inner .hero--single{min-height:max(100svh,820px)}
.page-inner .hero__copy{left:var(--site-gutter);width:calc(50% - var(--site-gutter) - var(--site-gap));max-width:none}
.page-inner .hero__pill{left:var(--site-gutter)}
.page-inner .hero__facts{left:var(--site-gutter);right:var(--site-gutter);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--site-gap);bottom:28px}
.page-inner .hero__facts li{max-width:none;min-width:0;font-size:15px;line-height:1.45}
.page-inner .hero__sub{font-family:var(--site-sans);font-size:18px;line-height:1.5}
.page-inner .cs,.page-inner .resume{padding-left:var(--site-gutter);padding-right:var(--site-gutter)}
.page-inner .cs{--col-in:var(--site-rail)}
.page-inner .cs__sec,.page-inner .next,.page-inner .plain-top,.page-inner .resume__row{grid-template-columns:var(--site-rail) minmax(0,1fr);column-gap:var(--site-gap)}
.page-inner .plain-top{padding-left:var(--site-gutter);padding-right:var(--site-gutter);padding-top:144px}
.page-inner .cs__main,.page-inner .resume__main{max-width:none;min-width:0}
.page-inner .cs__nav{margin-left:calc(var(--site-rail) + var(--site-gap));gap:12px}
.page-inner .cs__main>.body,.page-inner .resume__main>.body{max-width:68ch;line-height:1.6}
.page-inner .cs__main>.lead,.page-inner .resume__main>.lead{max-width:50ch;line-height:1.35}
.page-inner .cards{gap:var(--site-gap)}.page-inner .cards .card p{line-height:1.55}
.page-inner .fig figcaption{margin-left:0;margin-right:0;line-height:1.5}
.page-inner .note{max-width:none;gap:24px;line-height:1.5}.page-inner .note p{line-height:1.55}
.page-inner .next__card{max-width:none;min-width:0}
.page-inner .statement__pin{padding-left:var(--site-gutter);padding-right:var(--site-gutter);display:grid;grid-template-columns:var(--site-rail) minmax(0,1fr);column-gap:var(--site-gap)}
.page-inner .statement__body{grid-column:2;margin-left:0;padding-left:0;border-left:0;min-width:0}.page-inner .statement__tick{display:none}.page-inner .statement__label{left:var(--site-gutter)}
.page-inner .contact-wrap{padding-top:64px}.page-inner .contact{align-items:flex-start;text-align:left;min-height:calc(100svh - 64px)!important;padding-top:80px;padding-bottom:80px!important}
.page-inner .contact .h1{font-size:clamp(38px,4.4vw,64px);max-width:21ch;margin:0}
.page-inner .contact .closing__sub{margin-left:0;margin-right:0}.page-inner .contact__links{justify-content:flex-start}
.page-inner .contact__email{font-size:clamp(21px,2.4vw,34px);line-height:1.3;overflow-wrap:anywhere;max-width:100%}
@media(max-width:820px){
:root{--site-gutter:24px;--site-gap:16px}
header.nav,body.page--plain header.nav{gap:12px!important;padding:0 var(--site-gutter)!important}header.nav .nav__mark{font-size:23px!important}header.nav .nav__links{gap:16px}header.nav .nav__links a{font-size:13px!important}
.closing{padding-top:80px}.closing__intro{grid-template-columns:repeat(4,minmax(0,1fr))}.closing__intro>.h1,.closing__intro>.closing__sub,.closing__intro>.btn-row{grid-column:1 / -1}.closing .h1{font-size:clamp(34px,8vw,44px)}.closing .btn-row .btn{font-size:15px;padding-left:20px;padding-right:20px;max-width:100%}.closing__sub{font-size:17px}
.footer{margin-top:72px;padding-top:40px}.footer__top{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:32px}.footer__top>div{grid-column:span 2}.footer__mark{font-size:36px}.footer__tag{font-size:14px}.footer__col a{font-size:14px}.footer__bottom{grid-template-columns:repeat(4,minmax(0,1fr))}.footer__bottom>span:first-child,.footer__links{grid-column:1 / -1}.footer__links{justify-content:flex-start;gap:16px}
.page-home #background{grid-template-columns:repeat(4,minmax(0,1fr));padding-top:72px;padding-bottom:72px}.page-home #background>*{grid-column:1 / -1!important}.page-home #background>.pill{grid-row:auto;margin-bottom:28px}.page-home #background .bg__name{font-size:38px}.page-home #background .bg__text{font-size:17px}
.page-inner .hero--single{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;height:auto;min-height:0;padding-top:112px}
.page-inner .hero--single .hero__blur{position:absolute;inset:0;min-height:0;z-index:0}
.page-inner .hero--single .hero__sharp{position:relative;inset:auto;grid-row:4;grid-column:1;width:100%;height:auto;aspect-ratio:3 / 2;margin-top:40px;z-index:2}
.page-inner .hero--single .hero__line{position:relative;inset:auto;grid-row:1;grid-column:1;height:auto;background:none;margin:0 var(--site-gutter) 28px}
.page-inner .hero--single .hero__pill{position:relative;inset:auto;transform:none}
.page-inner .hero--single .hero__copy{position:relative;inset:auto;grid-row:2;grid-column:1;width:auto;max-width:none;margin:0 var(--site-gutter);text-align:left}
.page-inner .hero__copy .h1{font-size:clamp(32px,8.7vw,44px);line-height:1.08}.page-inner .hero__sub{font-size:17px;margin-left:0;margin-right:0}.page-inner .hero__copy .btn-row{justify-content:flex-start;gap:12px;margin-top:24px}.page-inner .hero__copy .btn{font-size:15px;padding-left:20px;padding-right:20px}
.page-inner .hero--single .hero__facts{position:relative;inset:auto;grid-row:3;grid-column:1;margin:32px var(--site-gutter) 0;gap:16px;text-align:left}.page-inner .hero__facts li{font-size:13px;line-height:1.4}.page-inner .hero__facts small{font-size:12px}
.page-inner .cs__sec,.page-inner .next,.page-inner .plain-top,.page-inner .resume__row{grid-template-columns:minmax(0,1fr);row-gap:24px}.page-inner .cs__nav{margin-left:0}
.page-inner .resume__grid,.page-inner .resume__grid.cols-3{grid-template-columns:minmax(0,1fr)}
.page-inner .statement__pin{display:flex}.page-inner .statement__body{margin-left:0}.page-inner .statement__label{left:24px}.page-inner .cs__sec>.pill{position:static}
.page-inner .contact{padding-top:64px;padding-bottom:64px!important}.page-inner .contact .h1{font-size:38px}.page-inner .contact__email{font-size:clamp(19px,5.4vw,25px)}
}
@media(max-width:360px){header.nav,body.page--plain header.nav{padding-left:var(--site-gutter)!important;padding-right:var(--site-gutter)!important;gap:8px!important}header.nav .nav__mark{font-size:21px!important}header.nav .nav__links{gap:12px}header.nav .nav__links a{font-size:12px!important}}

/* Named interior scale and consistent reading contrast. */
:root{--type-display:clamp(38px,4.4vw,64px);--type-image-hero:clamp(36px,3.4vw,54px);--type-section:clamp(28px,3vw,44px)}
.page-inner{--muted:#5F5E55}.page-inner .plain-top .h1,.page-inner .contact .h1{font-size:var(--type-display);line-height:1.08;letter-spacing:-.02em}.page-inner .hero__copy .h1{font-size:var(--type-image-hero)}.page-inner .h2{font-size:var(--type-section)}
.page-inner .body,.page-inner .cards .card p,.page-inner .resume__item p,.page-inner .timeline p,.page-inner .note p{color:var(--ink-2)}
.page-home header.nav:not(.aside-nav-hidden){transform:none!important}
@media(max-width:820px){.page-inner .hero__copy .h1{font-size:clamp(32px,8.7vw,44px)}}

@media(max-width:820px){.footer__mark{font-size:clamp(28px,8.5vw,36px)}}@media(max-width:360px){header.nav .nav__links{gap:8px}}

header.nav .nav__mark{display:flex;align-items:center;min-height:44px}.footer__mark{min-height:44px}.footer__links a{display:inline-flex;align-items:center;min-height:44px}.page-inner .cs__nav a,.page-inner .contact__links a{min-height:44px}.page-inner .fig__zoom{min-height:44px;padding-left:16px;padding-right:16px}

.footer .footer__top>div:first-child{grid-column:span 3}@media(max-width:820px){.footer .footer__top>div:first-child{grid-column:span 2}}@media(max-width:360px){header.nav,body.page--plain header.nav{gap:6px!important}header.nav .nav__mark{font-size:20px!important}header.nav .nav__links{gap:6px}}

/* Background: one centered content rail and a subject-centered crop. */
.page-home #background { text-align: center; }
.page-home #background > .pill { grid-column: 3 / span 8; grid-row: auto; justify-self: center; margin-bottom: 28px; }
.page-home #background > .bg__name,
.page-home #background > .bg__role,
.page-home #background > .bg__portrait,
.page-home #background > .bg__text,
.page-home #background > .strip { grid-column: 3 / span 8; }
.page-home #background .bg__text { justify-self: center; }
.page-home #background .bg__portrait img { object-position: 50% 28%; }
.page-home #background .strip { text-align: left; }
@media (max-width: 820px) {
  .page-home #background > * { grid-column: 1 / -1; }
  .page-home #background .bg__portrait img { object-position: 50% 30%; }
}

/* Footer inquiry: matched to the existing editorial grid, without a card shell. */
.page-home .closing__intro { align-items:center; row-gap:48px; }
.page-home .closing__intro > .closing__copy { grid-column:1 / span 5; min-width:0; }
.page-home .closing__copy .h1 { margin:0; max-width:21ch; }
.page-home .closing__copy .closing__sub { margin-top:20px; }
.page-home .closing__copy .btn-row { margin-top:28px; justify-content:flex-start; flex-wrap:wrap; }
.page-home .closing__intro > .inquiry-form { grid-column:7 / span 6; width:100%; max-width:720px; justify-self:end; min-width:0; color:#fff; text-align:left; font-family:var(--site-sans); }
.page-home .inquiry-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px 24px; }
.page-home .inquiry-field { display:flex; flex-direction:column; gap:9px; min-width:0; }
.page-home .inquiry-field--wide { grid-column:1 / -1; }
.page-home .inquiry-field label { font-size:14px; line-height:1.4; font-weight:500; }
.page-home .inquiry-field :is(input,select,textarea) { box-sizing:border-box; width:100%; min-height:50px; padding:13px 16px; border:1px solid rgba(255,255,255,.6); border-radius:8px; background:rgba(25,26,21,.38); color:#fff; font:400 16px/1.45 var(--site-sans); box-shadow:none; }
.page-home .inquiry-field ::placeholder { color:rgba(255,255,255,.78); opacity:1; }
.page-home .inquiry-field select { appearance:auto; color-scheme:dark; }
.page-home .inquiry-field select option { background:#29271f; color:#fff; }
.page-home .inquiry-field textarea { resize:vertical; min-height:124px; max-height:400px; }
.page-home .inquiry-field :is(input,select,textarea):focus-visible { outline:2px solid #fff; outline-offset:3px; border-color:#fff; }
.page-home .inquiry-actions { display:flex; align-items:center; gap:24px; margin-top:24px; }
.page-home .inquiry-actions .btn { flex:none; min-height:50px; padding:13px 28px; font-family:var(--site-sans); font-size:15px; cursor:pointer; }
.page-home .inquiry-actions p { max-width:30ch; font-size:12px; line-height:1.5; color:#fff; margin:0; }
.page-home .inquiry-status { font-size:14px; line-height:1.5; color:#fff; margin:0; }
.page-home .inquiry-status:not(:empty) { margin-top:20px; padding:12px 16px; border-left:2px solid #fff; background:rgba(25,26,21,.55); }
.page-home .inquiry-trap { position:absolute!important; left:-10000px!important; width:1px; height:1px; overflow:hidden; }
.page-home .inquiry-actions .btn:disabled { opacity:.65; cursor:wait; }
@media(max-width:1000px) {
 .page-home .closing__intro > .closing__copy { grid-column:1 / span 6; }
 .page-home .closing__intro > .inquiry-form { grid-column:7 / span 6; }
 .page-home .inquiry-actions { flex-direction:column; align-items:flex-start; gap:14px; }
 .page-home .inquiry-actions p { max-width:none; }
}
@media(max-width:820px) {
 .page-home .closing__intro > .closing__copy,.page-home .closing__intro > .inquiry-form { grid-column:1 / -1; }
 .page-home .closing__intro > .inquiry-form { max-width:none; }
 .page-home .closing__copy .h1 { max-width:21ch; }
 .page-home .inquiry-actions { flex-direction:row; align-items:center; }
}
@media(max-width:540px) {
 .page-home .inquiry-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .page-home .inquiry-actions { flex-direction:column; align-items:stretch; gap:14px; }
 .page-home .inquiry-actions .btn { width:100%; }
 .page-home .closing__copy .btn-row { gap:12px; }
 .page-home .closing__copy .btn-row .btn { max-width:100%; overflow-wrap:anywhere; }
}
.page-home .closing__copy .closing__sub { margin:20px 0 0; }
