*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:#f5f3ef;color:#242521;font-family:'Space Grotesk',Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #846b6c;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-80px;left:20px;z-index:3000;background:white;padding:12px}.skip-link:focus{top:10px}.site-header{height:84px;padding:0 4.4%;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:1100;border-bottom:1px solid #dbd8d2;background:#f5f3ef}.brand{width:160px;flex-shrink:0}.brand img{width:160px;height:auto}.site-header nav{display:flex;gap:38px;margin-left:auto;align-items:center;font-size:13px}.site-header nav a{padding:14px 0;position:relative;color:#706a64}.site-header nav a.active{color:#242521}.site-header nav a.active:after{content:'';position:absolute;height:1px;background:#63514f;bottom:7px;left:0;right:0}.page-intro{padding:66px 4.4% 42px}.page-intro h1{font-size:clamp(56px,7.2vw,118px);line-height:1.04;letter-spacing:-.065em}.title-period{color:#846b6c}.intro-line{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-top:26px;font-size:16px}.intro-line p{color:#63514f}.quiet-link{font-size:12px;border-bottom:1px solid #a8a09a;padding-bottom:7px}.quiet-link span{margin-left:36px;font-size:19px}.chapter{height:116vh;min-height:740px;position:relative;margin-bottom:0;background:#252622;--p:0}.chapter-stage{position:sticky;top:0;height:100vh;min-height:640px;overflow:hidden;color:#fff}.chapter-image{width:100%;height:100%;object-fit:cover;object-position:50% 48%;transform:scale(calc(1.035 + var(--p)*.025)) translateY(calc(var(--p)*-18px));will-change:transform;filter:brightness(.97)}.chapter-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,13,.20),transparent 35%,rgba(10,16,13,.12) 60%,rgba(10,16,13,.72));pointer-events:none}.chapter-topline{position:absolute;top:36px;left:4.4%;right:4.4%;display:flex;justify-content:space-between;font-size:13px;letter-spacing:.015em;text-shadow:0 1px 12px #0008}.chapter-topline small{font-size:9px;margin-left:4px;opacity:.8}.chapter-caption{position:absolute;left:4.4%;right:4.4%;bottom:116px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px;transform:translateY(calc(var(--p)*-10px))}.chapter-title h2{font-size:clamp(62px,7.8vw,136px);line-height:.99;letter-spacing:-.06em;font-weight:300;max-width:1080px}.project-link{min-width:166px;display:flex;align-items:center;justify-content:space-between;gap:42px;padding:16px 0;border-bottom:1px solid #ffffff9c;font-size:14px;flex-shrink:0}.project-link span{font-size:25px;transition:transform .25s}.project-link:hover span{transform:translate(3px,-3px)}.image-credit{opacity:.8;letter-spacing:.02em}.section-pad{padding:110px 6.5%}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:52px}.section-heading h2{font-size:clamp(40px,5.3vw,78px);letter-spacing:-.055em;line-height:1.06}.section-heading>p{font-size:14px;line-height:1.65;color:#63514f;min-width:225px}.section-heading>p>span{font-size:11px;color:#7e7871}.archive{border-bottom:1px solid #63514f}.archive summary{list-style:none;padding:32px 0;display:flex;align-items:center;justify-content:space-between;font-size:22px;cursor:pointer}.archive summary::-webkit-details-marker{display:none}.archive-count{display:flex;align-items:center;gap:48px;font-size:12px;color:#63514f}.plus{font-size:30px;line-height:1;font-weight:300;transition:transform .3s}.archive[open] .plus{transform:rotate(45deg)}.archive-inner{padding-bottom:26px}.tehran-section{padding-top:92px;background:#ebe9e1}.map-heading{margin-bottom:44px}.map-heading h2{max-width:800px}.map-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:580px;border:1px solid #d0cdc3;background:#f3f1e9}.map-wrap{position:relative;min-height:580px;isolation:isolate}.map-wrap #tehran-map{height:100%;min-height:580px;width:100%;background:#e6e6de;z-index:1}.map-reset{position:absolute;left:22px;top:22px;z-index:500;border:1px solid #c9c5ba;background:#f8f6f0ee;backdrop-filter:blur(7px);padding:12px 15px;font-size:11px;box-shadow:0 2px 12px #00000007}.map-reset span{margin-left:20px}.map-project-panel{padding:27px 24px 25px;border-left:1px solid #d0cdc3;background:#f5f3ec}.map-panel-heading{display:flex;justify-content:space-between;font-size:12px;color:#63514f;padding-bottom:20px;border-bottom:1px solid #d0cdc3}.map-description{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:42px}.small-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#847a70}.map-description>p{max-width:760px;font-size:18px;line-height:1.65;letter-spacing:-.015em}.map-description>.small-label{padding-top:7px}.leaflet-container{font-family:'Space Grotesk',Arial,sans-serif}.leaflet-tile-pane{filter:saturate(.35)}.leaflet-control-zoom{border:1px solid #c9c5ba!important;box-shadow:none!important;margin:22px!important}.leaflet-control-zoom a{background:#f8f6f0!important;color:#63514f!important;font:300 22px/32px 'Space Grotesk',Arial!important}.leaflet-control-attribution{font-size:8px!important;background:#f8f6f0e6!important;color:#71695f!important}.leaflet-control-attribution a{color:#63514f!important}.site-footer{background:#242521;color:#f2efe7;padding:82px 6.5% 25px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:90px}.footer-top>img{width:174px;height:auto;filter:grayscale(1) brightness(0) invert(1);opacity:.9}.footer-top .small-label{color:#b3b3aa;font-size:9px;margin-bottom:22px}.footer-statement{font-size:clamp(46px,5vw,80px);line-height:1.02;letter-spacing:-.05em;font-weight:300}.footer-link{display:flex;justify-content:space-between;max-width:300px;border-bottom:1px solid #777b70;padding-bottom:10px;margin-top:35px;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap;border-top:1px solid #55584f;padding-top:22px;font-size:9px;color:#b7b7ad}.detail-header{padding-bottom:58px}.detail-header .quiet-link{display:inline-block;margin-bottom:40px}.detail-header h1{font-size:clamp(52px,8vw,116px);letter-spacing:-.06em;line-height:1.02;max-width:1100px}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px;border-top:1px solid #b8b0a6;padding-top:22px}.detail-meta dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#847a70;margin-bottom:10px}.detail-meta dd{margin:0;font-size:16px}.detail-gallery{display:grid;gap:18px;padding:0 18px 80px}.detail-gallery img{width:100%;height:auto;max-height:95vh;object-fit:cover}.detail-next{padding:0 6.5% 80px}.detail-next a{border-bottom:1px solid #63514f;padding-bottom:12px;display:flex;justify-content:space-between;font-size:20px}
@media(min-width:1800px){.chapter-stage{height:1050px}.chapter{height:1250px}}@media(max-width:1000px){.site-header nav{gap:20px}.map-shell{grid-template-columns:minmax(0,1fr) 270px}.map-project-panel{padding:24px 18px}.chapter-title h2{font-size:clamp(62px,8.7vw,110px)}.section-pad{padding-left:5%;padding-right:5%}.section-heading>p{min-width:190px}.map-description{grid-template-columns:1fr 2.5fr}}
@media(max-width:700px){html{scroll-padding-top:24px}.site-header{height:72px;padding:0 22px;gap:20px}.brand,.brand img{width:128px}.site-header nav{display:none}.page-intro{padding:46px 22px 30px}.page-intro h1{font-size:clamp(48px,11.8vw,80px);letter-spacing:-.06em}.intro-line{margin-top:20px;align-items:start;flex-direction:column;gap:25px}.intro-line p{font-size:14px}.quiet-link{font-size:11px;padding-bottom:5px}.quiet-link span{font-size:16px}.chapter{height:110svh;min-height:650px}.chapter-stage{height:94svh;min-height:580px}.chapter-image{object-position:54% 50%;transform:scale(1.02) translateY(calc(var(--p)*-10px))}.chapter-topline{left:22px;right:22px;top:25px;font-size:11px}.chapter-caption{left:22px;right:22px;bottom:100px;display:block}.chapter-title h2{font-size:clamp(58px,13.4vw,90px);max-width:95%;line-height:1.03}.project-link{margin-top:25px;max-width:168px;min-width:0;padding:10px 0;font-size:12px}.image-credit{max-width:180px}.section-pad{padding:65px 22px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{font-size:43px;line-height:1.08}.section-heading>p{margin-top:22px;font-size:12px}.section-heading>p br{display:none}.section-heading>p>span{display:block;margin-top:4px}.archive summary{padding:26px 0;font-size:20px;gap:15px}.archive-count{font-size:10px;gap:20px}.plus{font-size:25px}.map-heading h2{max-width:310px;font-size:48px;letter-spacing:-.06em}.map-heading>p br{display:none}.map-shell{display:block;min-height:0}.map-wrap,.map-wrap #tehran-map{height:420px;min-height:420px}.map-project-panel{border-left:0;border-top:1px solid #d0cdc3;padding:24px 20px}.map-panel-heading{padding-bottom:16px}.map-project-panel #map-project-list{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;margin-top:4px}.map-reset{left:15px;top:15px;padding:11px;font-size:9px}.map-reset span{margin-left:12px}.leaflet-control-zoom{margin:15px!important}.map-description{display:block;margin-top:28px}.map-description>.small-label{display:block;padding:0;margin-bottom:18px;font-size:9px}.map-description>p{font-size:16px;line-height:1.7}.site-footer{padding:55px 22px 25px}.footer-top{grid-template-columns:1fr;gap:45px;padding-bottom:55px}.footer-top>img{width:140px}.footer-top .small-label{margin-bottom:18px}.footer-statement{font-size:57px}.footer-link{margin-top:25px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:21px;font-size:8px}.footer-bottom a:nth-child(even){text-align:right}.detail-meta{grid-template-columns:1fr 1fr;margin-top:30px;gap:25px}.detail-meta dd{font-size:13px}.detail-gallery{padding:0 0 55px;gap:10px}.detail-header h1{font-size:60px}.detail-next{padding:0 22px 60px}.detail-next a{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.chapter{height:100vh}.chapter-image,.chapter-caption{transform:none!important}.chapter-stage{position:relative}}


.portfolio-intro-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  align-items: center;
}

.chapter-caption {
  bottom: clamp(32px, 7.5vh, 88px);
}

.project-link {
  min-width: 164px;
  min-height: 50px;
  padding: 12px 19px;
  border: 0;
  background: #63514f;
  color: #fff;
  transition: background .2s ease;
}

.project-link:hover {
  background: #483a38;
}

.project-link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.project-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 4vw, 58px) clamp(18px, 2.4vw, 37px);
}

