/* Company pages — About & Contact / Almas Kashi Rafsanjan */
:root {
  --company-dark: #121210;
  --company-cream: #f1eadf;
  --company-jade: #163f32;
  --company-hero-vh: calc(100svh - var(--page-header));
}

body[data-page="about"],
body[data-page="contact"] {
  background: var(--paper);
}

.company-header .page-nav { gap: clamp(18px, 2vw, 34px); }

.company-breadcrumb {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  font-size: 0.7rem;
  font-weight: 600;
}

.company-breadcrumb i {
  width: 26px;
  height: 1px;
  background: currentColor;
  opacity: 0.38;
}

.company-breadcrumb a { opacity: 0.62; transition: opacity 0.2s ease; }
.company-breadcrumb a:hover { opacity: 1; }

[data-company-reveal] {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 0.85s ease, transform 0.85s var(--ease-out);
}

[data-company-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.company-image-card {
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  position: relative;
  overflow: hidden;
  background: var(--surface-2);
  transform: perspective(1200px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transform-style: preserve-3d;
  transition: transform 0.45s var(--ease-out);
}

.company-image-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.015);
  transition: transform 1.2s var(--ease-out), filter 0.35s ease;
}

.company-image-card:hover img { transform: scale(1.045); }

.company-image-card figcaption {
  position: absolute;
  inset: auto 18px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 13px 15px;
  color: #f8f3ea;
  background: rgba(18, 18, 16, 0.72);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(12px);
}

.company-image-card figcaption span { font-size: 0.74rem; font-weight: 600; }
.company-image-card figcaption small { font-family: var(--font-en); font-size: 0.55rem; letter-spacing: 0.12em; }

.company-primary-link {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  padding-inline: 23px;
  color: #f8f3ea;
  background: var(--company-dark);
  font-size: 0.78rem;
  font-weight: 650;
  transition: color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.company-primary-link svg { width: 18px; transition: transform 0.3s var(--ease-out); }
.company-primary-link:hover { color: #fff; background: var(--copper); transform: translateY(-2px); }
.company-primary-link:hover svg { transform: translateX(-4px); }
[dir="ltr"] .company-primary-link:hover svg { transform: translateX(4px); }

.company-text-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding-block: 4px;
  font-size: 0.76rem;
  font-weight: 650;
}

.company-text-link::after {
  content: "";
  position: absolute;
  inset: auto 0 2px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0.35);
  transform-origin: right;
  transition: transform 0.35s var(--ease-out);
}

[dir="ltr"] .company-text-link::after { transform-origin: left; }
.company-text-link:hover::after { transform: scaleX(1); }

/* About hero */
.company-hero {
  position: relative;
  min-height: var(--company-hero-vh);
  overflow: clip;
  color: #f7f1e7;
  background: #24231f;
}

.company-hero-media,
.company-hero-shade { position: absolute; inset: 0; }

.company-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 45%;
  transform: scale(calc(1.02 + var(--hero-scroll, 0) * 0.035));
  filter: saturate(0.85) contrast(1.02);
}

.company-hero-shade {
  background:
    linear-gradient(90deg, rgba(11,12,10,.76) 0%, rgba(11,12,10,.38) 50%, rgba(11,12,10,.12) 100%),
    linear-gradient(0deg, rgba(11,12,10,.72) 0%, transparent 48%, rgba(11,12,10,.14) 100%);
}

[dir="ltr"] .company-hero-shade {
  background:
    linear-gradient(-90deg, rgba(11,12,10,.76) 0%, rgba(11,12,10,.38) 50%, rgba(11,12,10,.12) 100%),
    linear-gradient(0deg, rgba(11,12,10,.72) 0%, transparent 48%, rgba(11,12,10,.14) 100%);
}

.company-hero-inner {
  position: relative;
  z-index: 2;
  min-height: var(--company-hero-vh);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 30px;
  padding-block: 36px 32px;
}

.company-hero .company-breadcrumb { color: rgba(247,241,231,.8); }

.company-hero-copy {
  align-self: center;
  max-width: 900px;
  padding-block: clamp(50px, 8vh, 110px);
}

.company-hero-copy .section-code { color: rgba(247,241,231,.58); }

