@font-face{font-family:"Inter";src:url("./fonts/Inter-VariableFont_opsz,wght.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter";src:url("./fonts/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype");font-style:italic;font-weight:100 900;font-display:swap}
:root{--black:#101212;--coal:#24292b;--paper:#fff;--slot:#d8dbda;--slot-dark:#c5c9c8;--line:#c9ccca;--muted:#4a4f4e;--gutter:clamp(24px,3.2vw,56px);--section:clamp(96px,11vw,192px);--focus:#167c81;--font-body:"Inter",sans-serif;background:var(--paper);color:var(--black);font-family:var(--font-body)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;font-size:17px;line-height:1.6}button{cursor:pointer}a{color:inherit}a,button,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1;letter-spacing:-.045em}button,select{font-size:inherit}[hidden]{display:none!important}.skip-link{position:fixed;z-index:100;top:8px;left:var(--gutter);padding:10px 16px;background:var(--paper);color:var(--black);transform:translateY(-180%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body,button,select{font-family:var(--font-body);font-optical-sizing:auto}
h1,h2,h3,.project-card .card-label strong,.archive-list-row strong,.recent-row .row-title strong{font-optical-sizing:auto}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;gap:32px;min-height:96px;padding:16px var(--gutter);color:var(--paper);transition:background 220ms ease-out,color 220ms ease-out}.site-header.scrolled,body:not([data-page="home"]) .site-header{background:var(--paper);color:var(--black)}.site-header.menu-open{background:var(--black);color:var(--paper)}.home-mark{position:relative;z-index:3;display:grid;place-items:center;flex:none;width:68px;height:44px;color:inherit;text-decoration:none}.home-mark::before,.home-mark::after{content:"";display:block;position:absolute;width:16px;height:30px;border:2px solid currentColor;transform:skew(-14deg)}.home-mark::before{left:16px}.home-mark::after{left:32px}.header-actions{position:relative;z-index:3;display:flex;align-items:center;gap:clamp(16px,3vw,48px);margin-left:auto}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:68px;min-height:44px;padding:0;border:0;background:none;color:inherit;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.menu-toggle:hover{text-decoration:underline;text-underline-offset:6px}.locale-switch{display:flex;align-items:center}.locale-switch a{display:grid;place-items:center;width:40px;min-height:44px;text-decoration:none;font-size:12px;font-weight:600}.locale-switch a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}.nav-panel{position:fixed;z-index:1;top:0;left:0;right:0;min-height:100svh;padding:clamp(136px,14vw,220px) var(--gutter) 64px;background:var(--black);color:var(--paper);overflow-y:auto}.nav-panel a{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:clamp(76px,10vw,144px);border-top:1px solid #707574;text-decoration:none;font-size:clamp(44px,7.5vw,112px);font-weight:500;line-height:.95;letter-spacing:-.045em}.nav-panel a:last-child{border-bottom:1px solid #707574}.nav-panel a:hover,.nav-panel a[aria-current="page"]{color:#cbd0ce}.nav-panel a::after{content:"↗";font-size:clamp(20px,3vw,42px);font-weight:300}
.hero{display:grid;grid-template-rows:1fr auto;min-height:min(100svh,1000px);padding:96px var(--gutter) 44px;background:var(--coal);color:var(--paper)}.hero h1{max-width:12ch;font-size:clamp(60px,7vw,126px);line-height:.94;text-transform:uppercase}
.section{padding:var(--section) var(--gutter)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:48px}.section-heading h2{font-size:clamp(48px,7vw,116px);text-transform:uppercase}.feature-link{display:block;min-width:0;color:var(--black);text-decoration:none}.empty-media{display:block;width:100%;aspect-ratio:var(--ratio,4/5);background:var(--slot);transition:background 220ms ease-out}.feature-link:nth-child(2) .empty-media{background:var(--slot-dark)}.feature-link:nth-child(3) .empty-media{background:#e4e6e5}.feature-link:hover .empty-media,.feature-link:focus-visible .empty-media{background:#b8bdbb}.feature-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;font-size:13px;font-weight:600;text-transform:uppercase}.recent-list{border-top:1px solid var(--line)}.recent-row{display:grid;grid-template-columns:minmax(120px,.24fr) minmax(0,1fr) auto;gap:32px;align-items:center;min-height:160px;border-bottom:1px solid var(--line);text-decoration:none}.recent-row .row-title{display:grid;gap:8px}.recent-row strong{font-size:clamp(26px,3.1vw,52px);font-weight:500;line-height:1.08}.recent-row small{font-size:15px;color:var(--muted)}.recent-row:hover strong{text-decoration:underline;text-underline-offset:7px}
.inner-page{min-height:72svh;padding:clamp(176px,17vw,280px) var(--gutter) var(--section)}.inner-page h1{font-size:clamp(64px,12vw,180px);line-height:.88;text-transform:uppercase}.page-lead{display:grid;grid-template-columns:1fr minmax(240px,.35fr);gap:64px;align-items:end;margin-bottom:96px}.page-lead p{max-width:36ch;font-size:18px}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:24px 48px;padding:24px 0 72px;border-top:1px solid var(--line)}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 24px}.archive-grid .feature-link:nth-child(2){margin-top:80px}.archive-grid .feature-link:nth-child(3){margin-top:160px}.archive-grid .empty-media{--ratio:4/5}.empty-state{padding:80px 0;border-top:1px solid var(--line)}.empty-state h2{font-size:clamp(32px,4vw,64px)}.empty-state button{min-height:44px;margin-top:24px;padding:0;border:0;border-bottom:1px solid currentColor;background:none}.simple-page .page-lead{margin-bottom:0}.site-footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px var(--gutter) 44px;background:var(--black);color:var(--paper);font-size:13px}.site-footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;border-bottom:1px solid currentColor}
@media(max-width:1024px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-grid .feature-link:nth-child(3){margin-top:0}}
@media(max-width:767px){:root{--gutter:24px;--section:96px}body{font-size:16px}.site-header{min-height:76px;padding:12px var(--gutter)}.home-mark{width:52px}.home-mark::before{left:7px}.home-mark::after{left:23px}.header-actions{gap:12px}.locale-switch a{width:34px}.menu-toggle{min-width:58px}.nav-panel{padding-top:116px}.nav-panel a{min-height:90px;font-size:clamp(42px,11vw,76px)}.hero{min-height:620px;height:100svh;padding-top:76px;padding-bottom:28px}.hero h1{font-size:clamp(54px,15vw,100px)}.section-heading{display:block}.archive-grid{grid-template-columns:1fr;gap:56px}.archive-grid .feature-link:nth-child(n){margin-top:0}.empty-media{--ratio:4/3}.recent-row{grid-template-columns:1fr auto;gap:8px;min-height:142px;padding:24px 0}.recent-row strong{font-size:30px}.inner-page{padding-top:160px}.page-lead{grid-template-columns:1fr;gap:32px}.page-lead{margin-bottom:72px}.page-lead p{margin-top:12px}}
@media(max-width:400px){:root{--gutter:20px}.hero h1{font-size:15vw}}

/* Landing: un progetto in apertura, seguito dalle News. */
.hero-feature{min-height:100svh}

