:root{--color-bg:#f5f3ee;--color-surface:#fff;--color-ink:#0c0c0a;--color-ink-2:#3a3a35;--color-muted:#665f54;--color-rule:#0c0c0a1f;--color-field-border:#8a8478;--color-accent:#b92d17;--color-accent-hover:#8f2111;--color-accent-ink:#fff;--color-focus:#0c0c0a;--color-error:#b3261e;--color-success:#1f6b3a;--color-dark:#0c0c0a;--color-on-dark:#f5f3ee;--page-gutter:56px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-ink);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;min-height:100vh}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--color-accent)}.bio a{text-underline-offset:3px;text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.pre{padding:8px max(var(--page-gutter), calc((100vw - 1280px) / 2 + var(--page-gutter)));font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);border-bottom:1px solid var(--color-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 20px;display:flex}.pre strong{color:var(--color-accent)}.pre .when strong,.pre a:hover strong{color:var(--color-ink)}.pre a{min-height:var(--tap);align-items:center;display:inline-flex}.main{padding:36px var(--page-gutter) 48px;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:40px;max-width:1280px;margin:0 auto;display:grid}.main:focus{outline:none}.main-profile{grid-template-areas:"profile intro""profile content";row-gap:0}.main-profile>.page-intro{grid-area:intro}.main-profile>.leftcol{grid-area:profile}.main-profile>.page-body{grid-area:content}.main-contact{max-width:960px;display:block}.center{min-width:0}.page-body>:first-child{margin-top:0}.leftcol{flex-direction:column;gap:18px;display:flex}.portrait{background:var(--color-ink);aspect-ratio:1;position:relative;overflow:hidden}.portrait:after{content:"";background-image:repeating-linear-gradient(0deg,#ffffff0a 0 1px,#0000 1px 4px);position:absolute;inset:0}.portrait .lbl{font-family:var(--font-serif);color:#f5f3ee66;font-style:italic;font-size:var(--fs-4xl);letter-spacing:-.02em;position:absolute;top:14px;left:16px}.portrait .cap{color:#f5f3eeb3;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex;position:absolute;bottom:12px;left:16px;right:16px}.portrait-photo{aspect-ratio:1122/1402}.portrait-photo:after{z-index:1;pointer-events:none;background:linear-gradient(0deg,#0c0c0ad1 0,#0c0c0a66 44px,#0000 90px)}.portrait-photo .cap{z-index:2;color:var(--color-surface)}.organization-portrait{background:var(--color-surface);border:1.5px solid var(--color-ink);aspect-ratio:auto;flex-direction:column;display:flex}.organization-portrait:after{display:none}.organization-portrait-frame{aspect-ratio:1;position:relative}.organization-portrait-image{object-fit:contain;padding:28px}.organization-portrait .cap{background:var(--color-dark);color:var(--color-on-dark);padding:10px 16px;position:static}.idcard{background:var(--color-surface);border:1.5px solid var(--color-ink);padding:20px 22px}.idcard-title{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);font-weight:var(--fw-bold);border-bottom:1px dashed var(--color-rule);margin:0 0 12px;padding-bottom:8px}.idcard .name{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-3xl);letter-spacing:-.02em;line-height:var(--lh-tight);margin:0 0 4px}.idcard .name .em{color:var(--color-accent);font-style:italic;font-weight:400}.idcard .alias{font-family:var(--font-serif);color:var(--color-muted);font-style:italic;font-size:var(--fs-sm);border-bottom:1px dashed var(--color-rule);margin-bottom:14px;padding-bottom:12px}.idcard .row{font-size:var(--fs-sm);color:var(--color-ink-2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;padding:6px 0;display:flex}.idcard .row strong,.idcard .row a{color:var(--color-ink);font-weight:var(--fw-bold);font-family:var(--font-mono);font-size:var(--fs-xs);text-align:right;overflow-wrap:anywhere;min-width:0;margin-left:auto}.idcard .row>span{flex-shrink:0}.idcard .row a{min-height:var(--tap);color:var(--color-accent);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.center h1{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:clamp(var(--fs-4xl), 4.5vw, var(--fs-6xl));line-height:var(--lh-tight);letter-spacing:-.025em;text-wrap:balance;max-width:none;margin:0 0 18px}.center h1 .em{color:var(--color-accent);font-style:italic;font-weight:400}.center .bio{font-family:var(--font-serif);font-size:var(--fs-lg);color:var(--color-ink-2);line-height:var(--lh-body);max-width:var(--measure);text-wrap:pretty;margin:0 0 18px}.center .bio strong{color:var(--color-ink);font-weight:var(--fw-semibold)}.organization-role{font-family:var(--font-serif);font-size:clamp(var(--fs-xl), 2.2vw, var(--fs-3xl));line-height:var(--lh-snug);color:var(--color-accent);text-wrap:pretty;margin:0 0 18px}.pq{border-left:3px solid var(--color-accent);margin:8px 0 22px;padding:12px 0 12px 20px}.pq p{font-family:var(--font-serif);font-style:italic;font-size:var(--fs-2xl);color:var(--color-ink);line-height:var(--lh-snug);margin:0 0 8px}.pq .cite{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;color:var(--color-muted);text-transform:uppercase}h2.sec{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);font-weight:var(--fw-bold);border-bottom:1px solid var(--color-rule);margin:24px 0 12px;padding-bottom:8px;scroll-margin-top:24px}.media{margin:0;padding:0;list-style:none}.media li{border-bottom:1px dashed var(--color-rule);grid-template-columns:76px minmax(0,1fr) auto;align-items:baseline;gap:16px;padding:11px 0;display:grid}.media li:hover .ttl{color:var(--color-accent)}.media .date{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;color:var(--color-accent);font-weight:var(--fw-bold)}.media .ttl{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-md);transition:color .15s}.media .ttl em{color:var(--color-muted);font-style:normal;font-size:var(--fs-sm);margin-top:2px;display:block}.media .ar{font-size:var(--fs-xs);letter-spacing:.14em;color:var(--color-ink-2);text-transform:uppercase;font-weight:var(--fw-semibold)}.media a.ar{min-height:var(--tap);align-items:center;display:inline-flex}.media-highlights li{grid-template-columns:28px minmax(0,1fr);gap:12px}.org-media li{padding:0;display:block}.org-row{grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:70px;padding:9px 0;display:grid}.org-mark{background:var(--color-surface);border:1px solid var(--color-rule);width:52px;height:52px;display:block;position:relative;overflow:hidden}.org-mark img{object-fit:contain;padding:5px}.org-row:hover .org-mark{border-color:var(--color-accent)}@media (max-width:600px){.org-row{grid-template-columns:44px minmax(0,1fr);gap:4px 12px;padding:16px 0}.org-row .org-mark{grid-row:1/3}.org-row .ar{grid-column:2}.org-mark{width:44px;height:44px}}.shp-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;margin:16px 0 24px;display:grid}.shp-photo{background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-rule);flex-direction:column;display:flex}.shp-photo img{aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--radius-sm) - 1px) calc(var(--radius-sm) - 1px) 0 0;flex:auto;width:100%;height:auto;display:block}.shp-photo-screenshot{grid-column:1/-1}.shp-photo-action{min-height:var(--tap);color:var(--color-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);align-items:center;padding:8px 12px;display:flex}.gallery-help{color:var(--color-muted);font-size:var(--fs-sm);margin:0 0 12px}@media (max-width:600px){.shp-grid{grid-template-columns:1fr}}.inquiry{gap:14px;display:grid}.inquiry-alt{min-height:var(--tap);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.14em;color:var(--color-accent);text-transform:uppercase;font-weight:var(--fw-bold);text-underline-offset:3px;align-items:center;padding:8px 0;text-decoration:underline;display:inline-flex}.contact-choices{border-bottom:1px solid var(--color-rule);flex-wrap:wrap;gap:0 24px;margin:0 0 20px;padding-bottom:12px;display:flex}.contact-choices p{font-size:var(--fs-sm);color:var(--color-muted);flex-basis:100%;margin:0}.contact-choices a{min-height:var(--tap);color:var(--color-accent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.foot{padding:22px max(var(--page-gutter), calc((100vw - 1280px) / 2 + var(--page-gutter)));font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted);border-top:1px solid var(--color-rule);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.foot strong{color:var(--color-ink)}@media (max-width:1100px){:root{--page-gutter:32px}}@media (max-width:900px){.pre-home>span:nth-child(2){flex-basis:100%;order:1}.main{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:24px}.main-profile{grid-template-areas:"intro""profile""content"}.main-profile>.leftcol{grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.portrait{width:100%;max-width:240px}.page-intro .bio:last-child{margin-bottom:0}}@media (max-width:600px){:root{--page-gutter:20px}.pre{letter-spacing:.12em}.pre>span:nth-child(2){flex-basis:100%;order:1}.main-profile>.leftcol{grid-template-columns:minmax(0,1fr)}.portrait{justify-self:center}.idcard{padding:18px}.media:not(.org-media):not(.media-highlights) li{grid-template-columns:minmax(0,1fr);gap:4px;padding:16px 0}.media .ttl{font-size:var(--fs-lg)}.media .ar{justify-self:start}}@media (max-width:360px){.center h1{font-size:var(--fs-4xl)}}@media (prefers-reduced-motion:reduce){.media .ttl{transition:none}}