:root{--paper:#f7f7f2;--ink:#171915;--line:#c8cbc4;--blue:#233ded}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3,dl,dd{margin:0}figure{min-width:0}.masthead{margin:0 3.5%;padding:27px 0;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center}.wordmark{font-size:25px;font-weight:700;letter-spacing:-1px}.wordmark span{display:block;font-size:10px;font-weight:400;letter-spacing:.05em;margin-top:7px}.archive{font-size:13px;display:flex;align-items:center;gap:15px}.dot{width:7px;height:7px;background:var(--blue);border-radius:50%}.opening{padding:45px 3.5% 58px}.eyebrow{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.07em}h1{font-size:clamp(72px,10.9vw,170px);line-height:.92;font-weight:400;letter-spacing:-.073em;margin:55px 0 37px}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em}.intro-row{display:flex;align-items:end;justify-content:space-between}.intro{font-size:clamp(20px,2vw,29px);line-height:1.27;max-width:670px;letter-spacing:-.025em}.round-link{border:1px solid var(--ink);border-radius:50%;width:56px;height:56px;display:grid;place-items:center;font-size:26px;flex-shrink:0;margin-left:25px}.hero,.wide{margin:0 3.5%}.hero img{aspect-ratio:1.6;object-fit:cover}figcaption{display:flex;justify-content:space-between;gap:15px;font-size:10px;line-height:1.5;padding-top:12px} .article-head{margin:65px 3.5% 95px;display:grid;grid-template-columns:1fr 2.5fr;gap:70px;border-top:1px solid var(--line);padding-top:27px}.label,.side-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em}.label{margin-bottom:30px}dt{font-size:10px;color:#646861;margin-top:22px}dd{font-size:13px;margin-top:6px;max-width:170px;line-height:1.5}.standfirst{font-size:clamp(30px,3.4vw,52px);letter-spacing:-.04em;line-height:1.14;max-width:850px;margin-bottom:27px}.abstract{font-size:17px;line-height:1.65;max-width:780px}.chapter-nav{display:flex;flex-wrap:wrap;gap:15px 25px;margin-top:35px;border-top:1px solid var(--line);padding-top:18px;font-size:11px}.story{display:grid;grid-template-columns:1fr 2.5fr;gap:70px;margin:90px 3.5%}.side-label{padding-top:9px}.prose{max-width:780px}.prose h2{font-size:clamp(32px,3.8vw,58px);font-weight:400;letter-spacing:-.045em;line-height:1.1;margin-bottom:35px}.prose p{font-size:17px;line-height:1.7;margin-bottom:24px}.prose h3{font-size:26px;font-weight:400;letter-spacing:-.025em;line-height:1.2;margin:38px 0 20px}.cover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3%;padding:65px 6%;background:#e5e7e0;margin:60px 0}.cover-grid img{box-shadow:0 10px 20px #00000015}.cover-grid figcaption{margin-top:12px;font-size:11px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:40px 3.5% 70px}.pair img{aspect-ratio:1.6;object-fit:contain;background:#e8e9e4}.statement{padding:80px 3.5%;background:#ddf060;margin:90px 0}.statement p{font-size:clamp(40px,6.7vw,104px);line-height:1;letter-spacing:-.06em;margin-top:35px}.screen{margin:50px auto 80px;max-width:1050px;width:85%}.screen img{border:1px solid #d2d4cf;border-top:0}.browserbar{background:#e2e4df;display:flex;align-items:center;gap:5px;padding:12px 15px;border-radius:8px 8px 0 0}.browserbar i{width:6px;height:6px;border-radius:50%;background:#a3a79e}.browserbar span{font-size:10px;margin:auto;color:#555b51;padding-right:28px}.social-links{display:flex;gap:30px;margin-top:35px;font-size:14px}.experience{padding:42px 3.5% 65px;background:#192ece;color:#fff;margin-top:100px}.experience-top{display:flex;justify-content:space-between;font-size:12px}.experience h2{font-size:clamp(55px,9vw,140px);line-height:.95;letter-spacing:-.06em;font-weight:400;margin:40px 0 65px}.experience-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:65px}.experience-grid img{margin-top:5px}.experience-grid p{font-size:16px;line-height:1.7;margin-bottom:22px}.experience-grid .lead{font-size:28px;line-height:1.25;letter-spacing:-.03em}.experience-grid .small{font-size:11px;line-height:1.5;opacity:.78;margin-top:22px}.button{display:flex;justify-content:space-between;align-items:center;gap:60px;border:1px solid currentColor;padding:19px 21px;max-width:340px;font-size:14px;margin-top:35px}.button:hover{background:var(--ink);color:var(--paper);text-decoration:none}.button.light:hover{background:#fff;color:#192ece}.credits{margin:100px 3.5%;padding-top:28px;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 2.5fr;gap:70px}.credits h2{font-size:24px;font-weight:400;letter-spacing:-.04em}.credits h3{font-size:12px;font-weight:600;margin-bottom:10px}.credits p{font-size:13px;line-height:1.65;max-width:700px;margin-bottom:25px;color:#4a5047}details{border-top:1px solid var(--line);padding-top:18px}summary{cursor:pointer;font-size:12px;list-style:none;display:flex;justify-content:space-between}details p{margin-top:20px}footer{padding:55px 3.5% 25px;background:#e7e9e2}footer p{font-size:clamp(38px,5.8vw,90px);font-weight:400;letter-spacing:-.055em;line-height:1.05;max-width:1050px} .footer-bottom{display:flex;justify-content:space-between;font-size:11px;padding-top:24px;border-top:1px solid var(--line);margin-top:80px}.skip{position:fixed;left:20px;top:-80px;z-index:10;background:white;padding:16px}.skip:focus{top:15px}@media(min-width:1800px){body{max-width:1800px;margin:auto}}@media(max-width:800px){.masthead{padding:20px 0}.wordmark{font-size:21px}.wordmark span{font-size:8px}.archive{font-size:11px;gap:8px}.opening{padding-top:28px}.eyebrow{font-size:9px;gap:30px;line-height:1.5}.eyebrow span:last-child{text-align:right}h1{font-size:clamp(59px,12vw,95px);margin-top:40px;letter-spacing:-.07em}.intro{font-size:20px}.hero img{aspect-ratio:1.6}.article-head,.story,.credits{grid-template-columns:1fr;gap:25px;margin:55px 5%}.article-head aside{display:none}.standfirst{font-size:34px}.prose p,.abstract{font-size:16px}.prose h2{font-size:38px}.wide,.hero{margin-left:0;margin-right:0}.wide figcaption,.hero figcaption{padding-left:5%;padding-right:5%}figcaption{font-size:9px}.cover-grid{padding:35px 5%;gap:18px}.cover-grid figcaption{font-size:9px}.pair{margin:25px 5%;grid-template-columns:1fr;gap:25px}.statement{margin:55px 0;padding:50px 5%}.statement p{font-size:clamp(39px,8vw,62px)}.screen{width:90%;margin:35px auto}.experience{padding:30px 5% 45px;margin-top:55px}.experience-top{font-size:10px;gap:25px}.experience-top .label{font-size:10px}.experience h2{font-size:65px;margin:25px 0 40px}.experience-grid{grid-template-columns:1fr;gap:35px}.credits{gap:30px}.footer-bottom{flex-wrap:wrap;gap:20px}footer{padding:40px 5% 25px}.chapter-nav{gap:15px;font-size:10px}}@media(max-width:450px){.cover-grid{grid-template-columns:1fr;padding:30px 18%;gap:35px}.cover-grid figcaption{font-size:11px}.intro-row{align-items:center}.round-link{width:42px;height:42px}.experience h2{font-size:57px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.culture-title{font-size:clamp(52px,7.8vw,122px);line-height:1.02;letter-spacing:-.065em}@media(max-width:800px){.culture-title{font-size:8.4vw;line-height:1.08}}

.contractor-intro{max-width:780px;margin:32px 0 38px}.contractor-intro h2{font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:400;margin-bottom:16px}.contractor-services{list-style:none;padding:0;margin:0 0 25px;display:grid;grid-template-columns:1fr 1fr;column-gap:28px}.contractor-services li{font-size:16px;line-height:1.45;padding:14px 0;border-top:1px solid var(--line)}.contractor-intro p{font-size:17px;line-height:1.65}@media(max-width:600px){.contractor-services{grid-template-columns:1fr}.contractor-intro p{font-size:16px}}

.people-section{display:grid;grid-template-columns:1fr 1.5fr;gap:7%;margin:75px 3.5%;align-items:center}.people-section h2,.collection-heading h2{font-size:clamp(30px,3.7vw,56px);font-weight:400;letter-spacing:-.04em;line-height:1.08;margin:24px 0}.people-section p,.collection-heading p{font-size:16px;line-height:1.65;max-width:630px}.photo-collection{margin:90px 3.5%}.collection-heading{margin-bottom:45px}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px;align-items:start}.project-photo img{height:auto;width:100%}.project-gallery .project-photo:nth-child(3),.project-gallery .project-photo:nth-child(7){width:76%;justify-self:center}.project-photo figcaption{font-size:11px;line-height:1.5}.visual-collection{padding:65px 3.5%;background:#e7e9e2;margin:70px 0}.visual-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;align-items:start}.visual-gallery .project-photo:nth-child(4){width:76%;justify-self:center}@media(max-width:800px){.people-section{grid-template-columns:1fr;gap:28px;margin:55px 5%}.photo-collection{margin:55px 5%}.project-gallery,.visual-gallery{grid-template-columns:1fr;gap:30px}.project-gallery .project-photo:nth-child(3),.project-gallery .project-photo:nth-child(7),.visual-gallery .project-photo:nth-child(4){width:100%}.visual-collection{padding:45px 5%;margin:50px 0}.collection-heading{margin-bottom:30px}}

.inquiry{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;margin:80px 3.5%;padding-top:55px;border-top:1px solid var(--ink)}.inquiry h2{font-size:clamp(34px,4vw,60px);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:25px 0}.inquiry p{font-size:16px;line-height:1.6;max-width:560px}.inquiry form{max-width:720px}.inquiry label{display:block;font-size:12px;line-height:1.5;margin-bottom:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.inquiry input,.inquiry textarea{display:block;width:100%;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);background:transparent;border:1px solid #92998b;border-radius:0;padding:13px;margin-top:8px}.inquiry textarea{resize:vertical}.inquiry input:focus,.inquiry textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.inquiry .form-note{font-size:12px;line-height:1.6}.inquiry .form-note a{text-decoration:underline;overflow-wrap:anywhere}.inquiry button{font-family:inherit;background:transparent;color:inherit;cursor:pointer;width:100%;margin:24px 0}.inquiry button:hover{background:var(--ink);color:var(--paper)}.inquiry .form-status{font-size:13px;margin:18px 0}@media(max-width:800px){.inquiry{grid-template-columns:1fr;gap:32px;margin:55px 5%}.form-row{grid-template-columns:1fr;gap:0}}

.privacy-page{max-width:850px;margin:70px auto;padding:0 24px 80px}.privacy-page h1{font-size:clamp(42px,6vw,80px);line-height:1.05;margin:35px 0;letter-spacing:-.05em}.privacy-page h2{font-size:25px;font-weight:400;letter-spacing:-.025em;margin:35px 0 15px}.privacy-page p{font-size:16px;line-height:1.7;margin-bottom:16px}.privacy-page a{text-decoration:underline;overflow-wrap:anywhere}.privacy-page .privacy-intro{font-size:22px;line-height:1.4}.privacy-page .privacy-draft{font-size:13px;border-left:2px solid var(--blue);padding:12px 18px;background:#eceee6}.inquiry .privacy-link{margin-top:16px}.footer-bottom{flex-wrap:wrap;gap:16px}

.web-mockup{width:93%;max-width:none}.web-mockup img{border:0;height:auto}@media(max-width:800px){.web-mockup{width:100%}.web-mockup figcaption{padding-left:5%;padding-right:5%}}

.hero-ledwall img{aspect-ratio:auto;height:auto;object-fit:contain}

/* Subtle, one-time zoom-out as each image enters the viewport. */
.image-motion{display:block;width:100%;overflow:hidden;line-height:0}
.image-motion picture{display:block}
.image-motion img{transform:scale(1);transform-origin:center;transition:transform 1800ms cubic-bezier(.22,.61,.36,1)}
.image-motion.motion-ready:not(.motion-revealed) img{transform:scale(1.045)}
@media(max-width:800px),(hover:none){.image-motion img{transition-duration:1500ms}.image-motion.motion-ready:not(.motion-revealed) img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.image-motion img{transform:none!important;transition:none}}

@media(max-width:800px){.prose p,.abstract,.contractor-intro p,.people-section p,.collection-heading p,.inquiry p,.experience-grid p,.privacy-page p{font-size:11.2px}.intro{font-size:14px}.standfirst{font-size:23.8px}.experience-grid .lead{font-size:19.6px}.contractor-services li{font-size:11.2px}.credits p{font-size:9.1px}.experience-grid .small{font-size:7.7px}.inquiry .form-note{font-size:8.4px}.inquiry .form-status{font-size:9.1px}.privacy-page .privacy-intro{font-size:15.4px}.privacy-page .privacy-draft{font-size:9.1px}}

.editorial-list{padding-left:20px;margin:25px 0}.editorial-list li{font-size:17px;line-height:1.65;margin-bottom:14px}.method-list{list-style:none;counter-reset:method;padding:0;margin:30px 0}.method-list li{counter-increment:method;border-top:1px solid var(--line);padding:18px 0 4px}.method-list h3{margin:0 0 12px;font-size:23px}.method-list h3::before{content:"0" counter(method) " / ";font-size:12px;color:#62675e;vertical-align:middle;margin-right:10px}.method-list p{margin-bottom:18px}.chapter-nav{row-gap:18px}@media(max-width:800px){.editorial-list li{font-size:11.2px}.method-list h3{font-size:21px}}

.visual-gallery .editorial-mockup{grid-column:span 2}@media(max-width:800px){.visual-gallery .editorial-mockup{grid-column:auto}}

.visual-gallery .architecture-spread{grid-column:1 / -1}

.visual-gallery .project-photo.architecture-spread{width:100%;justify-self:stretch}

/* Compact supporting gallery for the project locations. */
.photo-collection{margin:56px 3.5%}
.photo-collection .collection-heading{margin-bottom:20px;max-width:640px}
.photo-collection .collection-heading h2{font-size:clamp(25px,2.2vw,34px);line-height:1.14;margin:14px 0}
.photo-collection .collection-heading p{font-size:14px;line-height:1.6}
.places-hint{font-size:11px;color:#62675e;margin:0 0 14px}
.photo-collection .project-gallery{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:clamp(220px,24vw,340px);gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:#858b7e #e5e7e0}
.photo-collection .project-gallery:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.photo-collection .project-gallery .project-photo{width:100%;justify-self:stretch;scroll-snap-align:start}
.photo-collection .project-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.photo-collection .project-gallery figcaption{font-size:10px;line-height:1.4;padding-top:8px}
@media(max-width:800px){
.photo-collection{margin:38px 5%}
.photo-collection .collection-heading h2{font-size:25px}
.photo-collection .collection-heading p{font-size:11.2px}
.photo-collection .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:20px 12px;overflow:visible;padding-bottom:0;scroll-snap-type:none}
.photo-collection .project-gallery figcaption{font-size:10px}
.places-hint{display:none}
}

#metodo{row-gap:30px}
.method-timeline{grid-column:1 / -1;padding:30px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.method-timeline ol{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));list-style:none;padding:0;margin:0}
.method-timeline li{position:relative;padding:0 20px 0 0;min-width:0}
.method-timeline li::before{content:"";position:absolute;top:14px;left:0;right:0;height:1px;background:var(--line)}
.method-timeline li:last-child::before{display:none}
.timeline-number{position:relative;display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--blue);border-radius:50%;background:var(--paper);color:var(--blue);font-size:10px;margin-bottom:22px}
.method-timeline strong{display:block;font-size:16px;font-weight:400;letter-spacing:-.02em;margin-bottom:10px}
.timeline-detail{display:block;font-size:12px;line-height:1.5;max-width:155px;color:#62675e}
.method-timeline figcaption{padding-top:28px;color:#62675e}
.method-details{grid-column:2}
@media(max-width:800px){
.method-timeline{padding:24px 0 18px}
.method-timeline ol{grid-template-columns:1fr}
.method-timeline li{padding:0 0 24px 48px;min-height:75px}
.method-timeline li:last-child{padding-bottom:0;min-height:50px}
.method-timeline li::before{top:14px;bottom:0;left:14px;right:auto;width:1px;height:auto}
.timeline-number{position:absolute;top:0;left:0;margin:0}
.method-timeline strong{font-size:15px;margin:4px 0 6px}
.timeline-detail{font-size:11.2px;max-width:none}
.method-details{grid-column:1}
}

/* Uniform black typography across the case study and privacy page. */
:root{--ink:#000}
body,body *{color:#000!important}
body *::before,body *::after{color:#000!important}
input::placeholder,textarea::placeholder{color:#000;opacity:1}
.experience{background:#e7e9e2}
.experience-grid .small{opacity:1}
.button:hover,.button.light:hover,.inquiry button:hover{background:#ddf060;color:#000}

@media(max-width:800px){
.photo-collection .project-gallery{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:14px}
.photo-collection .places-hint{display:block}
}

@media(max-width:800px){
.cover-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:76%;gap:20px;padding:30px 5%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scroll-padding-inline:5vw;scrollbar-width:thin;scrollbar-color:#858b7e #e5e7e0}
.cover-grid figure{scroll-snap-align:start}
.cover-grid figcaption{font-size:11px}
.cover-grid:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
}

.wordmark{display:block;flex-shrink:0}.wordmark .agency-logo{width:240px;height:auto;max-width:100%}@media(max-width:800px){.wordmark .agency-logo{width:175px}}@media(max-width:360px){.wordmark .agency-logo{width:150px}}

.mobile-copy{display:none}
@media(max-width:800px){
.desktop-copy{display:none!important}.mobile-copy{display:block}
.prose p,.abstract,.contractor-intro p,.people-section p,.collection-heading p,.photo-collection .collection-heading p,.inquiry p,.experience-grid p,.privacy-page p,.editorial-list li,.contractor-services li{font-size:16px;line-height:1.65}
.intro{font-size:20px;line-height:1.4}.standfirst{font-size:30px;line-height:1.2}
.credits p,.inquiry .form-note,.privacy-page .privacy-draft{font-size:14px;line-height:1.6}
.experience-grid .lead{font-size:23px;line-height:1.4}.experience-grid .small,.inquiry .form-status{font-size:13px;line-height:1.55}
.project-photo figcaption,.cover-grid figcaption,.photo-collection .project-gallery figcaption,figcaption{font-size:12px;line-height:1.5}
.timeline-detail{font-size:14px;line-height:1.5}.method-timeline strong{font-size:17px}.method-timeline li{min-height:85px}.timeline-number{font-size:11px}
.inquiry input,.inquiry textarea{font-size:16px}.inquiry label{font-size:14px}.chapter-nav{font-size:12px}.places-hint{font-size:12px}
}

.prose p,.abstract,.contractor-intro p,.people-section p,.collection-heading p,.inquiry p,.experience-grid p:not(.lead),.credits p,.privacy-page p,.editorial-list li{line-height:1.5}
@media(max-width:800px){.prose p,.abstract,.contractor-intro p,.people-section p,.collection-heading p,.photo-collection .collection-heading p,.inquiry p,.experience-grid p:not(.lead),.credits p,.privacy-page p,.editorial-list li{line-height:1.5}}

.case-accordion{margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0}
.case-accordion>summary{min-height:52px;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;line-height:1.4;list-style:none;cursor:pointer}
.case-accordion>summary::-webkit-details-marker{display:none}
.case-accordion>summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.accordion-mark{position:relative;width:14px;height:14px;flex:0 0 14px}
.accordion-mark::before,.accordion-mark::after{content:"";position:absolute;background:#000;top:6px;left:0;width:14px;height:1px}
.accordion-mark::after{transform:rotate(90deg)}
.case-accordion[open]>summary .accordion-mark::after{transform:rotate(0)}
.accordion-body{padding:8px 0 6px}
.case-accordion .accordion-body p{margin-top:0}
.case-accordion .method-list{margin:8px 0 16px}
.case-accordion .method-list li:first-child{border-top:0}
#metodo .method-details>.case-accordion{margin-top:0}
@media(max-width:800px){.case-accordion>summary{font-size:15px;min-height:56px}.case-accordion{margin-top:18px}.story{margin-top:40px;margin-bottom:40px}}

/* Continuous dark opening, from the masthead rule through the challenge. */
.opening-dark{display:flow-root;background:#000;--ink:#f7f7f2;--line:#454545}
body .opening-dark,body .opening-dark *{color:#f7f7f2!important}
body .opening-dark *::before,body .opening-dark *::after{color:#f7f7f2!important}
.opening-dark .accordion-mark::before,.opening-dark .accordion-mark::after{background:#f7f7f2}
.opening-dark .round-link{border-color:#f7f7f2}
.opening-dark a:focus-visible,.opening-dark summary:focus-visible{outline-color:#ddf060}

/* Blue-black band for applications and Experience 360. */
.application-dark{display:flow-root;background:#000;--ink:#f7f7f2;--line:#454545}
body .application-dark,body .application-dark *{color:#f7f7f2!important}
body .application-dark *::before,body .application-dark *::after{color:#f7f7f2!important}
.application-dark .visual-collection,.application-dark .experience{background:transparent}
.application-dark .accordion-mark::before,.application-dark .accordion-mark::after{background:#f7f7f2}
.application-dark a:focus-visible,.application-dark summary:focus-visible,.application-dark .project-gallery:focus-visible{outline-color:#ddf060}
.application-dark .project-gallery{scrollbar-color:#999 #222}
.application-dark .button:hover{background:#222;color:#fff!important}

@font-face{font-family:'Space Grotesk';src:url('assets/space-grotesk-light.woff') format('woff');font-style:normal;font-weight:300;font-display:swap}
h1,h2,h3,.prose h2,.prose h3,.method-list h3,.method-timeline strong,.standfirst,.statement p,footer>p{font-family:'Space Grotesk',Arial,sans-serif;font-weight:300}
h1 em,h2 em,h3 em{font-family:inherit;font-style:normal;font-weight:300}

.application-dark + .experience{margin-top:0;background:var(--paper)}

/* Lighter mobile typography on the black sections. */
@media(max-width:800px){
.opening-dark p,.application-dark p,.opening-dark li,.application-dark li,.opening-dark summary,.application-dark summary{font-weight:400}
.opening-dark strong,.application-dark strong,.opening-dark b,.application-dark b{font-weight:400}
}

@media(max-width:800px){.opening-dark .method-timeline strong,.application-dark .method-timeline strong{font-weight:300}}

/* Breathing room between the company profile caption and the dark application section. */
.culture-spread{padding-bottom:120px}
@media(max-width:800px){.culture-spread{padding-bottom:80px}}

body .application-dark strong.channel-label{font-weight:700}

/* More restrained mobile heading hierarchy. */
@media(max-width:800px){
.culture-title{font-size:clamp(26px,7.4vw,52px);line-height:1.1}
.prose h2{font-size:32px;line-height:1.12;margin-bottom:28px}
.people-section h2,.collection-heading h2{font-size:28px;line-height:1.12}
.photo-collection .collection-heading h2{font-size:23px}
.inquiry h2{font-size:30px;line-height:1.12}
.experience h2{font-size:clamp(42px,10.5vw,52px);line-height:1.02}
.prose h3{font-size:22px}
.method-list h3{font-size:19px}
.credits h2{font-size:22px}
.standfirst{font-size:26px;line-height:1.22}
.statement p{font-size:clamp(32px,6.8vw,52px)}
footer>div>p{font-size:32px;line-height:1.1}
}

.footer-bottom{align-items:center}.footer-brand{display:block;flex-shrink:0}.footer-brand img{width:200px;height:auto}@media(max-width:800px){.footer-brand{flex-basis:100%;margin-bottom:8px}.footer-brand img{width:165px}}

/* Full-width editorial mockups with their original proportions. */
.cover-grid.editorial-mockups{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px;padding:50px 3.5%}.editorial-mockups img{aspect-ratio:1671 / 941;object-fit:contain;box-shadow:none}
@media(max-width:800px){.cover-grid.editorial-mockups{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:88%;gap:18px;padding:30px 5%}}

@media(min-width:801px){
.cover-grid.editorial-mockups{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;gap:28px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scroll-padding-inline:3.5vw;scrollbar-width:thin;scrollbar-color:#858b7e #e5e7e0}
.cover-grid.editorial-mockups figure{scroll-snap-align:start}
.cover-grid.editorial-mockups:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}
}

.objectives-visual{padding-top:70px}.objectives-visual img{height:auto}@media(max-width:800px){.objectives-visual{padding-top:40px}}

/* Static editorial gallery for 07 / La soluzione. */
.cover-grid.editorial-mockups{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;scroll-snap-type:none;gap:40px 28px}
.cover-grid.editorial-mockups figure:first-child{grid-column:1 / -1}
@media(max-width:800px){.cover-grid.editorial-mockups{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;grid-auto-columns:auto;gap:30px;padding:30px 5%}}

@media(min-width:801px){.visual-gallery .project-photo.foundations-mockup{width:70%;max-width:1050px;justify-self:center}}

@media(min-width:801px){.wide.competence-visual{width:65.1%;margin-left:auto;margin-right:auto}.competence-visual figcaption{flex-wrap:wrap}}

.web-mockup picture{display:block}@media(max-width:800px){.web-mockup picture img{aspect-ratio:941 / 1672;height:auto;object-fit:contain}}

.digital-device-pair{display:contents}.desktop-iphone-mockup{display:none}
@media(min-width:801px){
.visual-gallery .digital-device-pair{display:grid;grid-column:1 / -1;grid-template-columns:calc((100% - 40px) * .272727) calc((100% - 40px) * .545455);gap:24px;align-items:start;justify-content:center}
.visual-gallery .digital-device-pair .foundations-mockup{grid-column:2;grid-row:1;width:100%;max-width:none;justify-self:stretch}
.digital-device-pair .desktop-iphone-mockup{display:block;min-width:0;grid-column:1;grid-row:1;width:100%;justify-self:start}
.digital-device-pair img{width:100%;height:auto}
}

.mobile-abstract-accordion{display:none}@media(max-width:800px){.mobile-abstract-accordion{display:block}}

.foundations-mockup picture{display:block}@media(max-width:800px){.foundations-mockup picture img{aspect-ratio:1392 / 941;height:auto;object-fit:contain}}

/* Second architecture spread: centered at 75% on desktop. */
@media (min-width:801px){
  .visual-gallery .project-photo.architecture-spread.architecture-trieste{width:75%;justify-self:center}
}
/* Shared black navigation */
.masthead{background:#000;color:#fff;border-color:#444}.masthead a{color:#fff}.masthead .agency-logo{filter:none}
.masthead{margin:0;padding:27px 3.5%}@media(max-width:800px){.masthead{padding:20px 5%}}

/* Shared footer — black background and white text. */
body footer,body .footer{background:#000;color:#fff;border-top-color:#333}
body footer p,body footer a,body footer span,body footer .label{color:#fff}
body footer a:focus-visible{outline:3px solid #fff;outline-offset:5px}
body footer .button{background:transparent;color:#fff;border-color:#fff}
body footer .button:hover{background:#fff;color:#000}
body footer .button:hover span{color:#000}
@media(max-width:800px){
 h1{font-size:clamp(42px,10vw,72px);line-height:1.02}
 .privacy-page h1{font-size:clamp(34px,8.6vw,56px);line-height:1.06}
 .intro,.prose p,.story p,.standfirst,.application-copy p,details p,.privacy-page p,.privacy-page li{line-height:1.4}
 .intro{font-size:18px}.prose p{margin-bottom:18px}
}

footer .footer-group{display:inline-block;color:#fff;font-size:12px;line-height:1.7;letter-spacing:.03em;white-space:nowrap}
