:root{--paper:#f6f5f0;--white:#fffefa;--ink:#20313b;--muted:#626e73;--line:#d7dcd9;--blue:#294f60;--blue-soft:#e8eeef;--clay:#a5583f;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'SFMono-Regular',Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--clay)}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--clay);outline-offset:5px}[hidden]{display:none!important}img,svg{max-width:100%}button:disabled{cursor:default}.wrap{width:min(1184px,calc(100% - 96px));margin-inline:auto}.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;top:10px;left:10px;clip:auto;width:auto;height:auto;background:var(--ink);color:white;padding:12px 20px;z-index:100}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:.15em;margin:0 0 19px;color:var(--blue)}h1,h2,h3,p{overflow-wrap:break-word}h2{font:46px/1.12 var(--serif);font-weight:400;letter-spacing:-.045em;margin:0}h2 em{font-weight:400;color:var(--blue)}.small{font-size:12px;color:var(--muted)}.section-space{padding-block:85px}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:12px;font-weight:600;text-decoration:none;min-height:36px}.text-link span{font-size:20px;font-weight:400}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;min-height:49px;padding:12px 19px;border:1px solid transparent;border-radius:4px;text-decoration:none;font-size:12px;font-weight:600}.button span{font-size:19px;line-height:1}.button-dark{background:var(--blue);color:#fff}.button-dark:hover{background:#183b4c;color:#fff}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#fff;color:var(--clay)}.text-button{background:none;border:0;padding:7px 0;text-decoration:underline;text-underline-offset:4px;font-size:11px}.text-button:hover{color:var(--clay)}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{width:min(1184px,calc(100% - 96px));margin:auto;display:flex;align-items:center;justify-content:space-between;min-height:85px;gap:25px}.wordmark{display:inline-flex;gap:6px;align-items:baseline;font-size:18px;font-weight:750;text-decoration:none;letter-spacing:-.04em;white-space:nowrap}.brand-dot{display:inline-block;width:6px;height:6px;background:var(--clay);border-radius:50%}.main-nav{display:flex;align-items:center;gap:34px;font-size:12px}.main-nav a{position:relative;min-height:42px;display:flex;align-items:center;text-decoration:none}.main-nav a[aria-current]:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--clay)}.main-nav .nav-project{margin-left:12px;padding-left:27px;border-left:1px solid var(--line);gap:14px;color:var(--muted);font-size:11px}
.hero-copy{padding-bottom:12px}.hero .eyebrow{display:flex;gap:9px;align-items:center;margin-bottom:22px}.status-dot{width:6px;height:6px;background:var(--clay);border-radius:50%;display:inline-block}.hero h1{font:100px/.98 var(--serif);font-weight:400;letter-spacing:-.07em;margin:0 0 26px}.hero h1>span{color:var(--clay)}.hero-statement{font:34px/1.23 var(--serif);letter-spacing:-.035em;margin:0 0 24px}.hero-statement em{color:var(--blue)}.hero-bio{font-size:14px;line-height:1.9;max-width:540px;margin:0 0 13px;color:#43545c}.hero-bio strong{font-weight:600;color:var(--ink)}.publishing-name{font-size:12px;color:var(--muted);margin:0}.publishing-name strong{font-weight:600;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:29px;margin-top:28px}
.focus-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);padding-block:24px;gap:36px}.focus-strip>div{position:relative;padding-left:33px}.focus-strip>div+div{border-left:1px solid var(--line);padding-left:48px}.focus-number{position:absolute;left:0;top:4px;font:9px var(--mono);color:var(--clay)}.focus-strip>div+div .focus-number{left:20px}.focus-strip h2{font:15px/1.5 var(--sans);letter-spacing:-.02em;font-weight:600;margin:0 0 3px}.focus-strip p{font-size:11px;color:var(--muted);margin:0}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:35px}.section-heading>p{max-width:315px;margin:0 0 3px;font-size:12px;color:var(--muted);line-height:1.8}.section-heading .eyebrow{margin-bottom:13px}.featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feature-card{display:grid;grid-template-columns:1fr 96px;gap:20px;padding:29px 29px 25px;border:1px solid var(--line);background:var(--white);border-radius:5px;position:relative;transition:border-color .15s,transform .15s}.feature-card:hover{border-color:#8da4ab;transform:translateY(-2px)}.feature-meta{font:9px/1.6 var(--mono);letter-spacing:.045em;color:var(--muted);margin:0 0 15px}.feature-card h3{font:31px/1.13 var(--serif);font-weight:400;letter-spacing:-.045em;margin:0 0 14px}.feature-card h3 a{text-decoration:none}.feature-card h3 a:after{content:'';position:absolute;inset:0;border-radius:5px}.feature-card p:not(.feature-meta):not(.feature-credit){font-size:12px;line-height:1.75;color:var(--muted);margin:0;max-width:330px}.feature-credit{font-size:10px;color:var(--blue);margin:20px 0 0}.feature-graphic{align-self:center;width:96px;height:100px;display:flex;align-items:center;justify-content:center;background:#edf0e9;border-radius:50%;color:var(--blue)}.feature-graphic svg{width:68px;height:68px}.feature-card:nth-child(2) .feature-graphic{background:#f3e9df;color:#ad6848}.feature-card:nth-child(3) .feature-graphic{background:#e5ecef}.feature-card:nth-child(4) .feature-graphic{background:#ebe9ed;color:#676170}.section-more{margin-top:25px}
.publications-section{background:#eeefea;border-block:1px solid var(--line)}.publications-section .section-heading{margin-bottom:18px}.publications-section h2{font-size:43px}.heading-count{font:11px/1 var(--mono);vertical-align:top;display:inline-block;border:1px solid #bdc9ca;border-radius:3px;padding:6px 7px;letter-spacing:0;margin:2px 0 0 13px}.library-note{font-size:11px;color:var(--muted);margin:0 0 29px;max-width:720px}.search-tools{display:flex;gap:12px}.paper-search{position:relative;flex:1;display:block}.paper-search svg{position:absolute;left:15px;top:14px;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.5}.paper-search input{width:100%;height:49px;background:var(--white);border:1px solid #c8d0cc;border-radius:4px;padding:12px 15px 12px 45px;font-size:12px;color:var(--ink)}.year-select select{height:49px;min-width:150px;border:1px solid #c8d0cc;border-radius:4px;background:var(--white);font-size:12px;color:var(--ink);padding:10px 35px 10px 13px}.topic-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.topic-filters button{background:transparent;border:1px solid #c8d0cc;padding:8px 13px;min-height:37px;border-radius:3px;font-size:10px}.topic-filters button:hover{background:#e0e6e1}.topic-filters button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.results-line{display:flex;justify-content:space-between;gap:15px;align-items:center;min-height:57px;font-size:10px;color:var(--muted)}.results-line p{margin:0}.paper-list{border-top:1px solid #b9c4c4}.paper{display:grid;grid-template-columns:128px minmax(0,1fr);gap:25px;padding:26px 3px;border-bottom:1px solid #cdd4d0}.paper-meta{padding-top:3px}.paper-year{font:22px/1.2 var(--serif);display:block;letter-spacing:-.025em}.paper-venue{display:block;font-size:9px;line-height:1.6;color:var(--muted);margin-top:7px;max-width:128px}.paper h3{font:18px/1.45 var(--sans);font-weight:550;letter-spacing:-.02em;margin:0 0 10px}.paper h3 a{text-decoration:none}.paper-authors{font-size:11px;color:var(--muted);margin:0;line-height:1.85;max-width:900px}.paper-authors strong{color:var(--ink);font-weight:650}.paper-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.paper-note,.paper-team{font-size:9px;color:var(--blue);border:1px solid #c6d3d3;background:#e6edeb;border-radius:3px;padding:2px 6px;line-height:1.65}.paper-team{background:#ebe7de;color:#6e5949;border-color:#d6cebc}.paper-foot a{font-size:10px;color:var(--muted);text-decoration:none;min-height:25px;display:flex;align-items:center}.bibliography-note{font-size:10px;color:var(--muted);margin:25px 0 0;max-width:800px}.empty-state{text-align:center;padding:40px 20px;border:1px dashed #bfcac7;margin-top:20px;border-radius:5px}.empty-state h3{font:26px var(--serif);margin:0 0 12px}.empty-state p{font-size:12px;color:var(--muted)}.empty-state button{margin-top:15px}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy h2{font-size:43px;margin-bottom:27px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;color:var(--muted);max-width:435px}.about-copy .text-link{margin-top:12px}.background-list{border-top:1px solid var(--line)}.background-item{display:grid;grid-template-columns:86px 1fr;gap:16px;border-bottom:1px solid var(--line);padding:22px 0}.background-label{font:9px/1.7 var(--mono);letter-spacing:.06em;color:var(--clay);padding-top:4px}.background-item h3{font-size:15px;font-weight:600;margin:0 0 5px;letter-spacing:-.02em}.background-item p{font-size:11px;color:var(--muted);margin:3px 0}.background-item .small{font-size:10px}.thesis-details{margin-top:11px;font-size:11px;color:var(--muted)}.thesis-details summary{cursor:pointer;min-height:25px}.thesis-details p{line-height:1.8}.thesis-details a{display:inline-block;min-height:28px;margin-top:8px;color:var(--ink)}
.city-project{background:#203d4b;border-radius:6px;overflow:hidden;display:grid;grid-template-columns:1fr 340px;gap:40px;padding:44px 49px;color:var(--paper)}.city-project .eyebrow{color:#b8cdcf;font-size:9px;margin-bottom:19px}.city-project h2{font-size:42px;margin-bottom:20px}.city-project h2 em{color:#dac2a9}.project-copy>p:not(.eyebrow){font-size:12px;color:#cad7d9;max-width:510px;line-height:1.85;margin:0 0 24px}.project-map{position:relative;align-self:center;transform:rotate(-3deg)}.project-map svg{display:block;width:100%}.project-map .waterline{stroke:#698994;stroke-width:1;opacity:.4}.project-map .island{fill:#32515d;stroke:#71969d;stroke-width:1}.project-map .street{stroke:#7597a0;stroke-width:.7;opacity:.8}.project-map circle{fill:#dfb08b;stroke:var(--paper);stroke-width:2}.project-map .other-pin{fill:#a8c4be}.project-map .route{stroke:#dfb08b;stroke-width:2;stroke-dasharray:4 7}.project-map span{display:block;font:8px var(--mono);letter-spacing:.14em;text-align:center;color:#bed0d0;margin-top:10px}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-block:90px}.contact-section h2{font-size:43px}.social-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:27px;font-size:11px}.social-links a{text-decoration:none;min-height:30px}.site-footer{border-top:1px solid var(--ink);padding-top:26px;padding-bottom:30px}.footer-name{font-size:20px;font-weight:650;text-decoration:none;letter-spacing:-.04em}.footer-name span{color:var(--clay)}.site-footer>p{font:24px/1.4 var(--serif);letter-spacing:-.03em;margin:4px 0 27px}.footer-bottom{display:flex;gap:30px;align-items:center;font-size:10px;color:var(--muted);flex-wrap:wrap}.footer-bottom a{text-decoration:none;min-height:28px;display:flex;align-items:center}.footer-bottom a:last-child{margin-left:auto}
.contact-page{max-width:1000px;padding-top:55px;padding-bottom:100px}.back-link{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:50px;text-decoration:none}.contact-page h1{font:74px/1.05 var(--serif);font-weight:400;letter-spacing:-.05em;margin:0 0 25px}.contact-page h1 em{color:var(--blue)}.contact-intro{font-size:14px;color:var(--muted);line-height:1.9;max-width:550px;margin:0 0 30px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:45px}.contact-grid>a{display:block;padding:25px;border:1px solid var(--line);border-radius:4px;background:var(--white);text-decoration:none}.contact-grid span{font:9px var(--mono);color:var(--muted);letter-spacing:.1em;display:block;margin-bottom:12px}.contact-grid strong{font-size:17px;font-weight:550;display:block}.contact-grid small{color:var(--muted);font-size:11px;display:block;margin-top:5px}.contact-side-note{font-size:12px;color:var(--muted);margin-top:35px}
.featured-grid--odd .feature-card:first-child{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 125px}.featured-grid--odd .feature-card:first-child p:not(.feature-meta):not(.feature-credit){max-width:660px}.paper-foot .paper-resource{border:1px solid #c7d0cd;border-radius:3px;padding:3px 8px;background:var(--white);color:var(--blue);min-height:29px}.paper-foot .paper-resource:hover{border-color:var(--blue);text-decoration:underline}
@media(min-width:1500px){.hero h1{font-size:112px}}
@media(max-width:1100px){.hero h1{font-size:88px}.hero-statement{font-size:30px}.hero-bio{font-size:13px}.feature-card{padding:24px;grid-template-columns:1fr 72px;gap:12px}.feature-graphic{width:72px;height:80px}.feature-graphic svg{width:54px}.feature-card h3{font-size:28px}.about-section{gap:50px}.city-project{grid-template-columns:1fr 260px;padding:38px;gap:22px}.city-project h2{font-size:36px}.paper{grid-template-columns:115px minmax(0,1fr);gap:20px}.paper h3{font-size:17px}.contact-section{gap:40px}.main-nav{gap:25px}}
@media(max-width:850px){.wrap,.header-inner{width:calc(100% - 56px)}.hero h1{font-size:76px}.hero-statement{font-size:27px}.hero-actions{gap:19px}.hero-actions .button{gap:22px}.hero-actions .text-link{gap:9px;font-size:11px}.focus-strip{gap:20px}.focus-strip>div+div{padding-left:31px}.focus-strip>div+div .focus-number{left:10px}.focus-strip h2{font-size:13px}.focus-strip p{font-size:10px}.section-space{padding-block:64px}.section-heading h2{font-size:37px}.section-heading>p{max-width:240px;font-size:11px}.feature-card{display:block}.feature-graphic{position:absolute;right:24px;top:21px;width:45px;height:45px}.feature-graphic svg{width:34px;height:34px}.feature-meta{padding-right:45px;min-height:30px;max-width:290px}.feature-card h3{font-size:30px}.feature-card p:not(.feature-meta):not(.feature-credit){max-width:90%}.about-section{gap:35px}.about-copy h2{font-size:35px}.background-item{grid-template-columns:70px 1fr;gap:10px}.background-label{font-size:8px}.background-item h3{font-size:14px}.city-project{grid-template-columns:1fr 215px;padding:32px;gap:15px}.city-project h2{font-size:32px}.project-copy>p:not(.eyebrow){font-size:11px}.contact-section h2{font-size:35px}.social-links{gap:16px;font-size:10px}.main-nav .nav-project{margin-left:0;padding-left:19px}.main-nav{gap:22px;font-size:11px}.header-inner{min-height:75px}.contact-page h1{font-size:62px}}
@media(max-width:700px){.wrap,.header-inner{width:calc(100% - 40px)}html{scroll-padding-top:90px}.main-nav .nav-project{display:none}.main-nav{gap:23px;font-size:11px}.header-inner{gap:15px;min-height:70px}.wordmark{font-size:17px}.hero h1{font-size:86px;margin-bottom:21px}.hero-statement{font-size:32px}.hero-bio{font-size:13px;max-width:520px}.hero-copy{padding-bottom:0}.hero .eyebrow{font-size:9px;margin-bottom:21px}.hero-actions{margin-top:24px;gap:25px}.hero-actions .text-link{font-size:12px;gap:14px}.focus-strip{grid-template-columns:1fr;gap:18px;padding:22px 0}.focus-strip>div,.focus-strip>div+div{border:0;padding-left:34px}.focus-strip>div+div .focus-number{left:0}.focus-strip h2{font-size:14px;display:inline}.focus-strip p{font-size:11px;margin-top:2px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{max-width:420px;margin-top:20px;font-size:12px}.section-heading h2{font-size:38px}.section-heading>.text-link{margin-top:16px}.featured-grid{gap:14px}.feature-card{padding:23px 19px 22px}.feature-card h3{font-size:26px}.feature-card p:not(.feature-meta):not(.feature-credit){font-size:11px;max-width:none}.feature-graphic{right:18px;width:35px;height:35px}.feature-graphic svg{width:28px;height:28px}.feature-meta{font-size:8px;padding-right:32px}.feature-credit{font-size:9px}.paper{grid-template-columns:65px minmax(0,1fr);gap:15px;padding:23px 0}.paper h3{font-size:16px;line-height:1.45}.paper-year{font-size:21px}.paper-venue{font-size:8px;line-height:1.7;max-width:none}.paper-authors{font-size:10px;line-height:1.8}.paper-foot{gap:8px;margin-top:10px}.paper-foot a{font-size:9px}.paper-note,.paper-team{font-size:8px}.library-note{font-size:10px;line-height:1.8}.heading-count{font-size:10px;margin-left:9px;padding:5px}.publications-section h2{font-size:35px}.search-tools{gap:8px}.year-select select{min-width:108px;max-width:125px;padding-right:20px;font-size:11px}.paper-search input{font-size:11px;padding-left:37px;padding-right:9px}.paper-search svg{width:17px;left:12px;top:15px}.topic-filters{gap:6px}.topic-filters button{font-size:9px;padding:8px 10px}.about-section{grid-template-columns:1fr;gap:35px}.about-copy h2{font-size:39px}.about-copy>p:not(.eyebrow){max-width:100%}.background-item{grid-template-columns:80px 1fr;padding-block:21px}.background-label{font-size:9px}.background-item h3{font-size:15px}.background-item p{font-size:12px}.city-project{grid-template-columns:1fr;gap:12px;padding:30px 26px}.city-project h2{font-size:36px}.project-copy>p:not(.eyebrow){font-size:12px;max-width:440px}.project-map{width:190px;position:absolute;right:-30px;bottom:20px;opacity:.16;pointer-events:none}.city-project{position:relative}.project-copy{position:relative;z-index:1}.project-map span{display:none}.contact-section{grid-template-columns:1fr;gap:32px;padding-block:65px}.contact-section h2{font-size:40px}.social-links{font-size:11px;gap:22px}.footer-bottom{gap:10px 22px;font-size:9px}.site-footer>p{font-size:23px}.site-footer{padding-top:23px;padding-bottom:24px}.footer-bottom a:last-child{margin-left:0}.contact-page{padding-top:35px}.back-link{margin-bottom:38px}.contact-page h1{font-size:60px}.contact-intro{font-size:13px}.contact-grid{gap:12px;margin-top:34px}.contact-grid>a{padding:20px}.contact-grid strong{font-size:15px}.contact-grid small{font-size:10px}}
@media(max-width:420px){.main-nav{gap:18px}.wordmark{font-size:16px}.hero h1{font-size:78px}.hero-statement{font-size:29px}.hero-bio{font-size:12px}.hero-actions .button{font-size:11px;gap:22px}.hero-actions .text-link{font-size:11px}.featured-grid{grid-template-columns:1fr}.feature-card{padding:25px 24px;min-height:190px}.feature-card h3{font-size:30px;margin-bottom:12px}.feature-graphic{right:24px;top:24px;width:50px;height:50px}.feature-graphic svg{width:38px;height:38px}.feature-meta{padding-right:55px;min-height:28px}.feature-card p:not(.feature-meta):not(.feature-credit){font-size:12px;max-width:280px}.feature-credit{margin-top:15px}.paper{grid-template-columns:52px minmax(0,1fr);gap:12px}.paper-venue{font-size:8px}.paper h3{font-size:15px}.paper-authors{font-size:10px}.publications-section h2{font-size:31px}.heading-count{vertical-align:middle}.year-select select{min-width:99px;max-width:108px;font-size:10px}.paper-search input{font-size:10px}.city-project{padding:28px 23px}.city-project h2{font-size:32px}.contact-grid{grid-template-columns:1fr}.contact-page h1{font-size:54px}}
@media(max-width:360px){.wrap,.header-inner{width:calc(100% - 32px)}.main-nav{gap:15px;font-size:10px}.wordmark{font-size:15px}.hero h1{font-size:69px}.hero-statement{font-size:26px}.hero-actions{gap:18px}.hero-actions .button{padding:12px 14px;gap:17px}.hero-actions .text-link{font-size:10px;gap:7px}.hero .eyebrow{font-size:8px}.section-heading h2{font-size:35px}.publications-section h2{font-size:28px}.heading-count{font-size:9px;padding:4px;margin-left:6px}.paper{grid-template-columns:47px minmax(0,1fr);gap:11px}.topic-filters button{font-size:8px;padding:8px}.background-item{grid-template-columns:72px 1fr}.city-project h2{font-size:29px}.contact-page h1{font-size:46px}}

/* Readable supporting text and comfortable controls at every breakpoint. */
.feature-meta{font-size:10px}
.feature-credit{font-size:11px}
.feature-card p:not(.feature-meta):not(.feature-credit){font-size:13px}
.feature-card:focus-within{outline:3px solid var(--clay);outline-offset:4px}
.paper-authors{font-size:12px}
.paper-venue,.paper-note,.paper-team,.bibliography-note,.library-note{font-size:11px}
.paper-foot{gap:8px}
.paper-foot .paper-resource{font-size:12px;min-height:44px;min-width:44px;padding:7px 11px}
.topic-filters button{font-size:12px;min-height:44px}
.results-line{font-size:12px}
.text-button{min-height:44px;font-size:12px}
.main-nav a,.social-links a,.footer-bottom a,.text-link,.back-link{min-height:44px}
.social-links a{display:inline-flex;align-items:center}
.thesis-details summary{min-height:36px}
@media(max-width:700px){
  .paper{grid-template-columns:minmax(0,1fr);gap:10px}
  .paper-meta{display:flex;align-items:baseline;gap:12px;padding-top:0}
  .paper-year{font-size:20px}
  .paper-venue{font-size:11px;margin-top:0;max-width:none}
  .paper h3{font-size:17px}
  .feature-meta{font-size:10px;min-height:34px}
  .feature-credit{font-size:11px}
  .hero-bio{font-size:14px}
  .paper-search input,.year-select select{font-size:16px}
  .search-tools{flex-direction:column}
  .year-select select{max-width:none;width:100%}
  .paper-search input{padding-left:42px}
  .paper-search svg{left:14px}
}
@media(max-width:360px){
  .main-nav{font-size:11px;gap:12px}
  .topic-filters button{font-size:12px;padding-inline:10px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.feature-card:hover{transform:none}}@media print{.site-header,.hero-actions,.publication-tools,.project-section,.empty-state,.site-footer{display:none!important}body{background:#fff;font-size:11px}.wrap{width:100%}.section-space{padding-block:30px}.hero h1{font-size:48px}.hero-statement{font-size:25px}.publications-section{background:white}.paper{break-inside:avoid;padding-block:15px}.paper[hidden]{display:grid!important}.feature-card{break-inside:avoid}.about-section{gap:35px}.contact-section{padding-bottom:0}a{text-decoration:none}}


/* A photo-free editorial introduction: identity and biography share the row. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px;align-items:end;padding-block:80px 74px}
.hero-copy{padding-bottom:5px;max-width:520px}
.hero h1{font-size:clamp(64px,8vw,112px)}
.hero-statement{font-size:clamp(26px,2.3vw,34px);margin-bottom:0}
.hero-bio{font-size:14px;max-width:none}
@media(max-width:850px){
  .hero{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:48px 44px}
  .hero-copy{padding-bottom:0;max-width:650px}
}
@media print{.hero{grid-template-columns:minmax(0,1fr);gap:20px;padding-block:0 30px}.hero h1{font-size:48px}}

/* Keep supporting copy readable instead of shrinking it on phones. */
@media screen{
  .eyebrow,.hero .eyebrow{font-size:11px}
  .hero-bio,.contact-intro{font-size:15px}
  .publishing-name,.focus-strip p{font-size:13px}
  .section-heading>p{font-size:14px}
  .feature-meta{font-size:11px}
  .feature-credit{font-size:12px}
  .feature-card p:not(.feature-meta):not(.feature-credit){font-size:14px;text-wrap:pretty}
  .paper-authors,.paper-foot .paper-resource{font-size:13px}
  .paper-venue,.paper-note,.paper-team,.bibliography-note,.library-note{font-size:12px}
  .about-copy>p:not(.eyebrow),.project-copy>p:not(.eyebrow){font-size:14px}
  .background-item p{font-size:13px}
  .background-item .small,.thesis-details{font-size:12px}
  .background-label{font-size:10px}
  .contact-grid span{font-size:11px}
  .contact-grid small,.footer-bottom{font-size:12px}
  .social-links{font-size:13px}
  .main-nav,.hero-actions .text-link,.hero-actions .button{font-size:12px}
}

/* Direct code links stay above each card's stretched paper link. */
.feature-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.feature-code{position:relative;z-index:1;display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--blue);font-size:13px;text-decoration:none}
.feature-code:hover{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}
.paper-foot .paper-code{border-color:#aebfc0;color:var(--blue)}
@media(max-width:360px){
  .hero-actions{gap:12px}
  .hero-actions .button{gap:12px;padding-inline:12px;white-space:nowrap}
  .hero-actions .text-link{gap:6px;white-space:nowrap}
}
