@font-face{font-family:Geist;src:url('./fonts/geist-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#f7f7f2;--ink:#171816;--muted:#62645e;--line:#ced0c7;--acid:#c0ff4d;--control-icon-gap:24px;--font:Geist,Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}a:hover{text-decoration:none;text-underline-offset:4px}::selection{color:var(--ink);background:var(--acid)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:450;line-height:1.02;letter-spacing:-.055em}img{display:block;max-width:100%;height:auto}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.review-strip{font-size:10px;letter-spacing:.025em;background:#e9ebe3;color:#44473f;padding:7px 48px;display:flex;justify-content:space-between;gap:15px}.skip{position:fixed;left:16px;top:-90px;padding:10px 16px;background:var(--acid);z-index:50}.skip:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:105px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand>span{font-size:28px;letter-spacing:-.08em;font-weight:550;line-height:1}.brand small{font-size:10px;letter-spacing:.06em;line-height:1.1;max-width:50px;padding-left:11px;border-left:1px solid var(--ink)}.brand:hover{text-decoration:none}.nav{display:flex;align-items:center;gap:35px;font-size:12px}.nav a:last-child{padding:9px 15px;border:1px solid var(--ink);border-radius:30px}.nav a:last-child:hover{background:transparent;text-decoration:none}.mobile-menu{display:none}.hero{padding-top:38px;padding-bottom:80px}.hero-meta,.section-label,.group-label{display:flex;justify-content:space-between;gap:24px;font-size:11px;letter-spacing:.035em}.hero-meta{padding-bottom:10px}.hero-wordmark{font-size:clamp(120px,21.5vw,300px);font-weight:470;letter-spacing:-.09em;line-height:.91;margin-left:-.025em;padding-top:12px;white-space:nowrap}.hero-baseline{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:43px}.hero-baseline p{font-size:clamp(25px,3vw,43px);line-height:1.1;letter-spacing:-.05em;font-weight:430}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--ink);border-radius:100px;padding:12px 20px;font-size:12px;line-height:1.2;background:transparent;cursor:pointer}.pill:hover{background:transparent;text-decoration:none}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:20px 0 100px;align-items:center}.project-image{position:relative}.project-image img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#dadcd5;filter:grayscale(1)}.project-image figcaption{font-size:10px;line-height:1.5;color:var(--muted);margin-top:9px}.eyebrow{font-size:11px;line-height:1.3;letter-spacing:.055em;font-weight:480}.intro-copy h2{font-size:clamp(38px,4.3vw,64px);margin:23px 0}.intro-copy>p:not(.eyebrow){font-size:16px;line-height:1.5;max-width:420px;margin-top:15px;color:#4a4d44}.name-label{display:inline-flex;align-items:center;gap:36px;padding:7px 13px;background:var(--acid);font-size:12px;margin-top:25px}.publications{padding:5px 0 85px}.section-label{align-items:baseline;padding-bottom:22px}.section-label h2{font-size:15px;line-height:1.4;letter-spacing:0;font-weight:450}.section-label>span{font-size:10px;color:var(--muted)}.publication-row{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:32px 0;display:grid;grid-template-columns:60px 1fr auto;gap:16px;align-items:start}.row-index{font-size:11px;padding-top:13px}.publication-row h3{font-size:clamp(29px,3.5vw,48px);letter-spacing:-.05em;line-height:1.15}.publication-row h3 .arrow{font-weight:350;font-size:.7em;vertical-align:middle;margin-left:12px}.publication-row p{font-size:14px;margin-top:13px;color:#4a4d44}.publication-meta{font-size:10px;padding-top:15px;letter-spacing:.03em;text-align:right}.publication-links{display:flex;flex-wrap:wrap;gap:22px;font-size:11px;margin-top:22px}.publication-links a{text-decoration:none;text-underline-offset:4px}.contact-section{display:grid;grid-template-columns:1fr 1.2fr;gap:65px;padding:25px 0 100px}.contact-label h2{font-size:clamp(40px,4.8vw,69px);margin-top:20px}.contact-content{padding-top:8px}.email-link{font-size:clamp(19px,2.5vw,33px);letter-spacing:-.045em;line-height:1.25;display:inline-flex;gap:18px;align-items:baseline;overflow-wrap:anywhere;max-width:100%}.email-link>span{background:var(--acid);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px}.contact-content>p{max-width:450px;color:#4a4d44;font-size:14px;margin-top:22px}.copy-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}.copy-wrap .pill{padding:9px 16px;font-size:11px}.copy-status{font-size:11px}.small-link{display:inline-block;font-size:11px;text-decoration:none;text-underline-offset:4px;margin-top:20px}.site-footer{background:#171816;color:var(--paper);padding:38px 0 22px}.footer-top{display:flex;justify-content:space-between;gap:30px;font-size:13px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:8px 45px;font-size:11px}.footer-bottom{display:flex;align-items:flex-end;gap:32px;margin-top:55px}.footer-wordmark{font-size:clamp(65px,16vw,220px);line-height:.8;letter-spacing:-.09em;font-weight:450;margin-left:-.025em}.footer-caption{font-size:10px;line-height:1.45;padding-bottom:8px}.site-footer a:focus-visible{outline-color:var(--acid)}.breadcrumb{font-size:10px;color:var(--muted);margin-bottom:45px}.breadcrumb a{text-decoration:none;text-underline-offset:3px}.page-hero{padding-top:35px;padding-bottom:45px}.page-hero h1{font-size:clamp(43px,6.7vw,88px);line-height:1.02;max-width:1000px;margin:19px 0 22px;text-wrap:balance}.page-hero .lead{max-width:620px;font-size:17px;line-height:1.5;color:#4a4d44;letter-spacing:-.015em}.note{display:flex;gap:30px;align-items:flex-start;padding:18px 20px;border-left:3px solid var(--ink);background:#e9ebe3;font-size:12px;line-height:1.6;margin-bottom:45px}.note strong{font-size:11px;line-height:1.6;min-width:180px;font-weight:550}.legal-directory{padding:0 0 80px}.legal-group{margin-bottom:47px}.group-label{padding-bottom:20px;font-size:11px;align-items:center}.group-label>span:last-child{font-size:10px;color:var(--muted)}.row-link{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;position:relative}.row-link:last-of-type{border-bottom:1px solid var(--line)}.row-link strong{font-weight:420;font-size:clamp(22px,2.8vw,37px);letter-spacing:-.045em;line-height:1.2}.row-link p{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}.row-link>.arrow{font-size:30px;font-weight:300}.row-link:hover{text-decoration:none}.row-link:hover strong{text-decoration:none;text-underline-offset:5px}.badge{font-size:10px;border:1px solid var(--line);padding:5px 9px;white-space:nowrap}.legal-footnote{font-size:11px;color:var(--muted);line-height:1.6;margin-top:17px}.legal-footnote a{text-decoration:none;text-underline-offset:3px}.policy-layout{display:grid;grid-template-columns:250px minmax(0,700px);gap:7%;padding-bottom:90px;align-items:start}.toc{position:sticky;top:24px;font-size:11px;display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding-top:5px;padding-bottom:20px}.toc p{font-weight:550;text-transform:uppercase;letter-spacing:.035em;font-size:10px;margin-bottom:7px}.toc a{color:#4a4d44;line-height:1.5;max-width:230px}.toc a:last-child{margin-top:18px;text-decoration:none;text-underline-offset:4px}.policy-content section{border-top:1px solid var(--line);padding:26px 0 34px;scroll-margin-top:24px}.policy-content h2{font-size:26px;line-height:1.16;letter-spacing:-.04em;margin-bottom:18px}.policy-content p{font-size:15px;color:#4a4d44;line-height:1.75;margin-top:13px}.pending{display:block;font-size:11px;line-height:1.65;padding:12px 14px;margin-top:18px;background:#e9ebe3;color:#44473f}.not-found{padding:65px 0 110px}.not-found h1{font-size:clamp(50px,8vw,110px);margin:25px 0}.not-found>p{max-width:500px;margin:20px 0}.not-found>.pill{margin-top:15px}
@media(min-width:1600px){.hero-wordmark{font-size:300px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.review-strip{padding-inline:32px}.hero{padding-bottom:60px}.intro{gap:7%;padding-bottom:75px}.intro-copy h2{font-size:46px}.intro-copy>p:not(.eyebrow){font-size:14px}.contact-section{gap:35px}.publication-row{grid-template-columns:40px 1fr}.publication-meta{display:none}.policy-layout{grid-template-columns:200px minmax(0,1fr);gap:5%}}
@media(max-width:680px){html{scroll-padding-top:16px}.wrap{width:calc(100% - 40px)}.review-strip{padding:6px 20px;font-size:9px}.review-strip span{max-width:105px;text-align:right;line-height:1.2}.site-header{min-height:85px;gap:10px}.brand>span{font-size:26px}.brand small{font-size:8px;padding-left:9px}.nav{display:none}.mobile-menu{display:block;font-size:12px;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:23px;border:1px solid var(--ink);border-radius:30px;padding:9px 13px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{font-size:17px;line-height:1}.mobile-menu[open] summary{background:var(--acid)}.mobile-menu nav{position:absolute;top:48px;right:0;z-index:10;background:var(--paper);border:1px solid var(--ink);padding:18px;min-width:200px;display:flex;flex-direction:column;gap:18px;box-shadow:0 7px 16px #17181612}.hero{padding-top:25px;padding-bottom:52px}.hero-meta{font-size:9px;gap:10px;padding-bottom:14px}.hero-wordmark{font-size:28vw;letter-spacing:-.085em;padding-top:14px}.hero-baseline{align-items:flex-start;flex-direction:column;gap:24px;margin-top:30px}.hero-baseline p{font-size:28px;line-height:1.14}.pill{padding:10px 16px;font-size:11px}.intro{grid-template-columns:1fr;gap:26px;padding-top:0;padding-bottom:62px}.project-image img{aspect-ratio:1.4;max-height:360px}.project-image figcaption{font-size:9px}.intro-copy h2{font-size:47px;margin:19px 0}.intro-copy>p:not(.eyebrow){font-size:15px;max-width:100%}.name-label{margin-top:22px}.section-label{padding-bottom:17px}.section-label>span{font-size:9px}.publications{padding-bottom:54px}.publication-row{grid-template-columns:25px minmax(0,1fr);gap:12px;padding:24px 0}.publication-row h3{font-size:30px;line-height:1.1;max-width:270px}.publication-row h3 .arrow{margin-left:4px}.row-index{padding-top:7px;font-size:9px}.publication-row p{font-size:13px;max-width:280px}.publication-links{gap:16px;font-size:10px}.contact-section{grid-template-columns:1fr;gap:24px;padding:0 0 65px}.contact-label h2{font-size:51px;margin-top:17px}.contact-content{padding:0}.email-link{font-size:25px;gap:10px}.email-link>span{width:28px;height:28px;font-size:20px}.contact-content>p{font-size:13px;margin-top:18px}.site-footer{padding-top:29px}.footer-top{font-size:12px;gap:20px}.footer-links{font-size:10px;gap:8px 20px}.footer-bottom{gap:18px;margin-top:42px}.footer-wordmark{font-size:22vw}.footer-caption{font-size:8px;line-height:1.3;padding-bottom:2px}.page-hero{padding-top:20px;padding-bottom:30px}.breadcrumb{margin-bottom:32px;font-size:9px}.page-hero h1{font-size:clamp(39px,10vw,60px);margin:18px 0;overflow-wrap:normal;hyphens:auto}.page-hero .lead{font-size:15px}.note{display:block;font-size:11px;padding:15px;margin-bottom:30px}.note strong{display:block;margin-bottom:7px;font-size:10px;min-width:0}.legal-directory{padding-bottom:35px}.legal-group{margin-bottom:32px}.group-label{font-size:10px;gap:8px;align-items:start}.group-label>span:last-child{font-size:8px;padding-top:2px}.row-link{gap:12px;padding:20px 0}.row-link strong{font-size:27px}.row-link p{font-size:11px;max-width:235px}.badge{font-size:8px;padding:4px 6px}.policy-layout{display:block;padding-bottom:48px}.toc{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:9px 18px;padding:0 0 28px}.toc p{width:100%;margin:0}.toc a{font-size:10px}.toc a:last-child{width:100%;max-width:none;margin-top:6px}.policy-content h2{font-size:25px}.policy-content p{font-size:14px;line-height:1.75}.policy-content section{padding:23px 0 27px}.pending{font-size:10px}.not-found{padding:40px 0 65px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.document-date{font-size:11px;color:var(--muted);margin:-17px 0 26px}

/* Optical wordmark spacing: pair adjustments, not uniform tracking. */
.wordmark{white-space:nowrap;font-kerning:none;letter-spacing:0;line-height:inherit;display:inline-block}.brand .wordmark{letter-spacing:0}.wordmark .glyph{display:inline-block;letter-spacing:0}.wordmark .glyph-o{margin-right:-.082em}.wordmark .glyph-r{margin-right:-.045em}.wordmark .glyph-l{margin-right:-.072em}.wordmark .glyph-e{margin-right:-.090em}.wordmark .glyph-x{margin-right:0}.brand{align-items:flex-end}.brand small{padding-bottom:2px;margin-bottom:1px}.hero-purpose{display:block;max-width:430px;font-size:14px;color:var(--muted);letter-spacing:0;line-height:1.5;margin-top:18px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.pill.primary{background:var(--acid)}.publication-row,.row-link{isolation:isolate;position:relative;overflow:hidden;padding-inline:24px;cursor:pointer;touch-action:manipulation;background:transparent}.publication-row:before,.row-link:before{content:"";position:absolute;inset:0;background:var(--acid);z-index:-1;opacity:1;transform:scaleX(0);transform-origin:left center;transition:transform 320ms cubic-bezier(.22,1,.36,1)}.publication-row .arrow,.row-link>.arrow{display:inline-block}.publication-row:focus-visible,.row-link:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.publication-row:focus-visible:before,.publication-row:active:before,.row-link:focus-visible:before,.row-link:active:before{opacity:1;transform:scaleX(1)}.publication-row:hover,.row-link:hover{text-decoration:none}
@media(hover:hover) and (pointer:fine){.publication-row:hover:before,.row-link:hover:before{opacity:1;transform:scaleX(1)}}
@media(max-width:1000px){.hero-actions{max-width:195px}}
@media(max-width:680px){.hero-baseline{gap:24px}.hero-purpose{font-size:13px;max-width:300px;margin-top:14px}.hero-actions{max-width:none;gap:9px}.publication-row{padding-inline:14px;grid-template-columns:22px minmax(0,1fr)}.publication-row h3{font-size:28px;max-width:260px}.brand small{font-size:8px;padding-bottom:1px}.footer-bottom{gap:0}}

/* r03: horizontal brand lockup and a defined editorial photograph. */
.brand{align-items:center}.brand small{align-self:center;margin:0;padding-block:0;transform:translateY(1px)}.project-image{overflow:hidden;background:#151515}.project-image img{aspect-ratio:3/2;object-fit:cover;filter:none}.intro{padding-top:10px;padding-bottom:85px}.intro-copy h2{margin:0 0 24px}.intro-copy>p:not(.eyebrow){font-size:17px;line-height:1.55}.hero-actions{max-width:none}
@media(max-width:680px){.brand small{padding-block:0;margin:0}.intro{padding:0 0 58px}.project-image img{aspect-ratio:3/2;max-height:none}.intro-copy h2{margin:0 0 20px}.intro-copy>p:not(.eyebrow){font-size:15px}}

/* r04: footer remains at the document end on long and short pages.
   Contain decorative font-metric overflow inside the footer background. */
html{min-height:100%}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}main{flex:1 0 auto}.site-footer{flex-shrink:0;margin-top:auto;overflow:clip}
/* User-supplied laptop photograph: preserve the complete portrait. */
.project-image{background:#dedfdd}.project-image img{aspect-ratio:1086/1449;object-fit:cover}
@media(max-width:680px){.project-image img{aspect-ratio:1086/1449;max-height:none}}

/* r05: legal links share publication feedback; headings start with title and claim. */
.row-link>.arrow{flex-shrink:0}.row-link>div{min-width:0}.row-link p{color:#4a4d44}
.row-link:hover strong,.row-link:focus-visible strong{text-decoration:none}
.publication-row:active:before,.row-link:active:before{transition-duration:0ms}
.page-hero{padding-top:48px;padding-bottom:48px}.page-hero h1{margin:0 0 22px}
@media(max-width:680px){.publication-row,.row-link{padding-inline:14px}.page-hero{padding-top:30px;padding-bottom:32px}.page-hero h1{margin:0 0 18px;line-height:1.06}}

/* r09: all links and controls share the complete left-to-right green wipe.
   Dark footer labels reveal a synchronized dark copy only over the green fill. */
:where(a:not(.skip)){display:inline-block}
a:not(.skip),button,.mobile-menu summary{position:relative;isolation:isolate;overflow:hidden;touch-action:manipulation}
a:not(.skip)::before,button::before,.mobile-menu summary::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--acid);border-radius:inherit;transform:scaleX(0);transform-origin:left center;transition:transform 320ms cubic-bezier(.22,1,.36,1);pointer-events:none}
.pill:hover,.nav a:last-child:hover,.mobile-menu[open] summary{background:transparent;text-decoration:none}
.footer-links a{display:block;padding:4px 6px;margin:-4px -6px}
.footer-links a:hover,.email-link:hover{text-decoration:none}
.footer-links .wipe-label{position:relative;display:block;margin:-4px -6px;padding:4px 6px}
.wipe-label::after{content:attr(data-label);position:absolute;inset:0;color:var(--ink);clip-path:inset(0 100% 0 0);transition:clip-path 320ms cubic-bezier(.22,1,.36,1);pointer-events:none}
.footer-links .wipe-label::after{padding:4px 6px}


.email-link>.email-address{background:transparent;width:auto;height:auto;display:block;min-width:0;flex-shrink:1;font-size:inherit;overflow-wrap:anywhere}
.email-link>.email-arrow{background:var(--acid);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:22px}
a:not(.skip):focus-visible::before,button:focus-visible::before,.mobile-menu summary:focus-visible::before,.mobile-menu[open] summary::before{transform:scaleX(1)}
.footer-links a:focus-visible .wipe-label::after{clip-path:inset(0)}
@media(hover:hover) and (pointer:fine){a:not(.skip):hover::before,button:hover::before,.mobile-menu summary:hover::before{transform:scaleX(1)}.footer-links a:hover .wipe-label::after{clip-path:inset(0)}}
a:not(.skip):active::before,button:active::before,.mobile-menu summary:active::before{transform:scaleX(1);transition-duration:0ms}
.footer-links a:active .wipe-label::after{clip-path:inset(0);transition-duration:0ms}
@media(max-width:680px){.email-link>.email-arrow{width:28px;height:28px;font-size:20px}}

/* r10: one label/icon spacing token for all icon controls. */
.pill,.icon-control,.mobile-menu summary,.email-link{gap:var(--control-icon-gap)}
.icon-control{display:inline-flex;align-items:center}
.control-icon{display:inline-block;flex-shrink:0}
.toc a.icon-control{display:inline-flex}
.publication-row h3 .arrow{margin-left:var(--control-icon-gap)}
.row-link{column-gap:var(--control-icon-gap)}
