@font-face{font-family:"IRANSansX";src:url("/fonts/iransansx-light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:"IRANSansX";src:url("/fonts/iransansx-regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"IRANSansX";src:url("/fonts/iransansx-demibold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}
:root{color-scheme:light;--paper:#f6f6f3;--ink:#1a1b1a;--muted:#777a75;--line:#d6d8d2;--white:#fff;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.5}body,button,input,textarea,select{font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font-size:inherit}button{cursor:pointer}img{display:block;max-width:100%}::selection{background:#d9ded6;color:#111}:focus-visible{outline:2px solid #3e5750;outline-offset:5px}.skip-link{position:absolute;left:16px;top:-100px;z-index:99;background:var(--ink);color:#fff;padding:12px}.skip-link:focus{top:16px}.header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4.6vw,84px);position:sticky;top:0;z-index:40;background:rgba(246,246,243,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font-size:1.04rem;font-weight:700;letter-spacing:-.055em;display:inline-flex;align-items:flex-start;line-height:1}.brand-square{width:4px;height:4px;background:currentColor;margin-left:2px}.desktop-nav{display:flex;gap:clamp(24px,3vw,54px)}.desktop-nav a,.mobile-menu summary{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after,.text-link:after{content:'';display:block;width:0;border-bottom:1px solid currentColor;transition:width .25s}.desktop-nav a:hover:after,.text-link:hover:after{width:100%}.mobile-menu{display:none}.hero{padding:0 clamp(22px,4.6vw,84px) 95px}.hero-photo{height:min(67vw,690px);min-height:390px;background:#ddd;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.84)}.hero-caption{display:flex;justify-content:space-between;align-items:end;padding:29px 0 18px;gap:30px}.eyebrow,.section-index,.ordinal,.hero-project,.back-link,.result-count,.project-card-copy span,.detail-title>p,.detail-information dt,.gallery-item figcaption,.project-pager span,.footer,.filter-row,.secondary-filters,.competition-entry p,.competition-entry>span,.form-note,.contact-details dt{font-size:.74rem;letter-spacing:.09em;text-transform:uppercase}.eyebrow,.section-index,.ordinal,.project-card-copy span,.detail-title>p,.detail-information dt,.gallery-item figcaption,.project-pager span,.result-count,.competition-entry p,.footer,.form-note,.contact-details dt{color:var(--muted)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(3.9rem,8.2vw,9.2rem);font-weight:400;letter-spacing:-.084em;line-height:.89;margin:18px 0 0}.period{color:#8d948b}.hero-aside{text-align:right;font-size:.77rem;text-transform:uppercase;letter-spacing:.11em;line-height:1.8;margin:0 0 4px}.hero-aside span{color:var(--muted)}.hero-project{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.hero-project span{color:var(--muted)}.section{padding:90px clamp(22px,4.6vw,84px) 105px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.section-heading h2{font-size:clamp(2.6rem,5.4vw,5.5rem);line-height:1;letter-spacing:-.075em;font-weight:400;margin:12px 0 0}.text-link{font-size:.79rem;letter-spacing:.08em;text-transform:uppercase;display:inline-block;white-space:nowrap}.text-link:after{width:100%;opacity:.4}.text-link:hover:after{opacity:1}.selected{border-top:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:65px 22px}.project-card:nth-child(6n+2),.project-card:nth-child(6n+5){padding-top:80px}.project-image{height:clamp(240px,31vw,480px);overflow:hidden;background:#e6e7e2}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease,opacity .28s ease}.project-link:hover img{transform:scale(1.015);opacity:.95}.project-card-copy{display:grid;grid-template-columns:1fr auto;column-gap:16px;padding-top:14px;align-items:baseline}.project-card-copy h3{font-weight:400;letter-spacing:-.035em;font-size:1.25rem;margin:0;line-height:1.15}.project-card-copy span:nth-child(2){text-align:right}.project-card-copy span:last-child{grid-column:1/-1;margin-top:8px}.disciplines{background:#ededeb}.discipline-list{border-top:1px solid #c4c8c0}.discipline{display:grid;grid-template-columns:80px 1fr auto;align-items:center;border-bottom:1px solid #c4c8c0;padding:22px 0;transition:padding .2s}.discipline:hover{padding-left:12px}.discipline>span:nth-child(2){font-size:clamp(2.3rem,5vw,5rem);line-height:1.1;letter-spacing:-.07em}.northeast{font-size:1.8rem;font-weight:300}.recognition{border-top:1px solid var(--line)}.award-list{padding:0;margin:0;list-style:none;border-top:1px solid var(--line)}.award-list li{display:grid;grid-template-columns:12% 1fr 16%;gap:25px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline}.award-list li>*{font-size:.86rem;font-weight:400}.award-list li>span{color:var(--muted)}.award-list li>span:last-child{text-align:right}.studio-intro{border-top:1px solid var(--line);display:grid;grid-template-columns:35% 1fr;gap:40px}.studio-intro h2{font-weight:400;font-size:clamp(2.5rem,5vw,5.3rem);line-height:1.02;letter-spacing:-.073em;max-width:850px}.studio-intro p{max-width:580px;line-height:1.65;color:#4f524f;margin:35px 0}.footer{background:#222422;color:#e7e9e4;padding:75px clamp(22px,4.6vw,84px) 25px}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:end;padding-bottom:85px}.footer-logo{width:145px;height:155px;object-fit:cover;object-position:center;mix-blend-mode:screen;filter:invert(1);margin-left:-24px}.footer p{margin:8px 0 0;color:#aeb2aa}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:13px 45px;min-width:310px}.footer-links a:hover{text-decoration:underline}.footer .pending{color:#92988f}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #575d55;padding-top:22px;color:#b7bbb3}.page-title{padding:92px clamp(22px,4.6vw,84px) 65px}.page-title h1{font-size:clamp(5rem,12vw,12rem);font-weight:400;line-height:.93;letter-spacing:-.09em;margin:24px 0 20px}.page-title p{font-size:1rem;color:#5d625d;max-width:580px;margin:0}.archive-wrap,.competition-wrap{padding:0 clamp(22px,4.6vw,84px) 120px}.filter-row,.secondary-filters{display:flex;gap:27px;overflow-x:auto;white-space:nowrap;scrollbar-width:thin;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filter-row button,.secondary-filters button{border:0;background:transparent;padding:4px 0;color:#7b8079;text-transform:uppercase;letter-spacing:inherit;font-size:inherit}.filter-row button.active,.secondary-filters button.active{color:var(--ink);text-decoration:underline;text-underline-offset:7px}.secondary-filters{border-top:0;border-bottom:0;padding:13px 0;min-height:49px}.secondary-set{display:flex;gap:25px}.secondary-set[hidden]{display:none}.result-count{margin:14px 0 37px}.archive-grid .project-card:nth-child(n){padding-top:0}.archive-grid{gap:65px 22px}.project-card[hidden]{display:none}.empty-results{padding:50px 0}.empty-results button{border:0;border-bottom:1px solid;background:none}.detail-title{padding:55px clamp(22px,4.6vw,84px) 52px}.back-link{display:block;width:max-content;margin-bottom:90px}.detail-title h1{font-size:clamp(4rem,9vw,9.7rem);letter-spacing:-.085em;line-height:.92;font-weight:400;max-width:1200px;margin:20px 0 24px}.detail-title>p{margin:0}.detail-hero{margin:0 clamp(22px,4.6vw,84px);background:#e5e6e3;display:flex;justify-content:center;align-items:center;min-height:440px;max-height:830px;overflow:hidden}.detail-hero img{width:100%;height:100%;max-height:830px;object-fit:contain}.detail-information{display:grid;grid-template-columns:1fr 1fr;gap:10vw;padding:90px clamp(22px,4.6vw,84px) 110px}.detail-information dl{display:grid;grid-template-columns:1fr 1fr;gap:32px 22px;margin:0}.detail-information dt{margin-bottom:7px}.detail-information dd{margin:0;font-size:.94rem}.detail-description p{font-size:clamp(1.3rem,2.2vw,2.15rem);line-height:1.35;letter-spacing:-.035em;margin:20px 0 0;max-width:660px}.editorial-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 24px;padding:0 clamp(22px,4.6vw,84px) 130px;align-items:start}.gallery-item{margin:0;min-width:0}.gallery-item.wide{grid-column:1/-1}.gallery-item img{width:100%;height:auto;max-height:850px;object-fit:contain;background:#eeeeeb}.gallery-item figcaption{padding-top:10px}.project-pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:0 clamp(22px,4.6vw,84px) 110px}.project-pager a{display:flex;flex-direction:column;gap:18px;padding:28px 0 48px}.project-pager a:last-child{text-align:right;border-left:1px solid var(--line);padding-left:30px}.project-pager strong{font-size:clamp(1.5rem,3.3vw,3.8rem);letter-spacing:-.065em;line-height:1.1;font-weight:400}.competition-wrap{padding-bottom:130px}.years{margin-bottom:70px}.competition-year{display:grid;grid-template-columns:25% 1fr;border-top:1px solid var(--ink);padding:28px 0 80px;gap:20px}.competition-year[hidden]{display:none}.competition-year h2{font-weight:400;letter-spacing:-.075em;font-size:clamp(3.5rem,7vw,7rem);line-height:1;margin:0}.competition-entry{display:grid;grid-template-columns:36% 1fr auto;gap:30px;border-bottom:1px solid var(--line);padding:20px 0;align-items:baseline}.competition-entry h3{font-size:1.15rem;font-weight:400;letter-spacing:-.025em;margin:0}.competition-entry h3 a{text-decoration:underline;text-decoration-color:#aaa;text-underline-offset:4px}.competition-entry p{margin:0;text-transform:none;letter-spacing:0}.competition-entry>span{text-align:right;color:var(--ink)}.studio-title p{font-size:1.35rem;color:var(--ink)}.studio-layout{padding:0 clamp(22px,4.6vw,84px) 70px;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.studio-image{background:#e8e8e4;max-height:720px;overflow:hidden}.studio-image img{width:100%;max-height:720px;object-fit:cover}.studio-copy h2{font-weight:400;font-size:clamp(2.4rem,4.5vw,5rem);line-height:1.03;letter-spacing:-.075em;margin:18px 0 32px}.studio-copy p{color:#4f534e;line-height:1.75;max-width:570px}.studio-recognition .text-link{margin-top:32px}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:12vw;padding:35px clamp(22px,4.6vw,84px) 145px}.contact-details{margin:25px 0 0}.contact-details>div{padding:17px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:120px 1fr;gap:20px}.contact-details dd{margin:0;overflow-wrap:anywhere}.contact-details a{text-decoration:underline;text-decoration-color:#aaa;text-underline-offset:4px}.contact-layout form{margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}.contact-layout label{display:flex;flex-direction:column;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;gap:11px;margin-bottom:27px}.contact-layout input,.contact-layout select,.contact-layout textarea{border:0;border-bottom:1px solid #979d96;background:transparent;border-radius:0;padding:10px 0;font-size:1rem;color:var(--ink);text-transform:none;letter-spacing:0;outline:none;width:100%}.contact-layout input:focus,.contact-layout select:focus,.contact-layout textarea:focus{border-color:var(--ink);border-bottom-width:2px}.send-button{display:flex;justify-content:space-between;width:100%;background:var(--ink);color:#fff;border:1px solid var(--ink);padding:18px 21px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.send-button:hover{background:#464a44}.form-note{text-transform:none;letter-spacing:0;margin-top:12px}.draft-cursor{display:none}@media (pointer:fine) and (prefers-reduced-motion:no-preference){.draft-cursor{display:block;position:fixed;z-index:90;width:22px;height:22px;left:0;top:0;pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:width .2s,height .2s,opacity .2s;border:1px solid currentColor;border-radius:50%;color:#1c2924;mix-blend-mode:multiply}.draft-cursor:before,.draft-cursor:after{content:'';position:absolute;background:currentColor}.draft-cursor:before{height:1px;width:30px;left:-5px;top:10px}.draft-cursor:after{width:1px;height:30px;left:10px;top:-5px}.draft-cursor .cursor-label{display:none}.draft-cursor.view{width:62px;height:62px;background:var(--paper);mix-blend-mode:normal;display:grid;place-items:center}.draft-cursor.view:before,.draft-cursor.view:after{display:none}.draft-cursor.view .cursor-label{display:block;font-size:.6rem;letter-spacing:.1em}.cursor-ready,.cursor-ready a,.cursor-ready button{cursor:none}.cursor-ready input,.cursor-ready textarea,.cursor-ready select{cursor:auto}}
@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:nth-child(n){padding-top:0}.project-card:nth-child(even){padding-top:60px}.project-image{height:42vw}.competition-entry{grid-template-columns:1fr 1fr}.competition-entry>span{grid-column:2;justify-self:end}.studio-layout{gap:5vw}}@media(max-width:700px){.header{height:65px;padding:0 22px}.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;padding:14px 0}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{margin-left:12px;font-size:1rem}.mobile-menu nav{position:absolute;right:-22px;top:44px;width:min(100vw,320px);background:var(--paper);border:1px solid var(--line);display:grid;padding:16px 22px 25px;box-shadow:0 20px 35px rgba(0,0,0,.08)}.mobile-menu nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1.1rem}.hero{padding:0 22px 70px}.hero-photo{height:56vh;min-height:310px;margin:0 -22px}.hero-photo img{object-position:47% center}.hero-caption{display:block;padding:22px 0 17px}.hero h1{font-size:clamp(3.4rem,13vw,6.3rem);margin-top:12px}.hero-aside{text-align:left;margin:22px 0 0}.section{padding:68px 22px 78px}.section-heading{align-items:start;margin-bottom:31px;display:block}.section-heading .text-link{margin-top:22px}.section-heading h2{font-size:clamp(2.7rem,10vw,4.5rem)}.project-grid{grid-template-columns:1fr;gap:48px}.project-card:nth-child(n){padding-top:0}.project-image{height:68vw;min-height:260px}.project-card-copy h3{font-size:1.2rem}.discipline{grid-template-columns:43px 1fr 25px;padding:18px 0}.discipline>span:nth-child(2){font-size:clamp(2rem,8vw,3.5rem)}.award-list li{grid-template-columns:50px 1fr;gap:4px 15px}.award-list li>span:last-child{grid-column:2;text-align:left}.studio-intro{display:block}.studio-intro h2{margin-top:30px}.footer{padding:55px 22px 22px}.footer-top{display:block;padding-bottom:65px}.footer-links{margin-top:40px;min-width:0;grid-template-columns:1fr 1fr;gap:17px}.footer-bottom{gap:15px;flex-wrap:wrap}.page-title{padding:64px 22px 52px}.page-title h1{font-size:clamp(4.6rem,17vw,7rem)}.archive-wrap,.competition-wrap{padding:0 22px 85px}.filter-row{gap:23px}.secondary-filters{overflow-x:auto}.archive-grid{gap:48px}.detail-title{padding:30px 22px 36px}.back-link{margin-bottom:66px}.detail-title h1{font-size:clamp(3.7rem,14vw,6.5rem)}.detail-hero{margin:0;min-height:300px;max-height:550px}.detail-hero img{max-height:550px}.detail-information{display:block;padding:64px 22px 75px}.detail-information dl{gap:25px;margin-bottom:70px}.detail-description p{font-size:1.55rem}.editorial-gallery{display:block;padding:0 22px 65px}.gallery-item{margin-bottom:40px}.project-pager{margin:0 22px 80px}.project-pager a:last-child{padding-left:15px}.project-pager strong{font-size:1.5rem}.years{margin-bottom:48px}.competition-year{display:block;padding:22px 0 65px}.competition-year h2{margin-bottom:25px}.competition-entry{grid-template-columns:1fr auto;gap:9px 20px}.competition-entry h3{grid-column:1/-1}.competition-entry>span{grid-column:2;grid-row:2}.studio-layout{display:block;padding:0 22px 35px}.studio-image{height:460px}.studio-image img{height:100%;object-fit:cover}.studio-copy{padding:55px 0 15px}.contact-layout{display:block;padding:25px 22px 85px}.contact-layout>div+div{margin-top:75px}.contact-details>div{grid-template-columns:105px 1fr}.form-grid{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Prepared for a future translated Persian edition. */
[dir="rtl"] .header,[dir="rtl"] .footer-bottom{direction:rtl}
[dir="rtl"] .project-card-copy,[dir="rtl"] .award-list li,[dir="rtl"] .competition-entry,[dir="rtl"] .detail-information,[dir="rtl"] .contact-layout{direction:rtl}
[dir="rtl"] .project-pager a:last-child{text-align:left;border-left:0;border-right:1px solid var(--line);padding-left:0;padding-right:30px}
/* Bilingual project details retain the language and direction of each paragraph. */
.detail-fa-title{font-family:"IRANSansX",Tahoma,Arial,sans-serif;font-size:clamp(1.25rem,2.2vw,2rem);font-weight:400;line-height:1.7;letter-spacing:0;text-align:left;margin:-2px 0 28px}
.detail-information dt span[lang="fa"]{font-family:"IRANSansX",Tahoma,Arial,sans-serif;letter-spacing:0;text-transform:none;font-size:.85rem}
.detail-information dd .meta-fa{display:block;font-family:"IRANSansX",Tahoma,Arial,sans-serif;line-height:1.8;text-align:left;color:#5d625d;margin-top:3px}
.persian-description{font-family:"IRANSansX",Tahoma,Arial,sans-serif;border-top:1px solid var(--line);margin-top:55px;padding-top:37px;text-align:right}
.persian-description .section-index{letter-spacing:0;text-transform:none;font-size:.85rem}
.persian-description p{font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.85;letter-spacing:0;margin-top:20px}
@media(max-width:700px){.detail-fa-title{margin-bottom:20px}.persian-description{margin-top:44px;padding-top:32px}}

:lang(fa){font-family:"IRANSansX",Tahoma,Arial,sans-serif;font-synthesis:none}
.meta-native-fa{font-family:"IRANSansX",Tahoma,Arial,sans-serif;display:inline-block;direction:rtl;text-align:right;line-height:1.8}
.hero-image-caption,.gallery-item figcaption{display:flex;justify-content:space-between;gap:20px;align-items:baseline;color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.hero-image-caption{margin:0 clamp(22px,4.6vw,84px);padding-top:12px}
.hero-image-caption span[lang="fa"],.gallery-item figcaption span[lang="fa"]{font-family:"IRANSansX",Tahoma,Arial,sans-serif;font-size:.88rem;line-height:1.7;letter-spacing:0;text-transform:none;text-align:right}
@media(max-width:700px){.hero-image-caption,.gallery-item figcaption{display:block}.hero-image-caption span,.gallery-item figcaption span{display:block}.hero-image-caption span[lang="fa"],.gallery-item figcaption span[lang="fa"]{text-align:left;margin-top:4px}}
/* Home project slideshow */
.hero-slider{position:relative}.hero-slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}.hero-slide.active{opacity:1;visibility:visible;z-index:1}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 46%;filter:saturate(.84)}.hero-slide:hover img{filter:saturate(1)}.hero-project{align-items:center;gap:25px}.hero-project-title{display:flex;justify-content:space-between;gap:30px;flex:1;align-items:center}.hero-project-title:hover{text-decoration:underline;text-underline-offset:5px}.hero-controls{display:flex;align-items:center;gap:10px}.hero-controls button{border:0;background:transparent;color:var(--ink);padding:7px;min-width:32px;min-height:32px}.hero-controls button:hover{background:#e5e7e1}.hero-dots{display:flex;align-items:center;gap:4px}.hero-dots .hero-dot{width:18px;min-width:18px;height:28px;min-height:28px;position:relative}.hero-dot:after{content:"";position:absolute;top:11px;left:6px;width:6px;height:6px;border-radius:50%;background:#a5aaa3}.hero-dot.active:after{background:var(--ink);transform:scale(1.35)}
@media(max-width:700px){.hero-project{align-items:flex-start;flex-direction:column}.hero-project-title{width:100%;gap:15px}.hero-project-title span{white-space:nowrap}.hero-controls{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
/* Strengthen pale architectural lines while retaining the source drawings. */
.drawing-filter-defs{position:absolute;pointer-events:none}.gallery-item.drawing-enhanced img{filter:url(#drawing-contrast);background:#fff}
/* A clear yellow accent across the existing neutral palette. */
:root{--accent:#e4c400}::selection{background:#f7edab;color:#111}.brand-square,.hero-dot.active:after{background:var(--accent)}.period{color:var(--accent)}.filter-row button.active,.secondary-filters button.active{text-decoration-color:var(--accent)}.discipline:hover .northeast,.text-link:hover,.back-link:hover{color:#a08700}.hero-project-title:hover{text-decoration-color:var(--accent)}
.card-category-group{text-align:right;align-self:start}.card-category-group span{display:block}.card-category-group .card-award{color:var(--ink);margin-top:5px;font-weight:600}.project-card-copy .card-location{grid-column:1/-1;margin-top:8px}
/* Social links and office map */
.social-icons,.contact-socials{display:flex;align-items:center;gap:11px}.social-icon{width:46px;height:46px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;color:inherit;transition:transform .28s ease,background-color .28s ease,color .28s ease,border-color .28s ease}.social-icon svg{width:21px;height:21px;transition:transform .28s ease}.social-icon:hover,.social-icon:focus-visible{transform:translateY(-4px);background:var(--accent);border-color:var(--accent);color:#1a1b1a}.social-icon:hover svg,.social-icon:focus-visible svg{transform:rotate(-8deg)}.contact-info .contact-socials{margin:20px 0 18px;flex-wrap:wrap}.office-map{margin-top:58px}.office-map iframe{display:block;width:100%;height:330px;border:1px solid var(--line);margin:16px 0 14px;background:#e8e8e4}.footer .social-icons{align-self:end}.footer .social-icon{width:43px;height:43px}
@media(max-width:700px){.office-map iframe{height:300px}.footer .social-icons{margin-top:35px}}
@media(prefers-reduced-motion:reduce){.social-icon,.social-icon svg{transition:none!important}.social-icon:hover,.social-icon:focus-visible{transform:none}.social-icon:hover svg,.social-icon:focus-visible svg{transform:none}}
/* Calmer spacing for heavy display type. */
.brand{letter-spacing:-.025em}.hero h1{letter-spacing:-.045em}.page-title h1,.detail-title h1{letter-spacing:-.055em}.section-heading h2,.studio-intro h2,.studio-copy h2,.competition-year h2,.discipline>span:nth-child(2){letter-spacing:-.045em}.project-pager strong,.project-card-copy h3{letter-spacing:-.015em}strong,b{letter-spacing:.012em}:lang(fa) strong,:lang(fa) b{letter-spacing:.005em}
/* Founder portrait on the Studio page */
.founder-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(35px,8vw,130px);align-items:center;margin:0 clamp(22px,4.6vw,84px);padding:70px 0 120px;border-top:1px solid var(--line)}
.founder-photo{width:100%;max-width:620px;margin:0;background:#e8e7e2;overflow:hidden}
.founder-photo img{width:100%;height:auto;display:block}
.founder-copy{align-self:center}
.founder-copy h2{font-size:clamp(3.6rem,7.5vw,8rem);font-weight:400;letter-spacing:-.075em;line-height:.95;margin:22px 0 0}
@media(max-width:700px){.founder-section{display:block;margin:0 22px;padding:35px 0 80px}.founder-copy{padding-top:30px}.founder-copy h2{font-size:clamp(3.6rem,15vw,6rem)}}
/* Studio editorial profile */
.studio-story,.studio-approach{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:clamp(45px,8vw,135px);padding:0 clamp(22px,4.6vw,84px) 115px}
.studio-portrait{align-self:start;position:sticky;top:105px;background:#34302c;overflow:hidden}
.studio-portrait img{display:block;width:100%;height:auto}
@media(hover:hover) and (pointer:fine){
  .studio-portrait img{filter:grayscale(1) contrast(1.05);transform:scale(1);transition:filter .7s ease,transform .7s ease}
  .studio-portrait:hover img{filter:grayscale(0) contrast(1);transform:scale(1.012)}
}
@media(prefers-reduced-motion:reduce){.studio-portrait img{transition:none!important}}
.studio-prose h2,.studio-approach h2{font-size:clamp(3rem,5.3vw,6.4rem);font-weight:400;letter-spacing:-.075em;line-height:1.02;margin:18px 0 40px}
.studio-prose p{font-size:clamp(1rem,1.22vw,1.16rem);line-height:1.83;color:#424640;margin:0 0 27px;max-width:760px}
.studio-prose strong{font-weight:650;letter-spacing:.012em;color:var(--ink)}
.studio-prose .studio-initial,.studio-story .studio-initial{color:var(--accent)}
.studio-prose a,.studio-publications a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:5px;transition:text-decoration-color .2s,color .2s}
.studio-prose a:hover,.studio-publications a:hover{color:var(--ink);text-decoration-color:currentColor}
.studio-approach{border-top:1px solid var(--line);padding-top:85px}
.studio-approach h2{margin-top:18px}
.studio-approach .studio-prose{padding-top:24px}
.studio-approach .approach-lead{font-size:clamp(1.5rem,2.1vw,2.5rem);line-height:1.35;color:var(--ink);margin-bottom:35px}
.studio-publications{border-top:1px solid var(--line);margin:0 clamp(22px,4.6vw,84px) 120px;padding-top:22px;display:grid;grid-template-columns:38% 1fr;gap:30px}
.studio-publications>div{display:grid;gap:16px}
.studio-publications a{font-size:1rem;width:fit-content}
@media(max-width:800px){.studio-story,.studio-approach{display:block;padding:0 22px 80px}.studio-portrait{position:static;margin-bottom:48px;max-width:530px}.studio-approach{padding-top:55px}.studio-approach .studio-prose{padding-top:0}.studio-publications{display:block;margin:0 22px 85px}.studio-publications>div{margin-top:26px}}
/* People and philosophy */
.team-section{padding:0 clamp(22px,4.6vw,84px) 115px}
.team-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;border-top:1px solid var(--line);padding:22px 0 42px}
.team-heading h2{font-size:clamp(2.5rem,4.6vw,5rem);font-weight:400;letter-spacing:-.065em;line-height:1;margin:0;max-width:620px}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,46px);max-width:1180px}
.team-card{min-width:0;outline-offset:7px}
.team-image{position:relative;overflow:hidden;aspect-ratio:4/5;background:#d6d7d2}
.team-image img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1) contrast(1.06);transition:filter .6s ease,transform .6s ease}
.team-reveal{position:absolute;inset:auto 0 0;padding:80px clamp(20px,3vw,42px) clamp(22px,3vw,42px);color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.78));display:grid;gap:5px;opacity:0;transform:translateY(14px);transition:opacity .35s ease,transform .35s ease}
.team-reveal strong{font-size:clamp(1.35rem,2.1vw,2rem);font-weight:500;line-height:1.15;letter-spacing:-.025em}.team-reveal span{font-size:.77rem;letter-spacing:.12em;text-transform:uppercase}
.team-card:hover img,.team-card:focus-visible img{filter:grayscale(0) contrast(1);transform:scale(1.025)}
.team-card:hover .team-reveal,.team-card:focus-visible .team-reveal{opacity:1;transform:none}
.team-card-index{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;margin-top:13px;color:var(--muted);font-size:.73rem;letter-spacing:.11em;text-transform:uppercase}
.studio-story{display:block;border-top:1px solid var(--line);margin:0 clamp(22px,4.6vw,84px);padding:68px 0 70px}
.studio-story .studio-prose{max-width:920px}.studio-story .studio-prose p{max-width:850px}
.philosophy-link{margin:0 clamp(22px,4.6vw,84px) 90px}.philosophy-link .text-link{font-size:.85rem;letter-spacing:.09em;text-transform:uppercase}
.philosophy-title{padding-bottom:65px}.studio-approach{margin:0 clamp(22px,4.6vw,84px);padding:65px 0 125px}
@media(hover:none){.team-reveal{opacity:1;transform:none;padding-top:55px}}
@media(max-width:800px){.team-section{padding:0 22px 75px}.team-heading{display:block}.team-heading h2{margin-top:22px}.studio-story{margin:0 22px;padding:55px 0 60px}.philosophy-link{margin:0 22px 80px}.studio-approach{display:block;margin:0 22px;padding:55px 0 85px}.studio-approach .studio-prose{padding-top:0}}
@media(max-width:600px){.team-grid{grid-template-columns:1fr}.team-image{aspect-ratio:4/4.7}}
@media(prefers-reduced-motion:reduce){.team-image img,.team-reveal{transition:none}}
/* Featured project film */
.featured-film{padding:0 clamp(22px,4.6vw,84px) 65px}
.featured-film-link{display:block;position:relative;overflow:hidden;background:#dadbd6;aspect-ratio:16/7}
.featured-film video,.featured-film img{width:100%;height:100%;object-fit:cover;display:block}
.featured-film-overlay{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;gap:15px;padding:42px 28px 23px;background:linear-gradient(transparent,rgba(0,0,0,.62));color:white;font-size:.78rem;letter-spacing:.13em}
.project-film{padding:0 clamp(22px,4.6vw,84px) 100px}
.project-film>.section-index{display:block;border-top:1px solid var(--line);padding:16px 0 22px}
.project-film-frame{width:100%;max-width:1100px;margin:auto;background:#e8e8e4;aspect-ratio:4/3}
.project-film-frame video,.project-film-frame iframe{display:block;width:100%;height:100%;object-fit:contain;border:0}
.project-film.portrait .project-film-frame{max-width:440px;aspect-ratio:572/782;background:transparent}
@media(max-width:700px){.featured-film{padding:0 22px 55px}.featured-film-link{aspect-ratio:4/3}.featured-film-overlay{font-size:.68rem;padding:35px 16px 16px}.project-film{padding:0 22px 70px}}
/* Hema material alternatives share one fixed viewpoint. */
.gallery-item.material-slider{grid-column:1/-1;width:min(100%,720px);margin-inline:auto}
.material-stage{position:relative;width:100%;aspect-ratio:1447/2048;background:#e6e7e2;overflow:hidden}
.material-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}
.material-slide.active{opacity:1;visibility:visible;z-index:1}
.material-slide img{display:block;width:100%;height:100%;object-fit:contain}
.material-slider figcaption{min-height:48px;padding-top:12px}
.material-controls{display:flex;justify-content:center;align-items:center;gap:13px;padding:10px 0}
.material-controls button{border:0;background:transparent;color:var(--ink);min-width:38px;min-height:38px;padding:8px}
.material-controls button:hover,.material-controls button:focus-visible{background:#e5e7e1}
.material-dots{display:flex;gap:5px;align-items:center}
.material-dots .material-dot{width:26px;min-width:26px;position:relative}
.material-dot:after{content:"";position:absolute;width:7px;height:7px;top:15px;left:10px;border-radius:50%;background:#a5aaa3}
.material-dot.active:after{background:var(--accent);transform:scale(1.3)}
@media(prefers-reduced-motion:reduce){.material-slide{transition:none}}
/* Full-frame homepage images and on-image navigation. */
.hero .hero-photo{height:min(56vw,740px);min-height:400px;background:#e7e8e4}
.hero-slide img{object-fit:contain;object-position:center;filter:none}
.hero-slide:hover img{filter:none}
.hero-side-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:66px;height:100px;padding:0;border:0;border-radius:0;background:transparent;color:#fff;font-size:1.15rem;font-weight:300;line-height:1;text-shadow:0 1px 6px rgba(0,0,0,.9);opacity:0;transition:opacity .25s ease}
.hero-side-arrow:hover,.hero-side-arrow:focus-visible{opacity:1;background:transparent;transform:translateY(-50%)}
.hero-side-arrow.hero-prev{left:0}
.hero-side-arrow.hero-next{right:0}
@media(max-width:700px){.hero .hero-photo{height:clamp(260px,68vw,430px);min-height:0}.hero-side-arrow{width:52px;height:80px;font-size:1rem}}
@media(hover:none){.hero-side-arrow{display:none}}
@media(prefers-reduced-motion:reduce){.hero-side-arrow{transition:none}}
/* Header wordmark: right-to-left entry, then the yellow dot lands. */
.brand-word{display:inline-flex;white-space:nowrap}
.brand-letter{display:inline-block;opacity:0;transform:translate3d(44px,0,0);animation:brand-arrive .62s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*.055s)}
.brand .brand-square{opacity:0;transform:translate3d(20px,-8px,0) scale(0);transform-origin:center;animation:brand-dot-land .4s cubic-bezier(.22,1.65,.38,1) .68s both}
@keyframes brand-arrive{0%{opacity:0;transform:translate3d(44px,0,0)}45%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0)}}
@keyframes brand-dot-land{0%{opacity:0;transform:translate3d(20px,-8px,0) scale(0)}68%{opacity:1;transform:translate3d(-1px,1px,0) scale(1.6)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@media(prefers-reduced-motion:reduce){.brand-letter,.brand .brand-square{animation:none;opacity:1;transform:none}}
/* Keep project facts compact even when the neighboring description is long. */
.detail-information dl{align-content:start;grid-auto-rows:min-content;row-gap:24px}
.project-metadata{min-width:0}
.detail-information .project-metadata dl{margin-bottom:0}
.project-credits-title{margin:30px 0 18px;font-size:.74rem;font-weight:400;line-height:1.8;letter-spacing:.09em}
.project-credits-title span[lang="fa"]{font-family:"IRANSansX",Tahoma,Arial,sans-serif;font-size:.85rem;letter-spacing:0;text-transform:none}
.detail-information .project-credits{grid-template-columns:minmax(0,1fr);row-gap:18px}
.project-credits dd{overflow-wrap:anywhere;line-height:1.65}
@media(max-width:700px){.project-metadata{margin-bottom:50px}}
.persian-description p{text-align:justify;text-align-last:right;direction:rtl}
@media(max-width:700px){.detail-information dl{row-gap:20px}}
/* Preserve complete project cover images, including the sky above the architecture. */
.project-image img,.hero-slide img,.detail-hero img{object-fit:contain;object-position:center top}
.project-link:hover .project-image img{transform:none}
/* Studio: lead with the founder, then reserve seven collaborator profiles. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.studio-title{padding-top:35px;padding-bottom:25px}
.studio-title-logo{display:block;width:min(420px,78vw);height:auto;margin:-55px 0 -48px;mix-blend-mode:multiply}
.studio-story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,88px);align-items:start}
.studio-founder-photo{position:sticky;top:105px;margin:0;min-width:0}
.studio-founder-photo img{display:block;width:100%;height:auto;filter:grayscale(1);transition:filter .5s ease}
.studio-founder-photo:hover img{filter:grayscale(0)}
.studio-founder-photo figcaption{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;color:var(--muted);font-size:.73rem;letter-spacing:.08em;text-transform:uppercase}
.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:clamp(16px,2vw,30px)}
.team-reveal strong{font-size:clamp(1.1rem,1.5vw,1.6rem)}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.studio-story{display:block}.studio-founder-photo{position:static;max-width:580px;margin-bottom:42px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.team-grid{grid-template-columns:1fr}.studio-title-logo{width:min(340px,85vw);margin:-45px 0 -45px}}
@media(prefers-reduced-motion:reduce){.studio-founder-photo img{transition:none}}
/* Project cards follow each photograph's own proportions instead of a fixed grey frame. */
.project-grid{align-items:start}
.project-image{height:auto;min-height:0;background:transparent}
.project-image img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center top}
/* The rotating hero fills its frame; align to the sky and roofline on narrow screens. */
.hero-slide img{object-fit:cover;object-position:center top}
.hero .hero-photo{background:var(--paper)}
@media(max-width:700px){.project-image{height:auto;min-height:0}.hero-slide img{object-position:center top}}
/* A compact, poster-like project wall: each card keeps its natural height. */
.project-grid{display:block;columns:3;column-gap:clamp(16px,1.8vw,28px)}
.project-grid .project-card:nth-child(n){display:inline-block;width:100%;vertical-align:top;break-inside:avoid;page-break-inside:avoid;padding-top:0;margin:0 0 clamp(28px,3vw,48px)}
.project-grid .project-card[hidden]{display:none}
@media(max-width:1100px){.project-grid{columns:2}}
@media(max-width:700px){.project-grid{columns:1}.project-grid .project-card:nth-child(n){margin-bottom:38px}}
.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:800px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.team-grid{grid-template-columns:1fr}}
.team-heading{display:block;text-align:left}
.team-heading h2{margin:20px 0 0;max-width:none;text-align:left}
.team-image img{filter:none}
.team-card:hover img,.team-card:focus-visible img{filter:none;transform:scale(1.025)}
.team-reveal{padding:64px clamp(16px,2vw,28px) 24px;pointer-events:none}
.team-card:hover .team-reveal,.team-card:focus-within .team-reveal{opacity:1;transform:none;pointer-events:auto}
.team-contacts{display:grid;gap:7px;margin-top:9px;min-width:0}
.team-contacts a{display:block;width:fit-content;max-width:100%;font-size:.875rem;line-height:1.45;letter-spacing:0;text-transform:none;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px;transition:text-decoration-color .2s}
.team-contacts a:hover{color:#fff;text-decoration-color:var(--accent,#ffdc00)}
.team-contacts a:focus-visible{outline:2px solid var(--accent,#ffdc00);outline-offset:3px}
.team-contacts .team-phone{white-space:nowrap}
@media(hover:none){.team-reveal{pointer-events:auto}}

/* Direct contact form */
.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.send-button:disabled{opacity:.6;cursor:wait}.form-note:empty{display:none}#contact-status{font-size:.875rem;line-height:1.65;text-transform:none;letter-spacing:0;overflow-wrap:anywhere}#contact-status[data-state="error"]{color:#9c3023}#contact-status[data-state="success"]{color:var(--ink)}#contact-status[dir="rtl"]{font-family:IRANSansX,Arial,sans-serif}