.hero-feature h1{display:flex;flex-direction:column;gap:16px;max-width:none;margin:0;font-size:inherit;line-height:1}




.home-recent{background:var(--paper)}
@media(max-width:767px){.hero-feature{min-height:620px;height:100svh}.hero-feature h1{gap:24px}.home-recent .section-heading{margin-bottom:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.home-mark{display:block;border:1px solid currentColor}.home-mark::before,.home-mark::after{content:none}
/* Project categories stay available beneath the fixed site header. */
.filter-bar{position:sticky;z-index:60;top:96px;display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(16px,2vw,32px);margin-inline:calc(-1 * var(--gutter));margin-bottom:16px;padding:12px var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.category-rail{--od-gap:clamp(12px,1.5vw,24px);--od-rail-pad:0px;flex:1 1 auto;min-width:0;white-space:nowrap}
.category-button{flex:none;min-width:44px;min-height:44px;padding:8px 2px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:clamp(13px,1.1vw,16px);font-weight:600;white-space:nowrap}
.category-button[aria-pressed="true"]{border-bottom-color:var(--black);color:var(--black)}



@media(hover:hover){.category-button:hover{color:var(--black);border-bottom-color:var(--muted)}}
@media(max-width:767px){.filter-bar{top:76px;gap:16px;padding-block:8px}.category-button{font-size:13px}}
@media(max-width:400px){.filter-bar{gap:8px}}

/* Featured projects: one typographic project at a time. */
.site-header.menu-open .nav-panel{z-index:2;pointer-events:auto}
.nav-panel a{position:relative;z-index:2;cursor:pointer}

.feature-arrow{display:grid;place-items:center;flex:none;width:52px;height:52px;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;font-size:24px;line-height:1;cursor:pointer}
.feature-arrow:focus-visible{outline:3px solid var(--focus);outline-offset:4px}

.hero-feature:focus-visible{outline:3px solid var(--focus);outline-offset:-8px}
.card-label{display:grid;gap:4px;min-width:0}
.card-label strong{display:block;font-size:14px;font-weight:600}
.card-label small{display:block;font-size:12px;font-weight:500;color:var(--muted)}


@media(hover:hover){.feature-arrow:hover{background:var(--paper);color:var(--black)}}
@media(max-width:767px){.feature-arrow{width:48px;height:48px}}


/* Typographic feature: no project image or identifying content. */
.hero-feature{grid-template-rows:auto minmax(280px,1fr) auto;gap:clamp(24px,3vh,40px);min-height:100svh;height:auto;padding-top:120px}

.hero-feature h1{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:12px 24px}


.hero-stage{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:24px;min-width:0;min-height:0}

.hero-stage .feature-arrow{width:52px;height:52px;border:0;border-radius:0;background:transparent;color:var(--paper);font-size:clamp(28px,3vw,42px);transition:transform 180ms ease-out}
.hero-stage .feature-arrow:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

@media(hover:hover){.hero-stage .feature-arrow:hover{background:transparent;color:var(--paper)}.hero-stage .feature-arrow:first-child:hover{transform:translateX(-4px)}.hero-stage .feature-arrow:last-child:hover{transform:translateX(4px)}}
@media(max-width:767px){.hero-feature{grid-template-rows:auto minmax(240px,1fr) auto;min-height:620px;height:auto;padding-top:96px;padding-bottom:28px;gap:24px}.hero-feature h1{flex-direction:column;align-items:flex-start;gap:4px}.hero-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.hero-stage .feature-arrow{width:44px;height:44px;font-size:30px}}
@media(prefers-reduced-motion:reduce){.hero-stage .feature-arrow{transition:none}}

/* Archive controls and a quiet editorial list. */
.filter-actions{display:flex;align-items:center;gap:16px;flex:none}
.more-filter{position:relative;flex:none}
.filter-plus,.view-button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:var(--black);cursor:pointer}
.filter-plus{font:700 18px/1 var(--font-body);transition:transform 180ms ease-out}
.filter-plus[aria-expanded="true"]{transform:rotate(45deg)}
.filter-plus:focus-visible,.view-button:focus-visible,.sort-option:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.filter-panel{position:absolute;bottom:calc(100% + 12px);right:0;z-index:60;display:grid;gap:4px;width:max-content;max-width:calc(100vw - 48px);padding:0;background:transparent;border:0;box-shadow:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity 220ms ease-out,transform 220ms ease-out,visibility 0s linear 220ms}
.filter-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity 220ms ease-out,transform 220ms ease-out,visibility 0s}
.sort-title{display:block;color:var(--muted);font-size:clamp(13px,1.1vw,16px);font-weight:600;line-height:1.5;text-transform:lowercase}
.sort-option{display:flex;align-items:center;min-height:44px;padding:4px 0;border:0;background:transparent;color:var(--muted);font-size:clamp(13px,1.1vw,16px);line-height:1.4;text-align:left;text-transform:lowercase;cursor:pointer}
.sort-option > .ink-label{display:inline-block}
.sort-option[aria-pressed="true"],.sort-option:hover{color:var(--black)}.sort-option[aria-pressed="true"]{font-weight:700}
.view-switch{display:flex;align-items:center;gap:4px;flex:none}
.view-button{color:var(--muted);border-bottom:2px solid transparent}
.view-button svg{display:block;width:16px;height:16px}
.view-button[aria-pressed="true"]{color:var(--black);border-bottom-color:var(--black)}
.archive-list{border-top:1px solid var(--line)}
.archive-list-row{display:grid;direction:ltr;grid-template-columns:minmax(180px,2fr) minmax(110px,1.2fr) minmax(100px,1fr) minmax(150px,1fr) minmax(70px,.8fr);gap:24px;align-items:center}
.archive-list-row{min-height:96px;padding:20px 0;border-bottom:1px solid var(--line);color:var(--black);text-decoration:none;font-size:16px;line-height:1.5;cursor:pointer}
.archive-list-row>*{display:block;direction:ltr;text-align:left;min-width:0;overflow-wrap:anywhere}
.archive-list-row strong{font-size:inherit;line-height:inherit;font-weight:700}
.archive-list-row .archive-area{white-space:nowrap}
.archive-list-row:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
@media(hover:hover){.filter-plus:hover,.view-button:hover{color:var(--black)}}
@media(max-width:1024px){.archive-list-row{gap:12px;grid-template-columns:minmax(140px,1.4fr) minmax(100px,1fr) minmax(70px,.8fr) minmax(150px,1.2fr) minmax(70px,.6fr)}}
@media(max-width:767px){.filter-actions{gap:4px}.filter-panel{right:-92px}.archive-list-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;min-height:112px;padding:20px 0}.archive-list-row strong{grid-column:1/-1}.archive-list-row span:nth-child(2){grid-column:1}.archive-list-row span:nth-child(3),.archive-list-row span:nth-child(4){grid-column:1/-1;color:var(--muted);font-size:14px}.archive-list-row span:nth-child(3)::before,.archive-list-row span:nth-child(4)::before{content:attr(data-label) ": ";font-weight:600}.archive-list-row span:nth-child(5){grid-column:2;grid-row:2;white-space:nowrap}}
@media(max-width:400px){.view-button{width:40px}.filter-plus{width:40px}.filter-panel{right:-84px}}
@media(prefers-reduced-motion:reduce){.filter-plus{transition:none}}

