/* RK Group: one monograph system, native scrolling, complete architecture. */
:root{--paper:#f7f7f3;--ink:#242625;--muted:#626560;--line:#d5d7d1;--deep:#202321}
.site-header.header-refined{height:110px;background:var(--paper);color:var(--ink);border:0}
.brand{min-width:0}.brand-logo{width:190px;height:auto;mix-blend-mode:multiply}.desktop-nav{margin:0;gap:32px}.desktop-nav a{font-size:12px}
.menu-button{position:relative;flex-shrink:0}.menu-button>span{position:absolute;clip-path:inset(100%);width:1px;height:1px;overflow:hidden}.menu-button>i{position:absolute;left:9px;top:17px;width:25px;height:1px;background:currentColor}.menu-button>i:last-child{top:25px;width:17px}
.mobile-menu{background:var(--deep);padding-top:25px;overflow-y:auto}.mobile-menu[open]{animation:menu-fade .2s ease-out}.menu-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.menu-preview{height:40vh;margin-top:20px}.menu-preview img{width:100%;height:100%;object-fit:contain}.menu-project-links a{display:flex;gap:20px;border-bottom:1px solid #ffffff30;padding:15px 0}.menu-project-links small{font-size:10px}.menu-project-links svg{margin-left:auto;width:18px}.text-button,.menu-button{min-width:44px;min-height:44px}
@keyframes menu-fade{from{opacity:0}to{opacity:1}}
.monograph-hero{min-height:740px;height:100svh;padding-top:110px;display:grid;grid-template-columns:minmax(0,1fr) min(65vw,calc(100svh - 110px));align-items:end;background:var(--paper)}
.monograph-copy{padding:0 3vw 65px var(--gutter);align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end}.monograph-copy>.eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:auto;padding-top:55px}
.monograph-copy h1{font-size:clamp(62px,7.1vw,120px);line-height:1.04;letter-spacing:-.065em;margin-bottom:45px}
.hero-cue{font-size:12px;display:inline-flex;gap:45px;align-items:center;align-self:flex-start;min-height:44px}.hero-cue>span{font-size:23px;transition:transform .3s}.hero-cue:hover>span{transform:translateY(4px)}
.monograph-image{aspect-ratio:1;width:100%;overflow:hidden}.monograph-image img{height:100%;width:100%;object-fit:contain;animation:hero-settle 1.1s var(--ease) both}
@keyframes hero-settle{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}
.project-chapters{padding-top:110px}.project-chapter{margin-bottom:115px}.chapter-image{display:block;width:min(88vw,1080px);margin-inline:auto;overflow:hidden}.chapter-image img{width:100%;height:auto;transition:transform 1.2s var(--ease)}.chapter-image:hover img{transform:scale(1.012)}
.chapter-sea-gate .chapter-image{margin-left:var(--gutter);width:min(76vw,980px)}.chapter-manara-one .chapter-image{margin-right:var(--gutter);width:min(76vw,980px)}
.chapter-heading{display:flex;align-items:baseline;gap:35px;margin-top:30px}.chapter-heading h2{font-size:clamp(52px,7vw,110px);line-height:1.08}.chapter-heading>span{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}.chapter-arrow{display:grid;place-items:center;min-width:44px;min-height:44px}.chapter-arrow svg{width:28px;height:28px}
.chapter-baabda{margin-top:110px}.chapter-baabda .chapter-image{width:auto;max-width:none;margin-inline:var(--gutter)}
.studio-practice{display:grid;grid-template-columns:.45fr 1fr;gap:50px;padding-top:60px;padding-bottom:60px}.studio-practice>.eyebrow{padding-top:12px}.studio-practice h2{font-size:clamp(44px,6vw,95px);line-height:1.08;max-width:900px;margin-bottom:38px}.studio-practice p:not(.eyebrow){font-size:18px;line-height:1.7}.studio-practice p>span{font-size:12px;color:var(--muted)}.studio-practice .practice-description{max-width:560px;font-size:20px!important;margin-top:30px}.studio-practice .underlined{margin-top:25px}
.studio-values{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);padding-block:30px;gap:25px}.studio-values>span{font-size:clamp(22px,2.5vw,38px);letter-spacing:-.04em;line-height:1.15}
.studio-contact{padding-block:80px 60px;border-top:1px solid var(--line)}.studio-contact-title{font-size:clamp(46px,7.5vw,115px);line-height:1.1;letter-spacing:-.065em;display:flex;align-items:center;justify-content:space-between;gap:25px}.studio-contact-title svg{width:clamp(32px,5vw,70px);height:auto}.studio-contact>div{display:flex;gap:50px;margin-top:35px;font-size:15px}.studio-contact>div a{min-height:44px;display:flex;align-items:center}.studio-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-block:30px;font-size:10px}.studio-footer>a{font-size:17px;letter-spacing:.08em}.studio-footer nav{display:flex;gap:25px}.studio-footer nav a{display:flex;align-items:center;min-height:44px}.studio-footer>span{color:var(--muted)}
/* Equal footprint on the dedicated portfolio, with no reserve for removed facts. */
.portfolio-intro{padding-top:165px;padding-bottom:65px}.portfolio-intro .display-title{font-size:clamp(72px,10vw,150px)}.unified-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 35px;align-items:start}.unified-grid .project-card-image{height:auto;aspect-ratio:4/3;min-height:0;max-height:none;background:#e7e8e2}.unified-grid .project-card-image img{width:100%;height:100%;object-fit:cover}.unified-grid .project-card-title{margin-top:20px}.unified-grid .project-card-title h2{font-size:clamp(30px,3vw,48px);min-height:1.1em;line-height:1.1}.unified-grid .card-details{font-size:12px;line-height:1.5;min-height:1.5em;margin-top:12px;color:var(--muted)}.unified-grid .round-link{border-radius:0;width:44px;height:44px;opacity:0;transition:opacity .25s}.project-card a:hover .round-link,.project-card a:focus-visible .round-link{opacity:1}.projects-list{padding-bottom:90px}
/* Project pages: name, area, whole building, complementary views. */
.project-opening{padding-top:160px;padding-bottom:45px}.project-opening .back-link{margin-bottom:30px;font-size:11px;min-height:44px;display:inline-flex;align-items:center}.project-opening>div{display:flex;align-items:baseline;justify-content:space-between;gap:30px}.project-opening h1{font-size:clamp(70px,10vw,155px);line-height:1.04}.project-opening p{font-size:14px;white-space:nowrap;color:var(--muted)}
.project-lead{width:min(92vw,1040px);margin-inline:auto}.project-lead img{width:100%;height:auto}.project-baabda .project-lead{width:auto;max-width:none;margin-inline:var(--gutter)}.gallery-image{display:block;position:relative;width:100%;background:transparent}.gallery-image img{display:block;width:100%;height:auto}.image-expand{position:absolute;right:18px;bottom:18px;background:var(--paper);padding:11px;opacity:0;transform:none;min-height:44px;min-width:44px;display:grid;place-items:center}.image-expand>span{display:none}.gallery-image:hover .image-expand,.gallery-image:focus-visible .image-expand{opacity:1}
.visualization-note{font-size:10px;line-height:1.6;color:var(--muted);margin-top:20px}.editorial-gallery{padding-top:100px;display:grid;gap:90px;padding-bottom:90px}.editorial-figure{width:min(100%,1100px);margin:0 auto}.editorial-figure:has(img[width="1254"]){max-width:880px}.editorial-portrait{max-width:460px!important;width:70%;margin-left:auto;margin-right:8%}.editorial-figure figcaption{font-size:11px;line-height:1.5;margin-top:15px;color:var(--muted)}
.project-follow{display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:8vw;padding-block:55px 80px;border-top:1px solid var(--line)}.project-follow .eyebrow{font-size:9px}.project-follow h2{font-size:clamp(45px,6vw,90px);line-height:1.08;margin:25px 0 20px}.project-follow p{font-size:12px;color:var(--muted);margin-bottom:20px}.project-follow>img{width:100%;aspect-ratio:1;object-fit:cover;opacity:1}
.principal-opening{padding-top:160px;padding-bottom:65px}.principal-opening h1{font-size:clamp(70px,10vw,160px);margin-top:28px}.principal-role{font-size:14px;margin-top:20px}.principal-summary{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:70px}.principal-summary p:first-child{font-size:clamp(28px,3.5vw,52px);line-height:1.2;letter-spacing:-.04em}.principal-summary p+p{margin:0;font-size:15px;line-height:1.9}.principal-image img{width:100%;height:auto}.practice-values{padding-block:85px}.practice-values h2{font-size:24px;margin-bottom:45px}.practice-values p{font-size:clamp(40px,6vw,85px);line-height:1.1;letter-spacing:-.055em;padding-block:25px;border-top:1px solid var(--line);margin:0}
.page-intro{padding-top:160px}.services-list{padding-bottom:90px}.service-item summary{min-height:100px}.service-body p{max-width:45ch}.contact-layout{grid-template-columns:1.3fr .7fr;gap:12vw}.contact-aside .contact-email{font-size:clamp(28px,3.2vw,50px);margin:35px 0 20px;display:flex;align-items:center;gap:22px;line-height:1.2}.contact-aside>a{min-height:44px}.contact-direct{border:0;padding-top:5px}.contact-direct p{font-size:15px;line-height:1.8}.contact-direct p+p{margin-top:24px}
.enquiry-fields{border:0;padding:0;margin:0;min-width:0}.form-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#form-status:not(:empty){margin-top:24px;max-width:60ch;line-height:1.6}
/* Gallery controls sit outside the image and retain a comfortable target. */
.lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;height:calc(100dvh - 150px);padding-bottom:55px}.lightbox-stage>img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.gallery-prev,.gallery-next{position:absolute;bottom:0;width:48px;min-width:48px;height:44px;min-height:44px;line-height:1}.gallery-prev{left:calc(50% - 65px)}.gallery-next{right:calc(50% - 65px)}
@media(min-width:701px){.menu-button{display:none}}
@media(min-width:1800px){.monograph-copy h1{font-size:120px}}
@media(max-width:1050px) and (min-width:701px){.brand-logo{width:165px}.desktop-nav{gap:23px}.monograph-hero{grid-template-columns:1fr 60vw;min-height:650px}.monograph-copy{padding-bottom:40px}.monograph-copy h1{font-size:6.4vw}.monograph-copy>.eyebrow{font-size:9px}.hero-cue{font-size:10px;gap:20px}}
@media(max-width:700px){
 .site-header.header-refined{height:92px;gap:12px}.brand-logo{width:158px}.desktop-nav{display:none}.menu-button{display:block;width:44px;height:44px}.menu-layout{display:block}.menu-projects{display:none}.mobile-menu nav{margin:32px 0}.mobile-menu nav a{font-size:43px;padding-block:18px}.mobile-menu nav small{font-size:9px}.mobile-menu nav svg{width:23px}
 .monograph-hero{height:auto;min-height:100svh;padding-top:92px;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}.monograph-copy{padding:26px var(--gutter) 23px;display:grid;grid-template-columns:1fr auto;gap:20px 15px;flex:1;align-content:center}.monograph-copy>.eyebrow{padding:0;margin:0;grid-column:1/-1;font-size:9px}.monograph-copy h1{font-size:clamp(45px,12.7vw,70px);margin:0;line-height:1.02}.hero-cue{align-self:end;font-size:0;gap:0;min-width:44px;justify-content:flex-end}.hero-cue>span{font-size:27px}.monograph-image{width:100%;aspect-ratio:1;flex-shrink:0}.monograph-image img{animation:none}
 .project-chapters{padding-top:65px}.project-chapter{margin-bottom:65px}.chapter-image,.chapter-sea-gate .chapter-image,.chapter-manara-one .chapter-image{width:100%;margin:0}.chapter-heading{gap:14px;margin-top:20px;align-items:center}.chapter-heading h2{font-size:clamp(34px,10.7vw,55px)}.chapter-heading>span{font-size:10px}.chapter-arrow{min-width:40px;min-height:44px}.chapter-arrow svg{width:21px;height:21px}.chapter-baabda{margin-top:60px}.chapter-baabda .chapter-image{margin:0}
 .studio-practice{display:block;padding-top:20px;padding-bottom:40px}.studio-practice>.eyebrow{padding:0;margin-bottom:30px}.studio-practice h2{font-size:42px;margin-bottom:30px}.studio-practice p:not(.eyebrow){font-size:17px}.studio-practice .practice-description{font-size:18px!important}.studio-values{grid-template-columns:1fr 1fr;gap:25px 18px;padding-block:25px}.studio-values>span{font-size:26px}
 .studio-contact{padding-block:50px 30px}.studio-contact-title{font-size:11.5vw;gap:16px}.studio-contact-title svg{width:29px}.studio-contact>div{display:block;margin-top:22px;font-size:14px}.studio-footer{display:grid;grid-template-columns:1fr auto;gap:18px;padding-block:25px}.studio-footer>a{font-size:14px}.studio-footer nav{grid-row:2;grid-column:1/-1;justify-content:space-between;gap:15px}.studio-footer>span{font-size:9px;grid-column:2;grid-row:1}
 .portfolio-intro{padding-top:135px;padding-bottom:45px}.portfolio-intro .display-title{font-size:66px}.unified-grid{grid-template-columns:1fr;gap:40px}.unified-grid .project-card-title{margin-top:17px}.unified-grid .project-card-title h2{font-size:32px}.unified-grid .card-details{font-size:11px;margin-top:9px}.unified-grid .round-link{opacity:1}.projects-list{padding-bottom:55px}
 .project-opening{padding-top:120px;padding-bottom:30px}.project-opening .back-link{margin-bottom:20px}.project-opening>div{display:block}.project-opening h1{font-size:16vw}.project-opening p{font-size:12px;margin-top:19px}.project-lead,.project-baabda .project-lead{width:100%;margin:0}.image-expand{opacity:1;bottom:12px;right:12px;padding:10px}.visualization-note{font-size:9px;margin-top:14px}.editorial-gallery{padding-top:50px;gap:45px;padding-bottom:50px}.editorial-portrait{width:100%;margin:0 auto;max-width:380px!important}.editorial-figure figcaption{font-size:10px;margin-top:12px}
 .project-follow{grid-template-columns:1fr 1fr;gap:20px;padding-block:35px 45px}.project-follow h2{font-size:clamp(28px,8vw,43px);margin:18px 0 14px;overflow-wrap:normal}.project-follow p{font-size:10px;margin-bottom:12px}.project-follow .eyebrow{font-size:8px}.project-follow svg{width:22px;height:22px}
 .principal-opening{padding-top:135px;padding-bottom:40px}.principal-opening h1{font-size:17vw;margin-top:25px}.principal-role{font-size:12px;margin-top:18px}.principal-summary{display:block;margin-top:40px}.principal-summary p:first-child{font-size:30px}.principal-summary p+p{font-size:13px;margin-top:25px}.principal-image{margin:0}.practice-values{padding-block:50px}.practice-values h2{font-size:21px;margin-bottom:30px}.practice-values p{font-size:42px;padding-block:20px}
 .page-intro{padding-top:135px}.services-list{padding-bottom:55px}.services-list h2{font-size:30px}.service-item summary{min-height:90px}.contact-layout{display:block;padding-bottom:55px}.contact-aside .contact-email{font-size:29px;gap:15px;margin-top:25px}.contact-direct{margin-top:40px}.contact-direct p{font-size:13px}.enquiry-fields .form-row{grid-template-columns:1fr;gap:0}.enquiry-fields{margin-top:35px}.enquiry-fields select{width:100%}.lightbox{padding:15px}.lightbox-stage{height:calc(100dvh - 155px);padding-bottom:52px}.lightbox>p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.monograph-image img,.mobile-menu[open]{animation:none}.chapter-image img,.hero-cue>span{transition:none}.chapter-image:hover img{transform:none}::view-transition-group(*){animation-duration:.001ms!important}}

