/* Stage 4 extends the approved Stage 3 design; all styles and fonts are local. */
[hidden]{display:none!important}.site-header{gap:24px}.desktop-nav{gap:24px}.desktop-nav a{font-size:11px}.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}.site-menu nav{margin-block:24px;max-width:1200px}.site-menu nav>a{font-size:clamp(26px,3.5vw,52px);padding-block:10px}.footer-bottom nav{flex-wrap:wrap;gap:16px 25px}.footer-bottom{align-items:start}.footer-top .top-link{align-self:center}.page-heading{padding-top:clamp(70px,9vw,150px);padding-bottom:clamp(55px,7vw,110px)}.page-heading>.eyebrow{margin-bottom:34px}.page-heading h1{font-size:clamp(48px,6.5vw,108px);line-height:1.07;letter-spacing:-.055em;max-width:1300px}.page-deck{max-width:540px;margin-top:42px;margin-inline-start:auto;font-size:16px;line-height:1.9}.home-bridge{display:grid;grid-template-columns:1fr 1.1fr;gap:8vw;align-items:center;background:var(--ink);color:var(--ivory);padding-block:90px}.home-bridge h2{font-size:clamp(35px,4vw,65px);line-height:1.2;margin-block:28px 30px;letter-spacing:-.035em}.home-bridge img{width:100%;height:auto;max-height:620px;object-fit:contain}.home-quote{padding-block:100px;max-width:1300px;margin:auto}.home-quote blockquote{font-size:clamp(27px,3.2vw,48px);line-height:1.5;letter-spacing:-.025em;margin:30px 0}.home-quote .text-link{margin-top:15px}.catalog{padding-bottom:120px}.catalog-tools{display:grid;grid-template-columns:180px minmax(160px,1fr) auto;gap:30px;align-items:center;border-block:1px solid var(--line);padding-block:25px;margin-bottom:75px;font-size:12px}.catalog-tools input{width:100%;border:0;border-bottom:1px solid var(--line);padding:12px 0;background:transparent;color:var(--ink);border-radius:0}.catalog-tools input:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.catalog-tools #result-count{font-size:10px;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:80px 40px;align-items:start}.portfolio-item{grid-column:span 6;min-width:0}.portfolio-item.item-0{grid-column:span 12}.portfolio-item.item-2{margin-top:100px}.portfolio-item.item-3{grid-column:span 5}.portfolio-item.item-4{grid-column:7/span 6;margin-top:80px}.portfolio-photo{display:block;position:relative;overflow:hidden;background:#d9d5cc}.portfolio-photo img{width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .7s var(--ease)}.portfolio-photo:hover img{transform:scale(1.015)}.portfolio-item.item-0 img{aspect-ratio:1.95}.portfolio-label{display:grid;grid-template-columns:30px 1fr 30px;gap:18px;align-items:start;margin-top:22px}.portfolio-label h2{font-size:clamp(18px,2vw,27px);line-height:1.35;letter-spacing:-.02em}.portfolio-label .eyebrow{padding-top:7px;color:var(--muted)}.portfolio-label>.arrow{margin-top:12px;width:22px}.search-empty{padding-block:30px}.portfolio-grid.is-filtered .portfolio-item{grid-column:span 6;margin-top:0}.portfolio-grid.is-filtered .portfolio-item img{aspect-ratio:1.5}.detail-heading{padding-block:70px 60px}.detail-back{display:inline-block;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:45px}.detail-heading h1{font-size:clamp(40px,6vw,96px);line-height:1.1;letter-spacing:-.045em;max-width:1300px;overflow-wrap:anywhere}.detail-facts{display:flex;gap:60px;flex-wrap:wrap;margin:38px 0 0}.detail-facts>div{max-width:650px}.detail-facts dt{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.detail-facts dd{margin:0;font-size:15px;line-height:1.7}.detail-gallery{padding-bottom:30px}.detail-figure{margin:0 0 70px}.detail-figure .zoom-image{display:block;background:#e9e5dd;cursor:zoom-in}.detail-figure img{width:100%;height:auto;max-height:1000px;object-fit:contain;margin-inline:auto}.detail-figure.drawing .zoom-image{padding:clamp(10px,3vw,50px);background:#e7e3dc}.detail-figure figcaption{display:flex;justify-content:space-between;gap:20px;padding-block:17px;font-size:10px;color:var(--muted)}.detail-figure figcaption a{display:flex;gap:18px;align-items:center}.detail-figure .arrow{width:20px}.project-pagination{padding-block:40px 85px;display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line)}.project-pagination>a:first-child{font-size:12px}.project-pagination .text-link{max-width:60%;text-align:end;line-height:1.8}.project-pagination strong{font-weight:400;font-size:clamp(15px,2vw,24px)}.urban-index{padding-bottom:100px}.urban-entry{display:grid;grid-template-columns:1fr 1.65fr;gap:7vw;border-top:1px solid var(--line);padding-block:60px 80px;align-items:center}.urban-entry:nth-child(even){grid-template-columns:1.65fr 1fr}.urban-entry:nth-child(even)>div{order:2}.urban-entry h2{font-size:clamp(27px,3.2vw,48px);line-height:1.25;letter-spacing:-.03em;margin-block:25px}.urban-entry .detail-facts{display:block;margin-top:20px}.urban-entry .detail-facts>div{margin-bottom:25px}.urban-entry .detail-facts dd{font-size:12px}.urban-index-image{background:#e8e4dc;padding:20px;display:block}.urban-index-image img{width:100%;height:auto;max-height:650px;object-fit:contain}.about-layout{display:grid;grid-template-columns:1fr 1.5fr;gap:12vw;padding-bottom:100px;align-items:start}.about-identity{padding-top:10px;max-width:380px}.about-identity img{width:100%;margin-bottom:35px}.about-prose .lead,.contact-layout .lead{font-size:clamp(23px,2.4vw,36px);line-height:1.6;letter-spacing:-.025em}.about-prose>p+p{font-size:16px;line-height:1.9;margin-top:32px;max-width:650px}.about-prose .text-link{margin-top:28px}.about-image img{width:100%;max-height:750px;object-fit:cover}.about-image figcaption{font-size:10px;padding-top:18px}.about-principles{padding-block:100px;max-width:1400px;margin:auto}.about-principles h2{font-size:clamp(30px,3.5vw,52px);line-height:1.5;margin-block:30px}.letter-layout{display:grid;grid-template-columns:1fr 2fr;gap:8vw;padding-bottom:120px;align-items:start}.letter-layout aside{border-top:1px solid var(--line);padding-top:25px;position:sticky;top:60px}.letter-layout aside>p+p{font-size:12px;margin-top:20px;line-height:1.8;color:var(--muted)}.letter-prose{max-width:800px}.letter-prose>p{font-size:18px;line-height:1.95;margin-bottom:32px}.letter-prose>p:first-child{font-size:25px;line-height:1.7;letter-spacing:-.02em}.letter-signature{border-top:1px solid var(--line);padding-top:40px;margin-top:55px}.letter-signature img{width:200px;margin-bottom:28px}.letter-signature p{font-size:13px;line-height:1.9}.company-editorial{padding-bottom:100px}.company-spread{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center;border-top:1px solid var(--line);padding-block:75px}.company-spread:nth-child(2){direction:rtl}.company-spread:nth-child(2)>*{direction:ltr}html[lang=ar] .company-spread:nth-child(2)>*{direction:rtl}.company-brand{background:#fff;min-height:310px;display:flex;align-items:center;justify-content:center;padding:40px}.company-brand img{width:auto;height:auto;max-width:90%;max-height:200px}.company-brand img[src*="masaken"]{width:265px}.company-spread h2{font-size:clamp(28px,3.3vw,50px);line-height:1.25;letter-spacing:-.03em;margin-block:26px}.company-spread p{font-size:16px;line-height:1.8}.contact-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:12vw;align-items:center;padding-block:10px 130px;min-height:430px}.contact-sign{max-width:360px}.contact-layout .lead{margin-top:30px;max-width:650px}.contact-links{display:flex;gap:40px;flex-wrap:wrap;margin-top:40px}.image-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:75px 5vw;background:#181918;color:var(--ivory)}.image-dialog::backdrop{background:#181918}.image-dialog[open]{display:flex;align-items:center;justify-content:center}.image-dialog>img{max-width:100%;max-height:calc(100dvh - 160px);width:auto;height:auto;object-fit:contain}.lightbox-close{position:absolute;top:22px;inset-inline-end:30px;color:inherit;display:flex;gap:20px;align-items:center;font-size:13px;padding:10px}.lightbox-close span{font-size:25px}.image-dialog>a{position:absolute;bottom:25px;inset-inline-end:30px;font-size:12px;border-bottom:1px solid #777;padding-bottom:5px}html[lang=ar] .page-heading h1{font-size:clamp(42px,5.4vw,85px);line-height:1.65;letter-spacing:0}html[lang=ar] .page-heading h1 em{font-family:Cairo,sans-serif;font-style:normal}html[lang=ar] .page-deck{font-size:17px;line-height:2}html[lang=ar] .detail-heading h1[dir=rtl]{line-height:1.6;letter-spacing:0}html[lang=ar] .letter-prose>p{font-size:19px;line-height:2.15;text-align:start}html[lang=ar] .letter-prose>p:first-child{font-size:25px;line-height:2}html[lang=ar] .home-quote blockquote,html[lang=ar] .about-principles h2{line-height:1.9;letter-spacing:0}html[lang=ar] .urban-entry h2{line-height:1.65;letter-spacing:0}html[lang=ar] .portfolio-label h2[dir=rtl]{line-height:1.6;letter-spacing:0}html[lang=ar] .company-spread h2{line-height:1.7;letter-spacing:0}html[lang=ar] .detail-facts dt{letter-spacing:0}html[lang=ar] .home-bridge h2{line-height:1.7}html[lang=ar] .site-menu nav>a{font-size:clamp(23px,3vw,43px);line-height:1.65}html[lang=ar] .desktop-nav a{font-size:12px}html[lang=ar] .about-prose .lead,html[lang=ar] .contact-layout .lead{line-height:1.9;letter-spacing:0}.menu-open .site-header .identity,.menu-open .site-header .desktop-nav,.menu-open .site-header .header-note{visibility:hidden}
@media(min-width:1600px){.catalog,.urban-index,.detail-gallery,.detail-heading,.page-heading,.letter-layout,.about-layout,.company-editorial,.contact-layout{max-width:1800px;margin-inline:auto}}
@media(max-width:1100px){.header-note{display:none}.desktop-nav{gap:18px}.desktop-nav a{font-size:10px}.site-header{gap:20px}.header-actions{gap:20px}.letter-layout{gap:6vw;grid-template-columns:1fr 2.5fr}.company-spread{gap:5vw}.company-brand{min-height:250px}}
@media(max-width:800px){.desktop-nav{display:none}.header-actions{margin-inline-start:auto}.page-heading{padding-top:60px;padding-bottom:55px}.page-heading h1{font-size:clamp(42px,7.7vw,65px)}.page-heading>.eyebrow{margin-bottom:25px}.page-deck{margin-top:30px;font-size:14px}.home-bridge{grid-template-columns:1fr;gap:35px;padding-block:60px}.home-bridge h2{font-size:38px}.home-bridge img{max-height:520px}.home-quote{padding-block:65px}.home-quote blockquote{font-size:28px}.catalog{padding-bottom:65px}.catalog-tools{grid-template-columns:1fr auto;gap:15px;margin-bottom:45px}.catalog-tools label{grid-column:1/-1}.catalog-tools input{grid-column:1}.portfolio-grid{gap:50px 25px}.portfolio-label{grid-template-columns:22px 1fr;gap:12px}.portfolio-label>.arrow{display:none}.portfolio-label h2{font-size:18px}.portfolio-item.item-2{margin-top:55px}.portfolio-item.item-4{margin-top:40px}.detail-heading{padding-block:45px}.detail-heading h1{font-size:clamp(33px,6vw,55px)}.detail-back{margin-bottom:30px;font-size:8px}.detail-facts{gap:28px;margin-top:25px}.detail-facts dd{font-size:13px}.detail-facts dt{font-size:9px}.detail-figure{margin-bottom:35px}.project-pagination{padding-block:30px 55px;align-items:start}.project-pagination>a:first-child{font-size:10px}.project-pagination .text-link{font-size:10px;gap:12px;padding:0}.project-pagination .arrow{width:20px}.project-pagination strong{font-size:15px}.urban-entry,.urban-entry:nth-child(even){grid-template-columns:1fr;gap:28px;padding-block:40px 55px}.urban-entry:nth-child(even)>div{order:0}.urban-entry h2{font-size:33px;margin-block:20px}.urban-entry .detail-facts{display:flex}.urban-index{padding-bottom:40px}.urban-index-image{padding:10px}.about-layout{grid-template-columns:1fr;gap:40px;padding-bottom:60px}.about-identity{max-width:240px}.about-prose .lead{font-size:25px}.about-prose>p+p{font-size:14px}.about-principles{padding-block:60px}.about-principles h2{font-size:29px}.letter-layout{grid-template-columns:1fr;gap:40px;padding-bottom:70px}.letter-layout aside{position:static}.letter-prose>p{font-size:16px;margin-bottom:27px}.letter-prose>p:first-child{font-size:21px}.letter-signature img{width:155px}.company-spread{grid-template-columns:1fr;gap:35px;padding-block:45px}.company-brand{min-height:210px}.company-spread:nth-child(2){direction:inherit}.company-spread h2{font-size:33px}.company-spread p{font-size:14px}.company-editorial{padding-bottom:40px}.contact-layout{grid-template-columns:1fr;gap:40px;padding-bottom:70px}.contact-sign{max-width:250px}.contact-layout .lead{font-size:25px}.footer-bottom nav{gap:14px 20px;line-height:1.8}.site-menu nav>a{font-size:30px;padding-block:12px}.site-menu nav{margin-block:18px}html[lang=ar] .site-menu nav>a{font-size:25px}html[lang=ar] .page-heading h1{font-size:39px;line-height:1.7}html[lang=ar] .letter-prose>p{font-size:17px}html[lang=ar] .letter-prose>p:first-child{font-size:21px}html[lang=ar] .home-quote blockquote{font-size:26px}html[lang=ar] .home-bridge h2{font-size:32px}}
@media(max-width:520px){.portfolio-grid{display:block}.portfolio-item,.portfolio-item.item-2,.portfolio-item.item-4{margin:0 0 45px}.portfolio-photo img,.portfolio-item.item-0 img{aspect-ratio:1.4}.catalog-tools input{font-size:12px}.catalog-tools #result-count{font-size:8px}.portfolio-label h2{font-size:22px}.hero-image{object-position:50% 48%}.detail-heading h1{font-size:34px}.detail-facts{display:block}.detail-facts>div+div{margin-top:22px}.home-bridge h2{font-size:34px}.company-brand{padding:28px}.page-heading h1{font-size:43px}.menu-lines{width:22px}.site-menu nav>a{font-size:25px;grid-template-columns:23px 1fr 20px;gap:12px;padding-block:13px}html[lang=ar] .site-menu nav>a{font-size:21px;line-height:1.7}html[lang=ar] .portfolio-label h2{font-size:20px}.site-header{gap:16px}}
@media(prefers-reduced-motion:reduce){.portfolio-photo img{transition:none}.portfolio-photo:hover img{transform:none}}

.company-registration{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px;font-size:12px!important;color:var(--muted)}.company-registration bdi{color:var(--ink);letter-spacing:.08em}.contact-details{margin:35px 0 0}.contact-details>div{border-top:1px solid var(--line);padding:22px 0}.contact-details dt{font-size:11px;margin-bottom:9px;color:var(--muted)}.contact-details dd{margin:0;font-size:clamp(17px,2vw,25px);overflow-wrap:anywhere}.contact-details a{display:inline-block;border-bottom:1px solid var(--line)}

.biography-section{display:grid;grid-template-columns:1fr 1.5fr;gap:12vw;padding-block:80px;border-top:1px solid var(--line)}.biography-section h2{font-size:clamp(30px,3.5vw,50px);line-height:1.4;letter-spacing:-.03em;margin-block:20px}.biography-section>div>p:not(.eyebrow),.biography-prose p,.biography-legacy p{font-size:17px;line-height:1.95}.biography-prose p+p{margin-top:28px}.philosophy-band{background:var(--ink);color:var(--ivory)}.career-list{padding:0;margin:0;list-style:none}.career-list li{display:grid;grid-template-columns:30px 1fr;gap:20px;border-bottom:1px solid var(--line);padding-block:26px}.career-list li:first-child{padding-top:0}.career-list h3{font-size:24px;line-height:1.5;margin-bottom:12px}.career-list p{font-size:15px;line-height:1.9}.biography-companies article{margin-bottom:45px}.biography-companies h3{font-size:27px;line-height:1.5}.company-secondary-name{font-size:12px!important;color:var(--muted);margin-block:10px 20px}.biography-companies article>p:last-child{font-size:16px;line-height:1.9}.biography-legacy{padding-block:80px 110px;background:#e9e5dc;display:grid;grid-template-columns:1.2fr 1fr;gap:8vw}.biography-legacy h2{font-size:clamp(32px,4vw,58px);line-height:1.35;letter-spacing:-.03em}.biography-legacy p+p{margin-top:24px}.biography-legacy .text-link{margin-top:25px}html[lang=ar] .biography-section h2,html[lang=ar] .biography-legacy h2{letter-spacing:0;line-height:1.7}html[lang=ar] .biography-section p,html[lang=ar] .biography-legacy p{line-height:2.1}@media(max-width:800px){.biography-section,.biography-legacy{grid-template-columns:1fr;gap:35px;padding-block:55px}.biography-section h2{font-size:31px}.biography-section>div>p:not(.eyebrow),.biography-prose p,.biography-legacy p{font-size:15px}.career-list h3{font-size:22px}.biography-companies h3{font-size:24px}.biography-legacy h2{font-size:36px}.biography-legacy{padding-bottom:70px}}
/* Preserve intrinsic image ratios when HTML width/height hints meet narrow layouts. */
img{height:auto}
.about-identity img,.contact-sign img{display:block;width:100%;height:auto;object-fit:contain}
.letter-signature img{width:200px;max-width:100%;height:auto;object-fit:contain}
.contact-layout{grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);gap:9vw;align-items:start}
.contact-sign{max-width:210px;padding-top:8px}
@media(max-width:800px){.contact-layout{grid-template-columns:1fr;gap:35px}.contact-sign{max-width:140px}.letter-signature img{width:155px}}
/* Portfolio categories use ordinary buttons, with native keyboard and RTL flow. */
.category-filters{display:flex;flex-wrap:wrap;gap:8px 26px;border-top:1px solid var(--line);padding-block:22px 28px}
.category-filters button{display:inline-flex;gap:12px;align-items:center;min-height:44px;padding:10px 0;border-bottom:1px solid transparent;color:var(--muted);font-size:13px;white-space:nowrap}
.category-filters button span{font-size:9px;align-self:flex-start;padding-top:2px;font-variant-numeric:tabular-nums}
.category-filters button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--ink)}
.category-filters button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.catalog-tools{border-top:0;padding-top:4px}.portfolio-category{color:var(--muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.source-drawings{padding-block:30px 45px;border-top:1px solid var(--line);max-width:900px;width:100%}.source-drawings h3{font-size:23px;margin-bottom:24px;font-weight:400}.source-drawings ul{padding:0;list-style:none;columns:2;column-gap:40px}.source-drawings li{break-inside:avoid}.source-drawings a{padding-block:16px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);font-size:12px}.source-drawings .arrow{width:25px;flex-shrink:0}
.urban-drawing-entry .source-drawings{border-top:0}.urban-index-image{padding:0;background:transparent}.urban-index-image img{max-height:none}.detail-figure img{max-width:1600px}.planning-detail .detail-figure{max-width:1600px;margin-inline:auto}
html[lang=ar] .portfolio-category{letter-spacing:0}html[lang=ar] .project-meta h3,html[lang=ar] .project-side h3{letter-spacing:0;line-height:1.65}html[lang=ar] .category-filters button{font-size:14px}
@media(max-width:800px){.category-filters{gap:4px 22px;padding-block:16px 22px}.category-filters button{font-size:12px}.source-drawings ul{columns:1}.source-drawings{padding-block:20px 30px}}
.founder-portrait{display:block;width:180px;max-width:100%;height:auto;margin:0 0 30px;background:#fff}.letter-layout aside{padding-top:0;border-top:0}.letter-layout aside .eyebrow{line-height:1.8}.hero-caption>strong{display:block}.selection-count:empty{display:none}@media(max-width:800px){.founder-portrait{width:150px}}