/* Project X: editorial detail with deliberately empty image slots. */
.project-detail{background:var(--paper);color:var(--black)}
.project-opening{padding:clamp(136px,10vw,168px) var(--gutter) clamp(64px,8vw,128px)}

.project-heading{max-width:1200px}

.project-heading h1{margin-top:0;font-size:clamp(72px,13vw,190px);font-weight:500;line-height:.86;letter-spacing:-.075em;text-transform:none}
.project-heading p{max-width:18ch;margin-top:32px;font-size:clamp(28px,4vw,64px);font-weight:500;line-height:1.05;letter-spacing:-.04em}
.project-image{min-width:0;margin:0}
.project-image-box{display:block;width:100%;aspect-ratio:var(--detail-ratio,16/9);background:var(--slot)}
.project-image figcaption{margin-top:12px;color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.project-cover figcaption{padding-inline:var(--gutter)}
.project-body{padding:0 var(--gutter) var(--section)}
.project-overview{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(48px,8vw,144px);padding:clamp(80px,10vw,160px) 0}
.project-facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;margin:0}
.project-fact{--od-gap:4px}
.project-fact dt{font-size:12px;font-weight:700;text-transform:lowercase;letter-spacing:0}
.project-fact dd{margin:0;color:var(--muted);font-size:17px;line-height:1.5}
.project-story{max-width:68ch}
.project-story p{font-size:18px;line-height:1.65}
.project-story p+p{margin-top:28px}
.project-story .project-intro{font-size:clamp(24px,2.3vw,36px);font-weight:500;line-height:1.35;letter-spacing:-.025em}
.project-story details{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.project-story summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;cursor:pointer;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;list-style:none}
.project-story summary::-webkit-details-marker{display:none}
.project-story summary span{font-size:24px;font-weight:300;line-height:1;transition:transform 180ms ease-out}
.project-story details[open] summary span{transform:rotate(45deg)}
.project-story summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.project-story details p{padding:0 0 28px}
.project-gallery{padding:clamp(88px,10vw,160px) 0 0}


.project-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px) 24px}
.project-gallery .gallery-wide{grid-column:1/-1;--detail-ratio:16/9}
.project-gallery .gallery-half{--detail-ratio:4/5}
.project-gallery .gallery-half:nth-child(3) .project-image-box{background:var(--slot-dark)}
.project-end-link{display:inline-flex;align-items:center;min-height:48px;margin-top:clamp(80px,10vw,160px);color:var(--muted);text-decoration:none;font-size:13px;font-weight:600;text-transform:lowercase;letter-spacing:0}
.project-end-link:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1024px){.project-overview{grid-template-columns:1fr;gap:56px}.project-facts dl{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.project-opening{padding-top:120px;padding-bottom:64px}.project-heading h1{font-size:clamp(64px,15vw,108px)}.project-heading p{margin-top:24px;font-size:clamp(26px,7vw,42px)}.project-cover .project-image-box{--detail-ratio:4/5}.project-overview{padding:80px 0}.project-facts dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.project-story .project-intro{font-size:24px}.project-gallery-grid{grid-template-columns:1fr;gap:48px}.project-gallery .gallery-wide{grid-column:auto;--detail-ratio:4/5}.project-gallery .gallery-half{--detail-ratio:4/5}}
@media(max-width:400px){.project-facts dl{grid-template-columns:1fr}.project-heading h1{font-size:clamp(58px,14vw,72px)}}
@media(prefers-reduced-motion:reduce){.project-story summary span{transition:none}}

/* Ten sample projects: a regular, fully linked archive grid. */
.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 24px}
.archive-grid .feature-link:nth-child(n){margin-top:0}
.project-card{display:block;position:relative;cursor:pointer}
.project-card .feature-caption{align-items:flex-end;font-size:15px;text-transform:none}
.project-card .card-label{display:grid;gap:4px;min-width:0}
.project-card .card-label strong{font-size:clamp(18px,1.8vw,26px);font-weight:500;line-height:1.2}
.project-card .card-label small{font-size:14px;line-height:1.4}
.archive-list-row{cursor:pointer}
@media(max-width:767px){.archive-grid{grid-template-columns:1fr;gap:56px}.project-card .feature-caption{align-items:flex-start}}

/* Quieter archive and project-detail headings; images continue without a visible gallery label. */
.archive-page .page-lead{display:block;margin-bottom:64px}
.archive-page .page-lead h1{font-size:clamp(48px,7vw,104px);line-height:.96}
.project-heading h1{font-size:clamp(48px,7.5vw,112px);line-height:.94;letter-spacing:-.06em}
.project-heading p{font-size:clamp(20px,2.2vw,36px);line-height:1.15}
.project-gallery{padding-top:clamp(56px,7vw,112px)}
@media(max-width:767px){.archive-page .page-lead{margin-bottom:56px}.archive-page .page-lead h1{font-size:clamp(48px,10vw,64px)}.project-heading h1{font-size:clamp(42px,8.5vw,68px)}.project-heading p{font-size:clamp(18px,5vw,28px)}}

/* Interior section titles share the scale of the project detail. */
.simple-page .page-lead h1{font-size:clamp(48px,7.5vw,112px);line-height:.94;letter-spacing:-.06em}
.simple-page .page-lead{display:block;margin-bottom:clamp(88px,10vw,160px)}
.simple-copy{border-top:1px solid var(--line);padding-top:40px}
.simple-copy p{max-width:68ch;font-size:18px;line-height:1.65}
.studio-copy p+p{margin-top:24px}
.studio-copy p:first-child+p{margin-top:48px}
.studio-page.simple-page:not(.legal-page) .page-lead{margin-bottom:clamp(40px,5vw,72px)}
.studio-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(40px,5vw,88px)}
.studio-layout .studio-copy{min-width:0}
.studio-layout .studio-copy p{max-width:68ch}
.studio-layout .studio-copy p+p{margin-top:20px}
.studio-layout .studio-copy p:first-child+p{margin-top:32px}
.studio-photo{display:block;width:100%;height:auto;aspect-ratio:941/1672;align-self:start}
@media(min-width:768px) and (max-width:1279px){.studio-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:32px}.studio-layout .studio-copy p{font-size:16px;line-height:1.55}.studio-layout .studio-copy p+p{margin-top:16px}.studio-layout .studio-copy p:first-child+p{margin-top:24px}}
@media(max-width:767px){.studio-page.simple-page:not(.legal-page) .page-lead{margin-bottom:40px}.studio-layout{grid-template-columns:minmax(0,1fr);gap:32px}.studio-photo{max-width:480px}.studio-layout .studio-copy p{font-size:16px;line-height:1.65}.studio-layout .studio-copy p+p{margin-top:20px}.studio-layout .studio-copy p:first-child+p{margin-top:28px}}