.company-hero h1 {
  margin: 22px 0 20px;
  font-size: clamp(3.7rem, 7.5vw, 8.8rem);
  font-weight: 300;
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.company-hero h1 span,
.company-hero h1 em { display: block; }
.company-hero h1 em { color: #ddaa86; font-style: normal; font-weight: 500; }
.company-hero-copy > p:last-child { max-width: 590px; margin: 0; color: rgba(247,241,231,.75); font-size: clamp(.85rem, 1.15vw, 1.05rem); }

.company-hero-footer {
  display: grid;
  grid-template-columns: repeat(3, minmax(145px, .8fr)) 1.2fr;
  align-items: end;
  gap: 30px;
  padding-block-start: 24px;
  border-block-start: 1px solid rgba(255,255,255,.24);
}

.company-hero-footer > div { display: grid; gap: 2px; }
.company-hero-footer strong { font-family: var(--font-en); font-size: clamp(1.65rem, 2.7vw, 3rem); font-weight: 500; line-height: 1.15; }
.company-hero-footer span { color: rgba(247,241,231,.58); font-size: .65rem; }

.company-hero-footer > a {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: .68rem;
  font-weight: 650;
}

.company-hero-footer > a i {
  position: relative;
  width: 26px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 20px;
}

.company-hero-footer > a i::after {
  content: "";
  position: absolute;
  inset: 8px auto auto 50%;
  width: 3px;
  height: 7px;
  border-radius: 4px;
  background: currentColor;
  animation: company-scroll 1.8s ease-in-out infinite;
}

@keyframes company-scroll { 0%,100% { transform: translate(-50%,0); opacity:.35; } 50% { transform: translate(-50%,12px); opacity:1; } }

/* About manifesto */
.company-manifesto {
  display: grid;
  grid-template-columns: .22fr 1.08fr .7fr;
  align-items: start;
  gap: clamp(35px, 5vw, 86px);
  padding-block: clamp(105px, 12vw, 190px);
}

.manifesto-index { position: sticky; top: calc(var(--page-header) + 34px); }
.manifesto-index > span { display: block; margin-block-end: 24px; color: var(--copper); font-family: var(--font-en); font-size: 3.5rem; font-weight: 500; line-height: 1; }
.manifesto-copy > p { margin: 0 0 28px; color: var(--copper); font-size: .76rem; font-weight: 650; }
.manifesto-copy h2,
.quality-copy h2,
.process-heading h2,
.showroom-story-copy h2,
.company-cta h2,
.contact-form-intro h2 {
  margin: 0;
  font-size: clamp(2.6rem, 4.7vw, 5.9rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.05em;
}

.manifesto-copy h2 span,
.manifesto-copy h2 em,
.quality-copy h2 span,
.quality-copy h2 em,
.process-heading h2 span,
.process-heading h2 em,
.showroom-story-copy h2 span,
.showroom-story-copy h2 em,
.company-cta h2 span,
.company-cta h2 em,
.contact-form-intro h2 span,
.contact-form-intro h2 em { display: block; }

.manifesto-copy h2 em,
.quality-copy h2 em,
.process-heading h2 em,
.showroom-story-copy h2 em,
.company-cta h2 em,
.contact-form-intro h2 em { color: var(--copper); font-style: normal; font-weight: 530; }

.manifesto-columns {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: clamp(28px, 4vw, 70px);
  margin-block-start: 54px;
  padding-block-start: 30px;
  border-block-start: 1px solid var(--line);
}

.manifesto-columns p { margin: 0; color: var(--ink-soft); font-size: .84rem; }
.manifesto-columns p:first-child { color: var(--ink); font-size: .94rem; }
.manifesto-material { min-height: 610px; margin: 84px 0 0; }

/* Timeline */
.company-timeline {
  padding-block: clamp(90px, 10vw, 155px);
  color: #ece5da;
  background:
    radial-gradient(circle at 85% 15%, rgba(163,94,56,.18), transparent 28rem),
    var(--company-dark);
  overflow: hidden;
}

.timeline-head {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: end;
  gap: 8vw;
  margin-block-end: 95px;
}

.timeline-head .section-code { color: rgba(236,229,218,.45); }
.timeline-head h2 { margin: 18px 0 0; font-size: clamp(2.8rem, 5vw, 6.2rem); font-weight: 400; line-height: 1; letter-spacing: -.05em; }
.timeline-head > p { max-width: 490px; margin: 0; color: rgba(236,229,218,.58); font-size: .86rem; }

.timeline-track {
  --timeline-progress: 0;
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
}

.timeline-track::before,
.timeline-track::after {
  content: "";
  position: absolute;
  inset: 90px 0 auto;
  height: 1px;
  background: rgba(236,229,218,.2);
}

.timeline-track::after {
  background: var(--copper);
  transform: scaleX(var(--timeline-progress));
  transform-origin: right;
}

[dir="ltr"] .timeline-track::after { transform-origin: left; }

.timeline-item { position: relative; min-width: 0; padding-inline-end: clamp(24px,3vw,50px); }
.timeline-item > span { display: block; height: 74px; font-family: var(--font-en); font-size: clamp(2.1rem,3.4vw,4rem); font-weight: 400; line-height: 1; }
.timeline-item > i { position: relative; z-index: 2; display: block; width: 11px; height: 11px; margin-block: 12px 48px; border: 2px solid var(--company-dark); border-radius: 50%; background: var(--copper); box-shadow: 0 0 0 1px rgba(236,229,218,.4); }
.timeline-item small { color: rgba(236,229,218,.35); font-family: var(--font-en); font-size: .55rem; letter-spacing: .12em; }
.timeline-item h3 { margin: 14px 0 11px; font-size: 1.12rem; font-weight: 600; }
.timeline-item p { max-width: 280px; margin: 0; color: rgba(236,229,218,.53); font-size: .76rem; }

/* Quality */
.company-quality {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: clamp(55px, 7vw, 120px);
  padding-block: clamp(100px, 12vw, 180px);
}

.quality-media { min-height: clamp(560px, 66vw, 920px); margin: 0; }
.quality-copy .section-code { margin-block-end: 24px; }
.quality-copy > p:not(.section-code):not(.company-demo-note) { max-width: 570px; margin: 34px 0 0; color: var(--ink-soft); font-size: .92rem; }
.quality-data { display: grid; grid-template-columns: repeat(2,1fr); margin: 54px 0 0; border-block-start: 1px solid var(--line); border-inline-start: 1px solid var(--line); }
.quality-data > div { min-height: 150px; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: 20px; border-inline-end: 1px solid var(--line); border-block-end: 1px solid var(--line); }
.quality-data dt { color: var(--ink-soft); font-size: .68rem; }
.quality-data dd { margin: 0; font-family: var(--font-en); font-size: clamp(2.1rem,3.6vw,4rem); font-weight: 450; line-height: 1; }
.quality-data dd small { color: var(--copper); font-size: .72rem; }
.company-demo-note { margin: 18px 0 0; color: var(--ink-soft); font-size: .64rem; opacity: .72; }

/* Process */
.process-section { padding-block: clamp(90px, 10vw, 150px); background: var(--paper-deep); }
.process-heading { display: grid; grid-template-columns: .35fr 1fr; align-items: start; gap: 5vw; margin-block-end: 75px; }
.process-heading .section-code { padding-block-start: 12px; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); border-block-start: 1px solid var(--line); border-inline-start: 1px solid var(--line); }
.process-grid article { position: relative; min-height: 420px; display: flex; flex-direction: column; padding: 28px; border-inline-end: 1px solid var(--line); border-block-end: 1px solid var(--line); transition: color .35s ease, background-color .35s ease; }
.process-grid article:hover { color: #f7f1e7; background: var(--company-jade); }
.process-grid article > span { align-self: flex-end; color: var(--copper); font-family: var(--font-en); font-size: .7rem; }
.process-grid svg { width: 78px; margin-block: 55px auto; stroke-width: 1; }
.process-grid h3 { margin: 0 0 12px; font-size: 1rem; }
.process-grid p { margin: 0; color: var(--ink-soft); font-size: .75rem; transition: color .35s ease; }
.process-grid article:hover p { color: rgba(247,241,231,.64); }

/* Values */
.company-values { padding-block: clamp(105px, 12vw, 185px); }
.company-values > header { display: grid; grid-template-columns: .3fr 1fr; align-items: start; gap: 5vw; margin-block-end: 80px; }
.company-values h2 { max-width: 900px; margin: 0; font-size: clamp(2.6rem,5vw,6rem); font-weight: 400; line-height: 1.04; letter-spacing: -.05em; }
.values-grid { display: grid; grid-template-columns: repeat(2,1fr); }
.values-grid article { min-height: 290px; display: grid; grid-template-columns: .2fr 1fr; grid-template-rows: auto 1fr; gap: 15px 30px; padding: clamp(28px,4vw,58px); border-block-start: 1px solid var(--line); }
.values-grid article:nth-child(odd) { border-inline-end: 1px solid var(--line); }
.values-grid small { grid-row: 1/3; color: var(--copper); font-family: var(--font-en); font-size: .65rem; }
.values-grid h3 { margin: 0; font-size: 1.3rem; font-weight: 550; }
.values-grid p { max-width: 430px; margin: 0; color: var(--ink-soft); font-size: .8rem; }

/* Showroom & CTA */
.showroom-story { position: relative; min-height: min(900px,90svh); display: grid; align-items: end; overflow: hidden; color: #f7f1e7; background: #1b1a18; }
.showroom-story-media { position: absolute; inset: 0; }
.showroom-story-media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,10,9,.86),rgba(10,10,9,.06) 75%); }
.showroom-story-media img { width:100%;height:100%;object-fit:cover; }
.showroom-story-copy { position:relative; z-index:1; padding-block:70px; }
.showroom-story-copy .section-code { color:rgba(247,241,231,.5); }
.showroom-story-copy h2 { max-width: 900px; margin-block: 24px 22px; }
.showroom-story-copy h2 em { color:#ddaa86; }
.showroom-story-copy > p:not(.section-code) { max-width:550px;margin:0;color:rgba(247,241,231,.68);font-size:.85rem; }
.showroom-story-copy > div { display:flex;align-items:center;gap:30px;margin-block-start:35px; }
.showroom-story-copy .company-primary-link { color:var(--company-dark);background:#f7f1e7; }
.showroom-story-copy .company-primary-link:hover { color:#fff;background:var(--copper); }

.company-cta { display:flex;justify-content:space-between;align-items:end;gap:60px;padding-block:clamp(95px,11vw,170px); }
.company-cta .section-code { margin-block-end:22px; }
.company-cta h2 { font-size:clamp(2.7rem,5.3vw,6.6rem); }
.company-cta > a { flex:0 0 auto;display:grid;place-items:center;gap:18px;width:190px;aspect-ratio:1;border:1px solid var(--line-strong);border-radius:50%;font-size:.72rem;text-align:center;transition:color .35s ease,background-color .35s ease,border-color .35s ease,transform .35s var(--ease-out); }
.company-cta > a svg { width:40px; }
.company-cta > a:hover { color:#fff;background:var(--copper);border-color:var(--copper);transform:rotate(-4deg) scale(1.03); }

/* Contact hero */
.contact-hero { padding-block: clamp(56px,7vw,108px) 0; background:linear-gradient(150deg,color-mix(in srgb,var(--copper) 8%,transparent),transparent 34rem),var(--paper); }
.contact-hero-grid { display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:clamp(45px,7vw,120px); }
.contact-hero-copy { padding-block:35px; }
.contact-hero-copy .company-breadcrumb { margin-block-end:60px;color:var(--ink-soft); }
.contact-hero-copy .section-code { margin-block-end:22px; }
.contact-hero h1 { margin:0;font-size:clamp(3.4rem,6vw,7.4rem);font-weight:350;line-height:.98;letter-spacing:-.055em; }
.contact-hero h1 span,.contact-hero h1 em { display:block; }
.contact-hero h1 em { color:var(--copper);font-style:normal;font-weight:530; }
.contact-hero-copy > p:not(.section-code):not(.company-breadcrumb) { max-width:570px;margin:30px 0 0;color:var(--ink-soft);font-size:.9rem; }
.contact-hero-actions { display:flex;align-items:center;gap:28px;margin-block-start:34px; }
.contact-hero-media { position:relative;min-height:clamp(560px,60vw,820px);margin:0;overflow:hidden;background:var(--surface-2); }
.contact-hero-media img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.contact-hero-media figcaption { position:absolute;inset:auto 20px 20px;display:flex;justify-content:space-between;gap:20px;padding:13px 15px;color:#f7f1e7;background:rgba(18,18,16,.72);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(10px);font-family:var(--font-en);font-size:.57rem;letter-spacing:.08em; }
.contact-hero-media figcaption small { font-family:var(--font-fa);letter-spacing:0; }
html[lang="en"] .contact-hero-media figcaption small { font-family:var(--font-en); }

.contact-quick-grid { display:grid;grid-template-columns:repeat(3,1fr);margin-block-start:80px;border-block-start:1px solid var(--line);border-inline-start:1px solid var(--line); }
.contact-quick-grid article { min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;padding:22px;border-inline-end:1px solid var(--line);border-block-end:1px solid var(--line); }
.contact-quick-grid small { color:var(--copper);font-family:var(--font-en);font-size:.56rem;letter-spacing:.1em; }
.contact-quick-grid strong { overflow-wrap:anywhere;font-family:var(--font-en);font-size:clamp(.9rem,1.35vw,1.18rem);font-weight:550; }
.contact-quick-grid span { color:var(--ink-soft);font-size:.64rem; }

/* Contact form */
.contact-workspace { display:grid;grid-template-columns:.72fr 1.28fr;align-items:start;gap:clamp(55px,8vw,135px);padding-block:clamp(105px,12vw,185px); }
.contact-form-intro { position:sticky;top:calc(var(--page-header) + 38px); }
.contact-form-intro .section-code { margin-block-end:24px; }
.contact-form-intro > p:not(.section-code) { max-width:470px;margin:28px 0 0;color:var(--ink-soft);font-size:.82rem; }
.response-promise { display:flex;align-items:center;gap:20px;margin-block-start:44px;padding-block-start:26px;border-block-start:1px solid var(--line); }
.response-promise > span { flex:0 0 auto;display:grid;place-items:center;width:68px;aspect-ratio:1;border:1px solid var(--line-strong);border-radius:50%;color:var(--copper);font-family:var(--font-en);font-size:1rem; }
.response-promise p { display:grid;gap:4px;margin:0; }
.response-promise strong { font-size:.78rem; }
.response-promise small { max-width:310px;color:var(--ink-soft);font-size:.65rem; }

.project-form { min-width:0;padding:clamp(24px,4vw,55px);background:var(--surface);border:1px solid var(--line);box-shadow:0 40px 90px rgba(30,24,16,.07); }
.form-row { display:grid;grid-template-columns:repeat(2,1fr);gap:24px; }
.project-form label:not(.check-option) { position:relative;display:grid;gap:9px;margin-block-end:25px; }
.project-form label > span { font-size:.7rem;font-weight:650; }
.project-form input:not([type="checkbox"]),.project-form select,.project-form textarea { width:100%;min-width:0;border:0;border-block-end:1px solid var(--line-strong);border-radius:0;padding:11px 2px 13px;color:var(--ink);background:transparent;outline:0;transition:border-color .2s ease,background-color .2s ease; }
.project-form textarea { resize:vertical;min-height:130px; }
.project-form select { appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);background-position:calc(14px) 50%,calc(9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat; }
[dir="ltr"] .project-form select { background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%; }
.project-form input:focus,.project-form select:focus,.project-form textarea:focus { border-color:var(--copper); }
.project-form .is-invalid { border-color:var(--error) !important;background:color-mix(in srgb,var(--error) 4%,transparent) !important; }
.field-error { display:none;color:var(--error);font-size:.58rem; }
.is-invalid + .field-error { display:block; }
.form-options { display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-block:5px 34px; }
.check-option { display:block;cursor:pointer; }
.check-option input { position:absolute;opacity:0;pointer-events:none; }
.check-option > span { min-height:68px;display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);transition:border-color .2s ease,background-color .2s ease; }
.check-option i { position:relative;flex:0 0 auto;width:20px;height:20px;border:1px solid var(--line-strong); }
.check-option i::after { content:"";position:absolute;inset:4px;background:var(--copper);transform:scale(0);transition:transform .2s var(--ease-out); }
.check-option input:checked + span { border-color:var(--copper);background:color-mix(in srgb,var(--copper) 7%,transparent); }
.check-option input:checked + span i::after { transform:scale(1); }
.check-option input:focus-visible + span { outline:2px solid var(--copper);outline-offset:3px; }
.check-option b { font-size:.67rem;font-weight:550; }
.form-submit-row { display:grid;grid-template-columns:auto 1fr;align-items:center;gap:22px;padding-block-start:26px;border-block-start:1px solid var(--line); }
.form-submit-row button { min-height:54px;display:flex;align-items:center;justify-content:center;gap:28px;padding-inline:24px;border:0;color:#f8f3ea;background:var(--company-dark);font-size:.73rem;font-weight:650;transition:background-color .2s ease,transform .2s ease; }
.form-submit-row button:hover { background:var(--copper);transform:translateY(-2px); }
.form-submit-row button svg { width:18px; }
.form-submit-row p { margin:0;color:var(--ink-soft);font-size:.58rem; }
.form-success { min-height:360px;display:grid;place-items:center;align-content:center;gap:24px;padding:40px;text-align:center;background:color-mix(in srgb,var(--success) 5%,var(--paper)); }
.form-success > svg { width:70px;color:var(--success); }
.form-success div { display:grid;gap:7px; }
.form-success strong { font-size:1.2rem; }
.form-success p { max-width:430px;margin:0;color:var(--ink-soft);font-size:.75rem; }
.form-success button { padding:9px 16px;border:1px solid var(--line-strong);background:transparent;font-size:.7rem; }

/* Locations & map */
.locations-section { padding-block:clamp(95px,11vw,170px);color:#ece5da;background:var(--company-dark); }
.locations-head { display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:8vw;margin-block-end:70px; }
.locations-head .section-code { color:rgba(236,229,218,.42); }
.locations-head h2 { margin:18px 0 0;font-size:clamp(2.8rem,5.4vw,6.5rem);font-weight:400;line-height:1;letter-spacing:-.055em; }
.locations-head > p { max-width:490px;margin:0;color:rgba(236,229,218,.52);font-size:.8rem; }
.locations-layout { display:grid;grid-template-columns:1.35fr .65fr;min-height:610px;border:1px solid rgba(236,229,218,.18); }
.map-stage { position:relative;min-height:610px;overflow:hidden;color:#ece5da;background:#191916; }
.map-drawing { position:absolute;inset:0;width:100%;height:100%;color:#ece5da; }
.map-roads path { fill:none;stroke:currentColor;stroke-width:9;stroke-opacity:.14; }
.map-minor path { fill:none;stroke:currentColor;stroke-width:1;stroke-opacity:.12; }
.map-route { fill:none;stroke:var(--copper);stroke-width:3;stroke-dasharray:8 10;animation:map-route 12s linear infinite; }
.map-route-start,.map-route-end { fill:var(--copper);stroke:#191916;stroke-width:3; }
.map-drawing text { fill:currentColor;fill-opacity:.3;font-family:var(--font-en);font-size:13px;letter-spacing:2px; }
@keyframes map-route { to { stroke-dashoffset:-180; } }
.map-pin { position:absolute;left:var(--pin-x);top:var(--pin-y);display:grid;justify-items:center;gap:8px;padding:0;border:0;color:#ece5da;background:transparent;transform:translate(-50%,-100%); }
.map-pin i { position:relative;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;background:#191916;box-shadow:0 0 0 0 rgba(163,94,56,.5);transition:background-color .2s ease,box-shadow .2s ease; }
.map-pin i::after { content:"";position:absolute;inset:9px;border-radius:50%;background:currentColor; }
.map-pin span { padding:4px 8px;background:#191916;font-size:.64rem;white-space:nowrap; }
.map-pin.is-active i { background:var(--copper);box-shadow:0 0 0 9px rgba(163,94,56,.18); }
.map-pin.is-active i::after { background:#fff; }
.map-scale { position:absolute;inset:auto auto 28px 30px;display:flex;align-items:end;gap:12px;color:rgba(236,229,218,.4);font-family:var(--font-en);font-size:.52rem; }
[dir="rtl"] .map-scale { inset:auto 30px 28px auto; }
.map-scale i { width:80px;height:9px;border:solid currentColor;border-width:0 1px 1px; }
.location-panel { display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,64px);border-inline-start:1px solid rgba(236,229,218,.18);background:#141412; }
.location-panel .section-code { color:var(--copper); }
.location-panel h3 { margin:20px 0 12px;font-size:clamp(1.5rem,2.5vw,2.7rem);font-weight:500;line-height:1.2; }
.location-panel > p:not(.section-code) { min-height:52px;margin:0;color:rgba(236,229,218,.56);font-size:.77rem; }
.location-panel dl { display:grid;gap:20px;margin:38px 0;padding-block:25px;border-block:1px solid rgba(236,229,218,.16); }
.location-panel dl div { display:grid;gap:3px; }
.location-panel dt { color:rgba(236,229,218,.4);font-size:.6rem; }
.location-panel dd { margin:0;font-size:.7rem; }
.location-panel-actions { display:grid;gap:9px; }
.location-panel-actions button,.location-panel-actions a { min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-inline:15px;border:1px solid rgba(236,229,218,.25);color:#ece5da;background:transparent;font-size:.68rem;transition:color .2s ease,background-color .2s ease,border-color .2s ease; }
.location-panel-actions a { color:#171716;background:#ece5da; }
.location-panel-actions button:hover,.location-panel-actions a:hover { color:#fff;background:var(--copper);border-color:var(--copper); }
.location-panel-actions svg { width:17px; }

/* Visit cards */
.visit-cards { display:grid;grid-template-columns:repeat(2,1fr);gap:1px;padding-block:clamp(95px,11vw,170px);background:var(--line); }
.visit-cards article { min-width:0;background:var(--paper); }
.visit-cards img { width:100%;aspect-ratio:1.6;object-fit:cover;filter:saturate(.85);transition:filter .35s ease,transform .8s var(--ease-out); }
.visit-cards article:hover img { filter:saturate(1); }
.visit-cards article > div { padding:clamp(25px,4vw,54px); }
.visit-cards h3 { margin:19px 0 10px;font-size:clamp(1.35rem,2.3vw,2.5rem);font-weight:500; }
.visit-cards p:not(.section-code) { max-width:510px;margin:0;color:var(--ink-soft);font-size:.78rem; }
.visit-cards a { display:inline-block;margin-block-start:25px;padding-block:5px;border-block-end:1px solid currentColor;color:var(--copper);font-size:.7rem;font-weight:650; }

/* FAQ */
.contact-faq { display:grid;grid-template-columns:.7fr 1.3fr;align-items:start;gap:8vw;padding-block:clamp(95px,11vw,175px); }
.contact-faq header { position:sticky;top:calc(var(--page-header) + 40px); }
.contact-faq h2 { margin:20px 0 0;font-size:clamp(2.3rem,4.2vw,5.2rem);font-weight:400;line-height:1.06;letter-spacing:-.05em; }
.faq-list { border-block-start:1px solid var(--line); }
.faq-list details { border-block-end:1px solid var(--line); }
.faq-list summary { min-height:92px;display:grid;grid-template-columns:48px 1fr 28px;align-items:center;gap:18px;list-style:none;cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--copper);font-family:var(--font-en);font-size:.6rem; }
.faq-list summary b { font-size:.86rem;font-weight:580; }
.faq-list summary i { position:relative;width:22px;height:22px; }
.faq-list summary i::before,.faq-list summary i::after { content:"";position:absolute;left:2px;right:2px;top:10px;height:1px;background:currentColor;transition:transform .25s ease; }
.faq-list summary i::after { transform:rotate(90deg); }
.faq-list details[open] summary i::after { transform:rotate(0); }
.faq-list details > p { max-width:720px;margin:-4px 66px 27px 0;color:var(--ink-soft);font-size:.76rem; }
[dir="ltr"] .faq-list details > p { margin-inline:66px 0; }

.company-toast { position:fixed;inset:auto auto 24px 24px;z-index:3000;max-width:min(350px,calc(100vw - 32px));padding:13px 17px;color:#f7f1e7;background:#1b1a18;border-inline-start:3px solid var(--copper);box-shadow:0 20px 50px rgba(0,0,0,.24);font-size:.7rem;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .25s ease,transform .25s ease; }
[dir="rtl"] .company-toast { inset:auto 24px 24px auto; }
.company-toast.is-visible { opacity:1;transform:translateY(0); }

html[data-theme="dark"] .project-form { box-shadow:0 40px 90px rgba(0,0,0,.2); }
html[data-theme="dark"] .contact-hero-media img,
html[data-theme="dark"] .company-image-card img,
html[data-theme="dark"] .visit-cards img { filter:brightness(.82) saturate(.8); }

@media (max-width: 1200px) {
  .company-manifesto { grid-template-columns:.2fr 1fr; }
  .manifesto-material { grid-column:2;margin-block-start:10px;min-height:560px; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .company-header .page-nav { display:none; }
}

@media (max-width: 900px) {
  .company-hero { min-height:850px; }
  .company-hero-inner { min-height:850px; }
  .company-hero-footer { grid-template-columns:repeat(3,1fr); }
  .company-hero-footer > a { display:none; }
  .company-manifesto { grid-template-columns:1fr; }
  .manifesto-index { position:static;display:flex;align-items:center;gap:20px; }
  .manifesto-index > span { margin:0;font-size:2.3rem; }
  .manifesto-material { grid-column:auto;min-height:600px; }
  .timeline-head { grid-template-columns:1fr;gap:28px;margin-block-end:70px; }
  .timeline-track { overflow-x:auto;grid-template-columns:repeat(4,minmax(250px,1fr));padding-block-end:20px;scroll-snap-type:x mandatory; }
  .timeline-item { scroll-snap-align:start; }
  .company-quality { grid-template-columns:1fr; }
  .quality-media { min-height:650px; }
  .process-heading,.company-values > header { grid-template-columns:1fr;gap:24px; }
  .company-cta { align-items:center; }
  .company-cta > a { width:150px; }
  .contact-hero-grid { grid-template-columns:1fr; }
  .contact-hero-media { min-height:620px; }
  .contact-quick-grid { margin-block-start:50px; }
  .contact-workspace { grid-template-columns:1fr; }
  .contact-form-intro,.contact-faq header { position:static; }
  .locations-head { grid-template-columns:1fr;gap:26px; }
  .locations-layout { grid-template-columns:1fr; }
  .location-panel { border-block-start:1px solid rgba(236,229,218,.18);border-inline-start:0; }
  .contact-faq { grid-template-columns:1fr;gap:55px; }
}

@media (max-width: 620px) {
  .company-hero,.company-hero-inner { min-height:calc(100svh - var(--page-header)); }
  .company-hero-inner { padding-block:24px 20px; }
  .company-hero h1 { font-size:clamp(3.2rem,15vw,5.5rem); }
  .company-hero-copy { padding-block:55px; }
  .company-hero-footer { grid-template-columns:repeat(2,1fr);gap:20px 16px; }
  .company-hero-footer > div:nth-child(3) { grid-column:1/-1; }
  .company-hero-footer strong { font-size:1.65rem; }
  .company-manifesto { padding-block:85px;gap:40px; }
  .manifesto-copy h2,.quality-copy h2,.process-heading h2,.showroom-story-copy h2,.company-cta h2,.contact-form-intro h2 { font-size:2.55rem; }
  .manifesto-columns { grid-template-columns:1fr;margin-block-start:38px; }
  .manifesto-material { min-height:460px; }
  .company-image-card figcaption { inset:auto 10px 10px; }
  .company-timeline { padding-block:80px; }
  .timeline-head h2 { font-size:2.9rem; }
  .company-quality { padding-block:85px;gap:50px; }
  .quality-media { min-height:460px; }
  .quality-data > div { min-height:125px;padding:16px 12px; }
  .quality-data dd { font-size:2rem; }
  .process-section { padding-block:80px; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article { min-height:330px; }
  .company-values { padding-block:85px; }
  .company-values h2 { font-size:2.65rem; }
  .values-grid { grid-template-columns:1fr; }
  .values-grid article:nth-child(odd) { border-inline-end:0; }
  .values-grid article { min-height:230px;padding:30px 5px; }
  .showroom-story { min-height:720px; }
  .showroom-story-copy { padding-block:45px; }
  .showroom-story-copy > div { align-items:start;flex-direction:column;gap:10px; }
  .company-cta { flex-direction:column;align-items:start;padding-block:85px; }
  .company-cta > a { width:132px;align-self:end; }
  .contact-hero { padding-block-start:35px; }
  .contact-hero-copy .company-breadcrumb { margin-block-end:42px; }
  .contact-hero h1 { font-size:3.25rem; }
  .contact-hero-actions { align-items:start;flex-direction:column;gap:10px; }
  .contact-hero-media { min-height:450px; }
  .contact-hero-media figcaption { inset:auto 10px 10px;flex-direction:column;gap:4px; }
  .contact-quick-grid { grid-template-columns:1fr; }
  .contact-quick-grid article { min-height:120px; }
  .contact-workspace { padding-block:85px;gap:45px; }
  .project-form { padding:22px 16px; }
  .form-row,.form-options { grid-template-columns:1fr;gap:0; }
  .form-options { gap:8px; }
  .form-submit-row { grid-template-columns:1fr; }
  .form-submit-row button { width:100%; }
  .locations-section { padding-block:80px; }
  .locations-head h2 { font-size:3rem; }
  .locations-layout,.map-stage { min-height:510px; }
  .location-panel { min-height:470px; }
  .visit-cards { grid-template-columns:1fr;padding-block:80px; }
  .contact-faq { padding-block:80px; }
  .contact-faq h2 { font-size:2.7rem; }
  .faq-list summary { grid-template-columns:32px 1fr 24px;gap:10px;min-height:82px; }
  .faq-list details > p { margin:-2px 42px 24px 0; }
  [dir="ltr"] .faq-list details > p { margin-inline:42px 0; }
}

@media (max-width: 380px) {
  .company-hero-footer { grid-template-columns:1fr; }
  .company-hero-footer > div:nth-child(3) { grid-column:auto; }
  .quality-data { grid-template-columns:1fr; }
  .contact-hero h1 { font-size:2.8rem; }
  .project-form { margin-inline:-2px; }
}

@media (prefers-reduced-motion: reduce) {
  [data-company-reveal] { opacity:1;transform:none;transition:none; }
  .company-image-card,.company-image-card img,.company-primary-link,.company-cta > a { transform:none !important;transition:none; }
  .company-hero-media img { transform:none; }
  .company-hero-footer > a i::after,.map-route { animation:none; }
}