.collection-card {
  display: block;
  min-width: 0;
  text-decoration: none;
}

.collection-photo, .map-popover-photo, .map-item-photo {
  display: block;
  position: relative;
  overflow: hidden;
  background: #e8e3da;
}

.collection-photo {
  aspect-ratio: 3 / 2;
}

.collection-photo img, .map-popover-photo img, .map-item-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.collection-photo img {
  transition: transform .55s ease;
}

.collection-card:hover .collection-photo img {
  transform: scale(1.035);
}

.project-study-label {
  position: absolute;
  bottom: 9px;
  left: 9px;
  padding: 4px 7px;
  background: #f6f4f0eb;
  color: #63514f;
  font-size: 10px;
  line-height: 1.35;
}

.collection-caption {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  padding: 16px 0 19px;
  border-bottom: 1px solid #cfc6bc;
}

.collection-caption h3 {
  font-size: clamp(21px, 2.15vw, 34px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.12;
}

.collection-caption p {
  margin-top: 8px;
  color: #63514f;
  font-size: 12px;
  line-height: 1.5;
}

.collection-arrow {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid #cfc6bc;
  color: #63514f;
  transition: color .2s ease, background .2s ease;
}

.collection-card:hover .collection-arrow {
  background: #63514f;
  color: #fff;
}

.archive {
  margin-top: clamp(34px, 5vw, 72px);
  border-top: 1px solid #cfc6bc;
}

.project-gallery-archive {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.project-gallery-archive h3 {
  font-size: clamp(19px, 1.7vw, 26px);
}

.map-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(345px, 34%);
  min-height: 610px;
}

.map-wrap {
  min-height: 610px;
}

.map-wrap #tehran-map {
  position: absolute;
  inset: 0;
  min-height: 0;
  height: 100%;
  background: #eceae1;
}