/* The selected project photos keep their complete frame in detail pages. */
.archive-card-media{display:block;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--slot)}
.archive-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.project-cover-photo{display:block;width:100%;height:auto}
.project-heading h1,.project-heading p{overflow-wrap:break-word}
.project-heading h1{font-size:clamp(32px,5vw,75px)}
.project-heading p{font-size:clamp(18px,1.6vw,24px)}
@media(max-width:767px){.project-heading h1{font-size:clamp(32px,6vw,46px)}.project-heading p{font-size:clamp(16px,3.5vw,20px)}}
.project-detail{--project-subtitle-size:clamp(20px,1.6vw,24px);--project-body-size:17px}
.project-heading p{max-width:52ch;font-size:var(--project-subtitle-size);line-height:1.35;letter-spacing:-.02em}
.project-story .project-intro{font-size:var(--project-subtitle-size);font-weight:700;line-height:1.4;letter-spacing:normal}
.project-story>p:not(.project-intro),.project-story details p{font-size:var(--project-body-size);line-height:1.65}
.project-story details{margin-top:32px;border:0}
.project-story summary{font-size:16px;font-weight:700;text-transform:lowercase;letter-spacing:0}
@media(max-width:767px){.project-detail{--project-subtitle-size:18px;--project-body-size:16px}}

