:root{--color-paper:oklch(97.5% .006 85);--color-ink:oklch(19% .012 60);--color-ink-muted:oklch(44% .012 60);--color-rule:oklch(87% .008 80);--color-button-hover:oklch(32% .014 60);--color-focus:var(--color-ink);--color-sweater:#252227;--color-on-sweater:oklch(95% .01 85);--color-on-sweater-muted:oklch(76% .01 85);--font-display:"Newsreader", "Iowan Old Style", Georgia, serif;--font-body:"Instrument Sans", ui-sans-serif, system-ui, sans-serif;--text-xs:.8125rem;--text-sm:.9375rem;--text-md:1.0625rem;--text-lg:1.375rem;--text-fact:2.5rem;--text-name:min(8.5vw, 14svh);--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--page-gutter:clamp(20px, 4vw, 64px);--radius-pill:999px;--rule-hair:1px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.55, 0, 1, .45);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.15s;--dur-base:.6s;--dur-slow:.9s}*,:before,:after{box-sizing:border-box}@media (width>=1800px){html{font-size:112.5%}}@media (width>=2400px){html{font-size:137.5%}}html,body{background:var(--color-paper);color:var(--color-ink);margin:0;overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5}a{color:inherit}a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.hero{--hero-height:max(100svh, 680px);--portrait-height:min(72svh, 50vw);--portrait-width:calc(var(--portrait-height) * 1.3933);--face-y:calc(var(--hero-height) - var(--portrait-height) * .6921);--head-half:calc(var(--portrait-width) * .19 + var(--space-2xl));--side:min(24rem, calc(50% - var(--head-half) - var(--page-gutter)));height:var(--hero-height);isolation:isolate;position:relative;overflow:clip}.hero__nav,.hero__name,.hero__about,.hero__facts{z-index:1}.hero__nav{inset:var(--space-lg) var(--page-gutter) auto;font-size:var(--text-sm);justify-content:space-between;align-items:baseline;display:flex;position:absolute}.hero__monogram{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:.02em;font-weight:600;line-height:1}.hero__contact{text-decoration:underline;text-decoration-thickness:var(--rule-hair);text-underline-offset:.3em;white-space:nowrap;font-weight:500}.hero__contact:hover{text-decoration-thickness:2px}.hero__name{inset-inline:0;bottom:calc(var(--portrait-height) + var(--space-md));font-family:var(--font-display);font-size:var(--text-name);font-variation-settings:"opsz" 72;letter-spacing:-.035em;text-align:center;white-space:nowrap;animation:rise var(--dur-slow) var(--ease-out) both;margin:0;font-style:normal;font-weight:600;line-height:1.05;position:absolute}.hero__about,.hero__facts{top:var(--face-y);width:var(--side);animation:fade var(--dur-base) var(--ease-out) .25s both;margin:0;position:absolute;translate:0 -50%}.hero__about{left:var(--page-gutter)}.hero__facts{right:var(--page-gutter);text-align:right}.hero__role{font-family:var(--font-display);font-size:var(--text-lg);font-variation-settings:"opsz" 24;margin:0;font-weight:600;line-height:1.25}.hero__intro{margin:var(--space-sm) 0 0;color:var(--color-ink-muted);text-wrap:pretty;line-height:1.6}.hero__actions{align-items:center;gap:var(--space-md) var(--space-xl);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.button{min-height:48px;padding:0 var(--space-lg);border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-button-hover)}.button:active{transform:translateY(1px)}.text-link{font-size:var(--text-sm);white-space:nowrap;font-weight:500;text-decoration:none}.text-link:hover{text-underline-offset:.3em;text-decoration:underline}.hero__fact{gap:var(--space-2xs);padding-block:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule);flex-direction:column-reverse;display:flex}.hero__fact:first-child{border-top:0;padding-top:0}.hero__fact dd{font-family:var(--font-display);font-size:var(--text-fact);font-variation-settings:"opsz" 72;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;margin:0;font-weight:500;line-height:1}.hero__fact dt{color:var(--color-ink-muted);font-size:var(--text-xs);line-height:1.35}.hero__portrait{bottom:0;left:calc(50% - var(--portrait-width) * .4981);z-index:0;width:var(--portrait-width);height:var(--portrait-height);pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease-out);display:block;position:absolute}.hero__portrait[data-ready]{opacity:1}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes fade{0%{opacity:0}}@media (width<=1099px),(aspect-ratio<=1){.hero{height:auto;padding-top:var(--space-lg);text-align:center;flex-direction:column;display:flex}.hero__nav,.hero__name,.hero__about,.hero__facts{position:static;translate:none}.hero__nav{padding-inline:var(--page-gutter);text-align:start}.hero__name{margin-top:var(--space-3xl);padding-inline:var(--page-gutter);white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:clamp(3.5rem,18vw,7.5rem);line-height:.95}.hero__name span{display:block}.hero__about{width:auto;max-width:36rem;margin:var(--space-lg) auto 0;padding-inline:var(--page-gutter)}.hero__actions{justify-content:center}.hero__portrait{width:112vw;height:auto;margin:var(--space-2xl) 0 0 -6vw;flex:none;order:1;position:relative;bottom:auto;left:auto}.hero__facts{gap:var(--space-md);width:auto;padding:var(--space-xl) var(--page-gutter) var(--space-2xl);background:var(--color-sweater);color:var(--color-on-sweater);text-align:center;order:2;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.hero__fact,.hero__fact:first-child{border:0;padding:0}.hero__fact dd{font-size:clamp(1.625rem, 7vw, var(--text-fact))}.hero__fact dt{color:var(--color-on-sweater-muted)}}@media (prefers-reduced-motion:reduce){.hero__name,.hero__about,.hero__facts{animation:fade var(--dur-fast) linear both}.hero__portrait,.button{transition-duration:var(--dur-fast)}.button:active{transform:none}}