.map-wrap .leaflet-tile-pane {
  filter: saturate(.22) contrast(.83) brightness(1.12);
}

.map-project-panel {
  padding: clamp(20px, 2.1vw, 32px);
  background: #f5f3ec;
}

.map-panel-heading {
  display: block;
  padding-bottom: 17px;
}

.map-panel-heading h3 {
  margin: 0 0 7px;
  color: #292725;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.15;
}

.map-panel-heading p {
  font-size: 12px;
  line-height: 1.5;
}

#map-project-list {
  display: grid;
  gap: 4px;
  margin-top: 10px;
}

.map-list-button {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 72px;
  padding: 7px 8px;
  border: 1px solid transparent;
  border-bottom-color: #ddd8ce;
  background: transparent;
  color: #292725;
  text-align: left;
  cursor: pointer;
}

.map-list-button:hover, .map-list-button[aria-pressed="true"] {
  border-color: #c8b9ad;
  background: #eae2d8;
}

.map-list-button:focus-visible {
  outline: 2px solid #846363;
  outline-offset: 1px;
}

.map-item-photo {
  width: 78px;
  height: 54px;
}

.map-item-copy {
  display: grid;
  gap: 4px;
}

.map-item-copy strong {
  font-size: 14px;
  line-height: 1.25;
  font-weight: 400;
}

