*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#202020;font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #a52929;outline-offset:5px}a:hover{color:#a52929}header{display:flex;align-items:center;justify-content:space-between;padding:33px 4vw;gap:24px}.brand{font-size:26px;letter-spacing:.15em;white-space:nowrap}.brand span{color:#a52929;font-size:14px;letter-spacing:.1em;margin-left:15px}nav{display:flex;gap:33px;font-size:14px}nav a[aria-current]{color:#a52929}main{padding:0 4vw}.hero{position:relative;height:calc(100svh - 173px);min-height:480px;max-height:880px;overflow:hidden}.hero>a{display:block;height:100%;color:white}.hero img{width:100%;height:100%;object-fit:cover;object-position:50% 54%}.hero-word{position:absolute;left:4%;bottom:6%;font-size:clamp(48px,7.5vw,118px);font-weight:400;letter-spacing:-.065em;line-height:.98;color:white;pointer-events:none}.hero-caption{display:flex;justify-content:space-between;padding:17px 0;font-size:14px}.hero-caption a{text-decoration:underline;text-underline-offset:4px}.home-selection{padding-top:100px}.section-label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:24px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 28px}.photo{aspect-ratio:5/4;overflow:hidden;background:#eee}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover img{transform:scale(1.025)}.caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px}.caption h2{font-size:20px;font-weight:400;margin:0}.caption span{font-size:14px;color:#686868}.archive-call{display:flex;justify-content:space-between;align-items:baseline;padding:110px 0 70px}.archive-call span{font-size:14px;color:#686868}.archive-call a{font-size:clamp(42px,6vw,90px);letter-spacing:-.055em}.page-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:65px 0 75px}.page-heading h1,.project-heading h1{font-size:clamp(48px,6vw,86px);letter-spacing:-.055em;font-weight:400;margin:0}.page-heading>span{color:#777;font-size:14px}.projects-grid{padding-bottom:80px}.projects-grid .project-card:first-child{grid-column:1/-1}.projects-grid .project-card:first-child .photo{aspect-ratio:2/1}.archive{width:100%;border-collapse:collapse;text-align:left;margin-bottom:100px;font-size:14px;table-layout:fixed}.archive thead th{font-weight:400;font-size:12px;color:#747474;padding:0 12px 20px 0}.archive td,.archive tbody th{padding:20px 12px 20px 0;vertical-align:baseline;font-weight:400;line-height:1.5;overflow-wrap:anywhere;border-top:1px solid #e6e6e6}.archive th:nth-child(1),.archive td:nth-child(1){width:12%;color:#686868}.archive th:nth-child(2){width:36%}.archive tbody th{font-size:19px;letter-spacing:-.02em}.archive th:nth-child(3),.archive td:nth-child(3){width:34%;color:#686868}.archive th:last-child,.archive td:last-child{width:18%;text-align:right;color:#686868;padding-right:0}.archive a:hover{text-decoration:underline;text-underline-offset:4px}#hover-preview{position:fixed;right:5vw;width:340px;margin:0;z-index:3;pointer-events:none;box-shadow:0 8px 24px #0002;background:white;padding:8px}#hover-preview[hidden]{display:none}#hover-preview img{width:100%;display:block}#hover-preview figcaption{font-size:12px;padding:10px 3px 3px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;min-height:55vh;padding-bottom:80px}.contact-title{font-size:clamp(42px,5vw,72px);letter-spacing:-.05em;line-height:1.07}.contact-data{padding-top:4px;font-size:22px;line-height:1.6}.contact-data p{margin:0}.contact-data .label{font-size:12px;color:#777;margin:0 0 7px}.contact-data a+p.label,.contact-data p+p.label{margin-top:35px}.contact-email{font-size:clamp(18px,2vw,29px);letter-spacing:-.03em;overflow-wrap:anywhere}.contact-note{margin-top:55px!important;font-size:14px;color:#777}.project-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:60px 0 55px;gap:25px}.project-heading div{font-size:14px;line-height:1.5}.detail-photo{width:100%;max-height:85vh;object-fit:contain;background:#f4f4f4}.detail-text{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding:40px 0 100px;line-height:1.6;font-size:16px}.detail-text p{margin:0}.detail-text a{font-size:14px;text-decoration:underline;text-underline-offset:4px}footer{margin:0 4vw;display:flex;gap:20px;justify-content:space-between;border-top:1px solid #ddd;padding:24px 0 30px;color:#777;font-size:12px}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:99;background:white;padding:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:700px){header{padding:25px 6vw;align-items:flex-start;flex-direction:column;gap:22px}.brand{font-size:24px}.brand span{font-size:12px}nav{width:100%;justify-content:space-between;gap:12px}main{padding:0 6vw}.hero{height:65svh;min-height:380px}.hero-word{font-size:58px;bottom:7%;left:7%}.hero-caption{font-size:12px}.home-selection{padding-top:65px}.grid{grid-template-columns:1fr;gap:42px}.caption h2{font-size:20px}.projects-grid .project-card:first-child{grid-column:auto}.projects-grid .project-card:first-child .photo{aspect-ratio:5/4}.page-heading{padding:40px 0 45px;align-items:flex-start;flex-direction:column;gap:14px}.page-heading h1{font-size:58px}.archive thead{display:none}.archive,.archive tbody{display:block}.archive tr{display:grid;grid-template-columns:80px 1fr;padding:18px 0;border-top:1px solid #e6e6e6;gap:6px 12px}.archive td,.archive tbody th{border:0;padding:0;width:auto!important;text-align:left!important}.archive td:first-child{grid-column:1;grid-row:1/4;font-size:12px;padding-top:4px}.archive tbody th{grid-column:2;font-size:18px}.archive td:nth-child(3),.archive td:last-child{grid-column:2;font-size:12px}.contact-layout{grid-template-columns:1fr;gap:50px}.contact-title{font-size:52px}.contact-data{font-size:20px}.contact-email{font-size:22px}.project-heading{align-items:flex-start;flex-direction:column;padding:40px 0}.project-heading h1{font-size:52px}.detail-text{grid-template-columns:1fr;gap:25px;padding-bottom:65px}footer{margin:0 6vw;flex-direction:column;gap:10px}.archive-call{padding:65px 0 50px}.archive-call a{font-size:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}
.original-hero{height:calc(100svh - 160px);min-height:480px}.original-hero>img{width:100%;height:100%;object-fit:cover;object-position:center}.original-brand{position:absolute;top:50%;left:0;width:100%;text-align:center;transform:translateY(-50%);font-size:clamp(26px,3.1vw,46px);letter-spacing:.25em;color:#171717}.original-brand span{color:#9d2929;margin-left:.2em}.original-brand p{font-size:14px;letter-spacing:0;color:#fff;margin:20px 0 0}.nine-projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}.nine-projects .project-card:first-child{grid-column:auto}.nine-projects .project-card:first-child .photo{aspect-ratio:5/4}.nine-projects .caption{flex-direction:column;gap:7px}.nine-projects .caption h2{font-size:21px}.archive tbody th:has(a){color:#292929}.archive tbody a{text-decoration:underline;text-decoration-color:#ccc;text-underline-offset:5px}@media(max-width:900px) and (min-width:701px){.nine-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.nine-projects{grid-template-columns:1fr}.original-hero{height:calc(100svh - 250px);min-height:420px}.original-brand{font-size:25px;letter-spacing:.16em}.original-brand p{font-size:14px}.nine-projects .caption{flex-direction:row}}
/* Full-screen entry and compact project index. */
.home-entry main{padding:0}.home-entry .original-hero{height:100svh;min-height:360px}.home-entry .original-brand{width:auto;left:50%;transform:translate(-50%,-50%);white-space:nowrap}.home-entry .entry-link{color:#171717}.home-entry .entry-link:hover{color:#171717}.home-entry .entry-link:hover p{text-decoration:underline;text-underline-offset:4px}.home-entry .entry-link:focus-visible{outline:2px solid #9d2929;outline-offset:12px}.home-entry .original-brand span{margin-left:0}.nine-projects{gap:12px;padding-bottom:50px}.nine-projects .project-card{position:relative;display:block;overflow:hidden}.nine-projects .photo,.nine-projects .project-card:first-child .photo{aspect-ratio:4/3}.nine-projects .caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:18px;gap:5px;background:linear-gradient(transparent 50%,rgba(0,0,0,.5));color:#fff;opacity:0;transition:opacity .2s;pointer-events:none}.nine-projects .caption h2{font-size:14px;letter-spacing:0;font-weight:400}.nine-projects .caption span{font-size:12px;color:#fff}.nine-projects .project-card:hover .caption,.nine-projects .project-card:focus-visible .caption{opacity:1}.nine-projects .project-card:hover img{transform:none}body:has(.nine-projects) .page-heading{padding:35px 0 36px}body:has(.nine-projects) .page-heading h1{font-size:42px;letter-spacing:-.04em}@media(hover:none){.nine-projects .caption{opacity:1}}@media(max-width:700px){.home-entry .original-brand{font-size:25px;letter-spacing:.14em}.nine-projects{gap:10px}.nine-projects .caption{padding:14px}.nine-projects .caption h2{font-size:14px}.nine-projects .caption span{font-size:12px}body:has(.nine-projects) .page-heading{padding:18px 0 26px;gap:10px}body:has(.nine-projects) .page-heading h1{font-size:36px}}

/* Center the complete entry text group, independently of the hero link rule. */
.home-entry .hero>a.entry-link{position:absolute;top:50%;left:50%;height:auto;width:max-content;max-width:94vw;display:block;transform:translate(-50%,-50%);text-align:center;line-height:1.2;font-weight:400}.home-entry .entry-link p{margin:20px 0 0;line-height:1.4}.nine-projects{max-width:1080px;margin:22px auto 0;gap:10px}.detail-photo{display:block;width:100%;max-width:900px;max-height:62vh;margin:0 auto;object-fit:contain;background:transparent}.project-heading{max-width:900px;margin:0 auto;padding:35px 0 25px;align-items:baseline}.project-heading h1{font-size:26px;letter-spacing:-.02em}.project-heading div{font-size:12px}.project-heading div p{margin-bottom:0}.detail-text{max-width:900px;margin:0 auto;font-size:14px;gap:32px;padding-top:28px}.archive{margin-top:35px}.contact-layout{padding-top:55px}@media(max-width:700px){.home-entry .hero>a.entry-link{font-size:25px;letter-spacing:.14em}.home-entry .entry-link p{font-size:14px;letter-spacing:0;margin-top:18px}.nine-projects{max-width:440px;margin-top:12px;gap:10px}.detail-photo{max-height:60vh}.project-heading{padding:20px 0;gap:14px}.project-heading h1{font-size:23px}.archive{margin-top:20px}.contact-layout{padding-top:30px}} 

/* Narrower, centered archive. */
.archive{max-width:980px;margin-left:auto;margin-right:auto}.archive th:nth-child(1),.archive td:nth-child(1){width:13%}.archive th:nth-child(2){width:34%}.archive th:nth-child(3),.archive td:nth-child(3){width:33%}.archive th:last-child,.archive td:last-child{width:20%}@media(max-width:700px){.archive{max-width:440px}.archive td,.archive tbody th{width:auto!important}}

.single-project{max-width:850px;margin:26px auto 0}.single-meta{display:flex;justify-content:space-between;align-items:baseline;gap:15px;margin-bottom:22px}.single-meta h1{font-size:19px;font-weight:400;letter-spacing:-.01em;margin:0}.single-meta p{font-size:12px;color:#777;margin:0;line-height:1.5}.gallery-image{display:block;appearance:none;background:none;border:0;padding:0;width:100%;cursor:zoom-in}.gallery-image img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain}.gallery-single{margin-bottom:18px}.gallery-pair{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:16px;margin-bottom:18px}.single-intro{max-width:610px;padding:10px 0 28px;font-size:14px;line-height:1.75}.single-intro p{margin:0}.gallery-detail-pair{align-items:center;margin:30px 0}.project-drawings{margin-top:42px}.project-drawings h2{font-size:12px;font-weight:400;color:#777;margin:0 0 20px}.single-credits{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#777;padding:22px 0 35px}.single-nav{display:flex;justify-content:space-between;gap:20px;padding:22px 0 65px;border-top:1px solid #ddd;font-size:14px}.single-nav a{text-decoration:underline;text-underline-offset:5px}.gallery-image:focus-visible{outline:2px solid #9d2929;outline-offset:4px}#gallery-dialog{padding:30px;border:0;background:#fff;width:96vw;max-width:1500px;height:94vh;max-height:94vh}#gallery-dialog::backdrop{background:rgba(0,0,0,.72)}#gallery-dialog[open]{display:flex;flex-direction:column;align-items:center}.lightbox-close{align-self:flex-end}.lightbox-content{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox-content img{min-height:0;max-width:100%;max-height:calc(94vh - 170px);object-fit:contain}.lightbox-content p{font-size:12px;color:#666;text-align:center}.lightbox-controls{display:flex;justify-content:space-between;width:100%;gap:24px}#gallery-dialog button{border:0;background:none;cursor:pointer;padding:10px;font-family:inherit;font-size:14px;color:#222}body.gallery-open{overflow:hidden}@media(max-width:700px){.single-project{margin-top:16px}.single-meta{flex-direction:column;gap:5px;margin-bottom:20px}.single-meta h1{font-size:18px}.gallery-pair{grid-template-columns:1fr;gap:16px}.gallery-image img{max-height:none}.gallery-detail-pair{margin:18px 0}.single-intro{padding:8px 0 25px}.single-credits,.single-nav{flex-direction:column;gap:15px}#gallery-dialog{padding:12px}.lightbox-content img{max-height:calc(94vh - 155px)}}

header .brand{letter-spacing:.3em;font-size:25px}header nav{text-transform:lowercase}h1,.caption h2,.single-meta p,.single-nav,.single-credits{ text-transform:lowercase}.studio-copy{max-width:850px;margin:45px auto 90px}.studio-intro{max-width:720px;font-size:18px;line-height:1.65;margin-bottom:65px}.studio-intro p{margin:0 0 15px}.studio-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.studio-people h2{font-size:17px;font-weight:400;margin:0 0 8px}.studio-people p{font-size:14px;line-height:1.7;margin:0 0 15px}.studio-people .person-role{font-size:12px;color:#777}.privacy-link{font-size:12px}.project-sections{display:flex;gap:25px;font-size:12px;margin:0 0 25px}.project-sections a{color:#777;text-decoration:underline;text-underline-offset:4px}.project-phase{scroll-margin-top:30px;margin-top:60px}.project-phase h2{font-size:14px;font-weight:400;margin:0 0 12px}.phase-description{font-size:14px;color:#777;line-height:1.6;margin:0 0 22px}.project-credit-block{font-size:12px;color:#777;line-height:1.7;margin:40px 0}.project-credit-block p{margin:0 0 8px}footer{flex-wrap:wrap}@media(max-width:700px){header .brand{font-size:24px}header nav{gap:10px;font-size:12px}.studio-copy{margin-top:25px}.studio-intro{font-size:16px;margin-bottom:40px}.studio-people{grid-template-columns:1fr;gap:25px}.project-sections{gap:20px;flex-wrap:wrap}.project-phase{margin-top:40px}}

/* Compact galleries shared by all project pages. */


.single-project{max-width:720px}.single-meta{flex-wrap:wrap}.single-meta h1{font-size:18px}.single-meta p{font-size:12px}.single-intro{font-size:14px;max-width:580px;padding-bottom:22px}.gallery-single{max-width:560px;margin:0 auto 14px}.gallery-single .gallery-image img{max-height:330px}.gallery-pair{gap:12px}.gallery-pair .gallery-image img{max-height:250px}.small-phase-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:center}.small-phase-gallery .gallery-image{height:125px}.small-phase-gallery .gallery-image img{width:100%;height:100%;max-height:125px;object-fit:contain}.project-phase{margin-top:40px}.phase-description{font-size:12px;margin-bottom:18px}#disegni>.gallery-image{max-width:560px;margin:auto}#disegni>.gallery-image img{max-height:330px}@media(max-width:700px){.small-phase-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.small-phase-gallery .gallery-image,.small-phase-gallery .gallery-image img{height:100px;max-height:100px}.gallery-pair{grid-template-columns:1fr 1fr;gap:10px}.gallery-pair .gallery-image img{max-height:190px}.gallery-single{max-width:440px}.gallery-single .gallery-image img{max-height:280px}.single-meta{gap:6px}.project-sections{gap:16px}}

.phase-carousel{max-width:560px;margin:0 auto}.phase-slides{height:330px;display:flex;align-items:center;justify-content:center}.phase-slide{width:100%}.phase-slide[hidden]{display:none}.phase-slide .gallery-image img{width:100%;height:auto;max-height:330px;object-fit:contain}.phase-carousel-controls{display:flex;justify-content:center;align-items:center;gap:25px;padding:14px 0 0}.phase-carousel-controls button{font-family:Arial,sans-serif;font-size:27px;line-height:1;background:none;border:0;padding:4px 12px;cursor:pointer;color:#555}.phase-counter{font-size:12px;color:#777;min-width:50px;text-align:center}.phase-carousel:focus-visible{outline:1px solid #9d2929;outline-offset:5px}@media(max-width:700px){.phase-slides{height:260px}.phase-slide .gallery-image img{max-height:260px}.phase-carousel{max-width:440px}}
.phase-carousel-controls[hidden]{display:none}.single-project h2{text-transform:lowercase}

/* Larger landscape opening photograph on each project. */
.single-project .project-cover{max-width:720px;margin:0 auto 22px}
.single-project .project-cover .gallery-image img{width:100%;height:auto;aspect-ratio:16/10;max-height:none;object-fit:cover;object-position:center}
@media(max-width:700px){.single-project .project-cover{max-width:100%;margin-bottom:18px}}

/* Short introductions with optional full project stories. */
.single-intro{max-width:620px;margin:0 auto;padding:8px 0 28px;line-height:1.75}
.project-story{margin-top:13px;font-size:14px}
.project-story summary{display:inline-flex;gap:10px;align-items:center;cursor:pointer;font-size:12px;color:#777;list-style:none;text-decoration:underline;text-underline-offset:4px}
.project-story summary::-webkit-details-marker{display:none}
.project-story summary:after{content:'+';font-size:15px;text-decoration:none}
.project-story[open] summary:after{content:'−'}
.story-close-label{display:none}.project-story[open] .story-open-label{display:none}.project-story[open] .story-close-label{display:inline}
.project-story summary:focus-visible{outline:2px solid #9d2929;outline-offset:5px}
.project-story-content{padding-top:20px;color:#444}.single-intro .project-story-content p{margin:0 0 16px}.single-intro .project-story-content p:last-child{margin-bottom:0}

/* Preserve the original proportions of project opening photographs. */
.single-project .project-cover .gallery-image img{aspect-ratio:auto;height:auto;max-height:none;object-fit:contain}

@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/manrope-400.ttf') format('truetype')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/manrope-500.ttf') format('truetype')}
body{font-family:Manrope,'Arial Nova','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:400}
button,input,textarea,select,.phase-carousel-controls button{font-family:inherit}
header nav,.single-nav{font-weight:400;letter-spacing:.015em}
.single-meta h1{font-weight:500;letter-spacing:-.025em}
.single-intro{font-size:14px;line-height:1.8}

/* Instagram contact and gently softened project photographs. */
.instagram-link{font-size:12px;text-transform:lowercase}
.contact-instagram{font-size:16px;letter-spacing:0}
.single-project .gallery-image img,.nine-projects .photo img{opacity:.95}
.single-project #disegni .gallery-image img,.single-project .project-drawings .gallery-image img{opacity:1}

.single-project .plans .gallery-image img{opacity:1}

/* Softer cover photographs. */
.nine-projects .photo img,.single-project .project-cover .gallery-image img{opacity:.92}

/* Clearly mark archive entries with a full project page. */
.archive-thumb{display:none}
.archive .archive-project-link{display:block;text-decoration:none}
.archive-project-name{display:block;font-weight:500}
.archive-project-badge{display:block;margin-top:5px;font-size:10px;line-height:1.4;letter-spacing:.025em;color:#9d2929}
.archive-project-badge span{margin-left:5px;font-size:13px}
.archive-linked:focus-within{background:#faf8f6}
@media(max-width:700px){
.archive tr{grid-template-columns:58px minmax(0,1fr);gap:6px 12px;padding:17px 0}
.archive .archive-project-link{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:5px;align-items:center;min-height:58px}
.archive-thumb{display:block;grid-column:1;grid-row:1/3;width:76px;height:58px;object-fit:cover}
.archive-project-name{grid-column:2;grid-row:1;font-size:16px;line-height:1.3;align-self:end}
.archive-project-badge{grid-column:2;grid-row:2;margin-top:0;align-self:start;font-size:10px}
.archive .archive-linked td:nth-child(3),.archive .archive-linked td:last-child{padding-left:88px}
.archive .archive-linked td:first-child{padding-top:3px}
}
@media(max-width:360px){.archive tr{grid-template-columns:48px minmax(0,1fr);gap:6px 9px}.archive .archive-project-link{grid-template-columns:64px minmax(0,1fr);column-gap:9px}.archive-thumb{width:64px;height:54px}.archive .archive-linked td:nth-child(3),.archive .archive-linked td:last-child{padding-left:73px}}

/* Touch controls and tablet layouts. */
@media(pointer:coarse){
header nav a{min-height:44px;display:inline-flex;align-items:center}
.project-sections a{min-height:44px;display:inline-flex;align-items:center}
.phase-carousel-controls button,#gallery-dialog button{min-width:44px;min-height:44px}
.project-story summary{min-height:44px;align-items:center}
.gallery-image{touch-action:manipulation}
}
@media(min-width:701px) and (max-width:1366px) and (hover:none){
.archive .archive-project-link{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 10px;align-items:center}
.archive-thumb{display:block;grid-column:1;grid-row:1/3;width:64px;height:48px;object-fit:cover}
.archive-project-name{grid-column:2;grid-row:1;font-size:16px;line-height:1.3}
.archive-project-badge{grid-column:2;grid-row:2;margin-top:0}
}
@supports(height:100dvh){
#gallery-dialog{height:94dvh;max-height:94dvh}
.lightbox-content img{max-height:calc(94dvh - 170px)}
@media(max-width:700px){.lightbox-content img{max-height:calc(94dvh - 155px)}}
}
.lightbox-content{touch-action:pan-y}

/* Shared project layout: generous single-column photographs, intact proportions. */
.single-project{max-width:840px}
.single-project .gallery-single{max-width:760px;margin:0 auto 28px}
.single-project .gallery-single.project-cover{max-width:840px}
.single-project .gallery-single .gallery-image img{width:100%;height:auto;max-height:none;object-fit:contain}
.single-project .gallery-single.gallery-portrait{max-width:450px}
.single-project #materiali .gallery-single,.single-project #disegni .gallery-single,.single-project .gallery-single.plans{max-width:620px}
.single-project .single-intro{max-width:620px;margin:0 auto;padding:4px 0 32px}
.single-project .project-phase{margin-top:44px}
.single-project .phase-carousel{max-width:760px}
.single-project .phase-slides{height:520px;height:min(520px,65svh)}
.single-project .phase-slide .gallery-image img{width:100%;height:auto;max-height:520px;max-height:min(520px,65svh);object-fit:contain}
@media(max-width:700px){
.single-project .gallery-single{margin-bottom:20px}
.single-project .gallery-single.gallery-portrait{max-width:450px;width:100%}
.single-project .project-phase{margin-top:32px}
.single-project .phase-slides{height:400px;height:min(400px,60svh)}
.single-project .phase-slide .gallery-image img{max-height:400px;max-height:min(400px,60svh)}
}

/* Uniform project credits and highlighted archive navigation. */
header nav a[href="/archivio/"]{font-weight:700}
.project-credit-block{margin:40px 0;font-size:12px;line-height:1.7;color:#777;text-transform:none}
.project-credit-block h2{font-size:12px;font-weight:400;margin:0 0 14px}
.project-credit-block dl{margin:0}
.project-credit-block .credit-row{display:flex;flex-wrap:wrap;column-gap:.4em;margin:0 0 8px}
.project-credit-block dt,.project-credit-block dd{display:inline;margin:0;font-weight:400}
.project-credit-block dt::after{content:" ·"}
.project-credit-block dd{overflow-wrap:anywhere}
.drawing-sheet{margin-left:0;margin-right:0}
.drawing-sheet figcaption{font-size:12px;color:#777;margin:12px 0 26px}
.drawing-sheet figcaption a{text-decoration:underline;text-underline-offset:3px}

/* Mercalli trial: restrained editorial rhythm, intact images. */
.single-project.mercalli-compact{max-width:840px}
.mercalli-compact .gallery-single.project-cover{max-width:840px;margin-bottom:18px}
.mercalli-compact .single-intro{max-width:640px;margin:0;padding:0 0 24px}
.mercalli-compact .editorial-pair{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:22px;align-items:center;max-width:730px;margin:0 auto 24px}
.mercalli-compact .editorial-pair .gallery-image img{width:100%;height:auto;max-height:none;object-fit:contain}
.mercalli-compact .editorial-detail{padding-top:28px}
.mercalli-compact .gallery-single.editorial-wide{max-width:780px;margin:0 0 24px}
.mercalli-compact .gallery-single.editorial-inset{max-width:660px;margin:0 0 24px auto}
.mercalli-compact #disegni{margin-top:30px}
.mercalli-compact #disegni .gallery-single{max-width:460px;margin:0 auto 28px}
@media(max-width:600px){
.mercalli-compact .editorial-pair{grid-template-columns:minmax(0,1fr);gap:18px;max-width:100%;margin-bottom:20px}
.mercalli-compact .editorial-portrait{width:82%;max-width:380px;margin:0 auto}
.mercalli-compact .editorial-detail{padding-top:0;width:66%;max-width:300px;margin-left:auto}
.mercalli-compact .gallery-single.editorial-wide{margin-bottom:20px}
.mercalli-compact .gallery-single.editorial-inset{width:90%;margin-bottom:20px}
.mercalli-compact #disegni .gallery-single{width:86%}
}

/* Shared compact project layout: original image proportions and sequence. */
.single-project.project-editorial{max-width:840px}
.project-editorial.single-project .gallery-single{width:100%;max-width:var(--photo-width,760px);margin:0 0 24px}
.project-editorial.single-project .gallery-single.project-cover{max-width:var(--photo-width,840px);margin:0 auto 18px}
.project-editorial.single-project .gallery-single.editorial-right{margin-left:auto}
.project-editorial.single-project .gallery-single.editorial-portrait,
.project-editorial.single-project .gallery-single.editorial-square,
.project-editorial.single-project #disegni .gallery-single,
.project-editorial.single-project .gallery-single.editorial-drawing{max-width:var(--photo-width,520px);margin-left:auto;margin-right:auto}
.project-editorial.single-project .single-intro{max-width:640px;margin:0;padding:0 0 24px}
.project-editorial .project-photo-pair{display:grid;grid-template-columns:var(--pair-columns,1fr 1fr);align-items:center;gap:22px;width:100%;max-width:var(--pair-width,730px);margin:0 auto 24px}
.project-editorial .project-photo-cell{min-width:0}
.project-editorial .gallery-image img{width:100%;height:auto;max-height:none;object-fit:contain}
.project-editorial.single-project .project-phase{margin-top:34px}
.project-editorial.single-project .phase-carousel{max-width:700px}
@media(max-width:600px){
.project-editorial .project-photo-pair{grid-template-columns:minmax(0,1fr);gap:18px;margin-bottom:20px}
.project-editorial .project-photo-cell{width:82%;max-width:380px;margin:0 auto}
.project-editorial.single-project .gallery-single{margin-bottom:20px}
.project-editorial.single-project .gallery-single.editorial-portrait{width:82%}
.project-editorial.single-project .gallery-single.editorial-square{width:80%}
.project-editorial.single-project #disegni .gallery-single{width:86%}
.project-editorial.single-project .gallery-single.editorial-landscape.editorial-right{width:92%}
.project-editorial.single-project .project-phase{margin-top:28px}
}

/* Direct path from the selection to the complete archive. */
.projects-archive-link{max-width:1080px;margin:0 auto 64px;text-align:center}
.projects-archive-link a{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:16px;font-weight:400;border-bottom:1px solid #999;padding:8px 0;text-decoration:none}
.projects-archive-link a:hover{border-color:currentColor}
.projects-archive-link a span{font-size:21px}
@media(max-width:700px){.projects-archive-link{margin-bottom:44px}}

/* Project sequence and privacy draft. */
.project-pagination{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;border-top:1px solid #ddd;padding:24px 0;margin-top:32px;font-size:13px}
.project-pagination a{display:flex;flex-direction:column;gap:7px;min-height:44px;overflow-wrap:anywhere}
.project-pagination small{font-size:11px;color:#777;line-height:1.5}
.project-pagination .project-next{text-align:right;align-items:flex-end}
.privacy-document{max-width:760px;margin:35px auto 70px;font-size:14px;line-height:1.75}
.privacy-document h1{font-size:20px;font-weight:400;margin-bottom:24px}
.privacy-document h2{font-size:15px;font-weight:400;margin-top:30px}
.privacy-document a{text-decoration:underline;text-underline-offset:3px}
.privacy-draft{background:#f6f4ef;border-left:3px solid #a52929;padding:18px 22px;margin-bottom:28px}
.privacy-draft p{margin-bottom:0}

/* Discreet attribution beside project and archive titles. */
.project-title-group{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;min-width:0}
.collaboration-label{display:inline-block;color:#a52929;font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.015em;text-transform:lowercase;white-space:nowrap}
.archive .collaboration-label{margin-left:8px;font-size:10px;vertical-align:baseline}
@media(max-width:700px){.project-title-group{gap:5px 10px}.archive .collaboration-label{margin-left:0;margin-right:5px}}

/* Publications: compact editorial bibliography. */
.sa-bibl{max-width:930px;margin:0 auto 80px;font-size:14px;line-height:1.65}
.sa-bibl h1{font-size:25px;font-weight:400;margin:0 0 8px;letter-spacing:.02em}
.sa-bibl .meta{font-size:12px;color:#777;margin-bottom:38px}
.sa-bibl h2{font-size:14px;font-weight:600;margin:44px 0 14px}
.sa-bibl article{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;padding:17px 0;border-top:1px solid #e3e3e3}
.sa-bibl .year{font-size:12px;color:#777}
.sa-bibl .venue{font-weight:600}.sa-bibl .detail{font-size:12px;color:#666;margin-top:4px}
.sa-bibl .actions{display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:9px}
.sa-bibl .actions a{font-size:12px;text-decoration:underline;text-underline-offset:4px}
.sa-bibl .info{font-size:12px;color:#777;margin-top:36px}
header nav{flex-wrap:wrap}
@media(max-width:600px){.sa-bibl article{grid-template-columns:42px minmax(0,1fr);gap:10px}.sa-bibl h1{font-size:22px}}

/* Publications integrated into the studio profile. */
.studio-sections{max-width:850px;margin:25px auto 0;display:flex;gap:25px;font-size:12px}
.studio-sections a{color:#777;text-decoration:underline;text-underline-offset:4px}
#profilo,#pubblicazioni{scroll-margin-top:30px}
.studio-publications{max-width:850px;border-top:1px solid #ddd;padding-top:45px}
.studio-publications h2{font-size:25px;font-weight:400;margin:0 0 8px;letter-spacing:.02em}
.studio-publications h3{font-size:14px;font-weight:600;margin:44px 0 14px}
@media(max-width:600px){.studio-publications h2{font-size:22px}.studio-publications{padding-top:30px}}

/* Larger uncropped thumbnails for linked projects in the mobile archive. */
@media(max-width:700px){
.archive .archive-project-link{grid-template-columns:112px minmax(0,1fr);column-gap:12px;min-height:84px}
.archive .archive-thumb{width:112px;height:84px;object-fit:contain;object-position:left center}
.archive .archive-linked td:nth-child(3),.archive .archive-linked td:last-child{padding-left:124px}
}
@media(max-width:360px){
.archive .archive-project-link{grid-template-columns:96px minmax(0,1fr);column-gap:9px;min-height:72px}
.archive .archive-thumb{width:96px;height:72px}
.archive .archive-linked td:nth-child(3),.archive .archive-linked td:last-child{padding-left:105px}
}

/* Responsive video in the publications section. */
.publication-video{margin:28px 0 44px;max-width:760px}
.publication-video-frame{position:relative;aspect-ratio:16/9;background:#f5f5f5}
.publication-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.publication-video p{font-size:12px;margin:12px 0 0}
.publication-video a{text-decoration:underline;text-underline-offset:4px}

/* More open lettering in the home wordmark. */
.home-entry .original-brand .home-wordmark{color:inherit;letter-spacing:.45em;margin-left:0}
@media(max-width:700px){.home-entry .hero>a.entry-link{font-size:clamp(18px,5.8vw,25px)}.home-entry .original-brand .home-wordmark{letter-spacing:.28em}}

/* Mobile archive: generous photographs and compact chronological text entries. */
.archive-mobile-year{display:none}
@media(max-width:700px){
.archive{max-width:440px;margin-top:24px}
.archive tr{grid-template-columns:70px minmax(0,1fr);gap:4px 14px;padding:18px 0}
.archive td:first-child{font-weight:700;color:#383838;letter-spacing:.02em}
.archive tr.archive-linked{grid-template-columns:minmax(0,1fr);gap:5px;padding:24px 0}
.archive .archive-linked>td:first-child{display:none}
.archive .archive-linked>th,.archive .archive-linked>td:nth-child(3),.archive .archive-linked>td:last-child{grid-column:1;padding-left:0;grid-row:auto}
.archive .archive-project-link{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:9px 12px;min-height:0}
.archive .archive-thumb{grid-column:1/-1;grid-row:1;width:100%;height:auto;max-height:240px;object-fit:contain;object-position:left center;margin-bottom:5px}
.archive .archive-project-name{grid-column:1;grid-row:2;font-size:19px;line-height:1.3;align-self:baseline}
.archive .archive-mobile-year{display:block;grid-column:2;grid-row:2;align-self:baseline;font-size:12px;font-weight:700;line-height:1.5;color:#383838;white-space:nowrap}
.archive .archive-project-badge{grid-column:1/-1;grid-row:3;margin:0 0 3px;font-size:11px}
.archive .archive-linked>td:nth-child(3),.archive .archive-linked>td:last-child{font-size:13px;line-height:1.45}
.archive tr:not(.archive-linked) th{font-size:16px;line-height:1.4}
}

/* Uniform archive covers; original project photographs remain uncropped. */
#hover-preview img{aspect-ratio:4/3;object-fit:cover;object-position:center}
@media(max-width:700px){.archive .archive-thumb{width:100%;height:auto;aspect-ratio:4/3;max-height:none;object-fit:cover;object-position:center}}

/* Three fixed photographic proofs for every linked archive project. */
.archive .archive-proofs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;margin:0 0 12px}
.archive .archive-proof{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.archive .archive-linked{cursor:pointer}
@media(min-width:701px){.archive .archive-linked>td{vertical-align:top}.archive .archive-project-link{display:block}.archive .archive-proofs{max-width:420px}}
@media(max-width:700px){.archive .archive-proofs{grid-column:1/-1;grid-row:1;gap:5px;margin:0 0 5px}}

/* Contact sheets on mobile, compact hover archive on desktop. */
@media(min-width:701px){.archive .archive-proofs{display:none}.archive .archive-linked>td{vertical-align:baseline}}
@media(max-width:700px){#hover-preview{display:none!important}}

/* Keep every archive proof inside its grid cell, including replacement images. */
.archive .archive-proofs>img{display:block;width:100%;max-width:100%;min-width:0;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}

@media (max-width:700px) {
  .archive .archive-proofs { display:block; }
  .archive .archive-project-link { grid-template-columns:minmax(0,1fr); row-gap:5px; }
  .archive .archive-mobile-year { grid-column:1; grid-row:3; white-space:normal; font-size:14px; font-weight:400; }
  .archive .archive-project-badge { grid-row:4; }
  .archive .archive-linked>td:last-child { display:none; }
}

@media (max-width:700px) {
  .archive tr.archive-linked { padding:14px 0; }
  .archive .archive-linked .archive-project-link {
    grid-template-columns:clamp(100px,30vw,140px) minmax(0,1fr);
    grid-template-rows:auto auto auto;
    align-content:center;
    column-gap:14px;
  }
  .archive .archive-linked .archive-proofs { grid-column:1; grid-row:1/4; margin:0; }
  .archive .archive-linked .archive-project-name { grid-column:2; grid-row:1; font-size:17px; }
  .archive .archive-linked .archive-mobile-year { grid-column:2; grid-row:2; }
  .archive .archive-linked .archive-project-badge { grid-column:2; grid-row:3; }
}