/* Home landing: one photograph held within a generous white frame. */
.home-mark{display:grid;place-items:center;width:56px;height:56px;border:0;background:transparent}
.home-mark img{display:block;width:48px;height:48px;object-fit:contain}
body[data-page="home"] .site-header:not(.menu-open){background:var(--paper);color:var(--black)}
.hero-feature{display:block;min-height:100svh;height:auto;padding:0;background:var(--paper)}
.hero-feature .hero-stage{--hero-vertical-space:clamp(136px,15vh,184px);--hero-base-height:max(320px,min(60svh,52vw));--hero-logo-bottom:85px;--hero-photo-top:max(var(--hero-vertical-space),calc((100svh - var(--hero-base-height))/2));--hero-bottom-space:max(0px,calc(var(--hero-photo-top) - var(--hero-logo-bottom)));--hero-caption-gap:clamp(16px,2vw,24px);--hero-caption-line:clamp(20px,2.4vw,36px);display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:auto auto;column-gap:clamp(16px,2.4vw,40px);row-gap:var(--hero-caption-gap);align-content:start;align-items:center;width:min(100%,1600px);min-height:100svh;margin-inline:auto;padding:var(--hero-photo-top) var(--gutter) max(0px,calc(var(--hero-bottom-space) - var(--hero-caption-gap) - var(--hero-caption-line)));background:var(--paper)}
.hero-feature .hero-images{position:relative;grid-column:2;grid-row:1;display:block;width:100%;height:max(200px,calc(100svh - var(--hero-photo-top) - var(--hero-bottom-space)));overflow:hidden;background:var(--slot);animation:home-photo-appear 700ms ease-in-out}
@keyframes home-photo-appear{from{opacity:0}to{opacity:1}}
.hero-feature .hero-slide{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity 900ms ease-in-out}
.hero-feature .hero-slide img{display:block;width:100%;height:100%;object-fit:contain}
.hero-feature .hero-slide.is-active{opacity:1}
.hero-feature .hero-stage .feature-arrow,.hero-feature .hero-caption{position:relative}
@media(max-width:767px){.hero-feature .hero-slide{object-position:var(--slide-mobile-position,50% 50%)}}
@media(prefers-reduced-motion:reduce){.hero-feature .hero-slide{transition:none}}
.hero-feature .hero-stage .feature-arrow{display:grid;place-items:center;align-self:center;width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#9d9d9c;transition:transform 180ms ease-out}
.hero-feature .feature-arrow-prev{grid-column:1;grid-row:1}
.hero-feature .feature-arrow-next{grid-column:3;grid-row:1}
.hero-feature .hero-caption{grid-column:2;grid-row:2;align-self:start;justify-self:stretch;display:block;min-width:0;width:100%;margin:0;padding:0;background:transparent;pointer-events:none;animation:home-statement-appear 850ms ease-in-out 700ms backwards}
@keyframes home-statement-appear{from{opacity:0}to{opacity:1}}
.hero-feature .home-statement{display:block;width:100%;max-width:none;margin:0;font-family:var(--font-body);font-optical-sizing:auto;font-size:clamp(16px,2.1vw,32px);font-style:normal;font-weight:400;line-height:1.1;letter-spacing:-.025em;text-align:left;text-transform:none;text-shadow:none;white-space:nowrap}
.hero-feature .home-statement span{display:inline}
.hero-feature .home-statement-dark{color:#000}
.hero-feature .home-statement-muted{color:#9d9d9c}
.home-recent{--home-photo-inset:calc(var(--gutter) + 44px + clamp(16px,2.4vw,40px));width:min(100%,1600px);margin-inline:auto;padding-inline:var(--home-photo-inset)}
.home-recent,body[data-page="home"] .site-footer{background:var(--paper);color:var(--black)}
body[data-page="home"] .site-footer{border-top:1px solid var(--line)}
@media(hover:hover){.hero-feature .hero-stage .feature-arrow:hover{background:transparent;color:#9d9d9c}}
@media(max-width:767px){.simple-page .page-lead h1{font-size:clamp(42px,8.5vw,68px)}.simple-page .page-lead{margin-bottom:88px}.simple-copy{padding-top:32px}.home-mark{width:48px;height:48px}.home-mark img{width:42px;height:42px}.hero-feature{min-height:100svh;height:auto;padding:0}.hero-feature .hero-stage{--hero-vertical-space:104px;--hero-base-height:min(50svh,calc(125vw - 140px));--hero-logo-bottom:71px;--hero-caption-gap:16px;--hero-caption-line:20px;grid-template-columns:44px minmax(0,1fr) 44px;column-gap:4px;min-height:100svh;padding:var(--hero-photo-top) 8px max(0px,calc(var(--hero-bottom-space) - var(--hero-caption-gap) - var(--hero-caption-line)))}.hero-feature .hero-images{height:max(200px,calc(100svh - var(--hero-photo-top) - var(--hero-bottom-space)));aspect-ratio:auto;max-height:none}.hero-feature .home-statement{font-size:clamp(10px,3vw,14px)}}
@media(max-width:350px){.hero-feature .hero-stage{--hero-logo-bottom:64px}}
@media(min-width:768px) and (max-width:1024px){.hero-feature .hero-stage{--hero-vertical-space:136px;--hero-base-height:55svh}}
@media(prefers-reduced-motion:reduce){.hero-feature .hero-stage .feature-arrow{transition:none}.hero-feature .hero-images,.hero-feature .hero-caption{animation:none}}

/* Section names retain their authored capitalization; contact groups preserve the requested blank lines. */
.home-recent .section-heading h2,.archive-page .page-lead h1,.simple-page .page-lead h1{text-transform:none}
.contact-details{display:grid;gap:32px;font-style:normal}
.contact-details p{margin:0}
.contact-details a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.contact-details a:hover,.contact-details a:focus-visible{border-bottom-color:currentColor}
.contact-details .contact-name{font-size:20px;font-weight:700}
.contact-addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,6vw,96px);max-width:840px}
@media(max-width:599px){.contact-addresses{grid-template-columns:1fr;gap:32px}}

/* The home uses the complete logo image; interior pages use the separate symbol. */
.home-mark{--mark-symbol-size:48px}
.home-mark .mark-symbol{width:var(--mark-symbol-size);height:var(--mark-symbol-size)}
.home-mark .mark-wordmark{position:absolute;top:calc((100% - var(--mark-symbol-size))/2);left:calc((100% - var(--mark-symbol-size))/2);width:calc(var(--mark-symbol-size) * 3.646607);height:auto;max-width:none;opacity:0;pointer-events:none;clip-path:inset(0 0 12% 0);transition:opacity 220ms ease-in}
@media(hover:hover) and (pointer:fine){.home-mark:hover .mark-wordmark{opacity:1}}
@media(max-width:767px){.home-mark{--mark-symbol-size:42px}}
@media(prefers-reduced-motion:reduce){.home-mark .mark-wordmark{transition:none}}

/* Quiet footer and text-only project categories. */
.site-footer,body[data-page="home"] .site-footer{align-items:center;flex-wrap:nowrap;padding:32px var(--gutter);border:0;background:var(--paper);color:var(--filter-inactive);font-size:14px;line-height:1.5}
.site-footer a{border:0;text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-links{display:flex;align-items:center;gap:12px;margin-left:auto;white-space:nowrap}
.footer-identity{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.filter-bar{margin-bottom:56px;border:0}
.category-rail{--od-gap:8px}
.category-button{padding:8px 0;border:0;color:var(--muted);font-weight:400;text-transform:lowercase}
.category-button:not(:first-child)::before{content:"|";display:inline-block;margin-right:12px;color:var(--line);font-weight:400}
.category-button[aria-pressed="true"]{border:0;color:var(--black);font-weight:700}
.legal-page .page-lead h1{font-size:clamp(42px,6vw,72px)}
@media(max-width:767px){.site-footer,body[data-page="home"] .site-footer{align-items:flex-start;flex-direction:column;gap:8px;line-height:1.3}.footer-links{margin-left:0}.filter-bar{margin-bottom:48px}}

/* White navigation and a consistent, quiet text-link response. */
.site-header.menu-open{background:var(--paper);color:var(--black)}
.nav-panel{background:var(--paper);color:var(--black)}
.nav-panel a{width:fit-content;max-width:100%;min-height:clamp(68px,8vw,112px);padding:8px 0;border:0;font-size:clamp(36px,5.5vw,80px);line-height:1.05}
.nav-panel a:last-child{border:0}
.nav-panel a::after{display:none}
.nav-panel a:hover,.nav-panel a[aria-current="page"]{color:var(--black)}
.nav-panel a[aria-current="page"]{font-weight:500}
.project-end-link{position:relative}
.project-end-link .site-arrow{--od-icon-size:18px;margin-right:12px}
.project-end-link:hover,.menu-toggle:hover,.site-footer a:hover,.recent-row:hover strong{text-decoration:none}
.contact-details a{border-bottom:0}
.project-story summary{width:fit-content;max-width:100%;justify-content:flex-start}
.project-card .card-label strong,.archive-list-row strong,.recent-row .row-title strong{width:fit-content;max-width:100%}
@media(max-width:767px){.nav-panel a{min-height:76px;font-size:clamp(32px,8vw,52px)}}
/* The underline belongs to the letters, never to a full control or a project row. */
.menu-toggle:hover,.site-footer a:hover,.recent-row:hover strong,.project-end-link:hover{ text-decoration:none }
.locale-switch a[aria-current="page"],.contact-details a:hover,.contact-details a:focus-visible{ text-decoration:none;border-bottom-color:transparent }
.ink-label{position:relative;display:inline-block;max-width:100%;width:max-content}
.ink-label::after{content:"";position:absolute;left:0;right:0;bottom:-.16em;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left center;transition:transform 220ms ease-out}
.contact-details a[href^="mailto:"] .ink-label::after{bottom:-.04em}
.project-card .card-label strong .ink-label::after,.archive-list-row strong .ink-label::after{bottom:-.04em}
.project-story summary .ink-label{font-size:inherit;font-weight:inherit;line-height:inherit;transition:none}
.project-story details[open] summary .ink-label{transform:none}
.locale-switch a[aria-current="page"] > .ink-label::after{transform:scaleX(1)}
:is(a,button,summary):focus-visible > .ink-label::after,
:is(.project-card,.archive-list-row,.recent-row):focus-visible .ink-label::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
  :is(a,button,summary):hover > .ink-label::after,
  :is(.project-card,.archive-list-row,.recent-row):hover .ink-label::after{transform:scaleX(1)}
}
@media(prefers-reduced-motion:reduce){.ink-label::after{transition:none}}

/* Header and navigation share the same text baseline and underline spacing. */
.menu-toggle,.locale-switch a{font-family:var(--font-body);font-size:14px;font-weight:400;line-height:1.4;letter-spacing:0;text-transform:none}
.nav-panel a{justify-content:flex-start;gap:24px;margin-bottom:16px}
.nav-panel a .site-arrow{--od-icon-size:.72em;align-self:center}
@media(max-width:767px){.nav-panel a{margin-bottom:12px}}

.home-recent .section-heading h2{font-size:clamp(36px,5.5vw,80px);font-weight:500;line-height:1.05;letter-spacing:-.045em}
.home-recent .recent-row .row-title strong .ink-label::after{bottom:-.06em}
.home-recent .recent-list,.home-recent .recent-row{border:0}
.home-recent .recent-row{display:flex;justify-content:flex-start;align-items:flex-start;gap:12px;min-height:0;padding:24px 0}
.home-recent .recent-row .row-title{text-align:left;justify-items:start}

@media(min-width:1025px){
  .home-recent{--home-header-height:96px;--home-footer-height:108px;display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - var(--home-footer-height));padding-top:var(--home-header-height);padding-bottom:0}
}
@media(min-width:1025px) and (max-height:800px){
  .home-recent .section-heading{margin-bottom:24px}
  .home-recent .section-heading h2{font-size:clamp(40px,4.5vw,64px)}
  .home-recent .recent-row{padding-block:12px}
  .home-recent .recent-row strong{font-size:clamp(24px,2.6vw,42px)}
}
@media(max-width:767px){.home-recent .section-heading h2{font-size:clamp(32px,8vw,52px)}.home-recent .recent-row{gap:8px;padding:20px 0}}

/* The selected covers use separate archive and hero framing; gallery masters stay intact. */
.archive-card-media{aspect-ratio:var(--card-ratio,4/5)}
.archive-card-media img{object-position:var(--card-position,50% 50%)}
.project-cover-photo{width:100%;height:auto;aspect-ratio:var(--hero-ratio,16/9);object-fit:cover;object-position:var(--hero-position,50% 50%)}
.project-gallery-photo{display:block;width:100%;height:auto;object-fit:contain}
.project-photo-credit{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.5;font-weight:400;letter-spacing:0;text-transform:none}
.project-cover .project-photo-credit{padding-inline:var(--gutter)}
@media(max-width:767px){.archive-card-media{aspect-ratio:var(--card-narrow-ratio,2/3)}.project-cover-photo{aspect-ratio:4/5}}

/* Editorial rows share one gutter; each image keeps its original frame. */
.project-gallery-grid--photos{gap:24px}
.project-gallery-row{grid-column:1/-1;display:grid;gap:24px;align-items:start}
.project-gallery-row .project-image{min-width:0;margin:0}
.project-gallery-row .project-gallery-photo{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.project-gallery-row--paired .project-gallery-photo{aspect-ratio:var(--gallery-frame-ratio);object-fit:cover}
.project-gallery-row--full-frame .project-gallery-photo{aspect-ratio:auto;object-fit:contain}
@media(max-width:767px){
  .archive-card-media img{object-position:var(--card-narrow-position,var(--card-position,50% 50%))}
  .project-gallery-row{display:contents}
  .project-gallery-row.project-gallery-row--full-frame{display:grid}
  .project-gallery-grid--photos{grid-template-columns:1fr;gap:24px}
  .project-gallery-row--paired .project-gallery-photo{aspect-ratio:auto;object-fit:contain}
}

/* Desktop archive: a compact opening and two landscape previews per row. */
@media(min-width:768px){
  .archive-page{padding-top:clamp(136px,10vw,168px)}
  .archive-grid{row-gap:48px}
  .archive-grid .archive-card-media{aspect-ratio:16/9}
  .archive-grid .empty-media{--ratio:16/9}
}

/* Project titles keep the exact case supplied by the editorial manifest. */
.project-card .card-label strong,.archive-list-row strong,.project-heading h1{text-transform:none}
@media(max-width:767px){.archive-card-media[style*="--card-narrow-ratio:4/5"] img{object-position:var(--card-mobile-45-position,var(--card-narrow-position,50% 50%))}}

/* Keep the open navigation above the sticky project category rail. */
.site-header.menu-open{z-index:70}

/* Short interior pages keep their footer at the viewport edge. */
body{min-height:100svh;display:flex;flex-direction:column}
#main{flex:1 0 auto}

/* Studio, News and Contatti follow the archive title position, without a rule below it. */
@media(min-width:768px){
  .simple-page:not(.legal-page){padding-top:clamp(136px,10vw,168px)}
}
.simple-page:not(.legal-page) .page-lead h1{font-size:clamp(48px,7vw,104px);line-height:.96}
.simple-page:not(.legal-page) .simple-copy{border-top:0;padding-top:0}

/* Contact details fit within the available height while remaining readable. */
body[data-page="contacts"] #main{display:flex;flex:1 1 auto;min-height:0}
body[data-page="contacts"] .simple-page{flex:1;min-height:0;padding-bottom:24px}
body[data-page="contacts"] .page-lead{margin-bottom:clamp(16px,2vw,32px)}
body[data-page="contacts"] .contact-details{gap:clamp(12px,2vh,24px)}
body[data-page="contacts"] .contact-details p{font-size:clamp(16px,1.4vw,18px);line-height:1.45}
body[data-page="contacts"] .contact-details .contact-name{font-size:18px}
@media(max-width:767px){
  body[data-page="contacts"] .simple-page{padding-top:88px;padding-bottom:12px}
  body[data-page="contacts"] .page-lead{margin-bottom:16px}
  body[data-page="contacts"] .page-lead h1{font-size:clamp(42px,8.5vw,68px)}
  body[data-page="contacts"] .contact-details{gap:12px}
  body[data-page="contacts"] .contact-details p{font-size:16px;line-height:1.4}
  body[data-page="contacts"] .contact-details .contact-name{font-size:16px}
  body[data-page="contacts"] .contact-addresses{gap:12px}
  body[data-page="contacts"] .site-footer{gap:4px;padding-block:12px}
}

/* Align the visible letter bottoms with the mark; underlines remain below. */
.site-header{--header-mark-size:48px}
.site-header .home-mark{--mark-symbol-size:var(--header-mark-size)}
body[data-page="home"] .site-header .home-mark{width:calc(var(--mark-symbol-size) * 3.646607 + 8px)}
body[data-page="home"] .site-header .home-mark .mark-symbol{visibility:hidden}
body[data-page="home"] .site-header .home-mark .mark-wordmark{left:4px;opacity:1;transition-timing-function:ease-out}
.header-actions{transform:translateY(calc((var(--header-mark-size) - 44px)/2 + 2px))}
body[data-page="home"] .header-actions{transform:translateY(calc((var(--header-mark-size) - 44px)/2 + 8px))}
.menu-toggle{align-items:flex-end}
.locale-switch a{display:flex;align-items:flex-end;justify-content:center}

/* Simple pages share one content baseline below their titles. */
.simple-page:not(.legal-page) .page-lead{margin-bottom:clamp(64px,7vw,104px)}
@media(max-width:767px){
  .site-header{--header-mark-size:42px;gap:16px}
  .header-actions{gap:8px}
  .menu-toggle{min-width:48px}
  .locale-switch a{width:30px}
  .menu-toggle,.locale-switch a{font-size:13px}
  body[data-page="home"] .header-actions{transform:translateY(calc((var(--header-mark-size) - 44px)/2 + 7px))}
  body[data-page="home"] .site-header .home-mark{width:calc(var(--mark-symbol-size) * 3.646607 + 6px)}
  body[data-page="home"] .site-header .home-mark .mark-wordmark{left:3px}
  .simple-page:not(.legal-page){padding-top:104px}
  body[data-page="contacts"] .simple-page{padding-top:104px}
  .simple-page:not(.legal-page) .page-lead{margin-bottom:48px}
  body[data-page="contacts"] .contact-details{gap:8px}
  body[data-page="contacts"] .contact-addresses{gap:8px}
}
@media(max-width:350px){
  body[data-page="home"] .site-header{--header-mark-size:34px}
  body[data-page="home"] .header-actions{transform:translateY(calc((var(--header-mark-size) - 44px)/2 + 6px))}
}
@media(max-width:767px) and (max-height:650px){
  .simple-page:not(.legal-page){padding-top:88px}
  body[data-page="contacts"] .simple-page{padding-top:88px;padding-bottom:0}
  .simple-page:not(.legal-page) .page-lead{margin-bottom:32px}
  body[data-page="contacts"] .contact-details{gap:8px}
  body[data-page="contacts"] .contact-details p{line-height:1.3}
  body[data-page="contacts"] .contact-addresses{gap:8px}
  body[data-page="contacts"] .site-footer{padding-block:8px}
}

/* Project covers share the gallery's page gutters on every viewport. */
.project-cover{margin-inline:var(--gutter)}
.project-cover figcaption,.project-cover .project-photo-credit{padding-inline:0}

/* Team uses the same title baseline as Studio, with distinct founder profiles. */
.team-content{--team-text-size:clamp(16px,1.4vw,18px);max-width:1440px}
.team-intro{max-width:68ch;font-size:var(--team-text-size);line-height:1.45;letter-spacing:normal}
.team-founder{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,112px);margin-top:clamp(72px,9vw,136px);padding-top:32px}
.team-founder-heading h2{font-size:var(--team-text-size);font-weight:700;line-height:1.45;letter-spacing:normal}
.team-founder-role{max-width:34ch;margin-top:8px;font-size:var(--team-text-size);line-height:1.45;color:var(--muted)}
.team-founder-role span{display:block}
.team-founder-bio{max-width:68ch}
.team-founder-bio p{font-size:var(--team-text-size);line-height:1.45}
.team-founder-bio p+p{margin-top:24px}
.team-people{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,112px);margin-top:clamp(88px,10vw,160px);padding-top:32px}
.team-people h2{min-width:0;max-width:none;font-size:var(--team-text-size);font-weight:600;line-height:1.45;letter-spacing:normal}
.team-people-body{min-width:0}
.team-people-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:8px 24px;min-width:0;margin:0;padding:0;list-style:none}
.team-people-list li{font-size:var(--team-text-size);font-weight:400;line-height:1.45}
@media(max-width:1199px){.team-people h2 span{display:block}}
@media(max-width:767px){
  .team-intro{font-size:var(--team-text-size);line-height:1.45}
  .team-founder{grid-template-columns:1fr;gap:32px;margin-top:72px;padding-top:24px}
  .team-founder-heading h2{font-size:var(--team-text-size)}
  .team-founder-role{margin-top:8px}
  .team-founder-bio p{font-size:var(--team-text-size);line-height:1.45}
  .team-people{grid-template-columns:1fr;gap:16px;margin-top:80px;padding-top:24px}
}

/* A single light-stroke arrow family for navigation and project links. */
.od-icon.site-arrow{display:inline-block;inline-size:var(--od-icon-size,1em);block-size:var(--od-icon-size,1em);flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-arrow--left{transform:rotate(180deg)}


.hero-feature .feature-arrow .site-arrow{--od-icon-size:26px}
.home-recent .recent-row .site-arrow{--od-icon-size:clamp(26px,3.1vw,52px);margin-top:.1em}

/* Keep the archive ordering choices compact without changing their labels. */
.filter-panel{gap:0}
.sort-title{font-size:11px;line-height:1.2}
.sort-option{min-height:36px;padding:2px 0;font-size:12px;line-height:1.2}
@media(max-width:767px){
  .sort-option{min-height:44px}
  .home-recent{--home-photo-inset:56px;--recent-center-offset:clamp(24px,6svh,56px);display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:calc(96px + var(--recent-center-offset)) 8px 32px var(--home-photo-inset)}
  .home-recent .section-heading{margin-bottom:calc(28px + var(--recent-center-offset))}
  .home-recent .section-heading h2{font-size:clamp(24px,6vw,32px);line-height:1.05}
  .home-recent .recent-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:auto auto;column-gap:8px;row-gap:4px;align-items:start;padding:14px 0}
  .home-recent .recent-row .row-title{display:contents}
  .home-recent .recent-row strong{grid-column:1;grid-row:1}
  .home-recent .recent-row strong{font-size:clamp(17px,4.7vw,22px);line-height:1.15}
  .home-recent .recent-title-separator{display:none}
  .home-recent .recent-title-place{display:block}
  .home-recent .recent-row small{grid-column:1;grid-row:2;font-size:13px;line-height:1.3}
  .home-recent .recent-row .site-arrow{--od-icon-size:22px;grid-column:2;grid-row:1;align-self:center;justify-self:center;margin-top:0}
}

/* Page titles and the open menu use one responsive type size. */
:root{--page-menu-title-size:clamp(36px,5.5vw,80px)}
.nav-panel a,.archive-page .page-lead h1,.simple-page:not(.legal-page) .page-lead h1{font-size:var(--page-menu-title-size)}
@media(min-width:768px) and (max-width:1024px){
  .nav-panel{display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(8px,1svh,14px);height:100svh;min-height:100svh;padding:clamp(96px,10svh,136px) var(--gutter) 32px}
  .nav-panel a{flex:none;min-height:clamp(64px,7svh,96px);margin-bottom:0;padding:0}
}
@media(max-width:767px){:root{--page-menu-title-size:clamp(32px,8vw,52px)}}

/* Archive categories use the approved neutral gray and wrap only when needed. */
:root{--filter-inactive:#9d9d9c}
.category-button,.category-button:not([aria-pressed="true"]):hover{color:var(--filter-inactive)}
.category-button[aria-pressed="true"],.category-button[aria-pressed="true"]:hover{color:#000}
.menu-toggle,.locale-switch a{color:var(--filter-inactive)}
/* The menu fades in as one panel; its four links follow in reading order. */
.site-header.menu-open .nav-panel{animation:menu-panel-in 220ms ease-out both}
.site-header.menu-open .nav-panel a{animation:menu-link-in 260ms ease-out both}
.site-header.menu-open .nav-panel a:nth-child(1){animation-delay:40ms}
.site-header.menu-open .nav-panel a:nth-child(2){animation-delay:100ms}
.site-header.menu-open .nav-panel a:nth-child(3){animation-delay:160ms}
.site-header.menu-open .nav-panel a:nth-child(4){animation-delay:220ms}
@keyframes menu-panel-in{from{opacity:0}to{opacity:1}}
@keyframes menu-link-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.site-header.menu-open .nav-panel,.site-header.menu-open .nav-panel a{animation:none}}
@media(max-width:1024px){
  .category-rail{flex-wrap:wrap;overflow-x:visible;scroll-snap-type:none;white-space:normal}
}
@media(max-width:767px){
  .filter-bar{flex-wrap:wrap}
  .category-rail{flex:1 1 100%}
  .filter-actions{margin-left:auto}
}

/* Linked preview text stays black; interaction is shown by the underline. */
.home-recent .recent-row .row-title,
.archive-page .project-card .card-label,
.site-header.menu-open .nav-panel a{color:var(--black)}
.home-recent .recent-row .row-title small,
.archive-page .project-card .card-label small{color:inherit}

/* Home photograph shares the wordmark's left edge and an equal right inset. */
.hero-feature .hero-stage{
  display:block;
  width:100%;
  padding:var(--hero-photo-top) calc(var(--gutter) + 4px) var(--hero-bottom-space);
}
.hero-feature .hero-images{container-type:inline-size;width:100%;height:max(200px,calc(100svh - var(--hero-photo-top) - var(--hero-bottom-space)));aspect-ratio:auto}
.hero-feature .hero-slide img{object-fit:cover;object-position:var(--slide-desktop-position,50% 50%)}
.hero-feature .hero-slide.is-drifting img{animation:home-photo-drift 7400ms linear both;will-change:transform}
@keyframes home-photo-drift{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.20) translate3d(2%,-.7%,0)}}
.hero-feature .hero-images::after{content:"";position:absolute;z-index:1;inset:0;background:rgba(255,255,255,.5);pointer-events:none}
.hero-feature .hero-caption{
  --statement-size:clamp(26px,min(6cqw,calc(10svh - 8px)),96px);
  --statement-inset:clamp(20px,calc(var(--gutter) + 4px),60px);
  position:absolute;
  z-index:2;
  bottom:var(--statement-inset);
  right:var(--statement-inset);
  left:var(--statement-inset);
  width:auto;
  padding:0;
  background:transparent;
  animation:home-statement-appear 700ms ease-out 650ms both;
}
.hero-feature .home-statement{
  max-width:100%;
  color:var(--paper);
  font-size:var(--statement-size);
  font-weight:400;
  line-height:1.111;
  text-transform:uppercase;
  white-space:normal;
  overflow-wrap:normal;
}
.hero-feature .home-statement .home-statement-line{display:block}
.hero-feature .home-statement .home-statement-line:last-child{font-weight:700}
.home-recent{--home-photo-inset:calc(var(--gutter) + 4px);width:100%}
@media(min-width:768px) and (max-width:1024px){
  .hero-feature .hero-caption{--statement-size:clamp(28px,6.4cqw,70px)}
}
@media(min-width:768px) and (max-width:1024px) and (orientation:portrait){
  .hero-feature .hero-slide img{object-position:var(--slide-tablet-position,50% 50%)}
}
@media(max-width:767px){
  .hero-feature .hero-stage{display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:calc(var(--hero-logo-bottom) + 24px) calc(var(--gutter) + 3px) 24px}
  .hero-feature .hero-images{flex:none;height:auto;aspect-ratio:2/3;margin-inline:auto}
  .hero-feature .hero-slide img{object-position:var(--slide-mobile-position,50% 50%)}
  .hero-feature .hero-caption{--statement-size:clamp(27px,10.5cqw,48px);--statement-inset:20px}
  .hero-feature .home-statement{letter-spacing:-.045em}
  .home-recent{--home-photo-inset:calc(var(--gutter) + 3px)}
}
@media(min-width:768px){
  .hero-feature .hero-caption{--statement-size:4.85cqw;--statement-inset:clamp(14px,1.75cqw,28px)}
  .hero-feature .home-statement{display:flex;align-items:baseline;justify-content:center;gap:.25em;white-space:nowrap}
  .hero-feature .home-statement .home-statement-line{display:inline-block;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){.hero-feature .hero-caption,.hero-feature .hero-slide.is-drifting img{animation:none}}

/* Privacy policy: a plain reading column beneath the standard page title. */
.legal-page.simple-page{padding-top:clamp(136px,10vw,168px)}
.legal-page .page-lead{margin-bottom:clamp(48px,7vw,88px)}
.legal-page .page-lead h1{font-size:var(--page-menu-title-size);line-height:.96}
.legal-page .simple-copy{border-top:0;padding-top:0}
.legal-copy{max-width:76ch;font-family:var(--font-body)}
.legal-copy .legal-updated,.legal-copy .legal-section p{font-size:17px;line-height:1.65}
.legal-copy .legal-updated{color:var(--muted)}
.legal-copy .legal-section{margin-top:48px}
.legal-copy .legal-section h2{margin-bottom:16px;font-family:var(--font-body);font-size:21px;font-weight:600;line-height:1.35;letter-spacing:0}
.legal-copy .legal-section p+p{margin-top:16px}
.legal-copy a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.legal-copy a .ink-label::after{bottom:-.04em}
@media(max-width:767px){
  .legal-page.simple-page{padding-top:104px}
  .legal-page .page-lead{margin-bottom:48px}
  .legal-copy .legal-updated,.legal-copy .legal-section p{font-size:16px}
  .legal-copy .legal-section{margin-top:40px}
  .legal-copy .legal-section h2{font-size:19px}
}


/* Mobile archive: stable width, accessible cards and in-flow sorting controls. */
.card-title-place::before{content:" - "}
.studio-layout .studio-copy p:first-child strong{display:block}
@media(max-width:767px){
  html,body{max-width:100%;overflow-x:clip}body{min-width:0}
  .archive-page,.archive-grid,.project-card,.archive-card-media{min-width:0;max-width:100%}
  .archive-grid{width:100%;grid-template-columns:minmax(0,1fr);touch-action:pan-y}
  .project-card .card-label strong{width:100%;overflow-wrap:anywhere}
  .card-title-place{display:block}
  .card-title-place::before{content:none}
  .filter-actions{display:grid;grid-template-columns:44px 92px;justify-content:end;align-items:center;width:100%;gap:4px}
  .more-filter{display:contents}
  .filter-plus{grid-column:1;grid-row:1}
  .view-switch{grid-column:2;grid-row:1}
  .filter-panel{position:static;grid-column:1/-1;grid-row:2;justify-self:end;justify-items:end;display:none;width:min(300px,calc(100vw - 2 * var(--gutter)));max-width:calc(100vw - 2 * var(--gutter));margin-top:8px;padding:8px 0 0;background:var(--paper);border:0;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:none}
  .filter-panel.is-open{display:grid;transform:none}
  .filter-panel .sort-title{text-align:right}
  .filter-panel .sort-option{justify-content:flex-end;width:100%;text-align:right}
  .filter-actions .view-button,.filter-actions .view-button[aria-pressed="true"]{position:relative;border-bottom:0}
  .filter-actions .view-button::after{content:"";position:absolute;left:50%;bottom:5px;width:16px;height:1px;background:currentColor;opacity:0;transform:translateX(-50%)}
  .filter-actions .view-button[aria-pressed="true"]::after{opacity:1}
  .archive-card-media img,.project-cover-photo,.project-gallery-photo,.hero-slide img{touch-action:pan-y;-webkit-user-drag:none}
}

/* Align the Projects heading with Studio, Team and Contacts on mobile. */
@media(max-width:767px){.archive-page{padding-top:104px}}
@media(max-width:767px) and (max-height:650px){.archive-page{padding-top:88px}}

@media(max-width:400px){.filter-actions{grid-template-columns:40px 84px}}

/* Refinements requested before the project URL migration. */
.studio-layout .studio-copy p:first-child strong{margin-bottom:1em}
.project-end-link{color:var(--black)}
body[data-page="contacts"] .contact-phone,body[data-page="contacts"] .contact-social{margin-top:1.3em}
@media(max-width:1024px){.category-rail{row-gap:0}.category-button{min-height:28px;padding-block:4px;line-height:1.25}}

/* Project detail typography and paired fact alignment. */
.project-title-place::before{content:" - "}
.project-facts dl{align-items:start}
.project-fact{align-self:start;align-content:start;grid-template-rows:max-content max-content}
.project-fact dd{white-space:pre-line}
@media(min-width:768px){.project-heading p{max-width:none;white-space:nowrap;font-size:clamp(16px,1.5vw,24px)}}
@media(max-width:767px){.project-title-place{display:block;margin-top:.12em}.project-title-place::before{content:none}}
@media(max-width:360px){.project-heading h1{font-size:26px}}

/* Archive controls: icon-width underline and a lighter plus at every size. */
.filter-plus{font:400 20px/1 var(--font-body)}
@media(min-width:768px){
  .filter-actions .view-button,.filter-actions .view-button[aria-pressed="true"]{position:relative;border-bottom:0}
  .filter-actions .view-button::after{content:"";position:absolute;left:50%;bottom:5px;width:16px;height:1px;background:currentColor;opacity:0;transform:translateX(-50%)}
  .filter-actions .view-button[aria-pressed="true"]::after{opacity:1}
}