.map-item-copy small {
  color: #63514f;
  font-size: 11px;
  line-height: 1.35;
}

.map-item-arrow {
  color: #63514f;
  font-size: 15px;
}

.nikan-pin {
  display: grid;
  place-items: center;
}

.nikan-pin span {
  display: block;
  width: 17px;
  height: 17px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #76605b;
  box-shadow: 0 1px 5px #33282454;
}

.nikan-pin:is(.is-active, :hover, :focus-visible) span {
  background: #4f3b36;
  box-shadow: 0 0 0 4px #9e817555;
}

.nikan-map-popup .leaflet-popup-content-wrapper {
  border-radius: 0;
  padding: 0;
  background: #f6f4f0;
  color: #292725;
  box-shadow: 0 9px 28px #29272539;
}

.nikan-map-popup .leaflet-popup-content {
  width: clamp(180px, 49vw, 235px) !important;
  margin: 0;
  font-family: NikanShared, sans-serif;
}

.nikan-map-popup .leaflet-popup-tip {
  background: #f6f4f0;
}

.nikan-map-popup a.leaflet-popup-close-button {
  top: 6px;
  right: 6px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  background: #f6f4f0ee;
  color: #292725;
  font-size: 21px;
}

.map-popover-photo {
  height: 118px;
}

.map-popover-copy {
  padding: 12px;
}

.map-popover h3 {
  font-size: 19px;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.map-popover-copy p {
  margin: 7px 0 12px;
  color: #63514f;
  font-size: 11px;
}

.map-popover .map-popover-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 42px;
  padding: 8px 10px;
  background: #63514f;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
}

.map-popover .map-popover-link:hover {
  background: #483a38;
}

.map-unavailable {
  padding: 45px 24px;
  color: #63514f;
}

.detail-preview {
  position: relative;
  grid-column: 1 / -1;
  margin: 0;
}

@media (max-width: 1080px) {
  .project-gallery, .project-gallery-archive {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 840px) {
  .map-shell {
    display: block;
    min-height: 0;
  }

  .map-wrap {
    min-height: 440px;
  }

  .map-project-panel {
    border-top: 1px solid #d0cdc3;
    border-left: 0;
  }

  .map-project-panel #map-project-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 12px;
    margin-top: 10px;
  }
}

@media (max-width: 560px) {
  .project-gallery, .project-gallery-archive {
    grid-template-columns: minmax(0, 1fr);
  }

  .map-wrap {
    min-height: 390px;
    height: 390px;
  }

  .map-project-panel #map-project-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .collection-photo img, .collection-arrow {
    transition: none;
  }
}
