@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/vazirmatn/Vazirmatn-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/vazirmatn/Vazirmatn-Medium.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/vazirmatn/Vazirmatn-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/vazirmatn/Vazirmatn-ExtraBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

:root {
  --graphite: #111416;
  --graphite-raised: #1b2024;
  --warm-white: #f5f3ee;
  --concrete: #e5e1d8;
  --white: #fff;
  --steel: #7d878d;
  --steel-blue: #5f7078;
  --gold: #c8763c;
  --copper-dark: #95552f;
  --line-dark: rgba(255, 255, 255, 0.16);
  --line-light: rgba(17, 20, 22, 0.14);
  --shell: min(1440px, calc(100vw - 48px));
  --section-space: clamp(4.5rem, 9vw, 8rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--warm-white);
  color: var(--graphite);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}
[dir="rtl"] body { font-family: "Vazirmatn", Tahoma, Arial, sans-serif; }
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; inset-block-start: 0; inset-inline-start: -9999px; z-index: 100; padding: 0.75rem 1rem; background: var(--white); }
.skip-link:focus { inset-inline-start: 1rem; }

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  color: var(--white);
  border-bottom: 1px solid var(--line-dark);
}
.site-header.is-scrolled { position: fixed; background: rgba(17, 20, 22, 0.96); backdrop-filter: blur(14px); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: flex; align-items: center; gap: 0.8rem; text-decoration: none; }
.brand-mark { width: 52px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.brand-copy { display: grid; line-height: 1.2; }
.brand-copy small { color: #b9c0c4; font-size: 0.76rem; }
.primary-nav ul { display: flex; align-items: center; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.primary-nav a { text-decoration: none; font-size: 0.94rem; }
.primary-nav a:hover, .primary-nav a:focus-visible { color: var(--gold); }
.menu-toggle { display: none; min-width: 44px; min-height: 44px; color: inherit; border: 1px solid var(--line-dark); background: transparent; }
.language-switch { min-width: 44px; min-height: 44px; display: grid; place-items: center; border: 1px solid var(--line-dark); color: var(--white); text-decoration: none; font-size: 0.85rem; }

.hero { position: relative; min-height: 100svh; display: grid; align-items: center; padding-block: 9rem 5rem; overflow: hidden; background: var(--graphite); color: var(--white); isolation: isolate; }
.home-hero-backdrop { position: absolute; inset: 0; z-index: -3; margin: 0; }
.home-hero-backdrop img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: brightness(.78) contrast(1.05) saturate(.88); }
.hero.has-hero-image::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(8,10,11,.92) 0%, rgba(8,10,11,.66) 43%, rgba(8,10,11,.18) 72%, rgba(8,10,11,.28) 100%), linear-gradient(0deg, rgba(8,10,11,.72), transparent 48%); }
[dir="rtl"] .hero.has-hero-image::before { background: linear-gradient(270deg, rgba(8,10,11,.92) 0%, rgba(8,10,11,.66) 43%, rgba(8,10,11,.18) 72%, rgba(8,10,11,.28) 100%), linear-gradient(0deg, rgba(8,10,11,.72), transparent 48%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr); align-items: center; gap: clamp(3rem, 8vw, 9rem); }
.hero h1 { max-width: 900px; margin: 0.6rem 0 1.5rem; font-size: clamp(3rem, 6.4vw, 7.25rem); line-height: 0.94; letter-spacing: -0.055em; }
[dir="rtl"] .hero h1 { letter-spacing: normal; line-height: 1.12; }
.eyebrow { margin: 0; color: var(--gold); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
[dir="rtl"] .eyebrow { letter-spacing: normal; }
.hero-summary { max-width: 700px; color: #c8ced1; font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 2rem; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0.7rem 1.25rem; border: 1px solid transparent; text-decoration: none; font-weight: 650; }
.button-primary { background: var(--gold); color: var(--graphite); }
.button-secondary { border-color: var(--line-dark); color: var(--white); }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.hero-structure { position: relative; min-height: 430px; perspective: 900px; }
.structure-plane { position: absolute; inset: 12% 8%; border: 1px solid rgba(200, 118, 60, 0.55); background: linear-gradient(135deg, rgba(200,118,60,0.06), rgba(255,255,255,0.01)); transform-style: preserve-3d; }
.structure-plane-a { transform: rotateY(-24deg) rotateX(9deg) translateZ(12px); }
.structure-plane-b { inset: 28% 22% 0 0; transform: rotateY(18deg) rotateX(-7deg) translateZ(90px); border-color: rgba(255,255,255,0.24); }
.hero-structure span { position: absolute; inset-block-end: 0; inset-inline-end: 0; color: var(--steel); font-size: 0.85rem; }

.section { padding-block: var(--section-space); }
.section-heading { max-width: 820px; margin-bottom: 3rem; }
.section h2 { margin: 0.55rem 0 0; font-size: clamp(2rem, 4vw, 4.4rem); line-height: 1.02; letter-spacing: -0.035em; }
[dir="rtl"] .section h2 { letter-spacing: normal; line-height: 1.25; }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-light); border: 1px solid var(--line-light); }
.project-card, .empty-state { min-height: 320px; padding: 1.5rem; background: var(--warm-white); text-decoration: none; }
.project-media { aspect-ratio: 16 / 9; margin: -1.5rem -1.5rem 1.4rem; overflow: hidden; background: var(--graphite-raised); }
.project-media img { width: 100%; height: 100%; object-fit: contain; }
.project-card h3 { font-size: 1.4rem; }
.project-card p { color: var(--steel-blue); }
.empty-state { grid-column: 1 / -1; display: grid; place-items: center; color: #5d666b; }
.section-capabilities { background: var(--graphite); color: var(--white); }
.capability-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(3rem, 9vw, 10rem); }
.capability-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.capability-list li { display: grid; grid-template-columns: 56px 1fr; gap: 1rem; padding: 1.3rem 0; border-bottom: 1px solid var(--line-dark); font-size: 1.15rem; }
.capability-list span { color: var(--gold); font-size: 0.75rem; }
.section-group { border-bottom: 1px solid var(--line-light); }
.group-grid { display: grid; grid-template-columns: 0.55fr 1.45fr; gap: clamp(2rem, 8vw, 9rem); }
.group-grid h2 { max-width: 980px; margin-top: 0; }
.group-summary { max-width: 760px; margin-top: 2rem; color: var(--steel-blue); font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.contact-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.contact-row h2 { max-width: 920px; }
.site-footer { padding-block: 4rem 2rem; background: #090b0c; color: #c4c9cc; }
.footer-brand { display: flex; align-items: flex-start; gap: 1rem; }
.footer-brand-mark { width: 64px; height: 44px; object-fit: contain; flex: 0 0 auto; }
.footer-brand p { margin: .45rem 0 0; }
.footer-grid { display: grid; grid-template-columns: 1fr auto; gap: 3rem; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.copyright { grid-column: 1 / -1; padding-top: 2rem; border-top: 1px solid var(--line-dark); color: var(--steel); font-size: 0.85rem; }
.content-area { min-height: 60vh; padding-block: 10rem 6rem; }
.page-main { min-height: 65vh; }
.page-hero { padding-block: 11rem 5rem; background: var(--graphite); color: var(--white); }
.page-hero.has-page-hero-image { position: relative; background-position: center; background-size: cover; isolation: isolate; }
.page-hero.has-page-hero-image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(8,10,11,.74); }
.page-hero h1 { max-width: 1100px; margin: 0.55rem 0 0; font-size: clamp(3rem, 7vw, 7rem); line-height: 1; letter-spacing: -0.05em; }
[dir="rtl"] .page-hero h1 { letter-spacing: normal; line-height: 1.2; }
.reading-width { max-width: 780px; }
.page-content { padding-block: 4.5rem 7rem; }
.page-content > *:first-child { margin-top: 0; }
.page-content h2 { margin-top: 2.8rem; font-size: clamp(1.7rem, 3vw, 2.7rem); }
.projects-archive { background: var(--concrete); }
.projects-archive-hero { position: relative; min-height: clamp(450px, 34vw, 560px); display: flex; align-items: flex-end; padding-block: 7.5rem 3.25rem; overflow: hidden; background: #0b0d0e; color: var(--white); isolation: isolate; }
.projects-archive-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,10,11,.10) 0%, rgba(8,10,11,.34) 46%, rgba(8,10,11,.78) 100%), linear-gradient(0deg, rgba(8,10,11,.5), transparent 62%); }
[dir="ltr"] .projects-archive-hero::after { background: linear-gradient(270deg, rgba(8,10,11,.10) 0%, rgba(8,10,11,.34) 46%, rgba(8,10,11,.78) 100%), linear-gradient(0deg, rgba(8,10,11,.5), transparent 62%); }
.projects-archive-hero-media { position: absolute; inset: 0; z-index: -2; margin: 0; }
.projects-archive-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 54%; filter: saturate(.9) contrast(1.04); }
.projects-archive-hero-grid { width: var(--shell); margin-inline: auto; }
.projects-archive-hero-copy { max-width: 680px; padding-inline-start: 1.35rem; border-inline-start: 2px solid var(--gold); }
.projects-archive-hero h1 { margin: .3rem 0 0; font-size: clamp(3.5rem, 7vw, 6.2rem); font-weight: 800; line-height: .94; text-shadow: 0 5px 28px rgba(0,0,0,.55); }
[dir="rtl"] .projects-archive-hero h1 { line-height: 1.15; }
.projects-archive-hero-copy > p:last-child { max-width: 570px; margin: .8rem 0 0; color: #e0e3e3; font-size: .95rem; line-height: 1.9; }
.projects-archive-filter-bar { border-bottom: 1px solid rgba(17,20,22,.14); background: var(--warm-white); }
.projects-archive-filters { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.projects-archive-filter-label { font-size: .9rem; font-weight: 700; }
.projects-archive-filter-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.projects-archive-filter-links a { min-height: 38px; display: inline-flex; align-items: center; padding: .45rem .9rem; border: 1px solid rgba(17,20,22,.17); color: #4f575b; text-decoration: none; font-size: .82rem; }
.projects-archive-filter-links a:hover, .projects-archive-filter-links a:focus-visible, .projects-archive-filter-links a[aria-current="page"] { border-color: var(--graphite); background: var(--graphite); color: var(--white); }
.archive-projects { padding-block: 2.8rem 7rem; }
.projects-archive-heading { margin-bottom: 1.25rem; }
.projects-archive-heading h2 { margin: 0; font-size: clamp(1.7rem, 2.8vw, 2.4rem); line-height: 1.25; }
.projects-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.projects-archive-card { min-width: 0; display: grid; grid-template-rows: auto 1fr; overflow: hidden; border: 1px solid rgba(17,20,22,.14); background: var(--warm-white); color: var(--graphite); text-decoration: none; transition: border-color 220ms ease, transform 220ms ease, box-shadow 220ms ease; }
.projects-archive-card:hover, .projects-archive-card:focus-visible { transform: translateY(-3px); border-color: rgba(200,118,60,.68); box-shadow: 0 16px 38px rgba(17,20,22,.1); }
.projects-archive-media { position: relative; width: 100%; aspect-ratio: 16 / 8.4; margin: 0; overflow: hidden; background: #07090a; }
.projects-archive-media::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); pointer-events: none; }
.projects-archive-media img { width: 100%; height: 100%; object-fit: contain; }
.projects-archive-card-body { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; }
.projects-archive-card h2 { margin: 0; font-size: clamp(1rem, 1.55vw, 1.25rem); line-height: 1.45; letter-spacing: normal; }
.projects-archive-link { display: flex; align-items: center; gap: .5rem; flex: 0 0 auto; color: #525a5e; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.projects-archive-link b { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid rgba(200,118,60,.58); color: var(--gold); font-size: .85rem; transition: background-color 220ms ease, color 220ms ease; }
.projects-archive-card:hover .projects-archive-link b, .projects-archive-card:focus-visible .projects-archive-link b { background: var(--gold); color: #111416; }
.projects-archive-empty { min-height: 240px; display: grid; place-items: center; margin: 0; color: #5d666b; }
.project-showcase { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; padding-block: 8.5rem 4rem; background: #080a0b; color: var(--white); isolation: isolate; }
.project-backdrop { position: absolute; inset: 0; z-index: -3; margin: 0; overflow: hidden; background: #080a0b; }
.project-backdrop-wash, .project-backdrop-focus { position: absolute; inset: 0; }
.project-backdrop-wash { transform: scale(1.04); filter: blur(18px) brightness(.72); opacity: .48; }
.project-backdrop-focus { z-index: 1; display: grid; place-items: center; background: rgba(7,9,10,.08); }
.project-backdrop::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,9,10,.08) 0%, rgba(7,9,10,.2) 42%, rgba(7,9,10,.8) 68%, #080a0b 100%), linear-gradient(0deg, rgba(7,9,10,.68), transparent 36%); }
[dir="rtl"] .project-backdrop::after { background: linear-gradient(90deg, rgba(7,9,10,.08) 0%, rgba(7,9,10,.2) 42%, rgba(7,9,10,.8) 68%, #080a0b 100%), linear-gradient(0deg, rgba(7,9,10,.68), transparent 36%); }
.project-backdrop-wash img { width: 100%; height: 100%; object-fit: cover; }
.project-backdrop-focus img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: brightness(1.06) contrast(1.04) saturate(.96); }
.project-frame { position: absolute; inset: 6.5rem 0 0; z-index: -1; pointer-events: none; }
.project-frame::before, .project-frame::after, .project-frame span { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.13); }
.project-frame::before { inset: 7% auto 8% 2.5%; width: 10%; border-inline-end: 0; transform: skewY(-10deg); }
.project-frame::after { inset: 4% 2.5% 12% auto; width: 12%; border-inline-start: 0; transform: skewY(9deg); }
.project-frame span:first-child { inset: 0 22% auto 15%; border-color: rgba(200,118,60,.32); }
.project-frame span:last-child { inset: auto 8% 4% 38%; border-color: rgba(200,118,60,.22); }
.project-showcase-grid { min-height: calc(100svh - 12.5rem); display: flex; align-items: center; justify-content: flex-end; }
.project-intro { position: relative; z-index: 2; width: min(625px, 44vw); padding: clamp(1.4rem, 2.2vw, 2.35rem); border: 1px solid rgba(255,255,255,.16); background: linear-gradient(145deg, rgba(17,20,22,.59), rgba(8,10,11,.51)); box-shadow: 0 28px 90px rgba(0,0,0,.28); backdrop-filter: blur(7px); }
[dir="rtl"] .project-showcase-grid { justify-content: flex-start; }
.project-intro h1 { max-width: 100%; margin: .55rem 0 .75rem; font-size: clamp(2.25rem, 3.25vw, 4rem); line-height: 1.08; letter-spacing: -.04em; }
[dir="rtl"] .project-intro h1 { line-height: 1.18; letter-spacing: normal; }
.project-lead { max-width: 680px; margin: 0; color: #c8ced1; font-size: clamp(1.05rem, 1.35vw, 1.25rem); }
.project-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 1.6rem 0 0; border-block: 1px solid var(--line-dark); }
.project-facts div { min-height: 82px; padding: .72rem; border-bottom: 1px solid var(--line-dark); }
.project-facts div:not(:nth-child(3n + 1)) { border-inline-start: 1px solid var(--line-dark); }
.project-facts div:nth-last-child(-n + 3) { border-bottom: 0; }
.project-facts dt { color: var(--gold); font-size: .76rem; font-weight: 700; }
.project-facts dd { margin: .4rem 0 0; color: #eef0f1; font-size: .92rem; font-weight: 650; line-height: 1.5; }
.project-scroll { display: inline-flex; align-items: center; gap: .65rem; margin-top: 1.35rem; color: #d8dcde; text-decoration: none; font-size: .9rem; }
.project-scroll span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid rgba(200,118,60,.55); border-radius: 50%; color: var(--gold); }
.project-story { position: relative; padding-block: clamp(2.5rem, 4.5vw, 4.25rem); overflow: hidden; background: #0b0d0e; color: var(--white); }
.project-story::after { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(200,118,60,.5), transparent); }
.project-story-grid { display: grid; grid-template-columns: minmax(360px, .86fr) minmax(400px, 1.08fr) minmax(105px, .22fr); align-items: center; gap: clamp(1.75rem, 3.7vw, 4.5rem); }
.project-story-media { position: relative; margin: 0; width: 100%; aspect-ratio: 16 / 9; max-height: 310px; overflow: hidden; border: 1px solid var(--line-dark); background: #07090a; }
.project-story-media::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(200,118,60,.14); pointer-events: none; }
[dir="rtl"] .project-story-media { clip-path: none; }
.project-story-slides, .project-story-slide { position: absolute; inset: 0; }
.project-story-slide { margin: 0; display: grid; place-items: center; opacity: 0; visibility: hidden; transition: opacity 650ms ease, visibility 650ms ease; }
.project-story-slide.is-active { opacity: 1; visibility: visible; }
.project-story-slide img { width: 100%; height: 100%; object-fit: contain; }
.project-story-dots { position: absolute; z-index: 2; inset-inline-start: 1.25rem; inset-block-end: 1rem; display: flex; gap: .45rem; }
.project-story-dot { width: 26px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.38); cursor: pointer; transition: width 250ms ease, background-color 250ms ease; }
.project-story-dot.is-active { width: 42px; background: var(--gold); }
.project-story-aside { align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 1.5rem; padding-inline-start: 1.5rem; border-inline-start: 1px solid var(--line-dark); color: var(--steel); }
.project-story-motto { display: grid; gap: .35rem; margin: 0; line-height: 1.75; }
.project-story-motto span { display: block; }
.project-index { margin: 0; color: var(--gold); font-size: clamp(3rem, 7vw, 7rem); line-height: 1; }
.project-copy { max-width: 820px; color: #c9ced0; font-size: clamp(.96rem, 1.05vw, 1.08rem); line-height: 1.75; }
.project-story .eyebrow{font-size:clamp(.92rem,1vw,1rem);font-weight:700;line-height:1.5}
.project-copy h2 { margin: .55rem 0 1rem; color: var(--white); font-size: clamp(1.85rem, 2.65vw, 3rem); line-height: 1.28; }
.project-copy p { margin-block: .7rem; }
.project-copy > *:first-child { margin-top: 0; }
[dir="rtl"] .project-story-grid { grid-template-columns: minmax(105px, .22fr) minmax(400px, 1.08fr) minmax(360px, .86fr); }
[dir="rtl"] .project-story-media { grid-column: 3; grid-row: 1; }
[dir="rtl"] .project-copy { grid-column: 2; grid-row: 1; }
[dir="rtl"] .project-story-aside { grid-column: 1; grid-row: 1; padding-inline: 0 1.5rem; border-inline-start: 0; border-inline-end: 1px solid var(--line-dark); }

@media (max-width: 900px) {
  :root { --shell: min(100% - 32px, 1440px); }
  .menu-toggle { display: inline-grid; place-items: center; }
  .primary-nav { display: none; position: absolute; inset: 82px 0 auto; padding: 1rem 16px 2rem; background: var(--graphite); border-bottom: 1px solid var(--line-dark); }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { display: grid; gap: 0; }
  .primary-nav a { display: block; min-height: 48px; padding-block: 0.7rem; }
  .hero { min-height: auto; }
  .hero-grid, .capability-grid, .group-grid { grid-template-columns: 1fr; }
  .hero-structure { min-height: 280px; }
  .project-grid { grid-template-columns: 1fr; }
  .projects-archive-hero { min-height: 350px; padding-block: 7rem 2.5rem; }
  .projects-archive-hero-grid { grid-template-columns: 1fr; }
  .projects-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .projects-archive-filters { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 1rem; }
  .project-showcase { min-height: auto; padding-block: 7rem 2rem; }
  .project-showcase-grid { min-height: auto; display: block; }
  .project-story-grid { min-height: auto; grid-template-columns: 1fr; }
  [dir="rtl"] .project-story-grid { grid-template-columns: 1fr; }
  [dir="rtl"] .project-story-media, [dir="rtl"] .project-copy, [dir="rtl"] .project-story-aside { grid-column: auto; grid-row: auto; }
  .project-intro, [dir="rtl"] .project-intro { width: 100%; margin-top: clamp(12rem, 46vw, 24rem); }
  .project-backdrop { height: 70%; }
  .project-backdrop-focus { inset-inline-end: 0; }
  .project-backdrop::after, [dir="rtl"] .project-backdrop::after { background: linear-gradient(0deg, #080a0b 4%, rgba(8,10,11,.2) 68%, rgba(8,10,11,.3)); }
  .project-story-aside { min-height: 160px; border-inline-start: 0; border-top: 1px solid var(--line-dark); padding: 1.5rem 0 0; }
  .project-story-media { max-height: none; }
  .contact-row { align-items: flex-start; flex-direction: column; }
}

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

@media (max-width: 540px) {
  .brand-copy small { display: none; }
  .hero h1 { font-size: clamp(2.6rem, 14vw, 4.2rem); }
  .footer-grid { grid-template-columns: 1fr; }
  .projects-archive-hero { min-height: 320px; padding-block: 6.5rem 2rem; }
  .projects-archive-hero h1 { font-size: 3.35rem; }
  .projects-archive-hero-copy > p:last-child { font-size: .88rem; }
  .projects-archive-grid { grid-template-columns: 1fr; }
  .project-facts { grid-template-columns: 1fr; }
  .project-facts div, .project-facts div:not(:nth-child(3n + 1)), .project-facts div:nth-last-child(-n + 3) { min-height: 0; padding-inline: 0; border-inline-start: 0; border-bottom: 1px solid var(--line-dark); }
  .project-facts div:last-child { border-bottom: 0; }
}

/* Editable About page. */
.about-page { background: #f4f1e9; }
.about-hero { position: relative; min-height: 360px; display: flex; align-items: center; overflow: hidden; background: #101b20; color: #fff; isolation: isolate; }
.about-hero-media { position: absolute; inset: 0; z-index: -2; margin: 0; }
.about-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(.76) contrast(1.06); }
.about-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(16,27,32,.12) 0%, rgba(16,27,32,.48) 48%, rgba(16,27,32,.93) 100%), linear-gradient(0deg, rgba(16,27,32,.25), transparent 48%); }
[dir="ltr"] .about-hero::after { background: linear-gradient(270deg, rgba(16,27,32,.12) 0%, rgba(16,27,32,.48) 48%, rgba(16,27,32,.93) 100%), linear-gradient(0deg, rgba(16,27,32,.25), transparent 48%); }
.about-hero-copy { width: min(1080px, calc(100% - 56px)); padding-block: 5.4rem 3.4rem; }
.about-hero-copy h1 { max-width: 610px; margin: .55rem 0 1rem; color: #fff; font-size: clamp(2.5rem, 4.4vw, 4rem); line-height: 1.18; }
.about-hero-copy > p:last-child { max-width: 590px; margin: 0; color: rgba(255,255,255,.82); font-size: .95rem; line-height: 1.95; }
.about-section { padding-block: 4.4rem; }
.about-section > .shell, .about-cta > .shell, .about-hero > .shell { width: min(1080px, calc(100% - 56px)); }
.about-split { display: grid; grid-template-columns: .82fr 1.18fr; gap: 3.4rem; align-items: start; }
.about-index { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.15rem; color: #7b6a53; font-size: .95rem; font-weight: 700; line-height: 1.5; }
.about-index::after { content: ""; width: 54px; height: 1px; background: var(--gold); }
.about-section h2 { max-width: 520px; margin: 0; font-size: clamp(1.85rem, 3.1vw, 3rem); line-height: 1.45; }
.about-copy { padding-top: 1.8rem; border-top: 1px solid rgba(23,35,42,.16); }
.about-copy p { margin: 0 0 .9rem; color: #4d595f; line-height: 2; }
.about-copy .about-lead { color: #17232a; font-size: 1.12rem; }
.about-values { position: relative; background: #fff; }
.about-values::before { content: ""; position: absolute; inset: 0 0 0 auto; width: 7px; background: var(--gold); }
.about-value-list { border-top: 1px solid rgba(23,35,42,.16); }
.about-value-list article { display: grid; grid-template-columns: 1fr; gap: 0; padding-block: 1.2rem; border-bottom: 1px solid rgba(23,35,42,.16); }
.about-value-list b, .about-value-number { display:none; }
.about-value-list h3 { margin: 0 0 .35rem; font-size: 1.15rem; }
.about-value-list p { margin: 0; color: #677177; font-size: .9rem; line-height: 1.9; }
.about-companies { background: #101b20; color: #fff; }
.about-companies-head { display: flex; align-items: end; justify-content: space-between; gap: 2.5rem; margin-bottom: 2.35rem; }
.about-companies-head h2 { color: #fff; text-shadow: 0 1px 18px rgba(0,0,0,.28); }
.about-companies-head > p { max-width: 430px; margin: 0; color: rgba(255,255,255,.72); font-size: .88rem; line-height: 2; }
.about-company-list { border-top: 1px solid rgba(255,255,255,.18); }
.about-company { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem; align-items: center; padding-block: 1.55rem; border-bottom: 1px solid rgba(255,255,255,.18); }
.about-company > b, .about-company-number { display:none; }
.about-company h3 { margin: 0; color: #fff; font-size: 1.4rem; line-height: 1.5; }
.about-company > p { margin: 0; color: rgba(255,255,255,.72); font-size: .88rem; line-height: 1.9; }
.about-company-factory { grid-template-columns: .9fr 1.35fr; margin-top: .8rem; padding: 1.5rem 1.5rem 1.5rem 1.25rem; border-inline-start: 5px solid var(--gold); background: rgba(200,118,60,.13); }
.about-company-factory > div > span, .about-factory-label { display: block; margin-bottom: .4rem; color: var(--gold); font-size: clamp(.9rem,1vw,.98rem); font-weight:700; line-height:1.5; }
.about-factory-detail > p { margin: 0; color: rgba(255,255,255,.88); font-size: .88rem; line-height: 1.9; }
.about-factory-detail ul { display: flex; flex-wrap: wrap; gap: .45rem 1.1rem; margin: .8rem 0 0; padding: .75rem 0 0; border-top: 1px solid rgba(200,118,60,.42); color: rgba(255,255,255,.72); list-style: none; font-size: .72rem; }
.about-factory-detail li::before { content: "—"; margin-inline-end: .35rem; color: var(--gold); }
.about-approach-head { align-items: end; margin-bottom: 2.1rem; }
.about-approach-head > p { margin: 0; color: #5f6b70; font-size: .9rem; line-height: 2; }
.about-steps { display: grid; grid-template-columns: repeat(4, 1fr); background: var(--gold); }
.about-steps article { min-height: 108px; padding: .95rem 1.05rem 1.05rem; color: #fff; border-inline-end: 1px solid rgba(255,255,255,.28); }
.about-steps article:last-child { border-inline-end: 0; }
.about-steps b, .about-step-number { display: block; margin-bottom: .55rem; color: rgba(255,255,255,.72); font-size: .68rem; }
.about-steps h3 { margin: 0 0 .3rem; color: #fff; font-size: 1rem; }
.about-steps p { margin: 0; color: rgba(255,255,255,.82); font-size: .75rem; line-height: 1.65; }
.about-cta { padding-block: 2.6rem; background: var(--gold); color: #101b20; }
.about-cta > .shell { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.about-cta h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.5rem); line-height: 1.5; }
.about-cta a { display: inline-flex; align-items: center; gap: 1.5rem; padding-block: .55rem; border-bottom: 1px solid rgba(16,27,32,.56); text-decoration: none; white-space: nowrap; }

@media (max-width: 820px) {
  .about-split { grid-template-columns: 1fr; gap: 2.25rem; }
  .about-companies-head { align-items: flex-start; flex-direction: column; }
  .about-company, .about-company-factory { grid-template-columns: 1fr; }
  .about-company > p, .about-factory-detail { grid-column: auto; }
  .about-steps { grid-template-columns: repeat(2, 1fr); }
  .about-steps article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.28); }
}

@media (max-width: 540px) {
  .about-hero, .about-hero-media img { min-height: 340px; }
  .about-hero::after, [dir="ltr"] .about-hero::after { background: rgba(16,27,32,.78); }
  .about-hero-copy, .about-section > .shell, .about-cta > .shell, .about-hero > .shell { width: min(100% - 34px, 1080px); }
  .about-section { padding-block: 3.5rem; }
  .about-company, .about-company-factory { grid-template-columns: 1fr; gap: .9rem; }
  .about-company-factory { padding: 1.25rem 1rem; }
  .about-steps { grid-template-columns: 1fr; }
  .about-steps article { min-height: 0; border-inline-end: 0; border-bottom: 1px solid rgba(255,255,255,.28); }
  .about-steps article:last-child { border-bottom: 0; }
  .about-cta > .shell { align-items: flex-start; flex-direction: column; }
}


/* Global interface polish — header, footer and editorial pages. */
.site-header{
  border-bottom:0;
  padding-top:14px;
  transition:padding .25s ease,background-color .25s ease,box-shadow .25s ease
}
.site-header.is-scrolled{
  padding-top:0;
  background:rgba(9,11,12,.92);
  box-shadow:0 10px 35px rgba(0,0,0,.18);
  backdrop-filter:blur(14px)
}
.header-inner{min-height:72px}
.brand{position:relative;z-index:2;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.brand-copy strong{font-size:.98rem}
.brand-copy small{color:rgba(255,255,255,.7)}
.header-actions{display:flex;align-items:center;gap:.65rem}
.nav-surface{
  min-height:50px;display:flex;align-items:center;gap:.55rem;padding:.28rem .35rem .28rem .8rem;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(8,10,11,.62);
  box-shadow:0 8px 28px rgba(0,0,0,.14);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px)
}
.primary-nav ul{gap:.25rem}
.primary-nav a{
  position:relative;display:block;padding:.72rem .65rem;
  color:rgba(255,255,255,.92);font-size:.98rem;line-height:1.25;font-weight:500
}
.primary-nav a::after{
  content:"";position:absolute;inset-inline:.65rem;inset-block-end:.35rem;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .2s ease
}
.primary-nav a:hover::after,.primary-nav a:focus-visible::after,.primary-nav a.is-active::after,
.primary-nav .current-menu-item>a::after,.primary-nav .current_page_item>a::after{transform:scaleX(1)}
.primary-nav a.is-active,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:#fff}
.language-switch{
  min-width:40px;min-height:40px;border:0;border-inline-start:1px solid rgba(255,255,255,.16);
  color:#fff;font-size:.92rem;font-weight:600
}
.menu-toggle{
  border-color:rgba(255,255,255,.16);
  background:rgba(8,10,11,.62);
  backdrop-filter:blur(12px)
}
body.menu-open{overflow:hidden}

/* About alignment with the shared design system. */
.about-page{background:var(--warm-white)}
.about-hero{background:#111416}
.about-hero .eyebrow{font-size:clamp(1rem,1.05vw,1.08rem);font-weight:700;line-height:1.5}
.about-hero-copy h1{font-size:clamp(2.05rem,3.1vw,3.2rem);font-weight:700;line-height:1.32}
.about-hero-copy>p:last-child{font-weight:400}
.about-section h2{font-size:clamp(1.75rem,2.75vw,2.65rem);line-height:1.36;font-weight:700}
.about-section h3{font-weight:700}
.about-copy p{line-height:1.82;font-weight:400}
.about-companies{background:var(--graphite-raised)}
.about-values::before{width:4px}
.about-steps{background:var(--graphite);border-top:3px solid var(--gold)}
.about-steps article{min-height:118px;border-color:rgba(255,255,255,.14)}
.about-steps b,.about-step-number{display:none}
.about-steps h3{font-weight:700}
.about-steps p{color:rgba(255,255,255,.78);font-size:.82rem;line-height:1.72;font-weight:400}
.about-cta{background:var(--gold)}
.about-cta a:focus-visible,.about-cta a:hover{border-bottom-color:#111416}

/* Professional footer. */
.site-footer{padding:0;background:var(--graphite);color:#c9ced0}
.footer-cta{border-bottom:1px solid rgba(255,255,255,.12);background:var(--graphite-raised)}
.footer-cta-inner{
  min-height:220px;display:flex;align-items:center;justify-content:space-between;
  gap:3rem;padding-block:3rem
}
.footer-cta .eyebrow{font-size:clamp(.92rem,1vw,1rem);font-weight:700;line-height:1.5}
.footer-cta h2{
  max-width:780px;margin:.55rem 0 .65rem;color:#fff;
  font-size:clamp(1.9rem,3vw,3.1rem);line-height:1.12;letter-spacing:-.025em
}
[dir="rtl"] .footer-cta h2{line-height:1.38;letter-spacing:normal}
.footer-cta p:not(.eyebrow){max-width:680px;margin:0;color:#9fa8ac;line-height:1.8}
.footer-cta-link{
  min-width:175px;min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;
  gap:1.5rem;padding:.75rem 1rem;border:1px solid var(--gold);
  color:#fff;text-decoration:none;transition:background-color .2s ease,color .2s ease
}
.footer-cta-link:hover,.footer-cta-link:focus-visible{background:var(--copper-dark);border-color:var(--copper-dark);color:#fff}
.footer-main{
  display:grid;grid-template-columns:minmax(260px,1.45fr) .75fr .9fr 1.25fr;
  gap:clamp(2rem,4vw,4rem);padding-block:4rem 3.4rem
}
.footer-brand-block{max-width:430px}
.footer-brand{gap:1rem}
.footer-brand-mark{width:72px;height:50px}
.footer-brand strong{display:block;color:#fff;font-size:1.05rem}
.footer-brand p{max-width:360px;margin:.65rem 0 0;color:#90999e;line-height:1.8}
.footer-column h3{
  margin:0 0 1.1rem;color:#fff;font-size:.9rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase
}
[dir="rtl"] .footer-column h3{letter-spacing:normal}
.footer-column ul{display:grid;gap:.7rem}
.footer-column a{color:#bcc3c6;text-decoration:none}
.footer-column a:hover,.footer-column a:focus-visible{color:var(--gold)}
.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.footer-contact p{max-width:330px;margin:.6rem 0 0;color:#8f999d;line-height:1.8}
.footer-bottom{
  min-height:74px;display:flex;align-items:center;justify-content:space-between;
  gap:2rem;border-top:1px solid rgba(255,255,255,.11)
}
.copyright{grid-column:auto;padding:0;border:0;margin:0;color:#747f84;font-size:.82rem}
.footer-language{
  color:#aeb6ba;text-decoration:none;border-bottom:1px solid rgba(200,118,60,.5);padding-bottom:.15rem
}

@media (max-width:1100px){
  .primary-nav ul{gap:.1rem}
  .primary-nav a{font-size:.92rem;padding-inline:.45rem}
  .footer-main{grid-template-columns:1.4fr 1fr 1fr}
  .footer-contact{grid-column:1/-1;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}
}
@media (max-width:900px){
  .site-header{padding-top:8px}
  .header-inner{min-height:68px}
  .header-actions{gap:.5rem}
  .nav-surface{min-height:44px;padding:.15rem;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
  .language-switch{border:1px solid rgba(255,255,255,.16);background:rgba(8,10,11,.7)}

.asmane-404{display:grid;align-items:center;min-height:68vh;padding-block:clamp(5rem,10vw,9rem)}
.asmane-404-panel{position:relative;max-width:820px;padding-inline-start:clamp(1.25rem,3vw,2.5rem);border-inline-start:3px solid var(--gold)}
.asmane-404-code{margin:0 0 .35rem;color:var(--gold);font-size:clamp(4.5rem,12vw,9rem);font-weight:800;letter-spacing:-.06em;line-height:.82}
.asmane-404-eyebrow{margin:0 0 1rem;color:var(--gold);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.asmane-404 h1{max-width:16ch;margin:0;color:#111416;font-size:clamp(2rem,5vw,4.2rem);line-height:1.08}
.asmane-404-copy{max-width:64ch;margin:1.35rem 0 0;color:#4d5559;font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.9}
.asmane-404-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.asmane-404-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.72rem 1.15rem;border:1px solid #111416;text-decoration:none;font-weight:700;transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.asmane-404-button-primary{background:#111416;color:#fff}
.asmane-404-button-primary:hover,.asmane-404-button-primary:focus-visible{background:var(--gold);border-color:var(--gold);color:#111416}
.asmane-404-button-secondary{background:transparent;color:#111416}
.asmane-404-button-secondary:hover,.asmane-404-button-secondary:focus-visible{border-color:var(--gold);color:#111416}
.asmane-404-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:640px){.asmane-404{min-height:60vh;padding-block:4rem}.asmane-404-actions{display:grid}.asmane-404-button{width:100%}}
  .primary-nav{
    inset:76px 16px auto;padding:1rem;
    border:1px solid rgba(255,255,255,.12);background:rgba(10,12,13,.97);
    box-shadow:0 24px 55px rgba(0,0,0,.3);backdrop-filter:blur(16px)
  }
  .primary-nav a{padding:.9rem .2rem}
  .primary-nav a::after{inset-inline:0}
  .footer-cta-inner{align-items:flex-start;flex-direction:column}
  .footer-main{grid-template-columns:1fr 1fr}
  .footer-brand-block{grid-column:1/-1}
  .footer-contact{grid-column:1/-1}
}
@media (max-width:600px){
  .brand-mark{width:46px;height:32px}
  .brand-copy strong{font-size:.9rem}
  .footer-main{grid-template-columns:1fr}
  .footer-brand-block,.footer-contact{grid-column:auto}
  .footer-contact{padding-top:0;border-top:0}
  .footer-cta-inner{min-height:0}
  .footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:1.2rem}
}

/* About page hero can also use the page Featured Image. */
.about-page.has-page-hero .about-hero{
  background-image:var(--asmane-page-hero);
  background-size:cover;
  background-position:var(--asmane-hero-position,center 52%);
}
.about-page.has-page-hero .about-hero-media{display:none}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}
