@import "tailwindcss";

@theme {
  --color-primary: #d36b32;
  --color-accent: #d36b32;
  --color-surface: #111210;
  --color-ink: #f2f0eb;
  --color-ink-muted: #a6a49e;
  --font-sans: "Vazirmatn", Tahoma, Arial, sans-serif;
  --font-display: "Helvetica Neue", Arial, sans-serif;
}

:root {
  color-scheme: dark;
  --ab-black: #111210;
  --ab-deep: #171815;
  --ab-paper: #f2f0eb;
  --ab-muted: #aaa9a2;
  --ab-orange: #d36b32;
  --ab-line: rgba(242, 240, 235, .2);
  --ab-gutter: clamp(1.1rem, 5.2vw, 5.5rem);
  --ab-ease: cubic-bezier(.22, .72, .18, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ab-black); }
body { margin: 0; min-width: 320px; background: var(--ab-black); color: var(--ab-paper); font-family: "Vazirmatn", Tahoma, Arial, sans-serif; line-height: 1.85; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
#root { min-height: 100dvh; }
::selection { color: var(--ab-black); background: var(--ab-orange); }

.ab-site { min-height: 100dvh; overflow: clip; background: var(--ab-black); color: var(--ab-paper); }
.ab-site.is-fa { direction: rtl; font-family: "Vazirmatn", Tahoma, Arial, sans-serif; }
.ab-site.is-en { direction: ltr; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.page-gutter { padding-inline: var(--ab-gutter); }
.skip-link { position: fixed; z-index: 120; inset-block-start: .75rem; inset-inline-start: .75rem; padding: .7rem 1rem; color: var(--ab-black); background: var(--ab-paper); transform: translateY(-180%); transition: transform .2s ease; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--ab-orange); outline-offset: 5px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Shared chrome from wave 01. */
.site-header { position: fixed; z-index: 50; inset-block-start: 0; inset-inline: 0; min-height: 5.7rem; display: flex; align-items: center; border-block-end: 1px solid transparent; transition: min-height .4s var(--ab-ease), background .4s ease, border-color .4s ease, backdrop-filter .4s ease; }
.site-header.is-scrolled { min-height: 4.5rem; background: rgba(17,18,16,.88); border-color: var(--ab-line); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.header-inner { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: inline-flex; align-items: center; gap: .72rem; flex: 0 0 auto; }
.brand-wordmark { font-size: .92rem; font-weight: 650; letter-spacing: .15em; line-height: 1; white-space: nowrap; }
.is-fa .brand-wordmark { letter-spacing: .12em; }
.brand-mark { width: 2rem; height: 2rem; position: relative; display: inline-block; }
.brand-mark i { position: absolute; inset-block-end: .28rem; inset-inline-start: .1rem; width: 1.7rem; height: 2px; display: block; background: var(--ab-orange); transform: rotate(-48deg); transform-origin: inline-start center; }
.brand-mark i:nth-child(2) { inset-inline-start: .32rem; inset-block-end: .67rem; }
.brand-mark i:nth-child(3) { inset-inline-start: .55rem; inset-block-end: 1.05rem; }
.desktop-nav { display: flex; align-items: center; gap: clamp(1.3rem, 3vw, 3.2rem); margin-inline-start: auto; margin-inline-end: clamp(1.5rem, 4vw, 4.5rem); }
.desktop-nav a { position: relative; color: rgba(242,240,235,.8); font-size: .84rem; transition: color .25s ease; }
.desktop-nav a::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-end: -.45rem; width: 100%; height: 1px; background: var(--ab-orange); transform: scaleX(0); transform-origin: inline-start; transition: transform .35s var(--ab-ease); }
.desktop-nav a:hover { color: var(--ab-paper); }
.desktop-nav a:hover::after { transform: scaleX(1); }
.header-tools { display: flex; align-items: center; gap: clamp(1rem, 2.1vw, 2rem); }
.language-switch { display: inline-flex; align-items: center; gap: .48rem; position: relative; color: rgba(242,240,235,.55); font-family: Arial, sans-serif; font-size: .68rem; letter-spacing: .12em; line-height: 1; }
.language-switch a { padding-block: .55rem; transition: color .2s ease; }
.language-switch a:hover, .language-switch a[aria-current="page"] { color: var(--ab-paper); }
.language-switch > span[aria-hidden="true"] { color: var(--ab-orange); }
.language-target { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.menu-toggle { display: none; border: 0; padding: .55rem 0 .55rem .3rem; background: transparent; align-items: center; gap: .75rem; cursor: pointer; }
.menu-toggle-label { font-size: .75rem; }
.menu-icon { width: 1.45rem; height: 1rem; position: relative; display: block; }
.menu-icon i { position: absolute; inset-inline-end: 0; width: 100%; height: 1px; background: var(--ab-paper); transition: transform .3s var(--ab-ease), inset-block-start .3s var(--ab-ease); }
.menu-icon i:first-child { inset-block-start: .22rem; }
.menu-icon i:last-child { inset-block-start: .72rem; width: 70%; }
.menu-is-open .menu-icon i:first-child { inset-block-start: .48rem; transform: rotate(45deg); }
.menu-is-open .menu-icon i:last-child { inset-block-start: .48rem; width: 100%; transform: rotate(-45deg); }
.mobile-menu { position: fixed; z-index: 45; inset: 0; display: flex; overflow-y: auto; background: #111210; opacity: 0; visibility: hidden; transform: translateY(-1rem); transition: opacity .42s ease, visibility .42s, transform .55s var(--ab-ease); }
.mobile-menu.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
.mobile-menu-inner { width: 100%; min-height: 100dvh; padding-block: 7.5rem 2rem; display: flex; flex-direction: column; }
.mobile-menu-kicker { color: var(--ab-orange); font-size: .72rem; margin: 0 0 1.35rem; }
.mobile-menu nav { border-block-start: 1px solid var(--ab-line); }
.mobile-menu nav a { min-height: clamp(4.6rem, 13vw, 6.3rem); display: grid; grid-template-columns: 3rem 1fr 2rem; align-items: center; gap: .8rem; border-block-end: 1px solid var(--ab-line); font-size: clamp(1.8rem, 7vw, 3.25rem); line-height: 1.4; opacity: 0; transform: translateY(.5rem); transition: opacity .35s ease, transform .45s var(--ab-ease), color .2s ease; }
.mobile-menu.is-open nav a { opacity: 1; transform: translateY(0); }
.mobile-menu.is-open nav a:nth-child(2) { transition-delay: .07s; }
.mobile-menu nav a:hover { color: var(--ab-orange); }
.mobile-nav-number { align-self: center; color: var(--ab-orange); font-family: Arial,sans-serif; font-size: .68rem; letter-spacing: .1em; }
.mobile-menu nav a b { font-size: 1.1rem; font-weight: 400; text-align: end; }
.mobile-menu-bottom { margin-block-start: auto; padding-block-start: 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.35rem; }
.language-switch-mobile { grid-column: 1 / -1; width: fit-content; padding-block: .5rem; font-size: .8rem; }
.mobile-contact, .mobile-social { display: flex; flex-direction: column; gap: .35rem; font-size: .8rem; min-width: 0; overflow-wrap: anywhere; }
.mobile-contact p { margin: 0; color: var(--ab-muted); font-size: .76rem; line-height: 1.7; }
.mobile-contact > span { color: var(--ab-orange); font-size: .68rem; }
.mobile-social { align-items: flex-end; justify-content: space-between; color: var(--ab-muted); }
.mobile-social a { color: var(--ab-paper); }
.mobile-social span { font-size: .67rem; }

/* Wave 02 — the hero remains quiet; the new editorial sections carry the story. */
.hero { position: relative; min-height: 100svh; padding-inline: var(--ab-gutter); display: flex; align-items: flex-end; isolation: isolate; overflow: hidden; background: #272724; }
.hero-image, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-image { z-index: -2; display: block; object-fit: cover; object-position: center 48%; animation: image-arrive 1.5s var(--ab-ease) both; }
.hero-shade { z-index: -1; background: linear-gradient(180deg, rgba(7,8,7,.18) 10%, rgba(7,8,7,.14) 38%, rgba(7,8,7,.83) 100%), linear-gradient(90deg, rgba(7,8,7,.48), transparent 75%); }
.is-fa .hero-shade { background: linear-gradient(180deg, rgba(7,8,7,.18) 10%, rgba(7,8,7,.14) 38%, rgba(7,8,7,.83) 100%), linear-gradient(270deg, rgba(7,8,7,.48), transparent 75%); }
.hero-grid-mark { position: absolute; inset-block-start: 8rem; inset-inline-end: var(--ab-gutter); display: flex; align-items: center; gap: .8rem; color: rgba(242,240,235,.65); font-family: Arial,sans-serif; font-size: .65rem; letter-spacing: .15em; writing-mode: vertical-rl; }
.hero-grid-mark i { width: 1px; height: 4rem; background: var(--ab-orange); }
.hero-copy { width: 100%; padding-inline: 0; padding-block: 9rem clamp(4rem, 8vh, 7.5rem); animation: copy-arrive .9s .12s var(--ab-ease) both; }
.eyebrow { display: flex; align-items: center; gap: .9rem; margin: 0 0 1.6rem; color: var(--ab-orange); font-size: .8rem; }
.eyebrow-rule { display: inline-block; width: 2.75rem; height: 1px; background: var(--ab-orange); }
.hero h1 { max-width: 12ch; margin: 0; font-size: clamp(4rem, 10.8vw, 10rem); font-weight: 450; line-height: 1.04; letter-spacing: -.075em; text-transform: uppercase; }
.hero h1 em { color: transparent; font-style: normal; -webkit-text-stroke: 1px rgba(242,240,235,.76); }
.is-fa .hero h1 { max-width: 10ch; font-family: "Vazirmatn", Tahoma, sans-serif; font-size: clamp(3.8rem, 10.5vw, 9rem); font-weight: 650; line-height: 1.48; letter-spacing: 0; }
.is-fa .hero h1 em { color: var(--ab-paper); -webkit-text-stroke: 0; }
.hero-lower { max-width: 64rem; display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-block-start: clamp(2rem, 4.8vw, 4.3rem); }
.hero-statement { max-width: 34rem; margin: 0; color: rgba(242,240,235,.8); font-size: clamp(.98rem, 1.25vw, 1.13rem); line-height: 1.9; }
.text-link { display: inline-flex; align-items: center; gap: 1.25rem; padding-block: .55rem; border-block-end: 1px solid rgba(242,240,235,.5); color: var(--ab-paper); white-space: nowrap; transition: color .25s ease, border-color .25s ease; }
.text-link b { color: var(--ab-orange); font-family: Arial,sans-serif; font-size: 1.1rem; font-weight: 400; transition: transform .3s var(--ab-ease); }
.text-link:hover { color: var(--ab-orange); border-color: var(--ab-orange); }
.text-link:hover b { transform: translate(3px, 3px); }
.scroll-cue { position: absolute; inset-block-end: 2rem; inset-inline-end: var(--ab-gutter); display: flex; align-items: center; gap: .8rem; color: rgba(242,240,235,.75); font: .65rem Arial,sans-serif; letter-spacing: .1em; }
.scroll-cue i { display: block; width: 3.5rem; height: 1px; background: var(--ab-orange); transform-origin: inline-end; animation: cue-line 2.4s ease-in-out infinite; }
.hero-credit { position: absolute; inset-block-end: 2rem; inset-inline-start: var(--ab-gutter); margin: 0; color: rgba(242,240,235,.58); font-size: .68rem; }
.is-en .hero-credit, .is-en .eyebrow, .is-en .section-kicker { letter-spacing: .08em; }
.home-hero { min-height: 100svh; }
.home-hero h1 { max-width: 13ch; }
.is-en .home-hero h1 { max-width: 10.5ch; }
.is-fa .home-hero h1 { max-width: 8.5ch; }
.home-hero .hero-copy { padding-block-end: clamp(5.7rem, 10vh, 8rem); }
.hero-coordinate { position: absolute; inset-block-start: 50%; inset-inline-start: var(--ab-gutter); display: flex; align-items: center; gap: .75rem; color: rgba(242,240,235,.44); font: .56rem Arial,sans-serif; letter-spacing: .15em; writing-mode: vertical-rl; transform: translateY(-50%); }
.hero-coordinate i { width: 1px; height: 4rem; background: rgba(242,240,235,.34); }

.home-page { overflow: clip; }
.home-page h2, .home-page h3, .home-page p { min-width: 0; overflow-wrap: anywhere; }
.home-manifesto, .home-projects, .home-capabilities, .home-numbers, .home-philosophy, .home-journal, .home-final-cta { position: relative; padding-inline: var(--ab-gutter); }
.home-reveal { min-width: 0; opacity: 0; transform: translateY(1.1rem); transition: opacity .75s var(--ab-ease), transform .75s var(--ab-ease); transition-delay: var(--reveal-delay, 0ms); }
.home-reveal.is-visible { opacity: 1; transform: translateY(0); }
.home-overline { display: flex; align-items: center; gap: .85rem; margin: 0 0 1.5rem; color: var(--ab-orange); font-size: .72rem; line-height: 1.8; }
.home-overline > span:first-child { font: .65rem Arial,sans-serif; letter-spacing: .1em; }
.is-en .home-overline { letter-spacing: .08em; text-transform: uppercase; }

.home-manifesto { min-height: 39rem; padding-block: clamp(7rem, 13vw, 12rem) clamp(6rem, 10vw, 9rem); display: grid; grid-template-columns: minmax(8rem, .42fr) 1.58fr; column-gap: clamp(2rem, 6.5vw, 7.5rem); align-items: start; overflow: hidden; }
.home-side-label { display: flex; align-items: center; gap: .8rem; color: var(--ab-orange); font-size: .75rem; }
.home-side-label span:first-child { font: .65rem Arial,sans-serif; }
.manifesto-main { position: relative; z-index: 1; max-width: 63rem; }
.manifesto-main .home-overline { margin-block-end: 1.7rem; }
.manifesto-main h2 { max-width: 15ch; margin: 0; font-size: clamp(2.5rem, 5.8vw, 6.15rem); font-weight: 450; line-height: 1.23; letter-spacing: -.045em; }
.is-fa .manifesto-main h2 { max-width: 17ch; font-size: clamp(2.15rem, 5.1vw, 5.25rem); font-weight: 650; line-height: 1.65; letter-spacing: 0; }
.manifesto-body { max-width: 42rem; margin: 2rem 0 0; color: var(--ab-muted); font-size: clamp(.98rem, 1.2vw, 1.1rem); line-height: 2.1; }
.manifesto-signature { display: flex; align-items: center; gap: .9rem; margin: 2.7rem 0 0; color: var(--ab-paper); font-size: .84rem; }
.signature-line { width: 2.5rem; height: 1px; background: var(--ab-orange); }
.manifesto-geometry { position: absolute; inset-inline-end: -1rem; inset-block-end: 1rem; width: clamp(8rem, 22vw, 20rem); aspect-ratio: 1; opacity: .2; pointer-events: none; }
.manifesto-geometry span { position: absolute; inset: 0; border: 1px solid var(--ab-muted); transform: rotate(45deg) scale(.72); }
.manifesto-geometry span:nth-child(2) { transform: rotate(45deg) scale(.5); }
.manifesto-geometry span:nth-child(3) { transform: rotate(0) scale(.72); }
.manifesto-geometry i { position: absolute; inset-block: 0; inset-inline-start: 50%; width: 1px; background: var(--ab-orange); }

.about-section { position: relative; padding-block: clamp(5.5rem, 10vw, 9rem); display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); column-gap: clamp(2.5rem, 8vw, 8rem); row-gap: clamp(3rem, 6vw, 5.5rem); align-items: center; background: #d7d5ce; color: #171815; }
.about-visual { position: relative; min-height: clamp(26rem, 48vw, 42rem); overflow: hidden; background: #89877f; isolation: isolate; }
.about-visual::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(10,11,10,.08), rgba(10,11,10,.48)); }
.about-visual img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 72% center; filter: saturate(.7); transition: transform 1.2s var(--ab-ease), filter .7s ease; }
.about-visual:hover img { transform: scale(1.035); filter: saturate(.95); }
.about-visual-index, .about-visual-caption { position: absolute; color: #f2f0eb; font: .62rem Arial,sans-serif; letter-spacing: .11em; }
.about-visual-index { inset-block-start: 1.3rem; inset-inline-start: 1.4rem; }
.about-visual-caption { inset-block-end: 1.3rem; inset-inline-start: 1.4rem; font-family: inherit; letter-spacing: 0; }
.about-visual > i { position: absolute; inset-inline-end: 1.4rem; inset-block: 1.4rem; width: 1px; background: rgba(242,240,235,.6); }
.about-copy { max-width: 42rem; }
.about-copy .home-overline { margin-block-end: 1.6rem; color: #a74e24; }
.about-copy h2 { margin: 0; font-size: clamp(2.6rem, 5.2vw, 5.5rem); font-weight: 480; line-height: 1.25; letter-spacing: -.045em; }
.about-copy h2 em { color: #a74e24; font-style: normal; }
.is-fa .about-copy h2 { font-size: clamp(2.15rem, 4.8vw, 4.65rem); font-weight: 650; line-height: 1.65; letter-spacing: 0; }
.about-lead { margin: 1.8rem 0 0; color: #292a26; font-size: clamp(1.05rem, 1.35vw, 1.2rem); line-height: 2; }
.about-body { max-width: 38rem; margin: 1rem 0 0; color: #5c5d57; font-size: .91rem; line-height: 2.1; }
.about-link { margin-block-start: 1.6rem; color: #171815; border-color: rgba(23,24,21,.4); }
.about-principles { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block-start: 1px solid rgba(23,24,21,.25); }
.about-principle { min-width: 0; padding: 1.4rem clamp(1rem, 2.7vw, 2.7rem) .2rem; border-inline-start: 1px solid rgba(23,24,21,.2); }
.about-principle:first-child { border-inline-start: 0; padding-inline-start: 0; }
.about-principle-mark { color: #a74e24; font: .62rem Arial,sans-serif; letter-spacing: .1em; }
.about-principle h3 { margin: .8rem 0 .3rem; font-size: clamp(1.08rem, 1.6vw, 1.42rem); font-weight: 600; line-height: 1.6; }
.about-principle p { max-width: 23rem; margin: 0; color: #5c5d57; font-size: .8rem; line-height: 1.9; }

.home-projects { padding-block: clamp(5.5rem, 10vw, 9rem); background: #e8e6e0; color: #171815; }
.home-section-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(16rem, .8fr); gap: 3rem; align-items: end; margin-block-end: clamp(3rem, 6vw, 5.5rem); }
.home-section-head .home-overline { margin-block-end: 1.4rem; }
.home-section-head h2, .capabilities-heading h2 { max-width: 13ch; margin: 0; font-size: clamp(2.5rem, 5.8vw, 6rem); line-height: 1.22; font-weight: 450; letter-spacing: -.05em; }
.is-fa .home-section-head h2, .is-fa .capabilities-heading h2 { max-width: 14ch; font-size: clamp(2.25rem, 5.2vw, 5.3rem); font-weight: 650; line-height: 1.55; letter-spacing: 0; }
.home-section-intro { max-width: 26rem; margin: 0; color: #66665f; font-size: .96rem; line-height: 2; }
.home-projects .home-overline { color: #a74e24; }
.study-feature { display: grid; grid-template-columns: minmax(0, 1.32fr) minmax(17rem, .68fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.study-feature-image { position: relative; min-height: clamp(23rem, 52vw, 43rem); overflow: hidden; background: #c8c6bf; }
.study-feature-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(13,14,12,.42)); pointer-events: none; }
.study-feature-image img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; transition: transform 1.1s var(--ab-ease); }
.study-feature-image:hover img { transform: scale(1.035); }
.study-image-mark { position: absolute; z-index: 1; inset-inline-start: 1.25rem; inset-block-end: 1.2rem; color: #fff; font: .58rem Arial,sans-serif; letter-spacing: .14em; }
.study-feature-copy { padding-block: 1.5rem; }
.study-number { color: #b0542a; font: .72rem Arial,sans-serif; letter-spacing: .12em; }
.study-feature-copy > p:first-of-type { margin: 2rem 0 .8rem; color: #7b776f; font-size: .73rem; }
.study-feature-copy h3 { margin: 0; font-size: clamp(2.1rem, 3.4vw, 3.65rem); font-weight: 500; line-height: 1.35; }
.study-type { display: block; margin-block-start: .85rem; color: #716f68; font-size: .81rem; }
.study-description { max-width: 25rem; margin: 1.7rem 0 2rem; color: #585a55; font-size: .91rem; line-height: 2; }
.study-link { color: #171815; border-color: rgba(23,24,21,.45); }
.study-list { margin-block-start: clamp(3rem, 7vw, 6.5rem); border-block-start: 1px solid rgba(23,24,21,.27); }
.study-row { min-height: 8rem; display: grid; grid-template-columns: 4rem minmax(0, 1fr) minmax(10rem, .6fr) 2rem; gap: 1.4rem; align-items: center; border-block-end: 1px solid rgba(23,24,21,.27); transition: padding .35s var(--ab-ease), color .25s ease; }
.study-row:hover { padding-inline: .8rem; color: #a74e24; }
.study-row-number { color: #a74e24; font: .72rem Arial,sans-serif; }
.study-row p { margin: 0 0 .3rem; color: #7b776f; font-size: .72rem; }
.study-row h3 { margin: 0; font-size: clamp(1.3rem, 2.5vw, 2.2rem); font-weight: 480; line-height: 1.4; }
.study-row-type { color: #716f68; font-size: .8rem; }
.study-row-mark { color: #a74e24; font: 1.1rem Arial,sans-serif; text-align: end; }
.projects-footnote { display: flex; justify-content: space-between; gap: 1rem; margin-block-start: 1.1rem; color: #77766e; font: .57rem Arial,sans-serif; letter-spacing: .1em; }

.home-capabilities { padding-block: clamp(6rem, 11vw, 10rem); background: var(--ab-black); }
.capabilities-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(16rem, .8fr); gap: 3rem; align-items: end; margin-block-end: 4rem; }
.capabilities-heading .home-overline { margin-block-end: 1.5rem; }
.capabilities-heading h2 { max-width: 15ch; }
.capability-list { border-block-start: 1px solid var(--ab-line); }
.capability-row { min-height: 6.4rem; display: grid; grid-template-columns: 4.2rem minmax(0, 1.1fr) minmax(12rem, .9fr) 2rem; gap: 1rem; align-items: center; border-block-end: 1px solid var(--ab-line); transition: padding .35s var(--ab-ease), background .35s ease; }
.capability-row:hover { padding-inline: .6rem; background: rgba(211,107,50,.045); }
.capability-index { color: var(--ab-orange); font: .67rem Arial,sans-serif; letter-spacing: .09em; }
.capability-row h3 { margin: 0; font-size: clamp(1.3rem, 2.35vw, 2.15rem); font-weight: 450; line-height: 1.5; }
.capability-row p { margin: 0; color: var(--ab-muted); font-size: .8rem; line-height: 1.8; }
.capability-arrow { color: var(--ab-orange); font: 1rem Arial,sans-serif; text-align: end; transition: transform .25s ease; }
.capability-row:hover .capability-arrow { transform: translate(3px,-3px); }
.capability-endnote { display: flex; align-items: center; gap: 1.2rem; margin-block-start: 2.2rem; color: var(--ab-muted); font-size: .76rem; }
.capability-endnote i { width: 2rem; height: 1px; background: var(--ab-orange); }

.home-numbers { padding-block: clamp(3.5rem, 7.5vw, 7rem); display: grid; grid-template-columns: minmax(13rem, .7fr) 1.3fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; background: #1b1c19; }
.numbers-intro .home-overline { margin-block-end: 1rem; }
.numbers-intro > p:last-child { max-width: 22rem; margin: 0; color: var(--ab-muted); font-size: .78rem; line-height: 1.9; }
.numbers-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--ab-line); }
.home-stat { min-height: 9rem; padding: 1.5rem clamp(.8rem, 2vw, 2rem); display: flex; flex-direction: column; justify-content: center; gap: .7rem; border-inline-start: 1px solid var(--ab-line); }
.home-stat:first-child { border-inline-start: 0; }
.home-stat strong { color: var(--ab-paper); font: 450 clamp(3rem, 6vw, 5.5rem)/1 Arial,sans-serif; }
.home-stat span { color: var(--ab-muted); font-size: .76rem; line-height: 1.7; }

.home-philosophy { min-height: 32rem; padding-block: clamp(5.5rem, 10vw, 9rem); display: grid; grid-template-columns: minmax(8rem, .45fr) 1.55fr; gap: clamp(2rem, 7vw, 8rem); align-items: start; overflow: hidden; }
.philosophy-aside { display: flex; flex-direction: column; justify-content: space-between; min-height: 15rem; }
.philosophy-cross { position: relative; width: 3.4rem; height: 3.4rem; }
.philosophy-cross i { position: absolute; inset-inline-start: 50%; inset-block-start: 0; width: 1px; height: 100%; background: var(--ab-orange); transform: rotate(45deg); }
.philosophy-cross i:last-child { transform: rotate(-45deg); }
.philosophy-quote { max-width: 62rem; }
.philosophy-quote h2 { margin: 0; font-size: clamp(2rem, 4.3vw, 4.7rem); font-weight: 430; line-height: 1.55; letter-spacing: -.03em; }
.is-fa .philosophy-quote h2 { font-size: clamp(1.9rem, 4vw, 4.1rem); font-weight: 600; line-height: 1.85; letter-spacing: 0; }
.philosophy-quote > p { display: flex; align-items: center; gap: .8rem; margin: 2.5rem 0 0; color: var(--ab-muted); font-size: .78rem; }
.philosophy-quote > p span { width: 2rem; height: 1px; background: var(--ab-orange); }
.philosophy-index { position: absolute; inset-inline-end: var(--ab-gutter); inset-block-end: 2.5rem; color: rgba(242,240,235,.23); font: .6rem Arial,sans-serif; letter-spacing: .16em; }

.home-journal { padding-block: clamp(5.5rem, 10vw, 9rem); background: #d7d5ce; color: #171815; }
.home-journal .home-overline { color: #a74e24; }
.journal-heading { margin-block-end: 3rem; }
.journal-heading h2 { max-width: 12ch; }
.journal-list { border-block-start: 1px solid rgba(23,24,21,.28); }
.journal-item { border-block-end: 1px solid rgba(23,24,21,.28); }
.journal-item summary { min-height: 8.5rem; display: grid; grid-template-columns: 4.5rem minmax(0, 1fr) 2.5rem; align-items: center; gap: 1.3rem; list-style: none; cursor: pointer; }
.journal-item summary::-webkit-details-marker { display: none; }
.journal-index { color: #a74e24; font: .72rem Arial,sans-serif; }
.journal-copy { display: flex; flex-direction: column; gap: .35rem; min-width: 0; }
.journal-copy small { color: #77766e; font-size: .72rem; }
.journal-copy strong { font-size: clamp(1.25rem, 2.4vw, 2rem); font-weight: 500; line-height: 1.45; }
.journal-plus { color: #a74e24; font: 1.5rem Arial,sans-serif; text-align: center; transition: transform .3s ease; }
.journal-item[open] .journal-plus { transform: rotate(45deg); }
.journal-summary { max-width: 42rem; margin: -1rem 4.5rem 2rem; color: #5c5d57; font-size: .91rem; line-height: 2; }
.is-fa .journal-summary { margin-inline-start: 4.5rem; margin-inline-end: 0; }
.journal-item:focus-within summary { outline: 2px solid #a74e24; outline-offset: 4px; }

.home-final-cta { min-height: 29rem; padding-block: clamp(5rem, 9vw, 8rem); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(14rem, .8fr); gap: 3rem; align-items: end; overflow: hidden; background: var(--ab-deep); }
.cta-copy { position: relative; z-index: 1; }
.cta-copy h2 { max-width: 15ch; margin: 0; font-size: clamp(2.4rem, 5.4vw, 5.5rem); font-weight: 450; line-height: 1.3; letter-spacing: -.045em; }
.is-fa .cta-copy h2 { max-width: 17ch; font-size: clamp(2.1rem, 4.9vw, 4.8rem); font-weight: 650; line-height: 1.65; letter-spacing: 0; }
.cta-note { margin: 1.5rem 0 0; color: var(--ab-muted); font-size: .85rem; }
.cta-action { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 2.5rem; }
.cta-button { min-height: 4.2rem; padding: .9rem 0; display: inline-flex; align-items: center; justify-content: space-between; gap: 2.4rem; border-block-end: 1px solid var(--ab-orange); font-size: .92rem; transition: color .25s ease; }
.cta-button b { color: var(--ab-orange); font: 1.1rem Arial,sans-serif; transition: transform .3s var(--ab-ease); }
.cta-button:hover { color: var(--ab-orange); }
.cta-button:hover b { transform: translate(4px,-4px); }
.cta-mark { color: rgba(242,240,235,.4); font: .57rem Arial,sans-serif; letter-spacing: .14em; }
.cta-architectural-mark { position: absolute; inset-inline-end: 12%; inset-block-start: 5%; width: clamp(8rem, 24vw, 21rem); aspect-ratio: 1; opacity: .13; pointer-events: none; }
.cta-architectural-mark span, .cta-architectural-mark i, .cta-architectural-mark b { position: absolute; display: block; border: 1px solid var(--ab-paper); }
.cta-architectural-mark span { inset: 12%; transform: rotate(45deg); }
.cta-architectural-mark i { inset: 29%; transform: rotate(45deg); }
.cta-architectural-mark b { inset: 46%; border-color: var(--ab-orange); }

.site-footer { padding-block: 2.7rem 1.4rem; background: #0b0c0a; }
.footer-top { min-height: 7rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.footer-brand { font-family: Arial,sans-serif; font-size: clamp(2rem, 5vw, 4.1rem); font-weight: 650; letter-spacing: -.07em; line-height: 1; }
.footer-brand span { color: var(--ab-orange); }
.footer-top p { color: var(--ab-muted); font-size: .92rem; }
.back-top { width: 2.8rem; height: 2.8rem; display: grid; place-items: center; border: 1px solid var(--ab-line); font: 1.15rem Arial,sans-serif; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.back-top:hover { background: var(--ab-orange); color: var(--ab-black); border-color: var(--ab-orange); }
.footer-bottom { padding-block: 1.15rem .2rem; border-block-start: 1px solid var(--ab-line); display: flex; justify-content: space-between; gap: 1rem; color: var(--ab-muted); font-size: .67rem; }
.is-en .footer-bottom, .is-en .footer-top .footer-brand { letter-spacing: .08em; }
.footer-bottom a { color: var(--ab-paper); }
.footer-bottom a:hover { color: var(--ab-orange); }
.contact-note { max-width: 25rem; margin: 0; color: var(--ab-muted); font-size: .88rem; line-height: 1.9; }

/* موج ۰۴ — فهرست خدمات، جزئیات اجرایی و کاتالوگ تخصص‌ها */
.section-anchor, #services, #expertise, .service-detail { scroll-margin-block-start: 6rem; }
.service-index { border-block-start: 1px solid var(--ab-line); }
.service-index-row { min-height: 6.1rem; display: grid; grid-template-columns: 4.2rem minmax(0, 1fr) minmax(12rem, .9fr) 2rem; gap: 1rem; align-items: center; border-block-end: 1px solid var(--ab-line); transition: padding .35s var(--ab-ease), background .35s ease, color .25s ease; }
.service-index-row:hover, .service-index-row:focus-visible { padding-inline: .65rem; background: rgba(211,107,50,.055); color: var(--ab-orange); }
.service-index-title { min-width: 0; font-size: clamp(1.25rem, 2.25vw, 2rem); line-height: 1.55; }
.service-index-detail { min-width: 0; color: var(--ab-muted); font-size: .8rem; line-height: 1.8; }
.service-index-row .capability-arrow { font-size: 1rem; }
.service-detail-stack { margin-block-start: clamp(4rem, 9vw, 8rem); }
.service-detail { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; padding-block: clamp(2.5rem, 6vw, 5.5rem); border-block-start: 1px solid var(--ab-line); scroll-margin-block-start: 6rem; }
.service-detail:nth-child(even) .service-detail-visual { order: 2; }
.service-detail-visual { position: relative; min-height: clamp(19rem, 37vw, 34rem); overflow: hidden; background: #292a26; }
.service-detail-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(8,9,8,.58)); pointer-events: none; }
.service-detail-visual img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; filter: saturate(.7); transition: transform 1s var(--ab-ease), filter .6s ease; }
.service-detail:hover .service-detail-visual img { transform: scale(1.035); filter: saturate(.95); }
.service-detail-visual > span { position: absolute; z-index: 1; inset-inline-start: 1.2rem; inset-block-end: 1.1rem; color: #fff; font: .6rem Arial,sans-serif; letter-spacing: .1em; }
.service-detail-copy { min-width: 0; max-width: 39rem; }
.service-detail-copy .home-overline { margin-block-end: .8rem; }
.service-detail-copy h3 { margin: 0; font-size: clamp(2.1rem, 4vw, 4.4rem); font-weight: 500; line-height: 1.35; }
.is-fa .service-detail-copy h3 { font-weight: 650; line-height: 1.6; }
.service-detail-intro { margin: 1.25rem 0 2rem; color: var(--ab-muted); font-size: .98rem; line-height: 2; }
.service-detail-meta { padding-block: .95rem; border-block-start: 1px solid var(--ab-line); }
.service-detail-meta > span { color: var(--ab-orange); font-size: .68rem; }
.service-detail-meta p { margin: .4rem 0 0; color: rgba(242,240,235,.82); font-size: .82rem; line-height: 1.9; }
.service-detail-cta { display: inline-flex; align-items: center; gap: 1.1rem; margin-block-start: 1.4rem; padding-block: .7rem; border-block-end: 1px solid rgba(242,240,235,.4); font-size: .85rem; transition: color .25s ease, border-color .25s ease; }
.service-detail-cta:hover { color: var(--ab-orange); border-color: var(--ab-orange); }
.service-detail-cta b { color: var(--ab-orange); font: 1rem Arial,sans-serif; }
.service-process { margin-block-start: clamp(3rem, 8vw, 7rem); padding-block: clamp(2rem, 4vw, 3.5rem); display: grid; grid-template-columns: minmax(13rem, .7fr) 1.3fr; gap: clamp(2rem, 6vw, 6rem); border-block: 1px solid var(--ab-line); }
.service-process h3 { max-width: 13ch; margin: 0; font-size: clamp(1.8rem, 3.5vw, 3.2rem); font-weight: 480; line-height: 1.45; }
.service-process ol { margin: 0; padding: 0; list-style: none; }
.service-process li { min-height: 3.6rem; display: flex; align-items: center; gap: 1.2rem; border-block-end: 1px solid var(--ab-line); font-size: .9rem; }
.service-process li:last-child { border-block-end: 0; }
.service-process li span { color: var(--ab-orange); font: .65rem Arial,sans-serif; }
.expertise-section { padding-block: clamp(6rem, 11vw, 10rem); background: #d7d5ce; color: #171815; }
.expertise-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(16rem, .8fr); gap: 3rem; align-items: end; margin-block-end: clamp(3rem, 6vw, 5rem); }
.expertise-head .home-overline { color: #a74e24; }
.expertise-head h2 { max-width: 15ch; margin: 0; font-size: clamp(2.4rem, 5.4vw, 5.5rem); font-weight: 480; line-height: 1.3; letter-spacing: -.04em; }
.is-fa .expertise-head h2 { font-size: clamp(2rem, 4.8vw, 4.7rem); font-weight: 650; line-height: 1.65; letter-spacing: 0; }
.expertise-head > .home-reveal:last-child { color: #5c5d57; font-size: .92rem; line-height: 2; }
.expertise-head > .home-reveal:last-child p { margin: 0; }
.expertise-materials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid rgba(23,24,21,.28); }
.material-feature { min-width: 0; padding: 1.4rem clamp(1rem, 2.2vw, 2rem) 1.8rem; border-inline-start: 1px solid rgba(23,24,21,.25); }
.material-feature:first-child { border-inline-start: 0; padding-inline-start: 0; }
.material-feature:last-child { padding-inline-end: 0; }
.material-index { color: #a74e24; font: .62rem Arial,sans-serif; letter-spacing: .1em; }
.material-drawing { position: relative; height: clamp(9rem, 18vw, 15rem); margin-block: 1.3rem 1.6rem; overflow: hidden; background: #c7c5bd; }
.material-drawing i, .material-drawing b, .material-drawing em { position: absolute; display: block; border: 1px solid rgba(23,24,21,.65); }
.material-drawing i { inset: 13% 23%; }
.material-drawing b { inset: 13% 47%; border-block: 0; }
.material-drawing em { inset: 13% 23% 49%; border-inline: 0; }
.glass-drawing { background: #bec4c1; }
.glass-drawing i { inset: 9% 18%; border-color: rgba(23,24,21,.48); }
.glass-drawing b { inset: 9% 49% 9% 32%; background: rgba(242,240,235,.35); }
.glass-drawing em { inset: 9% 18% 9% 67%; background: rgba(23,24,21,.07); }
.joint-drawing { background: #bbb9b1; }
.joint-drawing i { inset: 15% 18% 15% 48%; }
.joint-drawing b { inset: 15% 48% 15% 42%; background: rgba(211,107,50,.72); border: 0; }
.joint-drawing em { inset: 48% 18% 44% 48%; background: #e2e0d9; }
.material-feature h3 { margin: 0; font-size: clamp(1.15rem, 1.75vw, 1.55rem); font-weight: 600; line-height: 1.6; }
.material-feature p { min-height: 6.3rem; margin: .65rem 0 1.2rem; color: #5c5d57; font-size: .81rem; line-height: 2; }
.material-tags { color: #a74e24; font-size: .68rem; }
.material-light .material-drawing { background-color: #c5cbc7; }
.expertise-note { margin-block-start: 1.5rem; display: grid; grid-template-columns: minmax(8rem, .32fr) 1.68fr; gap: 1rem; color: #5c5d57; font-size: .76rem; line-height: 1.9; }
.expertise-note span { color: #a74e24; }
.expertise-note p { max-width: 52rem; margin: 0; }

@keyframes image-arrive { from { transform: scale(1.035); opacity: .72; } to { transform: scale(1); opacity: 1; } }
@keyframes copy-arrive { from { opacity: 0; transform: translateY(1.2rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes cue-line { 0%, 100% { transform: scaleX(.58); opacity: .55; } 50% { transform: scaleX(1); opacity: 1; } }

@media (max-width: 820px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .header-tools { margin-inline-start: auto; }
  .home-manifesto, .home-philosophy { grid-template-columns: 1fr; gap: 2.2rem; }
  .about-section { grid-template-columns: minmax(0, 1fr); row-gap: 2.5rem; }
  .about-visual { min-height: clamp(20rem, 72vw, 32rem); }
  .about-principles { grid-template-columns: 1fr; }
  .about-principle, .about-principle:first-child { padding: 1.25rem 0; border-inline-start: 0; border-block-end: 1px solid rgba(23,24,21,.2); }
  .about-principle:last-child { border-block-end: 0; }
  .home-side-label { align-items: center; }
  .home-section-head, .capabilities-heading, .expertise-head { grid-template-columns: 1fr; gap: 1.3rem; }
  .service-index-row { grid-template-columns: 2.6rem minmax(0, 1fr) 1.4rem; gap: .65rem; padding-block: .55rem; }
  .service-index-detail { display: none; }
  .service-detail { grid-template-columns: 1fr; gap: 1.5rem; }
  .service-detail:nth-child(even) .service-detail-visual { order: 0; }
  .service-detail-visual { min-height: clamp(17rem, 58vw, 26rem); }
  .service-process { grid-template-columns: 1fr; gap: 1.5rem; }
  .expertise-materials { grid-template-columns: 1fr; }
  .material-feature, .material-feature:first-child, .material-feature:last-child { padding: 1.3rem 0 1.5rem; border-inline-start: 0; border-block-end: 1px solid rgba(23,24,21,.25); }
  .material-feature:last-child { border-block-end: 0; }
  .material-drawing { height: clamp(11rem, 45vw, 18rem); }
  .material-feature p { min-height: 0; }
  .expertise-note { grid-template-columns: 1fr; gap: .35rem; }
  .study-feature { grid-template-columns: 1fr; gap: 2rem; }
  .study-feature-copy { padding-block: 0; }
  .home-numbers { grid-template-columns: 1fr; gap: 2.5rem; }
  .philosophy-aside { min-height: auto; flex-direction: row; align-items: center; }
  .home-final-cta { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-manifesto { min-height: auto; }
}
@media (max-width: 560px) {
  :root { --ab-gutter: 1.15rem; }
  .site-header { min-height: 4.7rem; }
  .site-header.is-scrolled { min-height: 4.1rem; }
  .brand-wordmark { font-size: .78rem; }
  .brand-mark { width: 1.65rem; height: 1.65rem; }
  .brand-mark i { width: 1.4rem; }
  .language-switch { font-size: .63rem; }
  .header-tools { gap: .9rem; }
  .menu-toggle-label { font-size: .7rem; }
  .hero { min-height: 92svh; }
  .hero-image { object-position: 52% center; }
  .hero-copy { padding-block: 8rem 8.5rem; }
  .hero h1 { font-size: clamp(3.4rem, 17vw, 5.5rem); }
  .is-fa .hero h1 { font-size: clamp(3rem, 15vw, 4.8rem); }
  .home-hero .hero-copy { padding-block-end: 8rem; }
  .is-fa .home-hero h1 { font-size: clamp(2.9rem, 14vw, 4.5rem); }
  .is-en .home-hero h1 { font-size: clamp(3.2rem, 16vw, 5.2rem); }
  .hero-coordinate { display: none; }
  .hero-lower { align-items: flex-start; flex-direction: column; gap: 1.4rem; margin-block-start: 1.7rem; }
  .hero-statement { max-width: 29rem; font-size: .93rem; }
  .hero-credit { inset-block-end: 1.5rem; max-width: 55%; font-size: .55rem; }
  .scroll-cue { inset-block-end: 1.5rem; }
  .scroll-cue i { width: 2rem; }
  .hero-grid-mark { inset-block-start: 6rem; }
  .home-manifesto { padding-block: 5rem; row-gap: 2rem; }
  .about-section { padding-block: 4.5rem; }
  .about-visual { min-height: 19rem; }
  .about-copy h2 { font-size: clamp(2.1rem, 9.4vw, 3.4rem); }
  .is-fa .about-copy h2 { font-size: clamp(1.9rem, 8.4vw, 3rem); }
  .about-lead { margin-block-start: 1.2rem; font-size: .98rem; }
  .about-body { font-size: .86rem; }
  .manifesto-main h2 { font-size: clamp(2.1rem, 10vw, 3.5rem); }
  .is-fa .manifesto-main h2 { font-size: clamp(1.9rem, 8.5vw, 3rem); }
  .manifesto-body { margin-block-start: 1.2rem; font-size: .96rem; }
  .home-projects, .home-capabilities, .home-journal, .expertise-section { padding-block: 4.6rem; }
  .service-index-row { min-height: 5.2rem; }
  .service-index-title { font-size: 1.16rem; }
  .service-detail { padding-block: 2.2rem; }
  .service-detail-visual { min-height: 16rem; }
  .service-detail-copy h3 { font-size: 2rem; }
  .service-detail-intro { margin-block: .8rem 1.2rem; font-size: .91rem; }
  .service-detail-meta p { font-size: .77rem; }
  .service-process h3 { font-size: 1.8rem; }
  .expertise-head h2, .is-fa .expertise-head h2 { font-size: clamp(1.9rem, 8.3vw, 3rem); }
  .expertise-head { margin-block-end: 2rem; }
  .material-drawing { height: 11rem; }
  .home-section-head h2, .capabilities-heading h2 { font-size: clamp(2.1rem, 9.3vw, 3.4rem); }
  .is-fa .home-section-head h2, .is-fa .capabilities-heading h2 { font-size: clamp(1.9rem, 8.2vw, 3rem); }
  .home-section-intro { font-size: .88rem; }
  .study-feature-image { min-height: 20rem; }
  .study-row { min-height: 7.2rem; grid-template-columns: 2.2rem minmax(0, 1fr) 1.2rem; gap: .65rem; }
  .study-row-type { display: none; }
  .study-row h3 { font-size: 1.22rem; }
  .study-row p { font-size: .66rem; }
  .projects-footnote { font-size: .48rem; }
  .capability-row { min-height: 6.4rem; grid-template-columns: 2rem minmax(0, 1fr) 1.2rem; gap: .65rem; }
  .capability-row h3 { font-size: 1.25rem; }
  .capability-row p { display: none; }
  .capability-endnote { align-items: flex-start; font-size: .72rem; }
  .home-numbers { padding-block: 3.5rem; }
  .numbers-grid { grid-template-columns: 1fr; }
  .home-stat { min-height: 7rem; padding-inline: .6rem; border-inline-start: 0; border-block-end: 1px solid var(--ab-line); }
  .home-stat:last-child { border-block-end: 0; }
  .home-stat strong { font-size: 3.4rem; }
  .home-philosophy { min-height: auto; padding-block: 5rem; }
  .philosophy-quote h2 { font-size: clamp(1.8rem, 8.3vw, 2.8rem); }
  .is-fa .philosophy-quote h2 { font-size: clamp(1.7rem, 7.8vw, 2.55rem); }
  .journal-item summary { min-height: 7.5rem; grid-template-columns: 2.2rem minmax(0, 1fr) 1.7rem; gap: .7rem; }
  .journal-copy strong { font-size: 1.13rem; }
  .journal-copy small { font-size: .65rem; }
  .journal-summary, .is-fa .journal-summary { margin: -.45rem 2.9rem 1.5rem; font-size: .86rem; }
  .home-final-cta { min-height: auto; padding-block: 4.5rem; }
  .cta-copy h2 { font-size: clamp(2.1rem, 9.6vw, 3.4rem); }
  .is-fa .cta-copy h2 { font-size: clamp(1.9rem, 8.5vw, 3rem); }
  .cta-action { gap: 1.5rem; }
  .footer-top { align-items: flex-start; flex-wrap: wrap; min-height: auto; padding-block-end: 1.5rem; gap: 1rem; }
  .footer-top p { order: 3; width: 100%; margin: 0; }
  .footer-bottom { flex-direction: column; gap: .25rem; font-size: .64rem; }
  .footer-bottom span:nth-child(2) { order: 3; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .home-reveal { opacity: 1; transform: none; }
}

/* موج ۰۵ — تحریریهٔ معماری، هویت استودیو و همکاری */
.wave-page { min-height: 70dvh; overflow: clip; }
.wave-intro { position: relative; min-height: min(78svh, 52rem); padding-block: 10rem clamp(4rem, 8vw, 7rem); display: flex; align-items: flex-end; background-color: #1a1b18; background-size: cover; background-position: center; isolation: isolate; }
.wave-intro-inner { max-width: 62rem; position: relative; z-index: 1; }
.wave-intro .home-overline { margin-block-end: 1.25rem; }
.wave-intro h1 { max-width: 15ch; margin: 0; font-size: clamp(3rem, 8vw, 7.7rem); font-weight: 480; line-height: 1.22; letter-spacing: -.045em; }
.is-fa .wave-intro h1 { max-width: 13ch; font-size: clamp(2.6rem, 7vw, 6.5rem); font-weight: 650; line-height: 1.6; letter-spacing: 0; }
.wave-intro-inner > p:last-child { max-width: 42rem; margin: 1.35rem 0 0; color: rgba(242,240,235,.76); font-size: clamp(.98rem, 1.35vw, 1.12rem); line-height: 2; }
.wave-intro-coordinate { position: absolute; inset-inline-end: var(--ab-gutter); inset-block-start: 8rem; color: rgba(242,240,235,.63); font: .62rem Arial,sans-serif; letter-spacing: .12em; writing-mode: vertical-rl; }
.wave-section { padding-block: clamp(4.5rem, 9vw, 8rem); }
.wave-section-label { color: var(--ab-orange); font-size: .76rem; }
.wave-section-label p { margin-block-start: 1.2rem; color: var(--ab-muted); }
.wave-story { display: grid; grid-template-columns: minmax(8rem,.42fr) minmax(0,1.15fr) minmax(14rem,.78fr); gap: clamp(1.5rem,5vw,5rem); align-items: start; }
.wave-story-copy h2 { max-width: 18ch; margin: 0; font-size: clamp(2.2rem,4.8vw,4.8rem); font-weight: 470; line-height: 1.35; letter-spacing: -.04em; }
.is-fa .wave-story-copy h2 { font-size: clamp(2rem,4.4vw,4.3rem); font-weight: 650; line-height: 1.65; letter-spacing: 0; }
.wave-story-copy h2 em { color: var(--ab-orange); font-style: normal; }
.wave-story-copy > div > p { max-width: 40rem; margin-block-start: 1.5rem; color: var(--ab-muted); line-height: 2.15; }
.wave-story-image { position: relative; min-height: 21rem; margin: .5rem 0 0; }
.wave-story-image img { width: 100%; height: 100%; min-height: 21rem; display: block; object-fit: cover; filter: saturate(.72); }
.wave-story-image figcaption { position: absolute; inset-inline-start: 1rem; inset-block-end: .8rem; color: #fff; font: .58rem Arial,sans-serif; letter-spacing: .12em; }
.wave-section-heading { max-width: 54rem; margin-block-end: clamp(2rem,5vw,4rem); }
.wave-section-heading h2, .wave-stats h2 { max-width: 16ch; margin: 0; font-size: clamp(2.2rem,4.8vw,4.6rem); font-weight: 470; line-height: 1.35; letter-spacing: -.04em; }
.is-fa .wave-section-heading h2, .is-fa .wave-stats h2 { font-size: clamp(2rem,4.3vw,4.1rem); font-weight: 650; line-height: 1.65; letter-spacing: 0; }
.wave-section-heading > p:last-child { max-width: 43rem; color: var(--ab-muted); line-height: 2; }
.wave-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--ab-line); }
.wave-principles article { min-width: 0; padding: 1.5rem clamp(1rem,2.5vw,2.4rem) 1.3rem; border-inline-start: 1px solid var(--ab-line); }
.wave-principles article:first-child { border-inline-start: 0; padding-inline-start: 0; }
.wave-principles article > span, .wave-timeline-index { color: var(--ab-orange); font: .7rem Arial,sans-serif; }
.wave-principles h3, .wave-role-list h3 { margin: 1rem 0 .5rem; font-size: 1.25rem; font-weight: 560; line-height: 1.7; }
.wave-principles p, .wave-role-list p { margin: 0; color: var(--ab-muted); font-size: .87rem; line-height: 2; }
.wave-timeline { background: #1a1b18; }
.wave-timeline-list { max-width: 62rem; margin: 0; padding: 0; list-style: none; border-block-start: 1px solid var(--ab-line); }
.wave-timeline-list li { display: grid; grid-template-columns: 4rem minmax(0,1fr); gap: 1rem; padding-block: 1.3rem; border-block-end: 1px solid var(--ab-line); }
.wave-timeline-list h3 { margin: 0; font-size: clamp(1.15rem,2vw,1.7rem); font-weight: 520; }
.wave-timeline-list p { margin: .3rem 0 0; color: var(--ab-muted); line-height: 1.9; }
.wave-stats { display: grid; grid-template-columns: minmax(13rem,.75fr) 1.25fr; gap: clamp(2rem,7vw,7rem); align-items: center; background: #d7d5ce; color: #171815; }
.wave-stats > div:first-child > p:last-child { max-width: 24rem; color: #62625c; font-size: .86rem; line-height: 1.9; }
.wave-stats .home-overline { color: #a74e24; }
.wave-stat-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid rgba(23,24,21,.28); }
.wave-stat-grid > div { min-height: 9rem; padding: 1.2rem; display: flex; flex-direction: column; justify-content: center; gap: .8rem; border-inline-start: 1px solid rgba(23,24,21,.22); }
.wave-stat-grid > div:first-child { border-inline-start: 0; }
.wave-stat-grid strong { font: 450 clamp(2.7rem,5vw,4.5rem)/1 Arial,sans-serif; color: #a74e24; }
.wave-stat-grid span { color: #55564f; font-size: .78rem; line-height: 1.7; }
.wave-team-feature { position: relative; min-height: clamp(18rem,43vw,34rem); overflow: hidden; background: #333; }
.wave-team-feature img { width: 100%; height: 100%; min-height: inherit; display: block; object-fit: cover; filter: saturate(.6); }
.wave-team-feature > div { position: absolute; inset-inline: 0; inset-block-end: 0; padding: clamp(1.2rem,4vw,3rem); background: linear-gradient(transparent,rgba(8,9,8,.8)); }
.wave-team-feature > div > span { color: #ff9a62; font: .62rem Arial,sans-serif; letter-spacing: .12em; }
.wave-team-feature > div > p { max-width: 45rem; margin: .7rem 0 0; font-size: clamp(1.05rem,2vw,1.5rem); line-height: 1.8; }
.wave-role-list { margin-block-start: 2rem; border-block-start: 1px solid var(--ab-line); }
.wave-role-list article { display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: 1rem; padding-block: 1.2rem; border-block-end: 1px solid var(--ab-line); }
.wave-role-list article > span { padding-block-start: 1rem; color: var(--ab-orange); font: .65rem Arial,sans-serif; }
.wave-role-list h3 { margin-block: 0 .3rem; }
.wave-end { min-height: 18rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; background: #1a1b18; }
.wave-end > p { max-width: 16ch; margin: 0; font-size: clamp(1.8rem,4vw,3.6rem); line-height: 1.5; }
.journal-listing { padding-block-start: 3rem; }
.journal-feature-link { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(18rem,.8fr); gap: clamp(2rem,5vw,5rem); align-items: center; }
.journal-feature-image, .journal-card-image { position: relative; overflow: hidden; background: #292a26; }
.journal-feature-image { min-height: clamp(20rem,46vw,39rem); }
.journal-feature-image img, .journal-card-image img { width: 100%; height: 100%; min-height: inherit; display: block; object-fit: cover; transition: transform 1s var(--ab-ease); }
.journal-feature-link:hover img, .journal-grid article a:hover img, .article-related-grid a:hover img { transform: scale(1.035); }
.journal-feature-image > span, .journal-card-image > span { position: absolute; inset-inline-start: 1rem; inset-block-end: .9rem; color: white; font: .58rem Arial,sans-serif; letter-spacing: .1em; }
.journal-feature-copy { position: relative; min-width: 0; padding-block: 1rem; }
.journal-feature-copy .home-overline, .journal-card-category { color: #b45a2e; }
.journal-feature-copy h2 { margin: 0; font-size: clamp(2rem,4vw,3.8rem); line-height: 1.45; font-weight: 520; }
.journal-feature-copy > p:not(.home-overline) { max-width: 28rem; color: var(--ab-muted); line-height: 2; }
.journal-feature-copy > b { position: absolute; inset-inline-end: 0; inset-block-end: .2rem; color: var(--ab-orange); font: 1.4rem Arial,sans-serif; }
.journal-meta { display: flex; flex-wrap: wrap; gap: .6rem 1.3rem; color: var(--ab-muted); font-size: .72rem; }
.journal-grid { margin-block-start: clamp(4rem,8vw,7rem); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,2.5vw,2rem); }
.journal-grid article { min-width: 0; border-block-start: 1px solid var(--ab-line); padding-block-start: 1rem; }
.journal-card-image { aspect-ratio: 1.35; }
.journal-card-image img { min-height: 0; }
.journal-card-category { margin: 1rem 0 .5rem; font-size: .72rem; }
.journal-grid h2 { margin: 0; font-size: clamp(1.2rem,2vw,1.7rem); line-height: 1.55; font-weight: 540; }
.journal-card-excerpt { min-height: 4.5rem; color: var(--ab-muted); font-size: .82rem; line-height: 1.9; }
.journal-grid .journal-meta { margin-block-start: 1rem; padding-block-start: .8rem; border-block-start: 1px solid var(--ab-line); }
.wave-preview-note { margin-block-start: 2rem; color: var(--ab-muted); font-size: .75rem; }
.article-heading { max-width: 64rem; margin-inline: auto; padding-block: 9rem 3rem; }
.article-back { display: inline-flex; align-items: center; gap: .7rem; min-height: 2.75rem; margin-block-end: 2.5rem; color: var(--ab-muted); font-size: .85rem; }
.article-back:first-letter { color: var(--ab-orange); }
.article-heading h1 { max-width: 18ch; margin: 0; font-size: clamp(2.6rem,7vw,6rem); line-height: 1.35; font-weight: 520; letter-spacing: -.035em; }
.is-fa .article-heading h1 { font-size: clamp(2.2rem,6vw,5.4rem); font-weight: 650; line-height: 1.65; letter-spacing: 0; }
.article-deck { max-width: 44rem; color: var(--ab-muted); font-size: 1.08rem; line-height: 2; }
.article-heading .journal-meta { margin-block-start: 1.5rem; padding-block-start: 1rem; border-block-start: 1px solid var(--ab-line); }
.article-hero-image { max-width: 90rem; margin-inline: auto; }
.article-hero-image img { width: 100%; max-height: 72svh; display: block; aspect-ratio: 1.9; object-fit: cover; }
.article-hero-image figcaption { margin-block-start: .75rem; color: var(--ab-muted); font: .58rem Arial,sans-serif; letter-spacing: .11em; }
.article-body { max-width: 43rem; margin: 0 auto; padding: 3.5rem var(--ab-gutter) 2rem; font-size: 1.04rem; line-height: 2.2; }
.article-body > p { margin-block: 0 1.6rem; color: #d0cec8; }
.article-body > .article-opening { color: var(--ab-paper); font-size: 1.19rem; }
.article-body aside { margin-block: 3rem; padding: 1.2rem 1.4rem; border-inline-start: 2px solid var(--ab-orange); background: #1a1b18; }
.article-body aside span { color: var(--ab-orange); font-size: .74rem; }
.article-body aside p { margin: .5rem 0 0; font-size: 1.2rem; line-height: 1.8; }
.article-related { background: #1a1b18; }
.article-related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.article-related-grid a { display: grid; grid-template-columns: minmax(7rem,.38fr) 1fr; gap: .25rem 1rem; align-items: center; border-block-start: 1px solid var(--ab-line); padding-block-start: 1rem; }
.article-related-grid img { grid-row: span 2; width: 100%; aspect-ratio: 1.3; object-fit: cover; }
.article-related-grid span { color: var(--ab-orange); font-size: .72rem; }
.article-related-grid h3 { margin: 0; font-size: 1.05rem; line-height: 1.6; }
.careers-culture { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(2rem,7vw,7rem); }
.careers-culture .wave-section-heading { margin: 0; }
.careers-culture-copy > p { margin-block-start: 0; color: var(--ab-muted); line-height: 2.1; }
.careers-culture-copy ul { margin: 1.5rem 0 0; padding: 0; list-style: none; border-block-start: 1px solid var(--ab-line); }
.careers-culture-copy li { display: flex; align-items: baseline; gap: .8rem; padding-block: .8rem; border-block-end: 1px solid var(--ab-line); }
.careers-culture-copy li span { color: var(--ab-orange); }
.careers-roles { background: #1a1b18; }
.careers-role-list { border-block-start: 1px solid var(--ab-line); }
.careers-role-list article { display: grid; grid-template-columns: 3rem minmax(0,1fr) minmax(9rem,.45fr); gap: 1rem; align-items: center; padding-block: 1.2rem; border-block-end: 1px solid var(--ab-line); }
.careers-role-list article > span:first-child { color: var(--ab-orange); font: .7rem Arial,sans-serif; }
.careers-role-list h3 { margin: 0; font-size: clamp(1.1rem,2vw,1.5rem); }
.careers-role-list p { margin: .2rem 0 0; color: var(--ab-muted); font-size: .82rem; }
.role-status { color: #c0beb8; font-size: .7rem; }
.careers-form-section { background: #d7d5ce; color: #171815; }
.careers-form-section .home-overline { color: #a74e24; }
.careers-form-section .wave-section-heading > p:last-child { color: #5f6059; }
.careers-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.4rem 2rem; max-width: 58rem; }
.careers-field { min-width: 0; display: flex; flex-direction: column; gap: .4rem; }
.careers-field-wide { grid-column: 1 / -1; }
.careers-field label { font-size: .81rem; font-weight: 550; }
.careers-field label > span { color: #a74e24; }
.careers-field input:not([type="file"]), .careers-field select, .careers-field textarea { width: 100%; min-height: 3.2rem; padding: .6rem .15rem; color: #171815; background: transparent; border: 0; border-block-end: 1px solid rgba(23,24,21,.42); border-radius: 0; font: inherit; line-height: 1.7; }
.careers-field textarea { resize: vertical; }
.careers-field input:focus, .careers-field select:focus, .careers-field textarea:focus { outline: 2px solid #a74e24; outline-offset: 3px; border-color: transparent; }
.careers-field select option { color: #171815; }
.resume-picker { min-height: 3.2rem; padding: .55rem .2rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem; border-block-end: 1px solid rgba(23,24,21,.42); cursor: pointer; }
.resume-picker span:first-child { color: #a74e24; }
.resume-picker span:last-child { color: #62625c; font-size: .78rem; overflow-wrap: anywhere; }
.resume-input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.careers-field:focus-within .resume-picker { outline: 2px solid #a74e24; outline-offset: 3px; }
.resume-input:focus-visible + .unused { outline: 2px solid #a74e24; }
.careers-consent { display: flex; align-items: flex-start; gap: .7rem; font-size: .82rem; line-height: 1.8; }
.careers-consent input { width: 1.1rem; height: 1.1rem; margin-block-start: .3rem; accent-color: #a74e24; }
.careers-submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; }
.careers-submit-row .cta-button { color: #171815; border-color: #a74e24; cursor: pointer; }
.careers-submit-row .cta-button:disabled { opacity: .58; cursor: progress; }
.careers-submit-row > p { min-height: 1.5rem; margin: 0; color: #4d4e48; font-size: .84rem; }
.footer-wave-links { display: flex; flex-wrap: wrap; gap: .7rem 1.6rem; padding-block: 1rem; border-block-start: 1px solid var(--ab-line); color: var(--ab-muted); font-size: .78rem; }
.footer-wave-links a:hover { color: var(--ab-orange); }
@media (max-width: 820px) {
  .wave-story { grid-template-columns: 1fr 1fr; }
  .wave-section-label { grid-column: 1 / -1; }
  .wave-story-image { grid-column: 1 / -1; min-height: 17rem; }
  .wave-story-image img { min-height: 17rem; }
  .wave-principles { grid-template-columns: 1fr; }
  .wave-principles article, .wave-principles article:first-child { padding: 1.2rem 0; border-inline-start: 0; border-block-end: 1px solid var(--ab-line); }
  .wave-principles article:last-child { border-block-end: 0; }
  .wave-stats, .careers-culture { grid-template-columns: 1fr; }
  .journal-feature-link { grid-template-columns: 1fr; }
  .journal-feature-copy { padding-block-end: 2rem; }
}
@media (max-width: 560px) {
  .wave-intro { min-height: 78svh; padding-block: 8rem 4rem; }
  .wave-intro-coordinate { inset-block-start: 6rem; }
  .wave-intro h1 { font-size: clamp(2.7rem,11vw,4.4rem); }
  .is-fa .wave-intro h1 { font-size: clamp(2.25rem,9vw,3.5rem); }
  .wave-intro-inner > p:last-child { font-size: .91rem; }
  .wave-story { grid-template-columns: 1fr; }
  .wave-section-heading h2, .wave-stats h2, .is-fa .wave-section-heading h2, .is-fa .wave-stats h2 { font-size: clamp(1.9rem,8vw,3rem); }
  .wave-stat-grid { grid-template-columns: 1fr; }
  .wave-stat-grid > div { min-height: 6.2rem; border-inline-start: 0; border-block-end: 1px solid rgba(23,24,21,.22); }
  .wave-stat-grid > div:last-child { border-block-end: 0; }
  .wave-end { align-items: flex-start; flex-direction: column; justify-content: center; }
  .journal-grid { grid-template-columns: 1fr; }
  .journal-card-excerpt { min-height: 0; }
  .article-heading { padding-block-start: 7.5rem; }
  .article-heading h1 { font-size: clamp(2.2rem,9vw,3.5rem); }
  .is-fa .article-heading h1 { font-size: clamp(1.95rem,8vw,3rem); }
  .article-hero-image img { aspect-ratio: 1.2; }
  .article-body { padding-block-start: 2.2rem; font-size: .96rem; }
  .article-related-grid { grid-template-columns: 1fr; }
  .careers-role-list article { grid-template-columns: 2rem minmax(0,1fr); }
  .role-status { grid-column: 2; }
  .careers-form { grid-template-columns: 1fr; gap: 1rem; }
  .careers-field-wide { grid-column: auto; }
  .careers-submit-row { align-items: flex-start; flex-direction: column; }
}

/* موج ۰۶ — فضای تماس، نقشه و دو مسیر دریافت درخواست */
.contact-page { background: var(--ab-black); }
.contact-hero { min-height: min(74svh, 48rem); padding-block: 10rem clamp(4rem, 8vw, 7rem); display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; position: relative; background: radial-gradient(ellipse at 18% 85%, rgba(211,107,50,.12), transparent 48%), #111210; border-block-end: 1px solid var(--ab-line); }
.contact-hero-copy { max-width: 62rem; }
.contact-hero .home-overline { margin-block-end: 1.4rem; }
.contact-hero h1 { max-width: 13ch; margin: 0; font-size: clamp(3.2rem, 8vw, 7.4rem); font-weight: 480; line-height: 1.25; letter-spacing: -.045em; }
.is-fa .contact-hero h1 { max-width: 11ch; font-size: clamp(2.7rem, 7vw, 6rem); font-weight: 650; line-height: 1.62; letter-spacing: 0; }
.contact-hero-copy > p:last-child { max-width: 42rem; color: var(--ab-muted); font-size: 1rem; line-height: 2; }
.contact-index { color: rgba(242,240,235,.23); font: clamp(1rem,2vw,1.5rem) Arial,sans-serif; letter-spacing: .12em; align-self: flex-start; margin-block-start: 8rem; }
.contact-office { padding-block: clamp(4.5rem, 9vw, 8rem); display: grid; grid-template-columns: minmax(15rem,.72fr) minmax(0,1.28fr); gap: clamp(2rem,7vw,7rem); align-items: start; }
.contact-office-heading { max-width: 34rem; }
.contact-office-heading h2 { margin: 0; font-size: clamp(1.8rem,3vw,3rem); font-weight: 500; line-height: 1.5; }
.contact-office-heading > p:not(.home-overline) { color: var(--ab-muted); font-size: .88rem; line-height: 2; }
.contact-details { margin: 2rem 0 0; border-block-start: 1px solid var(--ab-line); }
.contact-details > div { padding-block: .8rem; border-block-end: 1px solid var(--ab-line); }
.contact-details dt { color: var(--ab-orange); font-size: .72rem; }
.contact-details dd { margin: .2rem 0 0; color: rgba(242,240,235,.82); font-size: .84rem; line-height: 1.9; }
.contact-map-panel { min-width: 0; border: 1px solid var(--ab-line); background: #181916; }
.contact-map-header { min-height: 3.4rem; padding-inline: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-block-end: 1px solid var(--ab-line); font-size: .78rem; }
.contact-map-header span:last-child { color: var(--ab-orange); font: .57rem Arial,sans-serif; letter-spacing: .1em; }
.contact-map-panel iframe { display: block; width: 100%; height: clamp(17rem,31vw,27rem); border: 0; filter: grayscale(.82) invert(.88) contrast(.9); }
.contact-map-art { position: relative; min-height: clamp(17rem,31vw,27rem); overflow: hidden; display: grid; place-items: center; background-color: #252722; background-image: linear-gradient(rgba(242,240,235,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(242,240,235,.045) 1px, transparent 1px); background-size: 3.4rem 3.4rem; }
.contact-map-art::before, .contact-map-art::after { content: ""; position: absolute; width: 130%; height: 1px; background: rgba(211,107,50,.3); transform: rotate(-17deg); }
.contact-map-art::after { transform: rotate(28deg); background: rgba(242,240,235,.12); }
.map-grid-line { position: absolute; display: block; height: 1px; background: rgba(242,240,235,.16); transform-origin: center; }
.map-grid-a { width: 76%; transform: rotate(38deg) translateY(3rem); }
.map-grid-b { width: 68%; transform: rotate(-41deg) translateY(-2rem); }
.map-grid-c { width: 85%; transform: rotate(11deg) translateY(2rem); }
.map-marker { z-index: 1; width: 2.4rem; height: 2.4rem; display: grid; place-items: center; color: var(--ab-black); background: var(--ab-orange); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); font: 1.4rem Arial,sans-serif; box-shadow: 0 0 0 .6rem rgba(211,107,50,.13); }
.map-marker::first-letter { transform: rotate(45deg); }
.contact-map-art p { position: absolute; z-index: 1; inset-inline: 1.2rem; inset-block-end: .8rem; max-width: 25rem; margin: 0; padding: .55rem .7rem; color: rgba(242,240,235,.76); background: rgba(17,18,16,.84); font-size: .7rem; line-height: 1.8; }
.map-search { padding: 1rem; }
.map-search > label { display: block; margin-block-end: .35rem; color: var(--ab-muted); font-size: .73rem; }
.map-search > div { display: flex; gap: .8rem; }
.map-search input { min-width: 0; flex: 1; min-height: 2.8rem; padding: .5rem .7rem; color: var(--ab-paper); background: transparent; border: 1px solid var(--ab-line); border-radius: 0; font: inherit; font-size: .82rem; }
.map-search button { min-width: 8rem; padding: .5rem .8rem; color: var(--ab-paper); background: transparent; border: 1px solid var(--ab-orange); cursor: pointer; font-size: .78rem; transition: background .2s ease,color .2s ease; }
.map-search button:hover:not(:disabled) { color: var(--ab-black); background: var(--ab-orange); }
.map-search button:disabled { opacity: .6; cursor: progress; }
.map-search > p { min-height: 1.3rem; margin: .45rem 0 0; color: #ffb092; font-size: .72rem; }
.contact-form-section, .contact-inquiry-section { padding-block: clamp(4.5rem,9vw,8rem); background: #e8e6e0; color: #171815; }
.contact-form-section { border-block-end: 1px solid rgba(23,24,21,.2); }
.contact-inquiry-section { background: #d7d5ce; }
.contact-section-heading { max-width: 50rem; margin-block-end: clamp(2rem,4vw,3.5rem); }
.contact-section-heading .home-overline { color: #a74e24; }
.contact-section-heading h2 { margin: 0; font-size: clamp(2.3rem,5vw,4.7rem); font-weight: 520; line-height: 1.4; }
.is-fa .contact-section-heading h2 { font-size: clamp(2rem,4.5vw,4.1rem); font-weight: 650; line-height: 1.65; }
.contact-section-heading > p:last-child { max-width: 39rem; color: #5e5e57; font-size: .9rem; line-height: 1.95; }
.contact-form { max-width: 68rem; }
.contact-form .careers-field input:not([type=file]), .contact-form .careers-field select, .contact-form .careers-field textarea { color: #171815; }
.contact-form .careers-field input::placeholder, .contact-form .careers-field textarea::placeholder { color: #686861; }
.contact-form .careers-field input:focus, .contact-form .careers-field select:focus, .contact-form .careers-field textarea:focus { outline-color: #a74e24; }
.contact-form .careers-submit-row > p { color: #44453f; }
.contact-closing { min-height: 17rem; padding-block: 3rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; background: #1a1b18; }
.contact-closing p { max-width: 18ch; margin: 0; font-size: clamp(1.8rem,4vw,3.6rem); line-height: 1.5; }
.contact-closing span { color: var(--ab-orange); font: .62rem Arial,sans-serif; letter-spacing: .12em; }
@media (max-width: 820px) {
  .contact-office { grid-template-columns: 1fr; }
  .contact-office-heading { max-width: 46rem; }
}
@media (max-width: 560px) {
  .contact-hero { min-height: 74svh; padding-block: 8rem 4rem; }
  .contact-hero h1 { font-size: clamp(2.7rem,10.5vw,4.3rem); }
  .is-fa .contact-hero h1 { font-size: clamp(2.25rem,9vw,3.6rem); }
  .contact-index { display: none; }
  .contact-office { padding-block: 4rem; }
  .contact-map-header { padding-inline: .7rem; font-size: .7rem; }
  .contact-map-header span:last-child { font-size: .48rem; }
  .contact-map-panel iframe, .contact-map-art { min-height: 18rem; height: 54vw; }
  .map-search { padding: .75rem; }
  .map-search > div { flex-direction: column; }
  .map-search button { min-height: 2.7rem; }
  .contact-form-section, .contact-inquiry-section { padding-block: 4rem; }
  .contact-section-heading h2, .is-fa .contact-section-heading h2 { font-size: clamp(1.95rem,8vw,3.1rem); }
  .contact-closing { min-height: 13rem; align-items: flex-start; flex-direction: column; justify-content: center; }
}