/* Final composition: the building and experience establish authority together. */
.page-intro:has(.eyebrow:first-child) .display-title+p{margin-top:28px}
.lightbox{background:var(--deep)}
.not-found-page .display-title{font-size:clamp(48px,7.5vw,108px)}
.not-found-page .page-intro>.underlined{margin-top:20px}
.site-header.header-refined{height:96px}.brand-logo{width:170px}.desktop-nav{gap:28px}
.monograph-hero{height:calc(100svh - 64px);min-height:680px;padding-top:96px;grid-template-columns:minmax(0,1fr) min(62vw,calc(100svh - 160px))}
.monograph-copy{padding:45px 3vw 45px var(--gutter);justify-content:center;align-self:stretch}
.monograph-copy h1{font-size:clamp(34px,4.6vw,82px);line-height:1.08;letter-spacing:-.06em;margin:0}
.hero-experience{font-size:15px;line-height:1.6;margin-top:28px;color:var(--muted)}.hero-cue{margin-top:65px}
.experience-proof{padding-block:52px 38px}.experience-proof dl{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:40px;margin:0}.experience-proof dl>div{display:flex;flex-direction:column-reverse;justify-content:end;gap:16px}.experience-proof dt{font-size:10px;line-height:1.5;color:var(--muted)}.experience-proof dd{margin:0;font-size:clamp(36px,4.2vw,70px);letter-spacing:-.055em;line-height:1.1;white-space:nowrap}.experience-proof dd>span{font-size:.4em;letter-spacing:-.02em}.experience-proof .experience-regions{font-size:clamp(19px,2.25vw,36px);letter-spacing:-.04em;padding-bottom:4px}.experience-proof>p{font-size:10px;line-height:1.6;color:var(--muted);margin-top:30px;max-width:640px}
.selection-heading{padding-top:60px;display:flex;align-items:baseline;justify-content:space-between;gap:24px}.selection-heading h2{font-size:clamp(32px,3.2vw,48px)}.selection-heading p{font-size:12px;color:var(--muted)}.project-chapters{padding-top:40px}
.selection-description{font-size:clamp(16px,1.4vw,21px);line-height:1.65;max-width:660px;margin-top:35px}.portfolio-intro .display-title{font-size:clamp(70px,8.5vw,135px)}.portfolio-intro{padding-top:155px;padding-bottom:60px}
.collection-note{max-width:670px;font-size:14px;line-height:1.8;margin-top:65px;color:var(--muted)}.collection-note a{display:flex;align-items:center;gap:25px;width:fit-content;color:var(--ink);min-height:44px;margin-top:15px}.collection-note svg{width:18px}
.project-opening{padding-top:135px;padding-bottom:35px}.project-opening .back-link{margin-bottom:18px}.project-opening h1{font-size:clamp(65px,8vw,120px)}
.wider-work{display:grid;grid-template-columns:1fr 1.1fr;gap:9vw;padding-block:70px 100px;border-top:1px solid var(--line)}.wider-intro h2{font-size:clamp(42px,5vw,76px);line-height:1.07;margin-top:30px}.wider-intro>p:not(.eyebrow){font-size:14px;line-height:1.7;max-width:330px;margin-top:28px;color:var(--muted)}.wider-intro>.underlined{margin-top:25px}.experience-record{display:grid;grid-template-columns:1fr auto;gap:9px 24px;padding-block:26px;border-bottom:1px solid var(--line);scroll-margin-top:120px}.experience-record:first-child{padding-top:0}.experience-record h3{font-size:clamp(23px,2vw,32px);line-height:1.2;letter-spacing:-.04em}.experience-record p{font-size:11px;color:var(--muted)}.experience-record>span{font-size:12px;grid-column:2;grid-row:1/3;align-self:center;white-space:nowrap}
::view-transition-old(root){animation-duration:.12s!important}::view-transition-new(root){animation-duration:.18s!important}
@media(max-width:1050px) and (min-width:701px){.desktop-nav{gap:19px}.brand-logo{width:155px}.experience-proof dl{gap:22px}.experience-proof dd{font-size:4.4vw}.experience-proof .experience-regions{font-size:2.05vw}}
@media(min-width:701px) and (max-width:1050px) and (orientation:portrait){
 .monograph-hero{display:block;height:auto;min-height:0}
 .monograph-copy{display:block;position:relative;padding:38px var(--gutter)}
 .monograph-copy h1{font-size:6.6vw}.hero-experience{font-size:14px;margin-top:24px}
 .hero-cue{position:absolute;right:var(--gutter);bottom:38px;margin:0}
 .monograph-image{width:100%;aspect-ratio:1}
}
@media(max-width:700px){
 .site-header.header-refined{height:88px}.brand-logo{width:150px}
 .monograph-hero{height:auto;min-height:0;padding-top:88px}.monograph-copy{display:block;position:relative;padding:30px var(--gutter) 32px}.monograph-copy h1{font-size:10.5vw;line-height:1.07;margin:0}.hero-experience{font-size:12px;margin-top:20px;max-width:240px}.hero-cue{position:absolute;right:var(--gutter);bottom:29px;margin:0}.monograph-image{width:100%}
 .experience-proof{padding-block:34px 28px}.experience-proof dl{grid-template-columns:1fr 1.1fr;gap:28px 16px}.experience-proof dl>div{gap:10px}.experience-proof dl>div:last-child{grid-column:1/-1}.experience-proof dd{font-size:9vw}.experience-proof dd>span{font-size:.45em}.experience-proof dt{font-size:9px}.experience-proof .experience-regions{font-size:26px;padding-bottom:0}.experience-proof>p{font-size:9px;margin-top:24px;max-width:320px}
 .selection-heading{padding-top:30px;display:block}.selection-heading h2{font-size:34px}.selection-heading p{font-size:11px;margin-top:12px}.project-chapters{padding-top:25px}
 .portfolio-intro{padding-top:125px;padding-bottom:35px}.portfolio-intro .display-title{font-size:13vw}.selection-description{font-size:14px;margin-top:24px;max-width:335px}.collection-note{font-size:12px;margin-top:40px}
 .project-opening{padding-top:108px;padding-bottom:25px}.project-opening .back-link{margin-bottom:15px}.project-opening h1{font-size:15vw}
 .wider-work{display:block;padding-block:42px 55px}.wider-intro h2{font-size:44px;margin-top:22px}.wider-intro>p:not(.eyebrow){font-size:12px;margin-top:22px}.experience-records{margin-top:38px}.experience-record{gap:10px 20px;padding-block:22px}.experience-record h3{font-size:24px}.experience-record p{font-size:10px}.experience-record>span{font-size:11px}
}

/* Keep panoramic EPFL in the same card footprint without cropping its building. */
.unified-grid .project-card-contained{background:#e8e9e3}
.unified-grid .project-card-contained img{object-fit:contain}
