:root{--paper:#f3efe7;--paper-raised:#fbf9f4;--paper-deep:#e9e3d8;--ink:#172126;--ink-soft:#46545a;--line:#cfc8bb;--line-strong:#9da8a7;--teal:#0d6670;--teal-dark:#084b53;--rust:#9a4937;--navy:#132b36;--navy-soft:#1d3a46;--white:#fffefa;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--measure:68ch;--shell:min(1180px, calc(100% - 2rem));--shadow:0 24px 60px #17212617;--shadow-sharp:10px 10px 0 #0d66701f;color-scheme:light;font-synthesis:none}*,:before,:after{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scroll-behavior:smooth;background:var(--paper)}body{background:radial-gradient(circle at 82% 6%, #0d667017, transparent 28rem), linear-gradient(90deg, transparent 0, transparent calc(100% - 1px), #17212606 calc(100% - 1px)), var(--paper);min-width:320px;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;background-size:auto,min(9vw,8rem) 100%,auto;margin:0;font-size:1rem;line-height:1.68}img,svg{max-width:100%;display:block}img{height:auto}a{color:var(--teal-dark);text-underline-offset:.16em;text-decoration-thickness:.08em}a:hover{color:var(--rust)}:focus-visible{outline:3px solid var(--rust);outline-offset:4px;border-radius:.15rem}::selection{color:var(--ink);background:#cce2df}h1,h2,h3{font-family:var(--serif);letter-spacing:-.025em;text-wrap:balance;margin-block:0;font-weight:500;line-height:1.08}h1{font-size:clamp(2.8rem,7.5vw,6.6rem)}h2{font-size:clamp(2rem,4.3vw,3.75rem)}h3{font-size:clamp(1.35rem,2.2vw,1.85rem)}p,ul,ol,dl,figure,blockquote{margin-block:0}p+p,p+ul,p+ol,ul+p,ol+p{margin-top:1rem}ul,ol{padding-left:1.2rem}li+li{margin-top:.45rem}code{font-family:var(--mono);font-size:.92em}.skip-link{z-index:100;background:var(--ink);color:var(--white);padding:.7rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.shell{width:var(--shell);margin-inline:auto}.site-header{z-index:10;backdrop-filter:blur(16px);background:#f3efe7eb;border-bottom:1px solid #17212624;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1.25rem;min-height:5.25rem;display:flex}.site-mark{color:var(--ink);align-items:center;gap:.75rem;font-weight:760;line-height:1.1;text-decoration:none;display:inline-flex}.site-mark-symbol{border:1px solid var(--teal);background:var(--paper-raised);width:2.65rem;height:2.65rem;color:var(--teal-dark);font-family:var(--serif);letter-spacing:.04em;border-radius:.35rem;place-items:center;font-size:.95rem;font-weight:700;display:grid;box-shadow:4px 4px #0d66701a}.site-nav ul{align-items:center;gap:clamp(.25rem,2vw,1.2rem);margin:0;padding:0;list-style:none;display:flex}.site-nav li+li{margin:0}.site-nav a{min-height:2.75rem;color:var(--ink-soft);border-bottom:2px solid #0000;place-items:center;padding:.25rem .45rem;font-size:.92rem;font-weight:680;text-decoration:none;display:grid}.site-nav a[aria-current=page]{border-color:var(--teal);color:var(--ink)}main{display:block}.hero{grid-template-columns:minmax(0,1.42fr) minmax(17rem,.58fr);align-items:center;gap:clamp(2.5rem,7vw,6.5rem);min-height:calc(100svh - 5.25rem);padding-block:clamp(4rem,10vw,8.5rem);display:grid}.eyebrow{color:var(--teal-dark);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.75rem;margin-bottom:1.2rem;font-size:.78rem;font-weight:800;line-height:1.4;display:flex}.eyebrow:before{content:"";background:currentColor;width:2.75rem;height:1px}.hero h1{max-width:11.5ch}.hero-intro{max-width:62ch;color:var(--ink-soft);margin-top:1.7rem;font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.62}.hero-preprint{border:1px solid var(--line-strong);border-left:3px solid var(--teal);background:#fbf9f4b8;max-width:64ch;margin-top:1.5rem;padding:1rem 1.1rem}.hero-preprint-label{color:var(--teal-dark);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:850}.hero-preprint-title{font-family:var(--serif);margin-top:.4rem;font-size:clamp(1.05rem,1.8vw,1.32rem);font-weight:600;line-height:1.35}.hero-preprint-meta{color:var(--ink-soft);margin-top:.35rem;font-size:.78rem}.hero-preprint .text-link{min-height:2.5rem;margin-top:.35rem;font-size:.88rem}.hero-focus{border-left:3px solid var(--rust);max-width:62ch;margin-top:1.15rem;padding-left:1rem}.hero-focus strong{color:var(--ink)}.link-row{flex-wrap:wrap;gap:.7rem;margin-top:2rem;display:flex}.hero-index{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2.5rem,5vw,4rem);display:grid}.hero-index>div{padding:.9rem .9rem .9rem 0}.hero-index>div+div{border-left:1px solid var(--line);padding-left:.9rem}.hero-index dt{color:var(--ink-soft);letter-spacing:.11em;text-transform:uppercase;font-size:.67rem;font-weight:800}.hero-index dd{font-family:var(--serif);margin:.3rem 0 0;font-size:.96rem;line-height:1.35}.button-link,.text-link{justify-content:center;align-items:center;gap:.45rem;min-height:2.9rem;font-weight:760;text-decoration:none;display:inline-flex}.button-link{border:1px solid var(--ink);background:var(--ink);color:var(--white);padding:.55rem 1rem}.button-link:hover{border-color:var(--teal-dark);background:var(--teal-dark);color:var(--white)}.button-link.secondary{color:var(--ink);background:0 0}.button-link.secondary:hover{background:var(--paper-raised);color:var(--rust)}.text-link{color:var(--teal-dark);justify-content:flex-start}.portrait-frame{border:1px solid var(--ink);background:var(--paper-raised);max-width:25rem;box-shadow:var(--shadow-sharp);margin-inline:auto;padding:0;position:relative}.portrait-frame:before{border-top:1px solid var(--teal);border-right:1px solid var(--teal);content:"";pointer-events:none;width:45%;height:45%;position:absolute;top:-1.15rem;right:-1.15rem}.portrait-frame picture,.portrait-frame img{width:100%}.portrait-frame img{aspect-ratio:3/4;object-fit:cover;object-position:center 34%}.portrait-caption{border-top:1px solid var(--ink);color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;padding:.8rem .9rem;font-size:.68rem;font-weight:750;line-height:1.4;display:flex}.section{border-top:1px solid var(--line);padding-block:clamp(4.5rem,9vw,8.5rem)}.section-heading{grid-template-columns:minmax(10rem,.42fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,5rem);margin-bottom:clamp(2.25rem,5vw,4.5rem);display:grid}.section-heading p{max-width:var(--measure);color:var(--ink-soft);font-size:1.08rem}.compact-heading{margin-bottom:clamp(2rem,4vw,3.5rem)}.section-kicker{color:var(--teal-dark);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:800}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.work-card{border:1px solid var(--line);border-top:3px solid var(--teal);background:#fbf9f4b3;flex-direction:column;min-height:27rem;padding:clamp(1.5rem,4vw,2.5rem);display:flex}.work-card.is-lead{background:var(--navy);color:var(--white)}.work-card.is-lead .card-meta,.work-card.is-lead .card-description,.work-card.is-lead .card-status,.work-card.is-lead .tag-list{color:#d6e0df}.work-card.is-lead .card-link{color:#c9e4e3}.work-card--thesis{border-top-color:var(--rust)}.card-topline{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:3.2rem;display:flex}.card-number{font-family:var(--serif);font-size:1.1rem}.card-meta{color:var(--ink-soft);letter-spacing:.08em;text-align:right;text-transform:uppercase;font-size:.76rem;font-weight:760}.work-card h3{max-width:18ch}.card-description{max-width:58ch;color:var(--ink-soft);margin-top:1.2rem}.card-status{max-width:54ch;color:var(--teal-dark);letter-spacing:.07em;text-transform:uppercase;margin-top:1.35rem;font-size:.74rem;font-weight:800;line-height:1.5}.card-footer{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:auto;padding-top:2.5rem;display:flex}.tag-list{color:var(--ink-soft);flex-wrap:wrap;gap:.45rem .8rem;margin:0;padding:0;font-size:.78rem;font-weight:650;list-style:none;display:flex}.tag-list li+li{margin:0}.tag-list li:not(:last-child):after{color:var(--line-strong);content:"·";margin-left:.8rem}.card-link{align-items:center;gap:.45rem;min-height:2.75rem;font-weight:760;display:inline-flex}.method-section{background:#fbf9f4b8}.principles-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;display:grid}.principle{border-top:2px solid var(--teal);background:var(--paper);min-height:15rem;padding:1.35rem 1.2rem 1.2rem}.principle-number{color:var(--rust);font-family:var(--mono);letter-spacing:.08em;margin-bottom:3.4rem;font-size:.72rem;font-weight:800}.principle h3{font-family:var(--sans);letter-spacing:-.01em;font-size:1.05rem;font-weight:800}.principle p{color:var(--ink-soft);margin-top:.8rem}.principle .principle-number{color:var(--rust);margin-top:0}.research-throughline{background:var(--navy);color:var(--white);position:relative;overflow:hidden}.research-throughline:after{content:"";pointer-events:none;background:#fffefa1f;width:1px;height:100%;position:absolute;top:0;right:max(1rem,50vw - 590px)}.research-throughline .section-kicker,.research-throughline .data-label{color:#9fd0d1}.research-throughline .section-heading>p,.research-throughline .plate-copy>p,.research-throughline figcaption,.research-throughline .trajectory-list p{color:#d5dfdf}.research-throughline .plate-copy>.data-label{color:#9fd0d1}.research-throughline a{color:#bde0df}.research-throughline a:hover{color:#ffd1c5}.research-throughline :focus-visible,.work-card.is-lead :focus-visible{outline-color:#ffd1c5}.scientific-plate{grid-template-columns:minmax(0,1.55fr) minmax(17rem,.45fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);display:grid}.plate-figure{background:var(--white);padding:clamp(.45rem,1vw,.8rem);box-shadow:12px 12px #fffefa14}.plate-figure img{width:100%}.plate-figure figcaption{color:#3f4b50;padding:.85rem .35rem .2rem;font-size:.78rem;line-height:1.55}.plate-figure figcaption a{color:var(--teal-dark)}.plate-copy{padding-top:.25rem}.data-label,.stage-number{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;font-size:.7rem;font-weight:800;line-height:1.5}.plate-copy h3{margin-top:.8rem;font-size:clamp(1.9rem,3.2vw,3rem)}.trajectory-list{gap:0;margin:2rem 0 0;padding:0;list-style:none;display:grid}.trajectory-list li{border-top:1px solid #fffefa33;grid-template-columns:2.2rem 1fr;gap:.7rem;padding-block:1rem;display:grid}.trajectory-list li+li{margin:0}.trajectory-list span{color:#9fd0d1;font-family:var(--mono);font-size:.7rem;font-weight:800}.trajectory-list strong{font-size:.92rem;display:block}.trajectory-list p{margin-top:.25rem;font-size:.86rem;line-height:1.55}.plate-copy .text-link{margin-top:1.4rem}.page-header{padding-block:clamp(4.5rem,10vw,8rem) clamp(3.5rem,7vw,6rem)}.page-header h1{max-width:15ch;font-size:clamp(2.7rem,7vw,5.8rem)}.page-lede{max-width:68ch;color:var(--ink-soft);margin-top:1.75rem;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.62}.project-list{gap:1rem;padding-bottom:clamp(4rem,9vw,8rem);display:grid}.project-row{border-top:1px solid var(--line-strong);grid-template-columns:4rem minmax(0,1fr) minmax(13rem,.42fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(1.5rem,4vw,2.7rem);display:grid}.project-row:last-child{border-bottom:1px solid var(--line-strong)}.project-row-number{font-family:var(--serif);font-size:1.35rem}.project-row h2{font-size:clamp(1.8rem,3vw,2.75rem)}.project-row p{color:var(--ink-soft);margin-top:1rem}.project-row-aside{flex-direction:column;align-items:flex-start;gap:1.2rem;display:flex}.status{color:var(--teal-dark);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.78rem;font-weight:800;line-height:1.45;display:inline-flex}.status:before{content:"";background:0 0;border:1px solid;border-radius:50%;flex:none;width:.55rem;height:.55rem}.project-hero{padding-block:clamp(4.5rem,10vw,8rem) 3rem}.project-hero h1{max-width:16ch;font-size:clamp(2.7rem,7vw,5.6rem)}.project-hero--preprint h1{max-width:22ch;font-size:clamp(2.55rem,5.4vw,4.65rem)}.project-deck{max-width:70ch;color:var(--ink-soft);margin-top:1.75rem;font-size:clamp(1.12rem,2vw,1.38rem)}.project-meta{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:3.5rem;display:grid}.project-meta>div{background:var(--paper-raised);padding:1.25rem}.project-meta dt{color:var(--ink-soft);letter-spacing:.11em;text-transform:uppercase;font-size:.72rem;font-weight:800}.project-meta dd{margin:.45rem 0 0;font-weight:720;line-height:1.45}.project-body{border-top:1px solid var(--line);grid-template-columns:minmax(13rem,.32fr) minmax(0,.68fr);gap:clamp(2rem,7vw,7rem);padding-block:clamp(3.5rem,8vw,7rem);display:grid}.project-body--without-links{display:block}.project-body--without-links .prose{margin-inline:auto}.visual-story{background:var(--paper-deep);padding-top:clamp(4rem,8vw,7rem)}.visual-story-heading{grid-template-columns:minmax(15rem,.48fr) minmax(0,.52fr);gap:clamp(2rem,7vw,7rem);margin-bottom:clamp(3rem,7vw,6rem);display:grid}.visual-story-heading h2{max-width:14ch;margin-top:.65rem}.visual-story-heading>p{max-width:var(--measure);color:var(--ink-soft);font-size:1.08rem}.story-stages{display:grid}.story-stage{border-top:1px solid var(--line-strong);grid-template-columns:minmax(14rem,.28fr) minmax(0,.72fr);align-items:start;gap:clamp(2rem,5vw,5rem);padding-block:clamp(2.5rem,6vw,5rem);display:grid}.story-stage:last-child{border-bottom:1px solid var(--line-strong)}.stage-number{color:var(--rust)}.story-copy h3{margin-top:.8rem;font-size:clamp(1.7rem,3vw,2.65rem)}.story-copy>p:last-child{color:var(--ink-soft);margin-top:1rem}.story-figure{border:1px solid var(--line);background:var(--white);padding:clamp(.45rem,1vw,.8rem);box-shadow:9px 9px #132b3614}.story-figure img{width:100%}.story-figure figcaption{color:var(--ink-soft);padding:.9rem .35rem .2rem;font-size:.8rem;line-height:1.6}.figure-credit{max-width:90ch;color:var(--ink-soft);margin-top:1.25rem;font-size:.78rem}.project-sidebar{border-top:2px solid var(--teal);align-self:start;padding:1.25rem 0}.project-sidebar h2{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.project-links{gap:.35rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.project-links li+li{margin:0}.project-links a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:2.75rem;font-weight:680;text-decoration:none;display:flex}.prose{max-width:var(--measure);font-size:1.04rem}.prose>*+*{margin-top:1.25rem}.prose h2{margin-top:3.4rem;font-size:clamp(1.75rem,3vw,2.65rem)}.prose h3{margin-top:2.4rem}.prose strong{color:var(--ink)}.prose blockquote,.boundary-note{border-left:3px solid var(--rust);color:var(--ink-soft);background:#9a49370f;padding:1.25rem 1.4rem}.output-list{gap:1rem;padding-bottom:clamp(4.5rem,9vw,8rem);display:grid}.apps-header h1{max-width:13ch}.apps-boundary{margin-bottom:clamp(3rem,7vw,5.5rem)}.apps-boundary h2{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem;font-weight:850}.apps-boundary p{max-width:80ch;margin-top:.7rem}.app-list{gap:clamp(3rem,8vw,7rem);padding-bottom:clamp(4.5rem,10vw,9rem);display:grid}.app-card{border-top:2px solid var(--teal);grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:start;gap:clamp(1.5rem,5vw,4.5rem);padding-top:1.5rem;display:grid}.app-card--perturbed{border-top-color:var(--rust)}.app-preview{border:1px solid var(--line);background:var(--paper-raised);box-shadow:var(--shadow-sharp);margin:0;padding:.55rem}.app-preview img{aspect-ratio:16/9;object-fit:cover;object-position:top left;background:var(--navy);width:100%}.app-preview figcaption{color:var(--ink-soft);padding:.75rem .25rem .15rem;font-size:.76rem}.app-card-copy{padding-top:.35rem}.app-card-copy h2{margin-top:.8rem;font-size:clamp(2rem,4vw,3.35rem)}.app-card-copy>p:not(.app-index,.wake-note){color:var(--ink-soft);margin-top:1.2rem}.app-index{color:var(--teal-dark);font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:800}.app-card--perturbed .app-index{color:var(--rust)}.app-facts{border-top:1px solid var(--line);gap:0;margin:1.8rem 0 0;padding:0;list-style:none;display:grid}.app-facts li{border-bottom:1px solid var(--line);color:var(--ink-soft);padding-block:.8rem;font-size:.9rem}.wake-note{color:var(--ink-soft);margin-top:1rem;font-size:.8rem}.app-responsibility,.app-teaser-section{background:var(--paper-deep)}.app-teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem;display:grid}.app-teaser-card{border-top:2px solid var(--teal);background:var(--paper-raised);flex-direction:column;align-items:flex-start;min-height:18rem;padding:clamp(1.4rem,3vw,2.2rem);display:flex}.app-teaser-card:last-child{border-top-color:var(--rust)}.app-teaser-card h3{margin-top:1.2rem;font-size:clamp(1.6rem,3vw,2.3rem)}.app-teaser-card p:not(.section-kicker){color:var(--ink-soft);margin-top:1rem}.app-teaser-card .text-link{margin-top:auto;padding-top:1.5rem}.output-item{border-top:1px solid var(--line-strong);grid-template-columns:minmax(9rem,.25fr) minmax(0,.75fr);gap:clamp(1.25rem,5vw,5rem);padding-block:clamp(1.75rem,4vw,3rem);display:grid}.output-item:last-child{border-bottom:1px solid var(--line-strong)}.output-type{color:var(--teal-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:800}.output-item h2{font-size:clamp(1.6rem,3vw,2.4rem)}.output-item p{max-width:var(--measure);color:var(--ink-soft);margin-top:.9rem}.output-item--preprint{border-top:3px solid var(--teal)}.output-citation{font-weight:680;color:var(--ink)!important}.output-note{border-left:2px solid var(--rust);padding-left:.85rem;font-size:.9rem}.about-grid{grid-template-columns:minmax(16rem,.37fr) minmax(0,.63fr);gap:clamp(2.5rem,8vw,8rem);padding-bottom:clamp(4.5rem,10vw,9rem);display:grid}.about-grid .portrait-frame{margin:0}.about-copy{max-width:var(--measure);font-size:1.08rem}.personal-note{color:var(--ink-soft);margin-top:2rem;font-size:.96rem}.fact-list{border-top:1px solid var(--line);grid-template-columns:10rem minmax(0,1fr);margin-top:3rem;display:grid}.fact-list dt,.fact-list dd{border-bottom:1px solid var(--line);margin:0;padding-block:1rem}.fact-list dt{color:var(--ink-soft);letter-spacing:.09em;text-transform:uppercase;font-size:.76rem;font-weight:800}.fact-list dd{font-weight:620}.cv-page{padding-block:clamp(3.5rem,7vw,6rem)}.cv-header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:2rem;display:flex}.cv-header h1{font-size:clamp(2.5rem,6vw,4.5rem)}.cv-contact{text-align:right;font-style:normal}.cv-contact a{display:block}.about-copy a,.cv-contact a,.output-item a,.project-links a,.footer-links a{overflow-wrap:anywhere}.cv-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(8rem,.24fr) minmax(0,.76fr);gap:clamp(1.5rem,5vw,4rem);padding-block:2rem;display:grid}.cv-section>h2{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;font-size:.82rem;font-weight:850}.cv-entry+.cv-entry{margin-top:1.8rem}.cv-entry h3{font-family:var(--sans);letter-spacing:0;font-size:1.05rem;font-weight:800;line-height:1.35}.cv-entry-meta{color:var(--teal-dark);margin-top:.3rem;font-size:.86rem;font-weight:700}.cv-entry p,.cv-entry ul{color:var(--ink-soft);margin-top:.65rem}.print-note{border:1px solid var(--line);background:var(--paper-raised);color:var(--ink-soft);margin-bottom:2rem;padding:1rem}.site-footer{border-top:1px solid var(--line);padding-block:3rem}.footer-inner{grid-template-columns:1fr auto;align-items:end;gap:2rem;display:grid}.footer-title{font-family:var(--serif);font-size:clamp(1.55rem,3vw,2.25rem)}.footer-note{max-width:55ch;color:var(--ink-soft);margin-top:.55rem;font-size:.9rem}.footer-links{flex-wrap:wrap;justify-content:flex-end;gap:.8rem 1.2rem;display:flex}.footer-links a{font-weight:680}.error-page{text-align:center;place-items:center;min-height:70svh;display:grid}.error-page h1{font-size:clamp(4rem,14vw,9rem)}.error-page p{max-width:50ch;color:var(--ink-soft);margin:1rem auto 0}@media (width<=860px){.hero,.section-heading,.visual-story-heading,.scientific-plate,.story-stage,.project-body,.about-grid,.app-card{grid-template-columns:1fr}.hero{min-height:auto}.hero-copy{order:1}.hero .portrait-frame{order:2;max-width:22rem;margin-left:0}.section-heading{gap:1rem}.project-row{grid-template-columns:3rem minmax(0,1fr)}.project-row-aside{grid-column:2}.project-sidebar{max-width:34rem}.plate-copy{max-width:42rem}.principles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){:root{--shell:min(1180px, calc(100% - 1.25rem))}.header-inner{flex-direction:column;align-items:flex-start;gap:.65rem;padding-block:.8rem}.site-nav{width:100%;overflow:visible}.site-nav ul{flex-wrap:wrap;justify-content:flex-start;gap:.15rem .55rem;min-width:0}.site-nav a{padding-inline:.65rem}.hero{min-height:auto;padding-top:3.5rem}.hero h1{font-size:clamp(2.75rem,15vw,4.8rem)}.hero-index{grid-template-columns:1fr}.hero-index>div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.portrait-frame:before{right:0}.work-grid,.principles-grid,.project-meta,.app-teaser-grid{grid-template-columns:1fr}.work-card{min-height:24rem}.principle{min-height:0}.principle-number{margin-bottom:2rem}.portrait-caption{flex-direction:column;align-items:flex-start;gap:.25rem}.project-row{grid-template-columns:1fr}.project-row-aside{grid-column:1}.output-item,.cv-section{grid-template-columns:1fr;gap:.8rem}.fact-list{grid-template-columns:1fr}.fact-list dt{border-bottom:0;padding-bottom:0}.cv-header,.footer-inner{flex-direction:column;align-items:flex-start;display:flex}.cv-contact{text-align:left}.footer-links{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{:root{--paper:#fff;--paper-raised:#fff;--ink:#000;--ink-soft:#222}@page{size:A4;margin:14mm 16mm}body{background:#fff;font-size:9.5pt;line-height:1.45}.site-header,.site-footer,.print-note{display:none}.shell{width:100%}.cv-page{padding:0}.cv-header{flex-direction:row;align-items:flex-end;padding-bottom:8pt}.cv-header h1{font-size:27pt}.cv-contact{text-align:right;font-size:8.5pt}.cv-section{break-inside:avoid;grid-template-columns:30mm 1fr;gap:8mm;padding-block:9pt}.cv-entry+.cv-entry{margin-top:10pt}a{color:inherit;text-decoration:none}}
