/* Static-site enhancements. reference.css retains the original landing composition. */
[hidden] { display: none !important; }
:root {
  color-scheme: light !important;
  supported-color-schemes: light !important;
  --gutter: clamp(24px, 5vw, 80px);
  --fa-sans: Vazirmatn, Tahoma, Arial, sans-serif;
}
html { scroll-padding-top: 108px; color-scheme: light !important; background-color: var(--warm-white) !important; }
body { margin: 0; color-scheme: light !important; background-color: var(--warm-white) !important; color: var(--ink) !important; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: default; }
:focus-visible { outline: 2px solid #9f8562; outline-offset: 5px; }
.icon { flex: 0 0 auto; width: 20px; height: 20px; vertical-align: middle; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -100px; inset-inline-start: 20px; z-index: 200; padding: 16px 24px; background: var(--charcoal); color: white; }
.skip-link:focus { top: 16px; }
.brand-logo { width: 104px; height: 48px; object-fit: contain; }
.site-header { min-height: 82px; padding-block: 17px; }
.desktop-nav a { min-height: 44px; display: flex; align-items: center; }
.desktop-nav a::after { bottom: 6px; }
.language-link { width: 44px; height: 44px; }
.language-link:hover { background: rgba(160,150,130,.2); }
.light-header { color: var(--charcoal); background: rgba(251,250,247,.94); border-bottom-color: var(--line); box-shadow: none; --mobile-menu-bg: rgba(251,250,247,.98); --mobile-menu-color: var(--charcoal); --mobile-menu-line: var(--line); }
.light-header .language-link { border-color: var(--line); }
.mobile-nav { max-height: calc(100dvh - 82px); overflow-y: auto; overscroll-behavior: contain; }
.menu-button { width: 44px; height: 44px; }
.menu-button .icon { width: 26px; height: 26px; }
.menu-open-icon,.menu-close-icon { display: contents; }
.menu-is-open { overflow: hidden; }
.site-shell { min-width: 0; }
.hero .eyebrow { color: #c8bfb0; }
.arch-photo { --timeline-image: url('../images/interior-lounge.webp') !important; --timeline-mobile-image: url('../images/interior-lounge.webp') !important; }
.hero h1 span { white-space: nowrap; }
.section-label { margin: 0; max-width: none; font-family: var(--sans); line-height: 1.5; }
.section-label.eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .2em; }
.rtl .section-label { font-family: var(--fa-sans); font-weight: 600; letter-spacing: 0; }
.eyebrow, .vertical-label { color: #786f63; }
.hero .eyebrow,.skills-band .eyebrow,.contact-intro .eyebrow { color: #beb3a3; }
.scroll-reveal { opacity: 1; filter: none; transform: none; }
@media (prefers-reduced-motion: no-preference) {
  .reveal-enabled .scroll-reveal:not(.is-visible) { opacity: 0; transform: translateY(24px); }
}
.about .portrait img { object-position: center 30%; }
.about .section-copy p + p { margin-top: 10px; }
.project-card, .archive-card { min-width: 0; text-align: start; }
.project-meta-copy { min-width: 0; width: 100%; text-align: start; }
.project-card h3, .archive-card h3 { line-height: 1.5; text-align: start; width: 100%; }
.project-card p, .archive-card p { text-align: start; width: 100%; }
.project-card i { width: 36px; height: 36px; }

/* Strict RTL text alignment for Persian project cards */
.rtl .project-card,
.rtl .archive-card,
.rtl .project-meta-copy,
.rtl .project-card h3,
.rtl .archive-card h3,
.rtl .project-meta-copy h3,
.rtl .project-card p,
.rtl .archive-card p,
.rtl .project-meta-copy p {
  text-align: right !important;
}

/* Strict LTR text alignment for English project cards */
html[lang="en"] .project-card,
html[lang="en"] .archive-card,
html[lang="en"] .project-meta-copy,
html[lang="en"] .project-card h3,
html[lang="en"] .archive-card h3,
html[lang="en"] .project-meta-copy h3,
html[lang="en"] .project-card p,
html[lang="en"] .archive-card p,
html[lang="en"] .project-meta-copy p {
  text-align: left !important;
}
.service-item > .icon { width: 28px; height: 28px; }
.rtl .services { padding-left: 0; padding-right: 70px; }
.rtl .vertical-label { left: auto; right: 22px; }
.rtl .service-item { border-left: 0; border-right: 1px solid var(--line); }
.resume { grid-template-columns: minmax(0,1fr) minmax(210px,.65fr) minmax(0,1fr); gap: clamp(24px,3.5vw,72px); padding-inline: clamp(28px,6vw,110px); }
.timeline-item h3 { line-height: 1.5; font-size: 13px; }
.timeline-item p { margin-top: 4px; }
.timeline-item span { direction: inherit; font-size: 11px; }
.timeline-column .eyebrow { white-space: normal; }
.skills-band { grid-template-columns: minmax(210px,.9fr) minmax(0,2.1fr); }
.skills-content { min-width: 0; }
.skills-row { grid-template-columns: repeat(8,minmax(0,1fr)); gap: 20px 12px; }
.skill span { letter-spacing: .03em; white-space: nowrap; }
.office-tools { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--dark-line); }
.office-tools p { font-size: 11px; color: #c0b6a8; margin-inline-end: auto; }
.office-tools > span { display: inline-flex; gap: 8px; align-items: center; font-size: 11px; color: #eee7dd; }
.office-tools .icon { width: 19px; height: 19px; }
.book-title-en { font-family: var(--serif) !important; font-weight: 400 !important; line-height: 1.04 !important; font-size: clamp(42px,4.4vw,68px) !important; }
.book-copy .book-title-en span { margin-top: 10px; font-size: .56em; }
.book-copy h2 span { color: #887e70; }
.book-purchase-note { color: #756b5f; }
.book-visual { position: relative; display: grid; place-items: center; padding: 40px; min-height: 540px; }
.book-fallback { width: min(54%,300px); transform: perspective(1300px) rotateY(-22deg) rotateZ(-3deg); box-shadow: 22px 25px 44px rgba(0,0,0,.2); border-inline-end: 9px solid #ede5d8; }
.book-fallback img { width: 100%; height: auto; }
.book-visual.model-ready .book-fallback { visibility: hidden; opacity: 0; pointer-events: none; }
.book-model { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; touch-action: none; cursor: grab; transition: opacity .6s ease; }
.book-model[data-ready="true"],.book-visual.model-ready .book-model { opacity: 1; }
.book-model:active { cursor: grabbing; }
.book-model canvas { width: 100% !important; height: 100% !important; touch-action: none !important; user-select: none; -webkit-user-select: none; cursor: inherit; }
.book-model:focus-visible { outline-offset: -6px; }
.book-controls { position: absolute; bottom: 25px; inset-inline: 26px; display: flex; align-items: center; justify-content: center; gap: 10px; z-index: 2; }
.book-controls button { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); background: transparent; }
.book-hint { margin-inline-end: 12px; color: #74695c; font-size: 11px; }
.book-visual.model-unavailable .book-hint { max-width: 80%; text-align: center; }
.book-visual.model-unavailable .book-controls button { display: none; }
[data-book-pause].is-paused .icon { display: none; }
[data-book-pause].is-paused::before { content: ''; width: 0; height: 0; border-block: 7px solid transparent; border-left: 11px solid currentColor; }
.social-icons a { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--dark-line); }
.contact-list a { min-width: 0; padding: 20px; grid-template-columns: 38px minmax(0,1fr) 20px; gap: 8px 12px; }
.contact-list a i { width: 38px; height: 38px; }
.contact-list strong { font-size: clamp(14px,1.18vw,18px); line-height: 1.6; }
.contact-list strong[dir="ltr"] { text-align: start; unicode-bidi: isolate; }
.rtl .contact-list a { grid-template-columns: 38px minmax(0,1fr) 20px; }
.rtl .contact-list a i { grid-column: 1; }
.rtl .contact-list .contact-arrow { grid-column: 3; }
.contact-list span { color: #776d60; }
.footer .brand-logo { width: 110px; height: 60px; }
.footer nav a { display: inline-flex; min-height: 44px; align-items: center; }
.footer nav a::after { bottom: 7px; }
.footer-brand > span { line-height: 1.8; }
.back-to-top { position: fixed; bottom: 24px; inset-inline-end: 24px; width: 44px; height: 44px; display: grid; place-items: center; z-index: 40; border: 1px solid var(--line); background: rgba(251,250,247,.92); opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .2s,transform .2s; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
/* A new editorial project system, independent of the former Next.js detail page. */
.portfolio-page,.case-study { padding-top: 76px; }
.portfolio-intro { padding: 24px var(--content-edge) 16px; }
.portfolio-intro-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.85fr); align-items: center; justify-content: space-between; gap: clamp(20px, 3.5vw, 48px); }
.portfolio-intro-row h1 { font: 400 clamp(28px, 3.2vw, 46px)/1.12 var(--serif); color: var(--charcoal); letter-spacing: -.02em; margin: 0; text-wrap: balance; }
.rtl .portfolio-intro-row h1 { font-family: var(--fa-sans); font-weight: 700; font-size: clamp(23px, 2.5vw, 36px); line-height: 1.35; margin: 0; }
.portfolio-desc { font-size: clamp(14px, 1.1vw, 16px); color: #70685d; line-height: 1.6; margin: 0; max-width: 540px; text-align: right; justify-self: end; }
.rtl .portfolio-desc { line-height: 1.8; font-size: clamp(13px, 1.05vw, 15px); text-align: left; justify-self: start; }
@media (max-width: 860px) {
  .portfolio-page { padding-top: 74px; }
  .portfolio-intro { padding: 22px var(--content-edge) 16px !important; text-align: center; }
  .portfolio-intro-row { grid-template-columns: 1fr; gap: 10px !important; justify-items: center !important; text-align: center !important; }
  .portfolio-intro-row h1 { font-size: clamp(30px, 7.5vw, 42px) !important; line-height: 1.15 !important; margin: 0 !important; text-align: center !important; justify-self: center !important; }
  .rtl .portfolio-intro-row h1 { font-size: clamp(25px, 6.5vw, 35px) !important; line-height: 1.4 !important; margin: 0 !important; text-align: center !important; justify-self: center !important; }
  .portfolio-desc, .rtl .portfolio-desc { text-align: center !important; justify-self: center !important; margin-inline: auto !important; font-size: 14px !important; line-height: 1.55 !important; max-width: 440px; }
  .portfolio-toolbar { justify-content: center; padding-block: 16px 20px !important; }
  .filter-row { justify-content: center; width: 100%; gap: 6px !important; }
}
.portfolio-work { padding: 0 var(--content-edge) 80px; }
.portfolio-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; padding: 20px 0; }
.filter-row { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-break { display: none; }
@media (max-width: 680px) {
  .filter-break { display: block; flex-basis: 100%; width: 100%; height: 0; margin: 0; padding: 0; border: 0; }
}
.filter-row button { min-height: 38px; border-radius: 999px; border: 1px solid var(--line); background: transparent; padding: 6px 16px; font-size: 12px; cursor: pointer; transition: background .2s,color .2s,border-color .2s; }
.filter-row button.active,.filter-row button:hover { background: var(--charcoal); color: var(--warm-white); border-color: var(--charcoal); }
.project-search { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 6px 16px; gap: 10px; background: rgba(255,255,255,.6); min-width: min(100%,260px); }
.project-search input { min-width: 0; width: 100%; border: 0; background: transparent; outline: none; font: inherit; font-size: 12px; color: var(--ink); }
.project-search:focus-within { border-color: var(--charcoal); }
.results-line { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0 20px; border-top: 1px solid var(--line); color: #71695f; font-size: 11px; }
.archive-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 24px; }
.archive-card { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; min-width: 0; text-align: start; }
.archive-card .project-image { position: relative; aspect-ratio: 4 / 3; width: 100%; border-radius: 6px; overflow: hidden; background: rgba(23,23,21,.04); }
.archive-card .project-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(0.16,1,0.3,1); }
.archive-card:hover .project-image img { transform: scale(1.04); }
.archive-card .project-meta-copy { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: flex-start; margin-top: 10px; min-width: 0; width: 100%; text-align: start; }
.archive-card .project-meta-copy h3 { font-size: 14.5px; line-height: 1.35; color: var(--charcoal); margin: 0; width: 100%; text-align: start; }
.archive-card .project-meta-copy p { font-size: 11px; color: #786f63; margin-top: 4px; width: 100%; text-align: start; }
.archive-card > i { display: none; }
.empty-results { padding: 80px 0; text-align: center; }
.empty-results h2 { margin-inline: auto; font-size: 34px; }
.empty-results .line-button { background: transparent; }
.case-intro { padding: 16px var(--content-edge) 22px; }
.case-title-row { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(260px,.8fr); align-items: end; justify-content: space-between; gap: clamp(20px,3.5vw,54px); margin-bottom: 0; }
.case-title-col h1 { margin: 0; font: 400 clamp(42px,5vw,74px)/1.06 var(--serif); color: var(--charcoal); letter-spacing: -.02em; text-wrap: balance; }
.rtl .case-title-col h1 { font-family: var(--fa-sans); font-weight: 700; line-height: 1.35; font-size: clamp(30px,3.6vw,52px); }
.case-meta-col { display: flex; flex-direction: column; gap: 6px; }
.case-meta-col .eyebrow { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--taupe); }
.case-subtitle { font-size: clamp(15px,1.2vw,18px); color: #756a5d; line-height: 1.55; margin: 0; max-width: 440px; }
.rtl .case-subtitle { line-height: 1.8; font-size: clamp(14px,1.15vw,17px); }
.case-cover { margin: 0 var(--gutter); }
.case-cover .gallery-open { height: min(76svh,840px); min-height: 340px; }
.case-cover img { width: 100%; height: 100%; object-fit: cover; }
.case-cover.cover-portrait .gallery-open { height: min(82svh,900px); }
.case-cover.cover-portrait img { object-fit: contain; }
.gallery-open { position: relative; display: block; background: #e9e3da; overflow: hidden; }
.gallery-open img { transition: transform .7s ease; }
@media (hover:hover) { .gallery-open:hover img { transform: scale(1.015); } }
.image-expand { position: absolute; inset-inline-end: 18px; bottom: 18px; width: 44px; height: 44px; display: flex; justify-content: center; align-items: center; color: var(--charcoal); background: rgba(251,250,247,.92); border: 1px solid rgba(0,0,0,.06); }
.image-expand span { display: none; }
.case-cover figcaption,.gallery-item figcaption { display: flex; align-items: baseline; gap: 24px; padding: 13px 0; font-size: 11px; line-height: 1.8; color: #776e62; }
.case-cover figcaption > span:first-child,.gallery-item figcaption > span:first-child { white-space: nowrap; font-variant-numeric: tabular-nums; }
.case-topline > span,.case-cover figcaption > span:first-child,.gallery-item figcaption > span:first-child,.subtle-number { direction: ltr; unicode-bidi: isolate; }
.case-chapters { position: sticky; top: 82px; z-index: 30; display: flex; gap: 36px; align-items: center; background: rgba(251,250,247,.95); border-block: 1px solid var(--line); padding: 0 var(--gutter); backdrop-filter: blur(12px); }
.case-chapters a { min-height: 60px; display: flex; align-items: center; gap: 12px; font-size: 12px; }
.case-chapters a span { color: #978978; font-size: 10px; }
.case-chapters .image-count { margin-inline-start: auto; font-size: 11px; color: #7a7063; }
.case-story { display: grid; grid-template-columns: minmax(180px,.65fr) minmax(0,1.65fr); gap: clamp(40px,8vw,160px); padding: clamp(60px,7vw,110px) var(--gutter); scroll-margin-top: 78px; }
.case-facts dl { margin-top: 24px; }
.case-facts dl > div { padding: 17px 0; border-bottom: 1px solid var(--line); }
.case-facts dt { color: #7b7164; font-size: 11px; margin-bottom: 8px; }
.case-facts dd { font-size: 14px; line-height: 1.8; }
.software-list { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.software-list span { font-size: 12px; }
.case-narrative h2 { margin: 18px 0 30px; max-width: 800px; font-size: clamp(36px,4.3vw,64px); line-height: 1.08; text-wrap: balance; }
.case-narrative > p:not(.eyebrow) { max-width: 790px; color: #655d52; font-size: 16px; line-height: 1.95; margin-top: 20px; }
.design-themes { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin-top: 32px; }
.design-themes li { border: 1px solid #d4cabd; padding: 10px 14px; font-size: 11px; color: #716557; }
.case-gallery { padding: 56px var(--gutter) 90px; background: #eee9e1; scroll-margin-top: 78px; }
.gallery-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 42px; }
.gallery-heading h2 { font-size: clamp(28px,3.2vw,46px); max-width: 650px; margin-bottom: 0; line-height: 1.2; }
.gallery-heading > span { white-space: nowrap; color: #7b7063; font-size: 11px; }
.editorial-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 28px; align-items: start; }
.gallery-item { min-width: 0; }
.gallery-item.is-wide { grid-column: 1 / -1; }
.gallery-item img { width: 100%; height: auto; }
.gallery-item.is-portrait img { max-height: 860px; object-fit: contain; }
.gallery-item figcaption { border-bottom: 1px solid var(--line); }
.gallery-item figcaption,.gallery-heading > span,.case-gallery .eyebrow { color: #685f54; }
.next-case { display: grid; grid-template-columns: 1fr 1fr; background: var(--charcoal); color: var(--warm-white); }
.next-case-copy { padding: clamp(46px,6vw,94px) var(--gutter); align-self: center; }
.next-case-copy .eyebrow { color: #b9ad9b; }
.next-case-copy h2 { color: var(--warm-white); font-size: clamp(38px,4vw,64px); line-height: 1.1; }
.next-case-copy > p:not(.eyebrow) { color: #c3b9ab; font-size: 14px; line-height: 1.9; }
.next-case-copy .line-button { margin-top: 28px; }
.next-case-image { min-height: 400px; overflow: hidden; }
.next-case-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.next-case-image:hover img { transform: scale(1.025); }
.case-pagination { display: flex; justify-content: space-between; padding: 24px var(--gutter); border-bottom: 1px solid var(--line); }
.case-pagination a { min-height: 44px; display: flex; align-items: center; gap: 12px; font-size: 12px; }
.rtl .case-title-row h1,.rtl .portfolio-intro h1,.rtl .not-found h1 { font-family: var(--fa-sans); font-weight: 650; line-height: 1.35; letter-spacing: 0; font-size: clamp(38px,5vw,76px); }
.rtl .case-narrative h2,.rtl .gallery-heading h2,.rtl .next-case h2 { font-family: var(--fa-sans); line-height: 1.55; font-size: clamp(30px,3.5vw,50px); }
.rtl .case-narrative > p:not(.eyebrow) { line-height: 2.15; }
.rtl .text-link > svg,.rtl .case-pagination svg { transform: rotate(180deg); }
.rtl .case-subtitle { line-height: 2; font-size: clamp(15px,1.4vw,20px); }
.lightbox { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: #121311; color: #fbfaf7; overscroll-behavior: contain; }
.lightbox[open] { display: grid; grid-template-rows: 72px minmax(0,1fr) auto; }
.lightbox::backdrop { background: #121311; }
.lightbox-top { display: flex; align-items: center; justify-content: space-between; padding: 12px 24px; border-bottom: 1px solid #ffffff1a; }
.lightbox-actions { display: flex; gap: 6px; }
.lightbox button,.lightbox-actions a { min-width: 44px; min-height: 44px; display: grid; place-items: center; color: inherit; background: transparent; border: 1px solid #ffffff25; }
.lightbox button:hover,.lightbox-actions a:hover { background: #ffffff16; }
.lightbox-counter { font-size: 12px; direction: ltr; }
.lightbox-stage { position: relative; display: grid; grid-template-columns: 64px minmax(0,1fr) 64px; gap: 12px; align-items: center; padding: 16px; direction: ltr; min-height: 0; }
.lightbox-image-wrap { position: relative; width: 100%; height: 100%; min-height: 0; min-width: 0; overflow: hidden; scrollbar-color: #b1a28c #252521; }
.lightbox-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.lightbox.is-zoomed .lightbox-image-wrap { overflow: auto; cursor: zoom-out; }
.lightbox.is-zoomed .lightbox-image { position: static; width: 180%; max-width: none; height: auto; object-fit: initial; }
.lightbox-caption { padding: 16px 24px 22px; text-align: center; line-height: 1.8; font-size: 13px; color: #d4cabd; }
.not-found { min-height: 80svh; padding: 180px var(--gutter) 100px; display: grid; justify-items: start; gap: 24px; }
.not-found h1 { max-width: 900px; }
.not-found > p:not(.eyebrow) { color: #766b5d; max-width: 560px; line-height: 1.9; }
@media (min-width:981px) {
 .about.section-grid { grid-template-columns: minmax(0,1fr) minmax(0,.98fr); }
 .about .portrait,.rtl .about .portrait { width: 100%; aspect-ratio: auto; }
 .about .section-copy h2 { font-size: clamp(48px,4.8vw,80px); }
 .rtl .about .section-copy h2 { font-size: clamp(36px,3.5vw,62px); line-height: 1.65; }
 .rtl .about .section-copy p { line-height: 2.05; }
 .timeline-column.left-side .timeline-item { grid-template-columns: minmax(0,1fr) 76px 16px; gap: 10px; }
 .timeline-column.right-side .timeline-item { grid-template-columns: 16px 76px minmax(0,1fr); gap: 10px; }
 .rtl .timeline-column.left-side .timeline-item { grid-template-columns: 16px 76px minmax(0,1fr); }
 .rtl .timeline-column.right-side .timeline-item { grid-template-columns: minmax(0,1fr) 76px 16px; }
 .rtl .timeline-item div,.rtl .timeline-item span { text-align: right !important; }
}
@media (min-width:981px) and (max-width:1200px) {
 .services { padding-inline-start: 50px; }.service-item { padding: 44px 22px; }
 .skills-band { grid-template-columns: 1fr; }.skills-band > div:first-child { display: flex; align-items: center; gap: 28px; }.skills-band h2 { margin: 0; }
 .about.section-grid { gap: 40px; }.about .section-copy p:not(.eyebrow) { font-size: 15px; }
}
@media (max-width:980px) {
 .site-header {
   display: grid !important;
   grid-template-columns: 1fr auto 1fr !important;
   align-items: center !important;
   padding: 17px 24px;
   min-height: 82px;
   gap: 12px;
 }
 .site-header .language-link {
   order: 1 !important;
   justify-self: start !important;
 }
 .site-header .site-logo {
   order: 2 !important;
   justify-self: center !important;
   display: flex !important;
   justify-content: center !important;
   margin-inline: auto !important;
 }
 .site-header .menu-button {
   order: 3 !important;
   justify-self: end !important;
 }
 .hero-content { padding-block: 120px !important; }.hero { padding-block: 100px; }
 .hero h1 { font-size: clamp(40px,7.7vw,74px); }
 .about.section-grid { display: grid; grid-template-columns: 1fr 1fr; }
 .about .portrait { width: 100%; height: 100%; aspect-ratio: auto; }.section-copy { padding: 55px 32px; }
 .about h2 { font-size: 40px; }.rtl .about h2 { font-size: 32px; line-height: 1.65; }
 .project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 18px; }
 .services,.rtl .services { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0; }
 .vertical-label,.rtl .vertical-label { grid-column: 1 / -1; position: static; padding: 28px 24px; text-align: start; transform: none; }
 .rtl .service-item { border-right: 0; }.service-item { border-top: 1px solid var(--line); }
 .resume { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; padding: 48px 32px; }
 .resume .arch-photo { grid-column: 1 / -1; grid-row: 1; height: 330px; max-width: 270px; }
 .resume .timeline-column { grid-row: 2; max-width: none; width: 100%; }
 .resume .timeline-column:first-child { grid-column: 1; }.resume .timeline-column:last-child { grid-column: 2; }
 .timeline-item,.rtl .timeline-item,.timeline-column.left-side .timeline-item,.timeline-column.right-side .timeline-item,.rtl .timeline-column.left-side .timeline-item,.rtl .timeline-column.right-side .timeline-item { grid-template-columns: 12px 74px minmax(0,1fr); gap: 10px; }
 .timeline-item::after { left: 5.5px; }.rtl .timeline-item::after { right: 5.5px; }
 .skills-band { grid-template-columns: 1fr; }.skills-band h2 { margin-inline: auto; }
 .skills-row { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 30px 16px; }
 .office-tools { justify-content: center; }.office-tools p { margin-inline-end: 0; }
 .book-section { grid-template-columns: 1fr 1fr; }.book-copy,.rtl .book-copy { padding: 52px 28px; }
 .book-visual { min-height: 550px; padding: 24px; }.book-fallback { width: 70%; }
 .book-hint { font-size: 10px; margin-inline-end: 0; }.book-controls { inset-inline: 14px; flex-wrap: wrap; }
 .book-copy h2 { font-size: 38px; }.book-title-en { font-size: 44px !important; }
 .kind-words { grid-template-columns: 1fr 1fr; min-height: 520px; }.quote-copy { padding: 64px 36px; min-height: 520px; }.quote-copy blockquote { font-size: 34px; }.rtl .quote-copy blockquote { font-size: 30px; line-height: 1.75; }
 .quote-image { min-height: 520px; }
 .contact { grid-template-columns: 1fr; }.contact-list { grid-template-columns: 1fr 1fr; }
 .contact-intro { padding: 52px 32px; }.contact-intro h2 { max-width: 660px; }.contact-list strong { font-size: 16px; }
 .portfolio-toolbar { align-items: stretch; }.project-search { flex: 1 1 100%; }
 .case-title-row { grid-template-columns: 1fr; gap: 24px; }.case-subtitle { max-width: 620px; font-size: 18px; }.case-topline { margin-bottom: 36px; }
 .case-story { grid-template-columns: minmax(160px,.65fr) minmax(0,1.35fr); gap: 40px; }
 .case-cover .gallery-open { height: 60svh; min-height: 300px; }
 .next-case-copy { padding: 44px 30px; }.next-case-image { min-height: 370px; }
}
@media (max-width:680px) {
 :root { --gutter: 22px; }
 .site-header { padding-inline: 10px; }.brand-logo { width: 94px; height: 46px; }
 .hero { min-height: 580px; }.hero-content { width: calc(100% - 36px); }
 .hero h1 { font-size: clamp(28px,7.7vw,52px); line-height: 1; }.rtl .hero h1 { font-size: clamp(40px,11vw,60px); line-height: 1.2; }
 .hero-subtitle { font-size: 15px; width: min(88vw,390px); margin-block: 24px 30px; }
 .scroll-indicator { font-size: 9px; white-space: nowrap; bottom: 30px; }
 .about.section-grid { grid-template-columns: 1fr; }.section-copy { padding: 54px 24px 42px; }
 .about .portrait { width: min(100%,520px); aspect-ratio: 3 / 4; height: auto; }.about .portrait img { height: 100%; }
 .about h2 { font-size: 42px; }.rtl .about h2 { font-size: 34px; line-height: 1.6; }
 .signature { font-size: 25px; }.rtl .signature { font-size: 23px; }
 .section-heading { gap: 14px; align-items: center; }.section-heading a { font-size: 10px; letter-spacing: .05em; gap: 7px; }
 .section-heading .eyebrow { font-size: 10px; letter-spacing: .1em; }.rtl .section-heading .eyebrow { font-size: 12px; letter-spacing: 0; }
 .project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 14px; }.project-image { aspect-ratio: 1.25; }
 .services,.rtl .services { grid-template-columns: 1fr; }.service-item { padding: 34px 28px; }
 .resume { display: flex; flex-direction: column; padding: 40px 24px; gap: 34px; }
 .resume .arch-photo { height: 340px; width: 255px; order: -1; }.resume .timeline-column { max-width: 380px; }
 .timeline-column.left-side > .eyebrow { text-align: start; }
 .skills-band { padding: 44px 22px; }.skills-row { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px 8px; }
 .skill-icon-wrap { width: 54px; height: 54px; padding: 8px; }.skill span { font-size: 9px; }.dots { gap: 5px; }.dots i { width: 4px; height: 4px; }
 .office-tools { gap: 15px 20px; }.office-tools p { flex-basis: 100%; }
 .book-section { grid-template-columns: 1fr; }.book-copy,.rtl .book-copy { padding: 52px 24px 12px; }
 .book-copy h2 { font-size: 42px; }.book-title-en { font-size: 46px !important; }.book-visual { min-height: 480px; }.book-fallback { width: 220px; }
 .kind-words { grid-template-columns: 1fr; min-height: 0; }.quote-copy { min-height: 440px; padding: 64px 24px; }.quote-copy blockquote { font-size: 34px; }.rtl .quote-copy blockquote { font-size: 29px; }
 .quote-image { min-height: 400px; }.contact-intro { padding: 44px 24px; }
 .rtl .contact-intro h2 { line-height: 1.6; font-size: 36px; }.contact-list { grid-template-columns: 1fr; padding: 36px 22px; }
 .contact-list a,.rtl .contact-list a { min-height: 104px; padding: 20px; grid-template-columns: 38px minmax(0,1fr) 20px; }
 .footer nav { grid-template-columns: repeat(3,auto); gap: 4px 24px; font-size: 11px; }.footer { gap: 24px; }.footer .copyright { font-size: 10px; line-height: 1.9; }
 .back-to-top { bottom: 16px; inset-inline-end: 16px; }
 .archive-grid { grid-template-columns: 1fr; gap: 30px; }
 .filter-row { gap: 6px; justify-content: center; }.filter-row button { font-size: 11px; padding-inline: 12px; }.results-line > span:last-child { display: none; }
 .portfolio-work { padding-bottom: 54px; }.case-intro { padding-block: 24px 32px; }.case-topline { margin-bottom: 28px; }
 .case-title-row h1 { font-size: 49px; }.rtl .case-title-row h1 { font-size: 36px; line-height: 1.5; }.case-subtitle { font-size: 16px; }
 .case-cover { margin-inline: 0; }.case-cover figcaption { padding-inline: var(--gutter); }.case-cover .gallery-open { min-height: 0; height: auto; }
 .case-cover img { height: auto; object-fit: contain; }.case-cover.cover-portrait .gallery-open { height: 65svh; }.case-cover.cover-portrait img { height: 100%; }
 .case-chapters { gap: 24px; padding-inline: 22px; }.case-chapters a { font-size: 11px; gap: 7px; min-height: 54px; }.case-chapters .image-count { font-size: 10px; }
 .case-story { display: flex; flex-direction: column-reverse; gap: 38px; padding-block: 48px; }
 .case-narrative h2 { font-size: 38px; }.rtl .case-narrative h2 { font-size: 31px; }.case-narrative > p:not(.eyebrow) { font-size: 15px; }
 .case-facts dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; }.case-facts dd { font-size: 13px; }
 .case-gallery { padding-block: 42px 54px; }.gallery-heading { align-items: start; }.gallery-heading h2 { font-size: 28px; }.rtl .gallery-heading h2 { font-size: 25px; }
 .gallery-heading > span { padding-top: 3px; }.editorial-gallery { gap: 25px 14px; }.gallery-item { grid-column: 1 / -1; }
 .gallery-item.is-portrait { grid-column: auto; }.gallery-item.is-portrait .image-expand { width: 36px; height: 36px; min-width: 44px; min-height: 44px; bottom: 10px; inset-inline-end: 10px; }
 .gallery-item figcaption { gap: 12px; font-size: 10px; flex-wrap: wrap; }.image-expand { bottom: 12px; inset-inline-end: 12px; }
 .next-case { grid-template-columns: 1fr; }.next-case-copy { padding: 48px 24px; }.next-case-image { min-height: 0; height: 320px; }.next-case-copy h2 { font-size: 42px; }
 .case-pagination { font-size: 11px; }.case-pagination a { font-size: 11px; }
 .lightbox-top { padding-inline: 14px; }.lightbox-stage { padding: 8px 0; display: block; }
 .lightbox-image-wrap { height: 100%; }.lightbox-prev,.lightbox-next { position: absolute; z-index: 2; bottom: 14px; background: #171715b3 !important; }
 .lightbox-prev { left: 14px; }.lightbox-next { right: 14px; }.lightbox-caption { padding: 14px 20px 24px; font-size: 12px; }
}
@media (max-width:360px) { .section-heading { align-items: start; flex-direction: column; gap: 12px; }.hero h1 { font-size: 7.55vw; }.skill-icon-wrap { width: 48px; height: 48px; }.case-chapters { gap: 15px; }.case-chapters .image-count { font-size: 9px; }.book-hint { flex-basis: 100%; text-align: center; } }
@media (max-height:550px) and (orientation:landscape) { .hero { min-height: 650px; }.mobile-nav nav { grid-template-columns: 1fr 1fr; column-gap: 24px; }.mobile-nav > p { display:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }.scroll-reveal { opacity:1 !important; transform:none !important; }.book-fallback { transform:none; } }
@media print { .site-header,.footer,.case-chapters,.back-to-top,.book-controls,.image-expand,.filter-row,.project-search { display:none !important; }.case-study,.portfolio-page { padding-top:0; }body { background:#fff; }.scroll-reveal { opacity:1 !important; transform:none !important; }.case-story { break-inside:avoid; }.gallery-item { break-inside:avoid; } }

/* Compact layouts: one shared spacing scale and bounded content on large screens. */
:root { --gutter: clamp(20px,4vw,64px); --content-edge: max(var(--gutter),calc((100% - 1600px) / 2)); --section-space: clamp(32px,4vw,56px); }
.site-header { padding-inline: var(--content-edge); }
.hero,.rtl .hero { background: #252922; height: min(92svh,1050px); min-height: 600px; }
.hero-media,.hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media img { object-fit: cover; object-position: center 55%; }
.hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#080b09b8, #080b0952 55%, #080b0910),linear-gradient(0deg,#080b0990,transparent 55%); pointer-events: none; }
.rtl .hero::after { background: linear-gradient(270deg,#080b09b8,#080b0952 55%,#080b0910),linear-gradient(0deg,#080b0990,transparent 55%); }
.hero .hero-content,.rtl .hero .hero-content { padding: clamp(160px,24svh,300px) 0 0; margin-inline: var(--content-edge); width: min(1100px,calc(100% - 2 * var(--gutter))); }
.hero .scroll-indicator { z-index: 2; }
.projects-section { padding: var(--section-space) var(--content-edge); }
.project-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px 24px; margin-top: 24px; }
.project-grid .project-image { aspect-ratio: 1.8; }
.project-grid .project-card h3 { font-size: 16px; text-transform: none; letter-spacing: 0; }
.project-card p { line-height: 1.7; }
.archive-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px 24px; }
.archive-card .project-meta-copy h3 { font-size: 15px; }
.services,.rtl .services { padding-inline: var(--content-edge); }
.services .vertical-label,.rtl .services .vertical-label { display: none; }
.service-item { padding: 30px 24px; }
.skills-band { padding: 36px var(--content-edge); }
.book-section { min-height: 0; padding-inline: max(0px,calc((100% - 1700px) / 2)); background: transparent; }
.book-copy,.rtl .book-copy { padding: 44px clamp(28px,4vw,64px); }
.book-copy h2 { margin-block: 14px 0; }
.book-copy .book-intro { margin-top: 18px; }
.book-demo-button { margin-top: 22px; }
.book-purchase-note { margin-top: 18px; }
.book-socials { margin-top: 10px; }
.book-model { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: auto; touch-action: none; cursor: grab; }
.book-model:active { cursor: grabbing; }
.book-model:focus:not(:focus-visible) { outline: none; }
.book-controls { bottom: 18px; inset-inline: 18px; flex-wrap: wrap; gap: 8px; direction: ltr; }
.book-hint { flex-basis: 100%; margin: 0 0 4px; text-align: center; }
.rtl .book-hint { direction: rtl; }
.book-controls button { background: #ffffff90; border-radius: 50%; }
.book-controls button:hover { background: #e9e1d4; }
.book-visual.model-ready .book-fallback { pointer-events: none; }
.kind-words { padding-inline: max(0px,calc((100% - 1700px) / 2)); min-height: clamp(620px, 72svh, 820px); }
.quote-copy { padding: clamp(84px, 9vw, 130px) clamp(28px, 6vw, 84px); min-height: clamp(620px, 72svh, 820px); justify-content: center; }
.quote-copy blockquote { font-size: clamp(34px, 3.8vw, 56px); line-height: 1.15; }
.quote-image { background-position: center; background-size: cover; min-height: clamp(620px, 72svh, 820px); }
.contact { min-height: 0; padding-inline: 0; display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); background: transparent; position: relative; }
.contact-intro { position: relative; background: var(--charcoal); padding: clamp(48px, 6vw, 84px) clamp(24px, 4vw, 56px); padding-inline-start: max(var(--content-edge), calc((100vw - 1650px) / 2 + var(--content-edge))); padding-inline-end: clamp(24px, 4vw, 56px); }
.contact-intro::before { content: ""; position: absolute; top: 0; bottom: 0; inset-inline-end: 100%; width: 100vw; background: var(--charcoal); pointer-events: none; }
.contact-list { padding: clamp(36px, 5vw, 64px) clamp(24px, 4vw, 56px); padding-inline-start: clamp(24px, 4vw, 56px); padding-inline-end: max(var(--content-edge), calc((100vw - 1650px) / 2 + var(--content-edge))); }
/* Footer is a compact sign-off, with direct contact instead of repeated navigation. */
.footer { display: block; padding: 32px var(--content-edge) 18px; background: #f0ebe3; text-align: start; }
.footer p:not(.copyright) { display: block; }
.footer a { opacity: 1; }
.footer-main,.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.footer-main { padding-bottom: 22px; }
.footer .footer-brand { display: flex; align-items: center; justify-items: start; gap: 18px; }
.footer .brand-logo { width: 66px; height: 66px; }
.footer-brand > span { color: #282a24; font-size: 12px; letter-spacing: .06em; line-height: 1.8; }
.footer-brand small { display: block; font-size: 11px; color: #6a6257; font-weight: 400; letter-spacing: 0; text-transform: none; }
.footer-identity > p { color: #6a6257; font-size: 12px; margin: 6px 0 0; }
.footer-invitation { text-align: end; }
.footer-invitation p { color: #6a6257; font-size: 12px; }
.footer .footer-cta { display: inline-flex; align-items: center; gap: 18px; min-height: 48px; font: 400 clamp(26px,2.6vw,38px)/1.35 var(--serif); border-bottom: 1px solid #a4937b; white-space: nowrap; flex-shrink: 0; }
.footer-cta .icon { width: 24px; height: 24px; }
.footer .footer-cta::after,.footer .footer-brand::after,.footer-socials a::after { content: none; }
.rtl .footer .footer-cta { font-family: var(--fa-sans); font-size: clamp(24px,2.3vw,34px); }
.rtl .footer-cta .icon { transform: scaleX(-1); }
.footer-bottom { border-top: 1px solid #d6cbbd; padding-top: 12px; }
.footer .copyright { margin: 0; padding: 0; border: 0; width: auto; font-size: 10px; color: #6a6257; line-height: 1.9; }
.footer-socials { display: flex; gap: 6px; }
.footer-socials a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #d0c3b1; border-radius: 50%; }
.footer-socials a:hover { background: #e2d8cb; }
/* Project pages stay readable, and complete images fit below the sticky navigation. */
.portfolio-work { padding: 0 var(--content-edge) var(--section-space); }
.portfolio-toolbar { padding: 20px 0; gap: 16px; }
.case-intro { padding: 16px var(--content-edge) 26px; }
.case-topline { margin-bottom: 16px; }
.case-title-row { gap: 24px 48px; }
.case-title-row h1 { margin-top: 10px; font-size: clamp(42px,4.8vw,70px); line-height: 1.06; }
.rtl .case-title-row h1 { font-size: clamp(32px,3.8vw,56px); line-height: 1.4; }
.case-subtitle { font-size: clamp(15px,1.35vw,19px); }
.case-cover { margin-inline: var(--content-edge); }
.case-cover .gallery-open,.case-cover.cover-portrait .gallery-open { height: clamp(200px,62svh,620px); min-height: 0; }
.case-cover img { height: 100%; object-fit: contain; }
.case-chapters { padding-inline: var(--content-edge); }
.case-chapters a { min-height: 48px; }
.case-story { padding: var(--section-space) var(--content-edge); gap: clamp(28px,5vw,80px); }
.case-facts dl { margin-top: 16px; }
.case-facts dl > div { padding: 12px 0; }
.case-narrative h2 { margin-block: 12px 20px; font-size: clamp(32px,3.5vw,50px); }
.rtl .case-narrative h2 { font-size: clamp(27px,2.8vw,42px); }
.case-narrative > p:not(.eyebrow) { margin-top: 14px; }
.design-themes { margin-top: 22px; }
.case-gallery { padding: 36px var(--content-edge) var(--section-space); }
.gallery-heading { margin-bottom: 26px; }
.gallery-heading h2 { font-size: 36px; }
.rtl .gallery-heading h2 { font-size: 30px; }
.case-gallery,.case-story { scroll-margin-top: 24px; }
.editorial-gallery { gap: 24px; }
.gallery-item .gallery-open { height: clamp(180px,36vw,440px); max-height: calc(100svh - 230px); }
.gallery-item.is-wide .gallery-open { height: min(56svh,560px); }
.gallery-item img,.gallery-item.is-portrait img { height: 100%; max-height: 100%; object-fit: contain; }
.next-case { padding-inline: max(0px,calc((100% - 1700px) / 2)); }
.next-case-copy { padding: 36px clamp(24px,4vw,64px); }
.next-case-copy h2 { font-size: clamp(32px,3.5vw,52px); }
.next-case-image { min-height: 300px; max-height: 400px; }
.case-pagination { padding: 12px var(--content-edge); }
@media (min-width:981px) {
 .about.section-grid { height: auto; min-height: 0; padding: 40px var(--content-edge); gap: 40px; align-items: center; grid-template-columns: 1.15fr .85fr; }
 .about .section-copy,.rtl .about .section-copy { padding: 0; }
 .about .section-copy h2 { font-size: clamp(44px,4vw,66px); margin-block: 14px 22px; }
 .rtl .about .section-copy h2 { font-size: clamp(34px,3vw,48px); line-height: 1.55; }
 .about .section-copy p:not(.eyebrow) { font-size: 16px; line-height: 1.85; }
 .about .portrait,.rtl .about .portrait { height: 500px; max-height: 62svh; width: 100%; aspect-ratio: auto; align-self: center; }
 .resume { padding: 36px var(--content-edge); grid-template-columns: minmax(0,380px) minmax(190px,260px) minmax(0,380px); justify-content: center; gap: 32px; }
 .resume .timeline-column { max-width: none; width: 100%; }
 .resume .arch-photo { width: 100%; height: 340px; }
 .resume .timeline-column > .eyebrow { margin-bottom: 20px; }
 .timeline-item { padding-bottom: 24px; }
 /* Physical columns preserve identical arch-to-timeline spacing in both languages. */
 .rtl .resume { direction: ltr; }
 .rtl .resume .timeline-column { direction: rtl; }
 .rtl .timeline-column.left-side .timeline-item { grid-template-columns: 16px 76px minmax(0,1fr); }
 .rtl .timeline-column.right-side .timeline-item { grid-template-columns: minmax(0,1fr) 76px 16px; }
}
@media (max-width:980px) {
 .hero,.rtl .hero { height: min(88svh,850px); min-height: 560px; }
 .hero-media img { object-position: center; }
 .hero::after,.rtl .hero::after { background: linear-gradient(0deg,#070a08d9, #070a0866 55%,#070a0820); }
 .hero .hero-content,.rtl .hero .hero-content { padding-top: clamp(170px,35svh,370px); }
 .archive-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .section-copy { padding-block: 36px; }
 .book-copy,.rtl .book-copy { padding: 36px 24px; }
 .book-visual { min-height: 500px; }
 .quote-copy { padding: 64px 32px; min-height: 520px; }
 .contact-intro,.contact-list { padding-block: 32px; }
 .case-title-row { gap: 14px; }
 .case-topline { margin-bottom: 12px; }
 .case-subtitle,.rtl .case-subtitle { max-width: 680px; font-size: 16px; }
}
@media (max-width:680px) {
 .hero,.rtl .hero { min-height: 540px; height: 84svh; }
 .hero .hero-content,.rtl .hero .hero-content { padding-top: clamp(185px,36svh,360px); }
 .hero-subtitle { margin-block: 22px 26px; }
 .about .portrait { height: 420px; max-height: 64svh; width: 100%; aspect-ratio: auto; }
 .project-grid { gap: 20px 14px; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; }
 .project-grid .project-card, .archive-grid .archive-card { display: flex; flex-direction: column; height: 100%; min-width: 0; text-align: start; }
 .project-grid .project-image, .archive-grid .project-image { aspect-ratio: 4 / 3; width: 100%; border-radius: 4px; overflow: hidden; }
 .project-grid .project-image img, .archive-grid .project-image img { width: 100%; height: 100%; object-fit: cover; }
 .project-grid .project-meta-copy, .archive-grid .project-meta-copy { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: flex-start; margin-top: 8px; min-width: 0; width: 100%; text-align: start; }
 .project-grid .project-meta-copy h3, .archive-grid .project-meta-copy h3 { font-size: 12.5px; line-height: 1.35; min-height: 2.7em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 0; width: 100%; text-align: start; }
 .project-grid .project-meta-copy p, .archive-grid .project-meta-copy p { font-size: 10px; margin-top: 3px; color: #786f63; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; text-align: start; }
 .project-grid .project-card > i, .archive-grid .archive-card > i { display: none; }
 .archive-grid { gap: 20px 14px; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .rtl .project-grid .project-card, .rtl .archive-grid .archive-card, .rtl .project-grid .project-meta-copy, .rtl .archive-grid .project-meta-copy, .rtl .project-grid .project-meta-copy h3, .rtl .archive-grid .project-meta-copy h3, .rtl .project-grid .project-meta-copy p, .rtl .archive-grid .project-meta-copy p { text-align: right !important; }
 .service-item { padding: 24px 8px; }
 .resume { padding: 32px var(--gutter); gap: 28px; }
 .resume .arch-photo { height: 280px; width: 220px; }
 .skills-band { padding-block: 32px; }
 .book-copy,.rtl .book-copy { padding: 32px var(--gutter) 16px; }
 .book-visual { min-height: 470px; background: transparent; }
 .book-model { position: absolute; inset: 0; width: 100%; height: 100%; }
 .book-hint { font-size: 10px; }
 .book-controls { inset-inline: 12px; }
 .quote-copy { min-height: 440px; padding: 56px var(--gutter); }
 .quote-image { min-height: 400px; }
 .footer { padding: 26px var(--gutter) 16px; }
 .footer-main { align-items: start; flex-direction: column; gap: 20px; padding-bottom: 20px; }
 .footer .footer-brand { gap: 12px; }
 .footer-invitation { text-align: start; display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; }
 .footer-invitation p { max-width: 140px; line-height: 1.8; }
 .footer .footer-cta { font-size: 26px; gap: 12px; }
 .rtl .footer .footer-cta { font-size: 23px; }
 .footer-bottom { align-items: center; gap: 16px; }
 .footer .copyright { max-width: 175px; font-size: 9px; }
 .footer-socials { gap: 4px; }.footer-socials a { width: 40px; height: 44px; border: 0; }
 .case-intro { padding-block: 12px 22px; }
 .case-title-row h1 { font-size: 39px; }
 .rtl .case-title-row h1 { font-size: 30px; }
 .case-cover { margin-inline: var(--gutter); }
 .case-cover .gallery-open,.case-cover.cover-portrait .gallery-open { height: min(52svh,420px); }
 .case-cover figcaption { padding-inline: 0; }
 .case-story { padding-block: 32px; gap: 28px; }
 .case-gallery { padding-block: 30px 36px; }
 .gallery-heading { gap: 14px; }
 .gallery-heading h2 { font-size: 26px; }
 .rtl .gallery-heading h2 { font-size: 23px; }
 .gallery-item .gallery-open,.gallery-item.is-wide .gallery-open { height: auto; max-height: none; }
 .gallery-item img { height: auto; max-height: min(65svh,520px); }
 .gallery-item.is-portrait .gallery-open { height: min(42svh,340px); }
 .gallery-item.is-portrait img { height: 100%; }
 .gallery-item.is-portrait figcaption { min-height: 66px; }
 .next-case-copy { padding: 32px var(--gutter); }
 .next-case-image { height: 260px; min-height: 0; }
 .case-pagination { padding-inline: var(--gutter); }
}
@media (max-width:360px) { .footer .footer-cta { font-size: 23px; }.rtl .footer .footer-cta { font-size: 21px; }.footer-invitation { gap: 8px; }.book-hint { margin: 0 0 4px; } }
@media (max-height:550px) and (orientation:landscape) { .hero,.rtl .hero { height: 560px; min-height: 560px; }.hero .hero-content,.rtl .hero .hero-content { padding-top: 170px; }.gallery-item .gallery-open,.case-cover .gallery-open,.case-cover.cover-portrait .gallery-open { min-height: 160px; max-height: calc(100svh - 180px); }.book-visual { min-height: 410px; } }

/* Final interaction and density pass. These rules intentionally come last so
   every breakpoint shares the same compact, gesture-first behavior. */
.hero,.rtl .hero {
  width: 100%;
  height: 100svh;
  min-height: 100svh;
  max-height: none;
}
@supports (height: 100dvh) {
  .hero,.rtl .hero { height: 100dvh; min-height: 100dvh; }
}
.hero .scroll-indicator {
  width: 44px;
  height: 44px;
  bottom: 22px;
  display: grid;
  place-items: center;
  gap: 0;
  font-size: 0;
  letter-spacing: 0;
}
.hero .scroll-indicator::before {
  content: '↓';
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: #10151138;
  font-size: 19px;
  line-height: 1;
  animation: scrollArrow 1.8s ease-in-out infinite;
}
.hero .scroll-indicator::after { content: none; }
@keyframes scrollArrow { 0%,100% { transform: translateY(0); } 50% { transform: translateY(4px); } }
@media (prefers-reduced-motion: reduce) {
  .hero .scroll-indicator::before { animation: none; }
}

.desktop-nav a { gap: 7px; }
.desktop-nav a .nav-item-icon { display: inline-grid; place-items: center; opacity: .72; }
.desktop-nav a .nav-item-icon .icon { width: 14px; height: 14px; stroke-width: 1.7; }
.desktop-nav a > span:last-child { display: inline-block; }
.mobile-nav a {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  column-gap: 14px;
  text-align: start;
}
.mobile-nav a .mobile-nav-icon {
  grid-column: 1;
  display: grid;
  place-items: center;
  opacity: .85;
}
.mobile-nav a .mobile-nav-icon .icon { width: 20px; height: 20px; stroke-width: 1.6; }
.mobile-nav a > strong { grid-column: 2; font-size: 16px; font-weight: 600; letter-spacing: 0.04em; }

.rtl .mobile-nav a {
  grid-template-columns: minmax(0, 1fr) 24px;
  text-align: end;
}
.rtl .mobile-nav a .mobile-nav-icon { grid-column: 2; }
.rtl .mobile-nav a > strong { grid-column: 1; font-size: 15px; }

.contact-intro h2 { font-size: clamp(30px,3vw,46px); line-height: 1.13; }
.rtl .contact-intro h2 { font-size: clamp(27px,2.7vw,42px); line-height: 1.48; }
.contact-intro .social-icons { display: none !important; }

.book-visual { padding: clamp(18px,3vw,42px); }
.book-model { inset: 0; }
.book-controls,.book-hint { display: none !important; }

@media (min-width: 981px) {
  .about.section-grid {
    padding-block: 0;
    align-items: stretch;
  }
  .about .portrait,.rtl .about .portrait {
    height: auto;
    min-height: 100%;
    max-height: none;
    align-self: stretch;
    margin-block: 0;
  }
  .about .portrait img { width: 100%; height: 100%; display: block; object-fit: cover; }
  .footer {
    padding: 38px var(--content-edge) 18px;
    text-align: start;
  }
  .footer-main {
    display: grid;
    grid-template-columns: minmax(0,1.2fr) minmax(300px,.8fr);
    align-items: end;
    gap: clamp(34px,7vw,120px);
    padding-bottom: 28px;
  }
  .footer-identity { min-width: 0; }
  .footer .footer-brand { gap: 16px; }
  .footer .brand-logo { width: 76px; height: 76px; }
  .footer-brand > span { font-size: 13px; }
  .footer-identity > p { max-width: 360px; margin-top: 12px; line-height: 1.8; }
  .footer-invitation {
    justify-self: stretch;
    padding-inline-start: clamp(26px,4vw,64px);
    border-inline-start: 1px solid #d6cbbd;
    text-align: start;
  }
  .rtl .footer-invitation { padding-inline-start: 0; padding-inline-end: clamp(26px,4vw,64px); border-inline-start: 0; border-inline-end: 1px solid #d6cbbd; text-align: end; }
  .footer-invitation p { margin-bottom: 8px; }
  .footer .footer-cta { font-size: clamp(32px,3.1vw,50px); }
  .footer-bottom { padding-top: 15px; }
  .footer-socials { justify-content: end; }
  .footer-socials a { width: 42px; height: 42px; }
}

@media (max-width: 980px) {
  .hero,.rtl .hero { height: 100svh; min-height: 100svh; }
  .hero .scroll-indicator { bottom: 18px; }
}
@media (max-width: 680px) {
  .hero,.rtl .hero { height: 100svh; min-height: 100svh; }
  .book-model { inset: 0; }
}

/* ==========================================================================
   Project Detail: Interactive Top Hero Carousel
   ========================================================================== */
.project-hero-carousel {
  position: relative;
  margin-inline: var(--content-edge);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(23, 23, 21, 0.04);
}
.hero-carousel-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  gap: 16px;
  padding: 0;
  margin: 0;
  scroll-behavior: smooth;
  cursor: grab;
  list-style: none;
}
.hero-carousel-track::-webkit-scrollbar { display: none; }
.hero-carousel-track:active { cursor: grabbing; }
.hero-carousel-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  position: relative;
  height: clamp(280px, 72svh, 680px);
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(23, 23, 21, 0.02);
  overflow: hidden;
  margin: 0;
}
.hero-carousel-slide a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
}
.hero-carousel-slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.hero-carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: rgba(23, 23, 21, 0.55);
  color: #ffffff;
  display: grid;
  place-items: center;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
  transition: background 0.2s, transform 0.2s, opacity 0.2s;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}
.hero-carousel-btn:hover {
  background: rgba(23, 23, 21, 0.85);
  transform: translateY(-50%) scale(1.06);
}
.hero-carousel-prev { inset-inline-start: 16px; }
.hero-carousel-next { inset-inline-end: 16px; }
.rtl .hero-carousel-prev .icon { transform: scaleX(-1); }
.rtl .hero-carousel-next .icon { transform: scaleX(-1); }

/* ==========================================================================
   Project Detail: Robust Editorial Masonry Gallery Grid
   ========================================================================== */
.editorial-gallery {
  column-count: 2;
  column-gap: clamp(20px, 3vw, 36px);
  margin-top: 10px;
}
.gallery-item {
  margin: 0 0 clamp(20px, 3vw, 36px) 0;
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  page-break-inside: avoid;
  min-width: 0;
}
.gallery-item .gallery-open {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  background: rgba(23, 23, 21, 0.02);
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  transition: box-shadow 0.3s ease;
}
.gallery-item:hover .gallery-open {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.09);
}
.gallery-item img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  display: block;
  object-fit: contain !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.gallery-item:hover img {
  transform: scale(1.025);
}
.gallery-item figcaption {
  padding: 10px 4px 0;
  font-size: 13px;
  color: #6a6257;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
}
.rtl .gallery-item figcaption {
  font-size: 12.5px;
}

/* Hide all photo number badges and photo count strings as requested */
.image-count,
.lightbox-counter,
.case-topline > span,
.subtle-number,
figcaption > span:first-child:not(:only-child) {
  display: none !important;
}

@media (max-width: 980px) {
  .contact {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding-inline: 0 !important;
  }
  .contact-list {
    order: 1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 36px var(--content-edge) 24px !important;
    width: 100% !important;
  }
  .contact-list a, .rtl .contact-list a {
    min-height: 76px !important;
    padding: 16px 18px !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 20px !important;
    gap: 8px 12px !important;
    align-items: center !important;
    width: 100% !important;
  }
  .contact-intro {
    order: 2 !important;
    width: 100% !important;
    padding: 44px var(--content-edge) !important;
    background: var(--charcoal) !important;
  }
  .contact-intro::before {
    display: none !important;
  }
  .contact-intro h2 {
    font-size: clamp(28px, 6.5vw, 38px) !important;
    line-height: 1.25 !important;
  }
  .rtl .contact-intro h2 {
    font-size: clamp(26px, 6vw, 34px) !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 768px) {
  .hero-carousel-slide {
    aspect-ratio: 4 / 3;
    height: auto;
    min-height: 0;
  }
}

@media (max-width: 680px) {
  .editorial-gallery {
    column-count: 1;
    column-gap: 0;
  }
  .gallery-item {
    margin-bottom: 24px;
  }
  .hero-carousel-slide {
    aspect-ratio: 4 / 3;
    height: auto;
    min-height: 0;
  }
  .hero-carousel-btn {
    width: 38px;
    height: 38px;
  }
}



/* --- Academic Honor Certificate Trigger & Modal --- */
.honor-certificate-trigger {
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  cursor: pointer;
  border-radius: 8px;
  padding: 8px 10px;
  transition: background-color 0.25s ease, transform 0.2s ease;
  user-select: none;
}
.honor-certificate-trigger:hover,
.honor-certificate-trigger:focus-visible {
  background-color: var(--surface-subtle, rgba(0, 0, 0, 0.04));
  outline: none;
}
.honor-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.certificate-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--accent, #a36b4f);
  background: var(--accent-subtle, rgba(163, 107, 79, 0.12));
  padding: 3px 8px;
  border-radius: 999px;
  letter-spacing: normal;
  transition: background 0.2s, color 0.2s;
}
.honor-certificate-trigger:hover .certificate-badge,
.honor-certificate-trigger:focus-visible .certificate-badge {
  background: var(--accent, #a36b4f);
  color: #ffffff;
}
.certificate-badge svg {
  width: 13px;
  height: 13px;
}

.certificate-modal {
  border: none;
  padding: 0;
  background: transparent;
  max-width: 100vw;
  max-height: 100vh;
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  margin: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
}
.certificate-modal[open] {
  display: flex;
}
.certificate-modal::backdrop {
  background: rgba(14, 13, 11, 0.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.certificate-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(14, 13, 11, 0.82);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 1;
}
.certificate-modal-card {
  position: relative;
  z-index: 2;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 30px 70px -15px rgba(0, 0, 0, 0.55);
  max-width: min(92vw, 680px);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: certModalPop 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes certModalPop {
  0% { opacity: 0; transform: scale(0.92) translateY(12px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
.certificate-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid var(--border-subtle, rgba(0, 0, 0, 0.08));
  background: #fbfaf8;
}
.certificate-modal-title {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--text-primary, #1e1d1b);
}
.certificate-modal-close {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.14);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 13px;
  font-family: inherit;
  color: #333;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.certificate-modal-close:hover {
  background: #f0ede8;
  border-color: #111;
  color: #000;
}
.certificate-modal-body {
  padding: 14px;
  background: #f6f4f0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
  max-height: calc(92vh - 65px);
}
.certificate-modal-body img {
  max-width: 100%;
  max-height: calc(92vh - 95px);
  width: auto;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.14);
  display: block;
}
