:root{--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--bg: #FAFAF8;--bg-alt: #F1F0EA;--surface: #FFFFFF;--ink: #0E0E0C;--ink-muted: #56564F;--ink-subtle: #8C8C84;--ink-invert: #FAFAF8;--rule: #DFDED7;--gold: #A8842C;--gold-ink: #6E5112;--gold-ground: #F6EFDD;--gutter: clamp(1rem, 5vw, 3.5rem);--max: 1240px;--nav-h: 64px;--ease-out: cubic-bezier(.22, 1, .36, 1);--fast: .2s var(--ease-out);--medium: .35s var(--ease-out);--scroll-progress: 0;--hero-progress: 0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}em{font-style:italic}code{font-family:var(--font-mono);font-size:.86em;background:var(--bg-alt);padding:.1em .35em;word-break:break-word}::selection{background:var(--ink);color:var(--ink-invert)}:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.container{max-width:calc(var(--max) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}.eyebrow{font-family:var(--font-ui);font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-subtle)}.text-button{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem 0;border-bottom:1px solid currentColor;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);transition:opacity var(--fast)}.text-button span{transition:transform var(--medium)}.text-button:hover{opacity:.6}.text-button:hover span{transform:translate(3px)}.scroll-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--ink);transform-origin:0 50%;transform:scaleX(var(--scroll-progress));z-index:300;pointer-events:none}.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}[data-parallax],[data-parallax-x]{will-change:transform}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.scroll-progress{display:none}.reveal{opacity:1;transform:none;transition:none}}.navbar{position:fixed;inset:0 0 auto;z-index:200;isolation:isolate;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 var(--gutter);border-bottom:1px solid transparent;transition:border-color var(--medium)}.navbar:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:0;background:#fafaf8f0;backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px);transition:opacity var(--medium)}.navbar.is-scrolled:before{opacity:1}.navbar.is-scrolled{border-bottom-color:var(--rule)}.navbar-wordmark{font-family:var(--font-display);font-size:1.2rem;font-weight:500;white-space:nowrap;position:relative;z-index:2}.navbar-links{display:flex;gap:clamp(1.25rem,2.6vw,2.5rem);margin-left:auto}.navbar-links a{position:relative;padding-bottom:3px;font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.navbar-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right center;transition:transform var(--medium)}.navbar-links a:hover:after,.navbar-links a.is-active:after{transform:scaleX(1);transform-origin:left center}.navbar-end{display:flex;align-items:center;gap:1.5rem;position:relative;z-index:2}.lang-switch{display:flex;align-items:center}.lang-switch button{background:none;border:none;padding:.35rem .3rem;font:500 .7rem/1 var(--font-ui);letter-spacing:.14em;color:var(--ink-subtle);cursor:pointer;transition:color var(--fast)}.lang-switch button+button{border-left:1px solid var(--rule)}.lang-switch button:hover{color:var(--ink)}.lang-switch button.is-active{color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.navbar-toggle{display:none;position:relative;z-index:2;background:none;border:none;border-bottom:1px solid var(--ink);padding:.3rem 0;font:500 .7rem/1 var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:pointer}.navbar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:0 var(--gutter);background:var(--bg);opacity:0;visibility:hidden;transition:opacity var(--medium),visibility var(--medium)}.navbar-overlay.is-open{opacity:1;visibility:visible}.navbar-overlay a{display:flex;align-items:baseline;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--rule);font-family:var(--font-display);font-size:clamp(2rem,9vw,3rem);line-height:1.1}.navbar-overlay-index{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.16em;color:var(--ink-subtle)}@media (max-width: 760px){.navbar-links{display:none}.navbar-toggle{display:inline-block}}.hero{position:sticky;top:0;z-index:0;height:100vh;height:100svh;min-height:560px;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--nav-h) + 2rem) var(--gutter) 0;overflow:hidden;background:var(--bg)}.hero-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:flex-end;pointer-events:none}.hero-monogram{font-family:var(--font-display);font-size:clamp(16rem,42vw,40rem);font-weight:400;font-style:italic;line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--rule);margin-right:-.04em;transform:translateY(calc(var(--hero-progress) * -30vh));animation:fade-in 2s var(--ease-out) .4s both}.hero-inner{position:relative;width:100%;max-width:var(--max);margin:0 auto;padding-bottom:clamp(2rem,6vh,4rem);transform:translateY(calc(var(--hero-progress) * 22vh));opacity:calc(1 - var(--hero-progress) * 1.3)}.hero-eyebrow{margin-bottom:clamp(1rem,3vh,1.75rem);animation:rise-in 1s var(--ease-out) .1s both}.hero-title{font-family:var(--font-display);font-size:clamp(3.4rem,12.5vw,10.5rem);font-weight:400;line-height:.92;letter-spacing:-.035em}.hero-title em{font-weight:400}.hero-line{display:block;overflow:hidden;clip-path:inset(0 -.1em -.25em 0);padding-bottom:.04em}.hero-line>span{display:inline-block;animation:line-up 1.2s var(--ease-out) both}.hero-line:nth-child(1)>span{animation-delay:.15s}.hero-line:nth-child(2)>span{animation-delay:.3s;padding-left:clamp(1.5rem,9vw,9rem)}.hero-rule{display:block;width:min(280px,40%);height:1px;margin:clamp(1.5rem,4vh,2.5rem) 0 clamp(1.25rem,3vh,1.75rem);background:var(--ink);transform-origin:left center;animation:draw-rule 1.2s var(--ease-out) .7s both}.hero-lead{max-width:50ch;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.75;color:var(--ink-muted);animation:rise-in 1s var(--ease-out) .85s both}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem 2.25rem;margin-top:clamp(1.5rem,4vh,2.25rem);animation:rise-in 1s var(--ease-out) 1s both}.hero-meta{position:relative;width:calc(100% + 2 * var(--gutter));margin:0 calc(-1 * var(--gutter));padding:1rem var(--gutter);display:grid;grid-template-columns:1fr 1.4fr 1fr auto;gap:1.5rem;border-top:1px solid var(--ink);opacity:calc(1 - var(--hero-progress) * 2);animation:fade-in 1s var(--ease-out) 1.2s both}.hero-meta dt{font-size:.64rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-subtle)}.hero-meta dd{font-size:.85rem;margin-top:.2rem}.hero-scroll{text-align:right}.hero-scroll dd{animation:nudge 2.4s ease-in-out infinite}@keyframes line-up{0%{transform:translateY(105%)}to{transform:translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}}@keyframes draw-rule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (max-width: 760px){.hero-meta{grid-template-columns:1fr 1fr}.hero-meta>div:nth-child(2){grid-column:1 / -1;grid-row:1}.hero-scroll{display:none}}@media (prefers-reduced-motion: reduce){.hero-monogram,.hero-inner,.hero-meta{transform:none;opacity:1}.hero *,.hero-monogram{animation:none!important}}.page{position:relative;z-index:1;background:var(--bg);border-top:1px solid var(--rule)}.section{padding:clamp(5rem,12vw,9rem) 0;border-bottom:1px solid var(--rule)}.section-head{margin-bottom:clamp(2.5rem,6vw,4.5rem);max-width:62rem}.section-number{font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--ink-subtle);margin-bottom:1rem}.section-number:after{content:"";display:inline-block;width:3rem;height:1px;margin-left:.8rem;vertical-align:middle;background:var(--ink-subtle)}.section-title{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,5.5rem);font-weight:400;line-height:1;letter-spacing:-.03em}.section-intro{margin-top:1.5rem;max-width:52ch;font-size:1.05rem;color:var(--ink-muted)}.about-grid{display:grid;grid-template-columns:minmax(0,26rem) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}.about-portrait-frame{aspect-ratio:4 / 5;overflow:hidden;background:var(--bg-alt);border:1px solid var(--rule)}.about-portrait img{width:100%;height:116%;margin-top:-8%;object-fit:cover;filter:grayscale(1) contrast(1.05)}.about-portrait figcaption{margin-top:.8rem;font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-subtle)}.about-text{margin-top:clamp(1.75rem,3vw,2.5rem);max-width:62ch}.about-statement{font-family:var(--font-display);font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.2;letter-spacing:-.015em}.about-statement em{color:var(--ink-muted)}.about-text p{color:var(--ink-muted);line-height:1.8}.about-text p+p{margin-top:1.1rem}.about-text strong{color:var(--ink);font-weight:600}.about-text a{color:var(--ink);border-bottom:1px solid var(--rule);transition:border-color var(--fast)}.about-text a:hover{border-color:var(--ink)}.lessons{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(3.5rem,8vw,6rem);border-top:1px solid var(--ink)}.lesson{padding:1.75rem clamp(1rem,3vw,2.5rem) 0 0}.lesson+.lesson{padding-left:clamp(1rem,3vw,2.5rem);border-left:1px solid var(--rule)}.lesson-title{margin:.75rem 0 .6rem;font-family:var(--font-display);font-size:clamp(1.4rem,2.2vw,1.8rem);font-weight:400;line-height:1.2}.lesson-text{font-size:.95rem;line-height:1.75;color:var(--ink-muted)}.journey{margin-top:clamp(4rem,9vw,7rem);animation:fade-in .8s var(--ease-out) both}.journey-placeholder{min-height:400px}.journey-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid var(--ink)}.journey-grid{display:grid;grid-template-columns:1fr 17rem;gap:clamp(2rem,5vw,4rem);padding-top:2rem}.journey-chart{min-width:0;height:300px}.journey-stats{display:flex;flex-direction:column}.journey-stat{display:flex;flex-direction:column-reverse;padding:1.1rem 0;border-bottom:1px solid var(--rule)}.journey-stat:first-child{padding-top:0}.journey-stat dd{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.2rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums lining-nums}.journey-stat dt{margin-top:.5rem;font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-subtle)}.chart-tooltip{background:var(--surface);border:1px solid var(--ink);padding:.7rem .9rem}.chart-tooltip-year{font-size:.66rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-subtle)}.chart-tooltip-value{margin-top:.2rem;font-family:var(--font-display);font-size:1.1rem;color:var(--ink)}@media (max-width: 900px){.about-grid,.journey-grid{grid-template-columns:1fr}.journey-stats{flex-direction:row;gap:1.5rem}.journey-stat{flex:1;padding-top:0;border-bottom:none}.lessons{grid-template-columns:1fr}.lesson+.lesson{padding-left:0;border-left:none}.lesson{padding-bottom:1.75rem;border-bottom:1px solid var(--rule)}}@media (max-width: 560px){.journey-stats{flex-direction:column;gap:0}.journey-stat{padding:1rem 0;border-bottom:1px solid var(--rule)}}.project-list{border-top:1px solid var(--ink)}.project{display:grid;grid-template-columns:4.5rem 1fr minmax(160px,22rem);gap:clamp(1.5rem,4vw,4rem);padding:clamp(2.5rem,5vw,4rem) 0;border-bottom:1px solid var(--rule)}.project-index{font-family:var(--font-display);font-style:italic;font-size:1.1rem;color:var(--ink-subtle);padding-top:.3rem}.project-title{margin:.6rem 0 1.1rem;font-family:var(--font-display);font-size:clamp(2.2rem,5vw,4rem);font-weight:400;line-height:1;letter-spacing:-.03em;transition:transform var(--medium)}.project:hover .project-title{transform:translate(6px)}.project-description{max-width:62ch;color:var(--ink-muted);line-height:1.8}.project-note{max-width:62ch;margin-top:1.25rem;padding-left:1rem;border-left:2px solid var(--ink);font-family:var(--font-display);font-style:italic;font-size:1.05rem;line-height:1.6}.project-note a{font-family:var(--font-ui);font-style:normal;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--ink)}.project-tags{margin-top:1.4rem;font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-subtle)}.project-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:1.75rem}.project-links{display:flex;gap:2rem}.project-stats{display:flex;gap:1.25rem;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.project-plate{position:relative;aspect-ratio:4 / 5;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-alt);border:1px solid var(--rule)}.project-icon{width:46%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:14%;box-shadow:0 18px 40px #0e0e0c24;transition:scale .6s var(--ease-out)}.project:hover .project-icon{scale:1.06}.project-plate.is-private{background:transparent;border:1px dashed var(--ink-subtle)}.project-mark{font-family:var(--font-display);font-style:italic;font-size:clamp(1.6rem,3vw,2.4rem);color:var(--ink-subtle)}.project-private{align-self:center;font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-subtle)}@media (max-width: 900px){.project{grid-template-columns:3rem 1fr}.project-plate{grid-column:2;grid-row:1;aspect-ratio:16 / 9;max-width:30rem}.project-icon{width:auto;height:52%}}@media (max-width: 560px){.project{grid-template-columns:1fr;gap:1.25rem}.project-plate{grid-column:auto}.project-index{padding-top:0}}.interlude{position:relative;overflow:hidden;padding:clamp(6rem,16vw,12rem) 0;background:var(--bg-alt);border-bottom:1px solid var(--rule)}.interlude-track{position:absolute;inset:50% 0 auto;translate:0 -50%;white-space:nowrap;pointer-events:none}.interlude-track span{display:inline-block;padding-left:10vw;font-family:var(--font-display);font-style:italic;font-size:clamp(7rem,20vw,18rem);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px #D2D1C8}.interlude-figure{position:relative;text-align:center}.interlude blockquote{max-width:24ch;margin:0 auto;font-family:var(--font-display);font-size:clamp(1.8rem,4.4vw,3.6rem);line-height:1.2;letter-spacing:-.02em}.interlude figcaption{margin-top:2rem;font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-subtle)}.report .eyebrow{margin-bottom:1.5rem}.report-title{font-family:var(--font-display);font-size:clamp(2.4rem,6.4vw,5.4rem);font-weight:400;line-height:1.02;letter-spacing:-.03em;max-width:16ch}.report-title em{color:var(--ink-muted)}.report-standfirst{margin-top:2rem;max-width:58ch;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.7;color:var(--ink-muted)}.report-figures{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.report-figure{padding:2rem clamp(1rem,2vw,1.75rem) 2rem 0}.report-figure+.report-figure{padding-left:clamp(1rem,2vw,1.75rem);border-left:1px solid var(--rule)}.report-figure:nth-child(2){transition-delay:80ms}.report-figure:nth-child(3){transition-delay:.16s}.report-figure:nth-child(4){transition-delay:.24s}.report-figure-value{font-family:var(--font-display);font-size:clamp(2.8rem,5.5vw,4.6rem);line-height:1;letter-spacing:-.04em;font-variant-numeric:lining-nums}.report-figure.is-emphasis .report-figure-value{font-style:italic}.report-figure-label{margin-top:.9rem;font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.report-honour{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);margin-top:clamp(3.5rem,8vw,6rem);padding:clamp(1.75rem,4vw,2.75rem) clamp(1.25rem,3vw,2.5rem);background:var(--gold-ground);border-top:3px double var(--gold);border-bottom:3px double var(--gold)}.report-honour-mark{width:clamp(5.5rem,10vw,7.5rem);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,#D9B45A,var(--gold) 60%,#7F5E17);outline:1px solid var(--gold);outline-offset:5px;box-shadow:0 10px 24px #7f5e1740;color:var(--gold-ground)}.report-honour-mark span{font-family:var(--font-display);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.8rem)}.report-honour-title{margin-top:.6rem;font-family:var(--font-display);font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.25;max-width:30ch}.report-honour-links{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.report-honour .eyebrow{margin-bottom:0;color:var(--gold-ink);font-weight:600}.report-honour .text-button{color:var(--gold-ink)}@media (max-width: 900px){.report-figures{grid-template-columns:1fr 1fr}.report-figure:nth-child(3){border-left:none;padding-left:0}.report-figure:nth-child(n+3){border-top:1px solid var(--rule)}.report-honour{grid-template-columns:auto 1fr}.report-honour-links{grid-column:1 / -1;flex-direction:row;gap:2rem}}@media (max-width: 560px){.report-figures{grid-template-columns:1fr}.report-figure+.report-figure{border-left:none;padding-left:0;border-top:1px solid var(--rule)}.report-honour{grid-template-columns:1fr}.report-honour-links{flex-direction:column}}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.skill{padding:2rem clamp(1rem,3vw,2.5rem) 2.25rem 0;border-bottom:1px solid var(--rule)}.skill:not(:nth-child(3n+1)){padding-left:clamp(1rem,3vw,2.5rem);border-left:1px solid var(--rule)}.skill-title{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;margin-bottom:1rem}.skill-list{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem 0;color:var(--ink-muted)}.skill-list li:not(:last-child):after{content:"·";margin:0 .6rem;color:var(--ink-subtle)}@media (max-width: 900px){.skills-grid{grid-template-columns:1fr 1fr}.skill:not(:nth-child(3n+1)){padding-left:0;border-left:none}.skill:nth-child(2n){padding-left:clamp(1rem,3vw,2.5rem);border-left:1px solid var(--rule)}}@media (max-width: 560px){.skills-grid{grid-template-columns:1fr}.skill:nth-child(2n){padding-left:0;border-left:none}}.credential-list{list-style:none;border-top:1px solid var(--ink)}.credential{display:grid;grid-template-columns:3.5rem 1.4fr 1fr auto;align-items:center;gap:clamp(1rem,3vw,2.5rem);padding:1.25rem 0;border-bottom:1px solid var(--rule);transition:background var(--fast)}.credential:hover{background:var(--bg-alt)}.credential-img{width:3.5rem;height:3.5rem;object-fit:contain;filter:grayscale(1);transition:filter var(--medium)}.credential:hover .credential-img{filter:none}.credential-title{font-family:var(--font-display);font-size:clamp(1.15rem,2vw,1.5rem)}.credential-issuer{color:var(--ink-muted)}.credential-verify{font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}@media (max-width: 700px){.credential{grid-template-columns:3rem 1fr;gap:.25rem 1rem}.credential-img{width:3rem;height:3rem;grid-row:span 3}.credential-issuer,.credential-verify{grid-column:2}}.contact{padding:clamp(5rem,12vw,9rem) 0 clamp(3rem,7vw,5rem);background:var(--ink);color:var(--ink-invert)}.contact .section-number{color:#8c8c84}.contact .section-number:after{background:#56564f}.contact-title{font-family:var(--font-display);font-size:clamp(3rem,10vw,8.5rem);font-weight:400;line-height:.95;letter-spacing:-.035em}.contact-title em{color:#a9a9a1}.contact-intro{margin-top:1.75rem;font-size:1.1rem;color:#a9a9a1}.contact-links{list-style:none;margin-top:clamp(3rem,7vw,5rem);border-top:1px solid var(--ink-invert)}.contact-links a{display:grid;grid-template-columns:1fr 1fr auto;align-items:baseline;gap:1rem;padding:1.25rem 0;border-bottom:1px solid #2E2E2A;transition:padding var(--medium)}.contact-links a:hover{padding-left:.75rem}.contact-link-name{font-family:var(--font-display);font-size:clamp(1.5rem,3.4vw,2.6rem);line-height:1.1}.contact-link-handle{font-size:.9rem;color:#8c8c84}.contact-link-arrow{font-size:1.25rem;transition:transform var(--medium)}.contact-links a:hover .contact-link-arrow{transform:translate(3px,-3px)}.contact :focus-visible{outline-color:var(--ink-invert)}@media (max-width: 560px){.contact-links a{grid-template-columns:1fr auto}.contact-link-handle{display:none}}.footer{background:var(--ink);color:#8c8c84;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-top:1.75rem;padding-bottom:1.75rem;border-top:1px solid #2E2E2A}@media (pointer: coarse){.text-button{padding:.65rem 0}.navbar-toggle{padding:.75rem 0 .35rem}.lang-switch button{padding:.75rem .5rem}}@media (max-width: 900px){.about-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}@media (max-width: 640px){:root{--nav-h: 56px}body{font-size:15px}.section{padding:4rem 0}.section-head{margin-bottom:2rem}.section-number{margin-bottom:.6rem}.section-title{font-size:clamp(2.3rem,11vw,3rem)}.section-intro{margin-top:1rem;font-size:1rem}.hero{min-height:520px;padding-top:calc(var(--nav-h) + 1rem)}.hero-title{font-size:clamp(3.1rem,16vw,4.6rem)}.hero-line:nth-child(2)>span{padding-left:1.25rem}.hero-rule{margin:1.5rem 0 1.1rem}.hero-lead{font-size:1rem;line-height:1.65}.hero-actions{gap:.25rem 1.75rem;margin-top:1.25rem}.hero-meta{grid-template-columns:1fr;padding-top:.8rem;padding-bottom:.9rem}.hero-meta>div:not(:nth-child(2)){display:none}.hero-monogram{font-size:70vw;opacity:.8}.about-grid{grid-template-columns:1fr;gap:1.75rem}.about-portrait{max-width:22rem}.about-statement{font-size:1.6rem}.about-text{margin-top:1.25rem}.lessons{margin-top:2.5rem}.lesson{padding:1.25rem 0}.journey{margin-top:3rem}.journey-chart{height:220px}.journey-grid{padding-top:1.25rem;gap:1.5rem}.journey-stats{flex-direction:row;gap:0}.journey-stat{flex:1;padding:0 .75rem;border-bottom:none}.journey-stat:first-child{padding-left:0}.journey-stat+.journey-stat{border-left:1px solid var(--rule)}.journey-stat dd{font-size:1.7rem}.journey-stat dt{font-size:.56rem;letter-spacing:.12em}.project{grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:2.5rem 0}.project-plate{grid-column:1;grid-row:1;width:3.5rem;max-width:none;aspect-ratio:1;background:none;border:none;overflow:visible}.project-icon{width:100%;height:auto;box-shadow:0 6px 16px #0e0e0c24;transform:none!important}.project-index{grid-column:2;grid-row:1;padding-top:0}.project-plate.is-private{border-radius:14%}.project-mark{font-size:.7rem}.project-body{grid-column:1 / -1}.project-title{font-size:2.3rem;margin:.5rem 0 .9rem}.project:hover .project-title{transform:none}.project-note{font-size:1rem}.project-footer{margin-top:1.25rem}.project-links{gap:1.5rem}.interlude{padding:4.5rem 0}.interlude blockquote{font-size:1.6rem}.interlude figcaption{margin-top:1.5rem;line-height:1.7}.report-title{font-size:clamp(2.1rem,10vw,2.8rem)}.report-standfirst{margin-top:1.25rem;font-size:1rem}.report-figures{grid-template-columns:1fr 1fr}.report-figure,.report-figure+.report-figure{padding:1.25rem .75rem 1.25rem 0;border-left:none;border-top:none}.report-figure:nth-child(2n){padding-left:.75rem;border-left:1px solid var(--rule)}.report-figure:nth-child(n+3){border-top:1px solid var(--rule)}.report-figure-value{font-size:clamp(2rem,10vw,2.6rem)}.report-figure-label{font-size:.58rem;letter-spacing:.12em}.report-honour{grid-template-columns:auto 1fr;gap:1rem 1.25rem;margin-top:2.5rem;padding:1.5rem 1.1rem}.report-honour-mark{width:4rem;outline-offset:3px}.report-honour-mark span{font-size:1rem}.report-honour-title{font-size:1.2rem}.report-honour-links{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap;gap:0 1.75rem}.skill,.skill:nth-child(2n){padding:1.25rem 0}.skill-title{font-size:1.4rem;margin-bottom:.6rem}.contact{padding:4rem 0 2.5rem}.contact-title{font-size:clamp(2.8rem,15vw,4rem)}.contact-intro{font-size:1rem;margin-top:1.25rem}.contact-links{margin-top:2.5rem}.contact-links a{padding:1rem 0}.contact-link-name{font-size:1.6rem}}
