@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400;1,500&display=swap');

:root {
  --white: #ffffff;
  --bg: #071a15;
  --paper: #0a1d18;
  --stone: #0f2922;
  --stone-2: #14382d;
  --ink: #f3ead7;
  --muted: #9ca99f;
  --dark-text: #17221d;
  --dark-muted: #5d665f;
  --light-panel: #f6f1e8;
  --light-panel-2: #ebe2d2;
  --line: rgba(229, 183, 92, 0.24);
  --accent: #e5b75c;
  --accent-dark: #f3cc79;
  --green: #092219;
  --deep: #03130f;
  --radius: 0px;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
  --max: 1760px;
  --serif: "Cormorant Garamond", serif;
  --sans: "Cormorant Garamond", serif;
  --body-copy: "Cormorant Garamond", serif;
  --mono: "Cormorant Garamond", serif;
}

* {
  font-family: "Cormorant Garamond", serif !important;
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  background: #000000;
  scroll-padding-top: 84px;
}
body {
  margin: 0;
  padding: 0;
  font-family: var(--sans);
  color: var(--ink);
  background: #000000;
  letter-spacing: 0;
  overflow-x: hidden;
  min-height: 100%;
}
section[id] { scroll-margin-top: 84px; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.site-header {
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  right: 0;
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(300px, 365px) minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(10px, 1.2vw, 20px);
  padding: 16px clamp(28px, 4.8vw, 92px);
  border-bottom: 1px solid rgba(229,183,92,.16);
  background: linear-gradient(180deg, rgba(5, 16, 13, .34), rgba(5, 16, 13, .08));
  box-shadow: none;
  backdrop-filter: blur(3px);
}
.site-header::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background-color: #4D432F;
}
.brand { display: inline-flex; align-items: center; gap: 14px; min-width: 0; }
.site-header .brand-logo {
  display: none;
}
.brand-logo {
  width: 118px;
  height: 70px;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: normal;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.28));
}
.brand-name {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--serif);
  max-width: none;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  text-transform: uppercase;
}
.brand-valelux {
  color: var(--accent-dark);
  font-size: 1em;
  letter-spacing: .12em;
}
.brand-mobile {
  color: rgba(243,234,215,.74);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .34em;
}
.footer-logo { width: 220px; height: auto; max-height: 96px; background: transparent; border-radius: var(--radius); }
.brand-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  background: var(--ink);
  color: var(--white);
  font-family: var(--serif);
  font-size: .84rem;
}
.brand strong { display: block; font-family: var(--serif); line-height: 1; font-size: 1.05rem; }
.brand small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.nav-links {
  display: flex;
  min-width: 0;
  justify-content: center;
  align-items: center;
  gap: clamp(9px, .72vw, 15px);
  color: rgba(243,234,215,.74);
  font-size: .78rem;
  font-weight: 800;
}
.nav-links a { padding: 12px 0; white-space: nowrap; transition: color 180ms ease, opacity 180ms ease; }
.nav-links a:hover, .nav-links a:focus-visible { color: var(--accent-dark); opacity: 1; }
.category-menu {
  position: relative;
  z-index: 4;
}
.category-menu summary {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: .88rem;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}
.category-menu summary::-webkit-details-marker { display: none; }
.category-menu summary::after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}
.category-menu-panel {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: min(260px, calc(100vw - 32px));
  display: grid;
  padding: 10px;
  border: 1px solid var(--line);
  background: #fbf6e8;
  color: var(--dark-text);
  box-shadow: 0 22px 52px rgba(0,0,0,.28);
}
.category-menu-panel a {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(23,34,29,.11);
  font-size: .9rem;
  font-weight: 800;
}
.category-menu-panel a:last-child { border-bottom: 0; }
.category-menu-panel a:hover,
.category-menu-panel a:focus-visible {
  background: #dec56e;
  color: #071910;
}
.header-actions {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 0;
  flex-shrink: 0;
}
.language-switcher {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.04);
  overflow: hidden;
}
.language-switcher button {
  min-width: 32px;
  min-height: 34px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: .78rem;
  font-weight: 900;
  cursor: pointer;
}
.language-switcher button.is-active {
  background: var(--accent);
  color: #071910;
}
.mobile-menu-action { display: none; }

.btn, .header-cta {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--radius);
  padding: 0 12px;
  font-size: .78rem;
  font-weight: 850;
  cursor: pointer;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.btn:hover, .header-cta:hover { transform: translateY(-2px); }
.btn-primary, .header-cta { background: var(--accent); color: #071910; border-color: var(--accent); }
.btn-primary:hover, .header-cta:hover { background: var(--accent-dark); color: #071910; }
.btn-light { background: rgba(255,255,255,.08); color: var(--ink); border-color: rgba(255,255,255,.24); }
.btn-light:hover { background: rgba(255,255,255,.14); color: var(--ink); }
.btn-outline { background: rgba(255,255,255,.14); color: var(--white); border-color: rgba(255,255,255,.54); }
.btn-outline:hover { background: rgba(255,255,255,.26); color: var(--white); }

@media (min-width: 1400px) {
  .site-header { grid-template-columns: minmax(320px, 390px) minmax(0, 1fr) auto; }
  .brand-name { font-size: 1.66rem; }
  .nav-links { font-size: .8rem; gap: clamp(10px, .78vw, 16px); }
}

@media (max-width: 1560px) and (min-width: 1121px) {
  .site-header {
    min-height: 116px;
    grid-template-columns: 1fr auto;
    row-gap: 8px;
  }
  .brand { grid-column: 1; grid-row: 1; }
  .brand-name { max-width: none; font-size: 1.5rem; }
  .header-actions { grid-column: 2; grid-row: 1; margin-left: 0; }
  .nav-links {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
    gap: clamp(16px, 1.55vw, 28px);
    font-size: .86rem;
  }
}

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
}
.menu-toggle span { display: block; width: 18px; height: 2px; margin: 5px auto; background: var(--dark-text); }
.mobile-menu-label { display: none; }

.hero {
  position: relative;
  min-height: 100svh;
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: 120px max(24px, calc((100vw - var(--max)) / 2)) 56px;
  color: var(--white);
}
.hero-media, .hero-overlay { position: absolute; inset: 0; }
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: brightness(.76) contrast(.92) saturate(.82) sepia(.12);
}
.hero-overlay {
  background:
    linear-gradient(90deg, rgba(31,42,34,.24) 0%, rgba(17,26,20,.2) 36%, rgba(13,20,16,.42) 100%),
    linear-gradient(0deg, rgba(13,20,16,.86) 0%, rgba(22,32,25,.14) 46%, rgba(17,26,20,.48) 100%);
}
.hero-content {
  position: relative;
  z-index: 2;
  width: min(620px, 100%);
  margin: 0 auto;
  text-align: center;
}
.hero-line {
  margin: 0 0 14px;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: .7rem;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .28em;
  text-transform: uppercase;
}
h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: 500; line-height: .98; }
h1 { max-width: 620px; margin: 0 auto; font-size: clamp(3.1rem, 5.2vw, 5.42rem); line-height: .92; }
h1 span {
  display: block;
  color: var(--accent-dark);
  font-family: "Cormorant Garamond", serif !important;
  font-style: italic;
  font-weight: 300;
}
h1, h2, h3, p { overflow-wrap: break-word; }
.hero-content > p:not(.hero-line) {
  max-width: 560px;
  margin: 16px auto 0;
  color: rgba(255,255,255,.86);
  font-size: clamp(.92rem, 1.05vw, 1.02rem);
  line-height: 1.5;
}
.hero-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 22px; }

.section, .quote, .category-page, .site-footer {
  padding-left: max(18px, calc((100vw - var(--max)) / 2));
  padding-right: max(18px, calc((100vw - var(--max)) / 2));
}
.section { padding-top: 112px; padding-bottom: 112px; }
main > section:not(.hero),
.quote,
.category-page,
.site-footer {
  border-top: 1px solid #4D432F;
}
body.is-catalog-route main > section:not(#category-page) {
  display: none;
}
body.is-catalog-route #category-page {
  min-height: 100svh;
}
body.is-contact-route #category-page {
  padding-top: clamp(116px, 8vw, 138px);
  padding-bottom: clamp(72px, 7vw, 118px);
  background: #000000;
}
body.is-model-route #category-page {
  padding-top: clamp(84px, 7vw, 104px);
}
.section-label {
  display: block;
  margin-bottom: 18px;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.section-copy h2, .section-heading h2, .quote-copy h2, .designer-copy h2 {
  font-size: clamp(2.45rem, 5vw, 5rem);
}
.section-copy p, .section-heading p, .quote-copy p, .designer-copy p {
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.78;
}
.about-section {
  display: grid;
  grid-template-columns: .94fr 1.06fr;
  gap: clamp(34px, 7vw, 82px);
  align-items: end;
  background: linear-gradient(180deg, rgba(22,32,25,.98), rgba(17,26,20,.98));
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border: 1px solid var(--line);
  background: var(--paper);
}
.trust-grid article { padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.trust-grid article:nth-child(2n) { border-right: 0; }
.trust-grid article:nth-last-child(-n+2) { border-bottom: 0; }
.trust-grid strong { display: block; font-family: var(--serif); font-size: 2.55rem; font-weight: 500; }
.trust-grid span { display: block; margin-top: 8px; color: var(--muted); line-height: 1.5; }
.about-detail-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 12px;
}
.about-detail-grid article {
  min-height: 260px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}
.about-detail-grid h3 { font-size: 1.72rem; line-height: 1.08; color: var(--ink); }
.about-detail-grid p { margin: 16px 0 0; color: var(--muted); line-height: 1.7; }

.section-heading {
  display: grid;
  grid-template-columns: 1fr minmax(240px, 380px);
  gap: 34px;
  align-items: end;
  margin-bottom: 42px;
}
.section-heading .section-label { grid-column: 1 / -1; margin-bottom: -8px; }

.home-types {
  padding-top: clamp(58px, 6vw, 92px);
  padding-bottom: clamp(58px, 6vw, 92px);
  background: linear-gradient(180deg, var(--light-panel), var(--light-panel-2));
  color: var(--dark-text);
}
.home-types .section-heading {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 430px);
  gap: 24px;
  margin-bottom: 22px;
}
.home-types .section-heading h2 { color: var(--dark-text); }
.home-types .section-heading p { color: var(--dark-muted); }
.home-types .section-label { color: #987b2f; }
.home-types .section-heading h2 { font-size: clamp(3rem, 5vw, 5.8rem); }
.home-types .section-heading p { margin-top: 0; font-size: .95rem; line-height: 1.65; }
.home-types .section-label { margin-bottom: -4px; }
.home-types .category-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
.home-types .category-card {
  min-width: 0;
  border-color: rgba(23, 34, 29, .13);
  background: rgba(255, 255, 255, .72);
  color: var(--dark-text);
  box-shadow: 0 18px 40px rgba(53, 38, 13, .1);
}
.home-types .category-media { aspect-ratio: 1.24 / .82; }
.home-types .category-body { padding: 16px; }
.home-types .category-body small {
  color: #987b2f;
  font-family: var(--mono);
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .1em;
}
.home-types .category-body h3 {
  margin-top: 8px;
  font-size: clamp(1.22rem, 1.45vw, 1.62rem);
  line-height: 1.02;
  color: var(--dark-text);
}
.home-types .category-body p {
  margin: 8px 0 0;
  font-size: .82rem;
  line-height: 1.45;
  color: var(--dark-muted);
}
.home-types .category-card:hover,
.home-types .category-card:focus-visible {
  background: #fffaf0;
  border-color: rgba(152, 123, 47, .55);
  color: var(--dark-text);
}
.home-types .category-card:hover .category-body h3,
.home-types .category-card:hover .category-body p,
.home-types .category-card:hover .card-action {
  color: var(--dark-text);
}
.home-types .category-body em { display: none; }
.home-types .card-action { margin-top: 10px; font-size: .78rem; color: #8d6d22; }

.category-grid, .model-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.category-card, .model-card, .why-card, .quote-form, .designer-form, .result-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(15,53,40,.96), rgba(7,38,29,.98));
  color: var(--ink);
  box-shadow: 0 16px 45px rgba(0,0,0,.22);
}
.category-card, .model-card {
  overflow: hidden;
  text-align: left;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.category-card:hover, .model-card:hover {
  transform: translateY(-5px);
  border-color: rgba(198,162,87,.62);
  box-shadow: var(--shadow);
}
.category-media { aspect-ratio: 1.36 / 1; overflow: hidden; background: var(--stone); }
.category-media img, .model-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.category-card:hover img, .model-card:hover img { transform: scale(1.04); }
.category-body { padding: 24px; }
.category-body small, .model-card span, .project-info small {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.category-body h3, .model-card h3 { margin-top: 12px; font-size: 2rem; color: var(--ink); }
.category-body p, .model-card p { color: var(--muted); line-height: 1.65; }
.category-body em {
  display: block;
  margin-top: 12px;
  color: #e8d3a6;
  font-size: .78rem;
  font-style: normal;
  line-height: 1.45;
}
.card-action { display: inline-flex; margin-top: 16px; color: var(--accent-dark); font-weight: 800; }

.model-card {
  display: grid;
  padding: 0;
  font: inherit;
  cursor: pointer;
}
.model-card img { aspect-ratio: 1.32 / 1; }
.model-card span, .model-card h3, .model-card p { margin-left: 22px; margin-right: 22px; }
.model-card span { margin-top: 20px; }
.model-card p { margin-bottom: 22px; }

.category-page {
  padding-top: clamp(122px, 10vw, 168px);
  padding-bottom: 112px;
  background:
    radial-gradient(circle at 0 25%, rgba(54, 96, 69, .22), transparent 32vw),
    radial-gradient(circle at 80% 40%, rgba(31, 42, 34, .26), transparent 36vw),
    linear-gradient(180deg, #111A14 0%, #162019 48%, #0D1410 100%);
}
.category-page[hidden] { display: none; }
.catalog-head {
  display: block;
  max-width: 680px;
  margin-bottom: clamp(36px, 4.1vw, 54px);
}
.catalog-head h2 {
  margin-top: 12px;
  color: var(--ink);
  font-size: clamp(2.9rem, 4.65vw, 5.65rem);
  line-height: .95;
}
.catalog-head p {
  max-width: 640px;
  margin: 18px 0 0;
  color: #9ca99f;
  font-size: clamp(1.02rem, 1.05vw, 1.25rem);
  line-height: 1.42;
}
.catalog-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.catalog-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(77,67,47,.95);
  border-radius: 0;
  background: rgba(5, 18, 14, .96);
  color: var(--ink);
  box-shadow: none;
}
.catalog-card-media {
  position: relative;
  aspect-ratio: 1.34 / 1;
  overflow: hidden;
  background: #06110e;
}
.catalog-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms ease;
}
.catalog-card:hover .catalog-card-media img {
  transform: scale(1.025);
}
.catalog-card-media span {
  position: absolute;
  top: 16px;
  right: 16px;
  min-width: 0;
  padding: 0;
  background: transparent;
  color: rgba(248,241,228,.9);
  font-family: var(--mono);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-align: center;
}
.catalog-card-body {
  display: grid;
  align-content: start;
  padding: 24px 24px 28px;
}
.catalog-card-body > span {
  display: block;
  color: rgba(200,175,100,.75);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.catalog-card h3 {
  margin: 12px 0 0;
  color: var(--ink);
  font-size: clamp(1.55rem, 1.6vw, 2rem);
  line-height: 1.08;
}
.catalog-card p {
  min-height: 64px;
  margin: 14px 0 0;
  color: rgba(156,169,159,.9);
  font-size: clamp(.96rem, .95vw, 1.08rem);
  line-height: 1.48;
}
.catalog-card strong {
  display: block;
  margin-top: 22px;
  margin-bottom: 0;
  color: #C8AF64;
  font-family: var(--serif);
  font-size: clamp(1.45rem, 1.55vw, 1.95rem);
  font-weight: 500;
  line-height: 1;
}
.catalog-base {
  display: block;
  margin-top: 8px;
  color: rgba(156,169,159,.8);
  font-family: var(--mono);
  font-size: .78rem;
  letter-spacing: .08em;
}
.catalog-card dl {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 0;
}
.catalog-card dl div {
  display: inline-flex;
  gap: 6px;
  padding: 6px 9px;
  border: 0;
  background: rgba(255,255,255,.045);
  font-family: var(--mono);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .04em;
}
.catalog-card dt {
  margin: 0;
  color: rgba(243,234,215,.84);
  font-weight: 600;
  text-transform: uppercase;
}
.catalog-card dd {
  margin: 0;
  color: rgba(243,234,215,.84);
}
.catalog-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 24px;
}
.catalog-card .btn {
  justify-content: center;
  min-height: 52px;
  padding: 0 14px;
  font-size: .98rem;
}
.catalog-card .btn-light {
  background: transparent;
  color: rgba(248,241,228,.86);
  border-color: rgba(77,67,47,.95);
}
.catalog-card .btn-light:hover {
  background: rgba(200,175,100,.08);
  color: #C8AF64 !important;
  border-color: #C8AF64 !important;
}
.catalog-card .btn-primary {
  border-color: transparent;
  background: var(--accent);
  color: #000000 !important;
}
.category-more {
  margin-top: 54px;
}
.category-more summary {
  width: max-content;
  max-width: 100%;
  padding: 13px 18px;
  border: 1px solid var(--line);
  color: var(--accent-dark);
  font-weight: 800;
  cursor: pointer;
}
.about-page {
  display: grid;
  gap: clamp(64px, 7vw, 104px);
}
.about-page-hero,
.about-company,
.about-split {
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(360px, 1.05fr);
  gap: clamp(34px, 6vw, 82px);
  align-items: center;
}
.about-page-hero {
  min-height: 54svh;
  align-items: end;
}
.about-page-hero h2 {
  max-width: 760px;
  color: var(--ink);
  font-size: clamp(3.4rem, 6.4vw, 7rem);
  line-height: .94;
}
.about-page-hero p {
  max-width: 620px;
  margin: 22px 0 0;
  color: rgba(243,234,215,.82);
  font-size: clamp(1rem, 1.2vw, 1.22rem);
  line-height: 1.7;
}
.about-page-hero img,
.about-company img,
.about-split img {
  width: 100%;
  min-height: 360px;
  object-fit: cover;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}
.about-company {
  grid-template-columns: 1.12fr .88fr;
}
.about-company h3,
.about-section-title,
.positioning-panel h3 {
  color: var(--ink);
  font-size: clamp(2rem, 3vw, 3.2rem);
}
.about-company p,
.apart-list span,
.about-card-grid p,
.mission-grid p,
.positioning-panel span {
  color: rgba(243,234,215,.78);
  line-height: 1.7;
}
.about-company p { margin: 16px 0 0; }
.about-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.about-stats article,
.about-card-grid article,
.mission-grid article,
.positioning-panel,
.material-card {
  border: 1px solid rgba(229,183,92,.42);
  background: #273830;
}
.about-stats article {
  min-height: 96px;
  display: grid;
  place-items: center;
  padding: 18px;
  text-align: center;
}
.about-stats strong {
  color: var(--accent-dark);
  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.4vw, 2.7rem);
  line-height: 1;
}
.about-stats span {
  display: block;
  margin-top: 7px;
  color: rgba(243,234,215,.8);
  font-size: .86rem;
  font-weight: 800;
}
.about-section-title {
  margin-bottom: 26px;
}
.about-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.about-card-grid article,
.mission-grid article {
  min-height: 126px;
  padding: 24px;
}
.about-card-grid .icon-card {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 16px;
  align-items: start;
}
.about-card-grid .icon-card > span {
  display: block;
  width: 24px;
  height: 24px;
  background: var(--accent-dark);
  mask: center / contain no-repeat;
  -webkit-mask: center / contain no-repeat;
}
.icon-factory > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9.5l4 2.5V9.5l4 2.5V6h4v14H4z'/%3E%3Cpath d='M7 16h1.2M11.4 16h1.2M15.8 16H17M7 13h1.2M11.4 13h1.2'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9.5l4 2.5V9.5l4 2.5V6h4v14H4z'/%3E%3Cpath d='M7 16h1.2M11.4 16h1.2M15.8 16H17M7 13h1.2M11.4 13h1.2'/%3E%3C/svg%3E");
}
.icon-container > span,
.icon-building > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 21V4h12v17'/%3E%3Cpath d='M9 8h1.5M13.5 8H15M9 12h1.5M13.5 12H15M9 16h1.5M13.5 16H15'/%3E%3Cpath d='M4 21h16'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 21V4h12v17'/%3E%3Cpath d='M9 8h1.5M13.5 8H15M9 12h1.5M13.5 12H15M9 16h1.5M13.5 16H15'/%3E%3Cpath d='M4 21h16'/%3E%3C/svg%3E");
}
.icon-home > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11.5L12 5l8 6.5'/%3E%3Cpath d='M6.5 10.5V20h11v-9.5'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11.5L12 5l8 6.5'/%3E%3Cpath d='M6.5 10.5V20h11v-9.5'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E");
}
.icon-tool > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 5.3a4.5 4.5 0 0 0 5.1 5.1L10 20.2 5.8 16l9.9-9.8z'/%3E%3Cpath d='M6.8 15l2.2 2.2'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 5.3a4.5 4.5 0 0 0 5.1 5.1L10 20.2 5.8 16l9.9-9.8z'/%3E%3Cpath d='M6.8 15l2.2 2.2'/%3E%3C/svg%3E");
}
.icon-cube > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 4.5v9L12 21l-8-4.5v-9L12 3z'/%3E%3Cpath d='M4 7.5l8 4.5 8-4.5M12 12v9'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 4.5v9L12 21l-8-4.5v-9L12 3z'/%3E%3Cpath d='M4 7.5l8 4.5 8-4.5M12 12v9'/%3E%3C/svg%3E");
}
.icon-key > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.4-7 10-4.2-1.6-7-5.3-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.4-7 10-4.2-1.6-7-5.3-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E");
}
.icon-globe > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2.2 2.3 3.2 5 3.2 8s-1 5.7-3.2 8M12 4c-2.2 2.3-3.2 5-3.2 8s1 5.7 3.2 8'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2.2 2.3 3.2 5 3.2 8s-1 5.7-3.2 8M12 4c-2.2 2.3-3.2 5-3.2 8s1 5.7 3.2 8'/%3E%3C/svg%3E");
}
.icon-shield > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.4-7 10-4.2-1.6-7-5.3-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.4-7 10-4.2-1.6-7-5.3-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E");
}
.icon-users > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='2.7'/%3E%3Ccircle cx='16.5' cy='9' r='2.2'/%3E%3Cpath d='M4 19c.8-3.2 2.5-4.8 5-4.8s4.2 1.6 5 4.8M14.2 14.8c2.3.2 3.9 1.6 4.8 4.2'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='2.7'/%3E%3Ccircle cx='16.5' cy='9' r='2.2'/%3E%3Cpath d='M4 19c.8-3.2 2.5-4.8 5-4.8s4.2 1.6 5 4.8M14.2 14.8c2.3.2 3.9 1.6 4.8 4.2'/%3E%3C/svg%3E");
}
.icon-chart > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17l5-5 4 3 6-8'/%3E%3Cpath d='M15.5 7H19v3.5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17l5-5 4 3 6-8'/%3E%3Cpath d='M15.5 7H19v3.5'/%3E%3C/svg%3E");
}
.about-work .icon-container > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='4' width='12' height='16' rx='1'/%3E%3Cpath d='M9 8h1.2M13.8 8H15M9 12h1.2M13.8 12H15M9 16h1.2M13.8 16H15'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='4' width='12' height='16' rx='1'/%3E%3Cpath d='M9 8h1.2M13.8 8H15M9 12h1.2M13.8 12H15M9 16h1.2M13.8 16H15'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E");
}
.about-work .icon-home > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11.2L12 5l7 6.2'/%3E%3Cpath d='M7 10.5V20h10v-9.5'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11.2L12 5l7 6.2'/%3E%3Cpath d='M7 10.5V20h10v-9.5'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E");
}
.about-work .icon-tool > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 5.3a4.5 4.5 0 0 0 5 5L10 20l-4-4 9.7-9.7z'/%3E%3Cpath d='M7.2 14.8l2 2'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 5.3a4.5 4.5 0 0 0 5 5L10 20l-4-4 9.7-9.7z'/%3E%3Cpath d='M7.2 14.8l2 2'/%3E%3C/svg%3E");
}
.about-work .icon-cube > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l7 4v9l-7 4-7-4v-9l7-4z'/%3E%3Cpath d='M5 7.5l7 4 7-4M12 11.5v9'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l7 4v9l-7 4-7-4v-9l7-4z'/%3E%3Cpath d='M5 7.5l7 4 7-4M12 11.5v9'/%3E%3C/svg%3E");
}
.about-work .icon-key > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l6 2.6v4.7c0 4.4-2.4 7.8-6 9.5-3.6-1.7-6-5.1-6-9.5V6.1l6-2.6z'/%3E%3Cpath d='M9.2 12l1.8 1.8 3.8-4.4'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l6 2.6v4.7c0 4.4-2.4 7.8-6 9.5-3.6-1.7-6-5.1-6-9.5V6.1l6-2.6z'/%3E%3Cpath d='M9.2 12l1.8 1.8 3.8-4.4'/%3E%3C/svg%3E");
}
.about-work .icon-globe > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2 2.3 3 5 3 8s-1 5.7-3 8M12 4c-2 2.3-3 5-3 8s1 5.7 3 8'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2 2.3 3 5 3 8s-1 5.7-3 8M12 4c-2 2.3-3 5-3 8s1 5.7 3 8'/%3E%3C/svg%3E");
}
.about-card-grid h4 {
  margin: 0 0 8px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1.35rem;
  font-weight: 600;
}
.about-card-grid p { margin: 0; font-size: .9rem; }
.mission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.mission-grid p {
  max-width: 720px;
  margin: 0;
  font-weight: 700;
}
.apart-list {
  display: grid;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.apart-list li {
  position: relative;
  padding-left: 30px;
}
.apart-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .35em;
  width: 12px;
  height: 12px;
  border: 1px solid var(--accent-dark);
  box-shadow: inset 0 0 0 3px rgba(229,183,92,.22);
}
.apart-list strong {
  display: block;
  color: var(--accent-dark);
  font-size: .92rem;
}
.apart-list span {
  display: block;
  margin-top: 3px;
  font-size: .88rem;
}
.positioning-panel {
  display: grid;
  gap: 22px;
  padding: clamp(26px, 4vw, 48px);
  text-align: center;
}
.positioning-panel div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.positioning-panel span {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid rgba(229,183,92,.36);
  font-size: .78rem;
}
.positioning-panel strong {
  color: var(--accent-dark);
  font-family: var(--serif);
  font-size: 1.05rem;
}

body.is-about-route #category-page {
  background: #000000;
  padding-top: clamp(48px, 4vw, 60px);
}

.about-page {
  max-width: 100%;
  padding: clamp(34px, 4.2vw, 68px) clamp(36px, 6vw, 110px) clamp(76px, 8vw, 130px);
  background: #000000;
  gap: clamp(42px, 4.8vw, 74px);
}

.about-page-hero {
  display: block;
  min-height: auto;
  max-width: 780px;
}

.about-page-hero h2 {
  max-width: 720px;
  margin-top: 12px;
  font-size: clamp(3.35rem, 4.6vw, 5.45rem);
  line-height: .96;
}

.about-page-hero p {
  max-width: 660px;
  margin-top: 20px;
  color: #9ca99f;
  font-size: clamp(1.05rem, 1.12vw, 1.25rem);
  line-height: 1.55;
}

.about-company {
  grid-template-columns: minmax(420px, 1.08fr) minmax(380px, .92fr);
  gap: clamp(44px, 5vw, 78px);
  align-items: center;
}

.about-company img,
.about-split img {
  height: clamp(390px, 39vw, 610px);
  min-height: 0;
  border: 0;
  box-shadow: none;
}

.about-company h3 {
  font-size: clamp(1.9rem, 2vw, 2.55rem);
}

.about-company p {
  color: #9ca99f;
  font-size: clamp(1rem, 1vw, 1.16rem);
  line-height: 1.7;
}

.about-stats {
  gap: clamp(22px, 2vw, 34px);
}

.about-stats article,
.about-card-grid article,
.mission-grid article,
.positioning-panel {
  border-color: #4D432F;
  background: #08261D;
  box-shadow: none;
}

.about-stats article {
  min-height: clamp(112px, 8vw, 150px);
}

.about-stats strong {
  color: #C8AF64;
  font-size: clamp(1.9rem, 2.2vw, 2.7rem);
  font-weight: 400;
}

.budget-euro-line {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .08em;
  color: #C8AF64;
}

.budget-euro-line::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: #C8AF64;
  transform: translateY(-50%);
}

.about-stats span {
  color: #9ca99f;
  font-size: clamp(.95rem, .9vw, 1.08rem);
  font-weight: 400;
}

.about-section-title {
  margin-bottom: clamp(28px, 3vw, 44px);
  font-size: clamp(2.15rem, 2.7vw, 3.35rem);
}

.about-card-grid {
  gap: clamp(20px, 1.7vw, 30px);
}

.about-card-grid article {
  min-height: clamp(112px, 8vw, 142px);
  padding: clamp(24px, 2vw, 34px);
}

.about-card-grid .icon-card {
  grid-template-columns: 34px 1fr;
  gap: 18px;
}

.about-card-grid .icon-card > span {
  width: 24px;
  height: 24px;
  background: #C8AF64;
}

.about-card-grid h4 {
  color: rgba(248,241,228,.95);
  font-size: clamp(1.18rem, 1.15vw, 1.45rem);
  font-weight: 500;
}

.about-card-grid p {
  color: #9ca99f;
  font-size: clamp(.98rem, .94vw, 1.12rem);
  line-height: 1.55;
}

.mission-grid {
  gap: clamp(28px, 3vw, 42px);
}

.mission-grid article {
  min-height: clamp(150px, 12vw, 196px);
  padding: clamp(34px, 3vw, 52px);
}

.mission-grid p {
  color: #9ca99f;
  font-size: clamp(1.05rem, 1vw, 1.22rem);
  line-height: 1.62;
  font-weight: 400;
}

.about-split {
  grid-template-columns: minmax(380px, .85fr) minmax(520px, 1.15fr);
  gap: clamp(54px, 7vw, 118px);
}

.about-split .about-card-grid {
  grid-template-columns: 1fr;
  gap: 18px;
}

.about-split .about-card-grid article {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
}

.about-audience .about-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.about-audience .icon-card {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  gap: 18px;
  min-height: clamp(146px, 11vw, 178px);
}

.about-audience .icon-card > span {
  width: 28px;
  height: 28px;
}

.about-audience .icon-users > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='2.5'/%3E%3Ccircle cx='16' cy='9' r='2'/%3E%3Cpath d='M4.5 19c.7-3.1 2.2-4.6 4.5-4.6s3.8 1.5 4.5 4.6'/%3E%3Cpath d='M14 15c2.2.2 3.7 1.5 4.5 4'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='2.5'/%3E%3Ccircle cx='16' cy='9' r='2'/%3E%3Cpath d='M4.5 19c.7-3.1 2.2-4.6 4.5-4.6s3.8 1.5 4.5 4.6'/%3E%3Cpath d='M14 15c2.2.2 3.7 1.5 4.5 4'/%3E%3C/svg%3E");
}

.about-audience .icon-chart > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16l4-4 3 2.5 6-7'/%3E%3Cpath d='M14.5 7.5H18v3.5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16l4-4 3 2.5 6-7'/%3E%3Cpath d='M14.5 7.5H18v3.5'/%3E%3C/svg%3E");
}

.about-audience .icon-home > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11.5L12 5l7 6.5'/%3E%3Cpath d='M7 10.8V20h10v-9.2'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11.5L12 5l7 6.5'/%3E%3Cpath d='M7 10.8V20h10v-9.2'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E");
}

.about-audience .icon-building > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20V5h10v15'/%3E%3Cpath d='M10 8h1M14 8h1M10 12h1M14 12h1M10 16h1M14 16h1'/%3E%3Cpath d='M5 20h14'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20V5h10v15'/%3E%3Cpath d='M10 8h1M14 8h1M10 12h1M14 12h1M10 16h1M14 16h1'/%3E%3Cpath d='M5 20h14'/%3E%3C/svg%3E");
}

.about-audience .icon-cube > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4l7 4v8l-7 4-7-4V8l7-4z'/%3E%3Cpath d='M5 8l7 4 7-4M12 12v8'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4l7 4v8l-7 4-7-4V8l7-4z'/%3E%3Cpath d='M5 8l7 4 7-4M12 12v8'/%3E%3C/svg%3E");
}

.about-audience .icon-globe > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2 2.3 3 5 3 8s-1 5.7-3 8M12 4c-2 2.3-3 5-3 8s1 5.7 3 8'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2 2.3 3 5 3 8s-1 5.7-3 8M12 4c-2 2.3-3 5-3 8s1 5.7 3 8'/%3E%3C/svg%3E");
}

.about-apart-grid .icon-factory > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V10l4 2.2V10l4 2.2V6h4v14H4z'/%3E%3Cpath d='M7 16h1.2M11.5 16h1.2M16 16h1M7 13h1.2M11.5 13h1.2'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V10l4 2.2V10l4 2.2V6h4v14H4z'/%3E%3Cpath d='M7 16h1.2M11.5 16h1.2M16 16h1M7 13h1.2M11.5 13h1.2'/%3E%3C/svg%3E");
}

.about-apart-grid .icon-cube > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4l7 4v8l-7 4-7-4V8l7-4z'/%3E%3Cpath d='M5 8l7 4 7-4M12 12v8'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4l7 4v8l-7 4-7-4V8l7-4z'/%3E%3Cpath d='M5 8l7 4 7-4M12 12v8'/%3E%3C/svg%3E");
}

.about-apart-grid .icon-tool > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 5.3a4.5 4.5 0 0 0 5 5L10 20l-4-4 9.7-9.7z'/%3E%3Cpath d='M7.2 14.8l2 2'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 5.3a4.5 4.5 0 0 0 5 5L10 20l-4-4 9.7-9.7z'/%3E%3Cpath d='M7.2 14.8l2 2'/%3E%3C/svg%3E");
}

.about-apart-grid .icon-shield > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l6 2.6v4.7c0 4.4-2.4 7.8-6 9.5-3.6-1.7-6-5.1-6-9.5V6.1l6-2.6z'/%3E%3Cpath d='M9.2 12l1.8 1.8 3.8-4.4'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l6 2.6v4.7c0 4.4-2.4 7.8-6 9.5-3.6-1.7-6-5.1-6-9.5V6.1l6-2.6z'/%3E%3Cpath d='M9.2 12l1.8 1.8 3.8-4.4'/%3E%3C/svg%3E");
}

.about-apart-grid .icon-globe > span {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2 2.3 3 5 3 8s-1 5.7-3 8M12 4c-2 2.3-3 5-3 8s1 5.7 3 8'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2 2.3 3 5 3 8s-1 5.7-3 8M12 4c-2 2.3-3 5-3 8s1 5.7 3 8'/%3E%3C/svg%3E");
}

.positioning-panel {
  gap: clamp(24px, 2.5vw, 36px);
  padding: clamp(34px, 4vw, 58px);
}

.positioning-panel h3 {
  font-size: clamp(2.05rem, 2.4vw, 3rem);
}

.positioning-panel span {
  border-color: #4D432F;
  background: #08261D;
  color: #9ca99f;
  font-size: clamp(.88rem, .8vw, 1rem);
}

.positioning-panel strong {
  color: #C8AF64;
  font-size: clamp(1.08rem, 1vw, 1.25rem);
  font-weight: 500;
}
.materials-section {
  margin-top: clamp(64px, 7vw, 108px);
  padding-top: clamp(54px, 6vw, 86px);
  border-top: 1px solid #4D432F;
}
.materials-head {
  max-width: 660px;
  margin-bottom: 38px;
}
.materials-head h2 {
  color: var(--ink);
  font-size: clamp(2.5rem, 4.2vw, 4.8rem);
}
.materials-head p {
  margin: 18px 0 0;
  color: rgba(243,234,215,.82);
  line-height: 1.7;
}
.materials-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}
.material-card {
  min-height: 158px;
  padding: 24px;
}
.material-card svg {
  width: 24px;
  height: 24px;
  margin-bottom: 18px;
  fill: none;
  stroke: var(--accent-dark);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.material-card h3 {
  color: var(--ink);
  font-size: 1.18rem;
  line-height: 1.12;
}
.material-card p {
  margin: 12px 0 0;
  color: rgba(243,234,215,.78);
  font-size: .88rem;
  line-height: 1.6;
}

.materials-section {
  margin-top: clamp(52px, 5.4vw, 82px);
  padding-top: clamp(46px, 5vw, 68px);
  padding-bottom: clamp(48px, 4.6vw, 68px);
  background: radial-gradient(circle at 78% 45%, rgba(32, 89, 65, .24), transparent 30vw);
}

.materials-head {
  max-width: 560px;
  margin-bottom: 40px;
}

.materials-head .section-label {
  color: var(--accent-dark);
}

.materials-head h2 {
  font-size: clamp(2.1rem, 2.75vw, 3.25rem);
}

.materials-head p {
  max-width: 520px;
  margin-top: 16px;
  color: rgba(243,234,215,.82);
  font-size: clamp(.94rem, .95vw, 1.05rem);
  line-height: 1.45;
}

.materials-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.material-card {
  min-height: 126px;
  padding: 20px 22px;
  border: 1px solid rgba(77,67,47,.95);
  background: #08261D;
  box-shadow: none;
}

.material-card .material-icon {
  display: block;
  width: 24px;
  height: 24px;
  margin-bottom: 16px;
  color: var(--accent-dark);
  font-size: 0;
  line-height: 1;
}

.material-card .material-icon::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: var(--accent-dark);
  mask: center / contain no-repeat;
  -webkit-mask: center / contain no-repeat;
}

.material-card:nth-child(1) .material-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.4-7 10-4.2-1.6-7-5.3-7-10V6l7-3z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.4-7 10-4.2-1.6-7-5.3-7-10V6l7-3z'/%3E%3C/svg%3E");
}
.material-card:nth-child(2) .material-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14.5V5a2 2 0 0 1 4 0v9.5a4 4 0 1 1-4 0z'/%3E%3Cpath d='M12 7v7'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 14.5V5a2 2 0 0 1 4 0v9.5a4 4 0 1 1-4 0z'/%3E%3Cpath d='M12 7v7'/%3E%3C/svg%3E");
}
.material-card:nth-child(3) .material-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4c2.5 3 4 5.2 4 7a4 4 0 0 1-8 0c0-1.8 1.5-4 4-7z'/%3E%3Cpath d='M16 6c2.4 2.8 3.6 4.8 3.6 6.4A3.6 3.6 0 1 1 12.4 12c0-1.5 1.2-3.5 3.6-6z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4c2.5 3 4 5.2 4 7a4 4 0 0 1-8 0c0-1.8 1.5-4 4-7z'/%3E%3Cpath d='M16 6c2.4 2.8 3.6 4.8 3.6 6.4A3.6 3.6 0 1 1 12.4 12c0-1.5 1.2-3.5 3.6-6z'/%3E%3C/svg%3E");
}
.material-card:nth-child(4) .material-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4l8 4-8 4-8-4 8-4z'/%3E%3Cpath d='M4 12l8 4 8-4M4 16l8 4 8-4'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4l8 4-8 4-8-4 8-4z'/%3E%3Cpath d='M4 12l8 4 8-4M4 16l8 4 8-4'/%3E%3C/svg%3E");
}
.material-card:nth-child(5) .material-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4z'/%3E%3Cpath d='M9.3 4v16M14.6 4v16M4 9.3h16M4 14.6h16'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4z'/%3E%3Cpath d='M9.3 4v16M14.6 4v16M4 9.3h16M4 14.6h16'/%3E%3C/svg%3E");
}
.material-card:nth-child(6) .material-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6h12v12H6z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6h12v12H6z'/%3E%3C/svg%3E");
}
.material-card:nth-child(7) .material-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 10-13h-7l1-7z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 10-13h-7l1-7z'/%3E%3C/svg%3E");
}
.material-card:nth-child(8) .material-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4l6 6-8 8H6v-6l8-8z'/%3E%3Cpath d='M4 20h8'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4l6 6-8 8H6v-6l8-8z'/%3E%3Cpath d='M4 20h8'/%3E%3C/svg%3E");
}

.material-card h3 {
  color: var(--ink);
  font-size: 1.04rem;
  line-height: 1.08;
}

.material-card p {
  margin-top: 9px;
  color: rgba(243,234,215,.76);
  font-size: clamp(.86rem, .85vw, .95rem);
  line-height: 1.35;
}
.product-detail-page {
  display: grid;
  grid-template-columns: minmax(460px, 1.1fr) minmax(380px, .9fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: start;
}
.product-media {
  display: grid;
  gap: 14px;
}
.back-link {
  width: max-content;
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.product-image-stage {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: #061b14;
}
.product-main-image {
  width: 100%;
  height: min(62svh, 620px);
  min-height: 440px;
  object-fit: cover;
}
.gallery-arrow {
  position: absolute;
  top: 50%;
  width: 42px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(229,183,92,.5);
  background: rgba(3, 19, 15, .72);
  color: var(--accent-dark);
  font-family: var(--serif);
  font-size: 2.35rem;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}
.gallery-arrow:hover,
.gallery-arrow:focus-visible {
  background: var(--accent);
  color: #071910;
  border-color: var(--accent);
}
.gallery-arrow-prev { left: 14px; }
.gallery-arrow-next { right: 14px; }
.gallery-counter {
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 6px 9px;
  border: 1px solid rgba(229,183,92,.42);
  background: rgba(3, 19, 15, .72);
  color: var(--ink);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 800;
}
.product-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(116px, 1fr));
  gap: 12px;
}
.product-thumb {
  min-width: 0;
  padding: 0;
  border: 2px solid rgba(229,183,92,.22);
  background: transparent;
  cursor: pointer;
  opacity: .74;
  transition: border-color 160ms ease, opacity 160ms ease, transform 160ms ease;
}
.product-thumb:hover,
.product-thumb:focus-visible,
.product-thumb.is-active {
  border-color: var(--accent-dark);
  opacity: 1;
}
.product-thumb.is-active {
  box-shadow: 0 0 0 2px rgba(229,183,92,.18);
}
.product-thumb:hover { transform: translateY(-2px); }
.product-thumb img {
  width: 100%;
  aspect-ratio: 1.28 / .82;
  object-fit: cover;
}
.product-info {
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid var(--line);
  background: rgba(6, 27, 20, .86);
  box-shadow: 0 20px 50px rgba(0,0,0,.24);
}
.product-info h2 {
  font-size: clamp(3rem, 5vw, 6rem);
}
.product-info > p {
  color: var(--muted);
  line-height: 1.65;
}
.product-price {
  display: block;
  margin: 16px 0;
  color: var(--accent-dark);
  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 3.1rem);
}
.product-detail-page {
  grid-template-columns: minmax(520px, 1.05fr) minmax(480px, .95fr);
  gap: clamp(34px, 4vw, 58px);
  align-items: start;
}
.product-media {
  gap: 12px;
}
.product-detail-page .back-link {
  margin-bottom: 22px;
  color: #9ca99f !important;
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.product-detail-page .back-link::before {
  content: "<";
  display: inline-block;
  margin-right: 10px;
  color: #9ca99f;
}
.product-detail-page .product-image-stage {
  border: 1px solid rgba(77,67,47,.72);
  background: #06110e;
  box-shadow: none;
}
.product-detail-page .product-main-image {
  display: block;
  height: min(58svh, 650px);
  min-height: 520px;
  object-fit: cover;
}
.product-detail-page .product-main-image.is-fit-contain {
  object-fit: contain;
  background: #06110e;
}
.product-detail-page .product-main-image.is-fit-cover {
  object-fit: cover;
}
.product-detail-page .product-main-video {
  display: block;
  width: 100%;
  height: min(58svh, 650px);
  min-height: 520px;
  object-fit: cover;
  background: #000000;
}
.product-detail-page .product-main-image[hidden],
.product-detail-page .product-main-video[hidden] {
  display: none !important;
  min-height: 0 !important;
}
.product-detail-page > .product-detail-video,
.product-detail-page > .product-video-block {
  display: none !important;
}
.product-detail-page .gallery-arrow {
  width: 34px;
  height: 44px;
  border: 0;
  background: transparent;
  color: rgba(248,241,228,.86);
  font-size: 0;
  transform: translateY(-50%);
}
.product-detail-page .gallery-arrow::before {
  font-family: var(--serif);
  font-size: 2.1rem;
  line-height: 1;
}
.product-detail-page .gallery-arrow-prev::before { content: "\2039"; }
.product-detail-page .gallery-arrow-next::before { content: "\203A"; }
.product-detail-page .gallery-arrow:hover,
.product-detail-page .gallery-arrow:focus-visible {
  border: 0 !important;
  background: transparent;
  color: #C8AF64 !important;
  transform: translateY(-50%) scale(1.03);
}
.product-detail-page .gallery-arrow-prev { left: 18px; }
.product-detail-page .gallery-arrow-next { right: 18px; }
.product-detail-page .gallery-counter {
  right: 18px;
  bottom: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(248,241,228,.92);
  font-size: .8rem;
  font-weight: 500;
}
.product-detail-page .product-thumbs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.product-detail-page .product-thumb {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(77,67,47,.76);
  opacity: .82;
  box-shadow: none;
}
.product-detail-page .product-thumb:hover,
.product-detail-page .product-thumb:focus-visible,
.product-detail-page .product-thumb.is-active {
  border-color: #C8AF64 !important;
  opacity: 1;
  transform: none;
}
.product-thumb-play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, .22);
  color: #ffffff;
  font-size: 1.35rem;
  line-height: 1;
  pointer-events: none;
}
.product-detail-page .product-thumb.is-active {
  box-shadow: 0 0 0 1px rgba(200,175,100,.6);
}
.product-detail-page .product-thumb img {
  aspect-ratio: 1.22 / .74;
  min-height: 92px;
  object-fit: cover;
}
.product-detail-page .product-info {
  padding: clamp(34px, 2.8vw, 50px) 0 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.product-kicker {
  display: grid;
  gap: 7px;
  justify-items: start;
}
.product-code {
  color: rgba(200,175,100,.82);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.product-type-badge {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  padding: 0;
  background: transparent;
  color: rgba(248,241,228,.94);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
}
.product-detail-page .product-info h2 {
  margin-top: 18px;
  color: var(--ink);
  font-size: clamp(2.55rem, 3.3vw, 4.25rem);
  line-height: 1;
}
.product-detail-page .product-price {
  margin: 26px 0 0;
  color: #C8AF64;
  font-size: clamp(1.65rem, 2vw, 2.25rem);
  line-height: 1;
}
.product-base-price {
  display: block;
  margin-top: 8px;
  color: #9ca99f;
  font-family: var(--mono);
  font-size: .78rem;
  letter-spacing: .04em;
}
.product-detail-page .product-info > p {
  max-width: 760px;
  margin-top: 28px;
  color: #9ca99f;
  font-size: clamp(1.02rem, 1vw, 1.16rem);
  line-height: 1.55;
}
.product-divider {
  height: 1px;
  margin: 26px 0 20px;
  background: #4D432F;
}
.product-spec-title {
  display: block;
  color: #C8AF64;
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.product-detail-page .product-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
}
.product-detail-page .product-specs div {
  display: grid;
  gap: 5px;
  min-height: 52px;
  padding: 10px 14px;
  border: 0;
  background: #14211D;
}
.product-detail-page .product-specs dt {
  color: rgba(248,241,228,.96);
  font-family: var(--mono);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: capitalize;
}
.product-detail-page .product-specs dd {
  color: rgba(156,169,159,.9);
  font-size: 1.12rem;
  font-weight: 500;
}
.product-detail-page .product-quote-button {
  width: 100%;
  min-height: 54px;
  margin-top: 24px;
  justify-content: center;
  color: #000000 !important;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.category-hero {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: clamp(30px, 5vw, 70px);
  align-items: center;
}
.category-hero img {
  width: 100%;
  aspect-ratio: 1.35 / 1;
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.category-hero h2 { font-size: clamp(3rem, 6vw, 6rem); }
.category-hero p { margin: 22px 0 28px; color: var(--muted); line-height: 1.75; }
.category-content {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 52px;
}
.category-content article {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}
.category-content h3 { font-size: 1.65rem; }
.category-content p { color: var(--muted); line-height: 1.65; }
.spec-panel dl, .modal-specs {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
}
.spec-panel dl div, .modal-specs div, .result-panel dl div {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid #4D432F;
}
dt { color: var(--muted); text-transform: capitalize; }
dd { margin: 0; color: var(--ink); font-weight: 750; }
.feature-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 28px 0 44px;
}
.feature-strip span {
  padding: 9px 12px;
  border: 1px solid rgba(198,162,87,.35);
  border-radius: 999px;
  background: rgba(198,162,87,.12);
  color: #f1ddb2;
  font-size: .82rem;
  font-weight: 800;
}
.compact-heading { margin-top: 18px; }

.category-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 28px 0 10px;
}
.category-gallery img {
  width: 100%;
  aspect-ratio: 1.35 / 1;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 18px 36px rgba(0,0,0,.22);
}
.replacement-note {
  max-width: 760px;
  margin: -18px 0 36px;
  color: #e8d3a6;
  line-height: 1.65;
}

.why-section {
  background: radial-gradient(circle at 78% 45%, rgba(32, 89, 65, .34), transparent 30vw), #07130F;
}
.why-reference-head {
  margin-bottom: clamp(54px, 7vw, 92px);
}
.why-reference-head h2 {
  margin-top: 10px;
  color: var(--ink);
  font-size: clamp(2.35rem, 3.2vw, 4.1rem);
  line-height: 1;
}
.why-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(34px, 6vw, 96px);
}
.why-card {
  display: grid;
  justify-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: center;
}
.why-card span {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #4D432F;
  color: #C8AF64;
  font-family: var(--serif);
  line-height: 1;
}
.why-card svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: #C8AF64;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.why-card h3 {
  margin-top: 18px;
  color: var(--ink);
  font-size: 1.25rem;
  line-height: 1.08;
}
.why-card p {
  max-width: 280px;
  margin: 8px auto 0;
  color: rgba(243,234,215,.78);
  line-height: 1.35;
}

.home-bestsellers {
  background: #07130F;
}
.home-bestsellers .section-heading {
  margin-bottom: clamp(48px, 5.2vw, 76px);
}
.home-bestsellers .section-heading h2 {
  margin-top: 10px;
  color: var(--ink);
  font-size: clamp(2.8rem, 4.1vw, 5rem);
  line-height: 1;
}
.home-bestsellers .section-heading p {
  display: none;
}
.home-bestsellers .model-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.home-bestsellers .chalet-card {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  min-width: 0;
  padding: 0;
  border: 1px solid rgba(77,67,47,.95);
  border-radius: 0;
  background: rgba(5, 18, 14, .96);
  box-shadow: none;
  color: var(--ink);
  cursor: default;
}
.home-bestsellers .chalet-card:hover {
  transform: none;
  border-color: rgba(77,67,47,.95);
  box-shadow: none;
}
.home-bestsellers .chalet-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1.34 / 1;
  background: #06110e;
}
.home-bestsellers .chalet-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms ease;
}
.home-bestsellers .chalet-card:hover .chalet-media img {
  transform: scale(1.025);
}
.home-bestsellers .chalet-tag {
  position: absolute;
  top: 16px;
  right: 16px;
  margin: 0;
  padding: 7px 12px;
  background: rgba(20, 27, 25, .72);
  color: rgba(248,241,228,.86);
  font-family: var(--mono);
  font-size: .78rem;
  letter-spacing: .08em;
}
.home-bestsellers .chalet-body {
  display: grid;
  align-content: start;
  padding: 24px 24px 28px;
}
.home-bestsellers .chalet-code {
  margin: 0;
  color: rgba(200,175,100,.75);
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.home-bestsellers .chalet-card h3 {
  margin: 12px 0 0;
  color: var(--ink);
  font-size: clamp(1.55rem, 1.6vw, 2rem);
  line-height: 1.08;
}
.home-bestsellers .chalet-card p {
  min-height: 64px;
  margin: 14px 0 0;
  color: rgba(156,169,159,.9);
  font-size: clamp(.96rem, .95vw, 1.08rem);
  line-height: 1.48;
}
.home-bestsellers .chalet-price {
  display: block;
  margin-top: 22px;
  color: #C8AF64;
  font-family: var(--serif);
  font-size: clamp(1.45rem, 1.55vw, 1.95rem);
  font-weight: 500;
  line-height: 1;
}
.home-bestsellers .chalet-base {
  display: block;
  margin-top: 8px;
  color: rgba(156,169,159,.8);
  font-family: var(--mono);
  font-size: .78rem;
  letter-spacing: .08em;
}
.home-bestsellers .chalet-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.home-bestsellers .chalet-specs span {
  margin: 0;
  padding: 6px 9px;
  background: rgba(255,255,255,.045);
  color: rgba(243,234,215,.84);
  font-family: var(--mono);
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .04em;
}
.home-bestsellers .chalet-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 24px;
}
.home-bestsellers .chalet-actions .btn {
  justify-content: center;
  min-height: 52px;
  padding: 0 14px;
  font-size: .98rem;
}
.home-bestsellers .view-details {
  border-color: rgba(77,67,47,.95);
  color: rgba(248,241,228,.86);
  background: transparent;
}
.home-bestsellers .view-details:hover,
.home-bestsellers .view-details:focus-visible {
  border-color: #C8AF64 !important;
  color: #C8AF64 !important;
  background: rgba(200,175,100,.08);
}
.home-bestsellers .request-quote {
  border-color: transparent;
  background: var(--accent);
  color: #000000 !important;
}
.home-company {
  background: #000000;
}
.home-company-grid {
  display: grid;
  justify-items: center;
  text-align: center;
}
.home-company-grid h2 {
  color: var(--ink);
  font-size: clamp(2.7rem, 3.6vw, 4.5rem);
  line-height: 1;
}
.home-company-grid p {
  margin: 18px auto 24px;
  max-width: 760px;
  color: rgba(243,234,215,.8);
  line-height: 1.45;
}
.home-company-grid > div { width: 100%; max-width: none; }
.home-company-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 18px;
  margin: clamp(42px, 5vw, 70px) auto 38px;
}
.home-company-features article {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 14px;
  min-height: 86px;
  padding: 22px 24px;
  border: 1px solid rgba(77,67,47,.86);
  background: #08261D;
  text-align: left;
}
.home-company-features span {
  display: block;
  width: 24px;
  height: 24px;
  color: var(--accent-dark);
  font-size: 0;
  line-height: 1;
}
.home-company-features span svg,
.home-company-features span::before {
  display: block;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: var(--accent-dark);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.home-company-features span::before {
  content: "";
  background: var(--accent-dark);
  mask: center / contain no-repeat;
  -webkit-mask: center / contain no-repeat;
}
.home-company-features article:nth-child(1) span::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9l4 3V9l4 3V6h4v14H4z'/%3E%3Cpath d='M7 16h1.5M11 16h1.5M15 16h1.5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9l4 3V9l4 3V6h4v14H4z'/%3E%3Cpath d='M7 16h1.5M11 16h1.5M15 16h1.5'/%3E%3C/svg%3E");
}
.home-company-features article:nth-child(2) span::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 4.5v9L12 21l-8-4.5v-9L12 3z'/%3E%3Cpath d='M4 7.5l8 4.5 8-4.5M12 12v9'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 4.5v9L12 21l-8-4.5v-9L12 3z'/%3E%3Cpath d='M4 7.5l8 4.5 8-4.5M12 12v9'/%3E%3C/svg%3E");
}
.home-company-features article:nth-child(3) span::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 5.5a5 5 0 0 0 4 6.8L9.6 21.2 5 16.6l8.9-8.9a5 5 0 0 0 .6-2.2z'/%3E%3Cpath d='M6.8 15.2l2 2'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 5.5a5 5 0 0 0 4 6.8L9.6 21.2 5 16.6l8.9-8.9a5 5 0 0 0 .6-2.2z'/%3E%3Cpath d='M6.8 15.2l2 2'/%3E%3C/svg%3E");
}
.home-company-features article:nth-child(4) span::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-7 8 7v9H6v-7h12'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11l8-7 8 7v9H6v-7h12'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E");
}
.home-company-features article:nth-child(5) span::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2.2 2.3 3.2 5 3.2 8s-1 5.7-3.2 8M12 4c-2.2 2.3-3.2 5-3.2 8s1 5.7 3.2 8'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M4 12h16M12 4c2.2 2.3 3.2 5 3.2 8s-1 5.7-3.2 8M12 4c-2.2 2.3-3.2 5-3.2 8s1 5.7 3.2 8'/%3E%3C/svg%3E");
}
.home-company-features article:nth-child(6) span::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.4-7 10-4.2-1.6-7-5.3-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.7-2.8 8.4-7 10-4.2-1.6-7-5.3-7-10V6l7-3z'/%3E%3Cpath d='M9 12l2 2 4-5'/%3E%3C/svg%3E");
}
.home-company-features h3 {
  margin: 0 0 6px;
  color: var(--ink);
  font-size: 1.08rem;
  line-height: 1.05;
}
.home-company-features p {
  max-width: none;
  margin: 0;
  color: rgba(243,234,215,.72);
  line-height: 1.35;
}
.text-link {
  color: var(--accent-dark);
  font-family: var(--mono);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-mission {
  background: #000000;
}
.home-company-mission {
  margin: 32px auto 24px;
  max-width: 1220px;
}
.home-company-mission article {
  background: #08261D;
  border: 1px solid rgba(77,67,47,.86);
}
.ready-section {
  display: grid;
  justify-items: center;
  padding: clamp(76px, 8vw, 130px) max(18px, calc((100vw - var(--max)) / 2));
  border-top: 1px solid #4D432F;
  background: #07130F;
  text-align: center;
}
.ready-section h2 {
  color: var(--ink);
  font-size: clamp(2.8rem, 5.2vw, 5.5rem);
}
.ready-section h2 span {
  color: var(--accent-dark);
  font-style: italic;
}
.ready-section p {
  max-width: 660px;
  margin: 16px 0 0;
  color: rgba(243,234,215,.82);
  line-height: 1.7;
}

.designer { background: #000000; }
.designer-copy {
  max-width: 980px;
  margin-bottom: 42px;
}
.builder-shell {
  display: grid;
  grid-template-columns: 290px minmax(430px, 1fr) 330px;
  gap: 18px;
  align-items: start;
}
.designer-form, .result-panel, .quote-form, .builder-controls, .builder-canvas-panel {
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(15,53,40,.98), rgba(7,38,29,.98));
  box-shadow: 0 16px 45px rgba(0,0,0,.22);
}
label { display: grid; gap: 8px; color: var(--ink); font-size: .82rem; font-weight: 850; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 13px 14px;
  color: var(--ink);
  background: rgba(255,255,255,.06);
  outline: none;
}
select option {
  background: #071a15;
  color: #f3ead7;
}
input::placeholder, textarea::placeholder { color: rgba(248,241,228,.5); }
input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(198,162,87,.18); }
.two-col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.three-col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.option-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.option-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
  color: var(--ink);
}
.option-toggle input { width: auto; }
.result-panel span { color: var(--accent-dark); font-size: .76rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.result-panel h3 { margin-top: 14px; font-size: 2.25rem; }
.result-panel dl { display: grid; gap: 14px; margin: 24px 0; }
.builder-controls { display: grid; gap: 14px; }
.builder-step {
  display: grid;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.builder-step:last-child { border-bottom: 0; padding-bottom: 0; }
.builder-step > span {
  color: var(--accent-dark);
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.module-buttons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  max-height: 270px;
  overflow: auto;
  padding-right: 3px;
}
.module-buttons button {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px 12px;
  background: rgba(5, 20, 15, .95);
  color: var(--ink);
  text-align: left;
  font-size: .82rem;
  font-weight: 850;
  cursor: pointer;
}
.module-buttons button:hover {
  border-color: rgba(229,183,92,.7);
  background: rgba(229,183,92,.16);
  color: var(--accent-dark);
}
.builder-controls input,
.builder-controls select,
.builder-controls textarea,
.result-panel input,
.result-panel select,
.result-panel textarea,
.quote-form input,
.quote-form select,
.quote-form textarea,
.room-editor input,
.room-editor select,
.room-editor textarea {
  border-color: rgba(229,183,92,.38);
  background: rgba(5, 20, 15, .95);
  color: var(--ink);
}
.builder-controls input:focus,
.builder-controls select:focus,
.builder-controls textarea:focus,
.result-panel input:focus,
.result-panel select:focus,
.result-panel textarea:focus,
.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus,
.room-editor input:focus,
.room-editor select:focus,
.room-editor textarea:focus {
  border-color: var(--accent-dark);
  box-shadow: 0 0 0 3px rgba(229,183,92,.18);
}
.builder-controls select option,
.result-panel select option,
.quote-form select option,
.room-editor select option {
  background: #071a15;
  color: #f3ead7;
}
.builder-canvas-panel { min-width: 0; }
.builder-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
}
.builder-toolbar .section-label { margin-bottom: 6px; }
.builder-toolbar strong { font-family: var(--serif); font-size: 1.65rem; font-weight: 500; }
.builder-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.floor-plan-wrap {
  position: relative;
  padding: 28px 0 0 34px;
}
.floor-plan-board {
  position: relative;
  height: clamp(360px, 48vw, 560px);
  min-height: 360px;
  border: 2px solid var(--green);
  border-radius: var(--radius);
  background-color: #fffdf8;
  background-image:
    linear-gradient(rgba(8,63,46,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,63,46,.08) 1px, transparent 1px);
  background-size: 24px 24px;
  overflow: hidden;
  touch-action: none;
  color: #151515;
}
.dimension-label {
  position: absolute;
  color: var(--green);
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.dimension-top { top: 0; left: 34px; right: 0; text-align: center; }
.dimension-side { top: 50%; left: 0; transform: rotate(-90deg) translateX(-50%); transform-origin: left top; }
.room-module {
  position: absolute;
  min-width: 68px;
  min-height: 54px;
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 10px;
  border: 2px solid #0b513a;
  border-radius: 6px;
  background: rgba(255, 247, 232, .96);
  color: #151515;
  box-shadow: 0 12px 30px rgba(35,28,18,.12);
  cursor: grab;
  user-select: none;
  transform: rotate(var(--room-rotation, 0deg));
  transform-origin: center;
  transition:
    left 180ms ease,
    top 180ms ease,
    width 220ms ease,
    height 220ms ease,
    transform 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease;
}
.room-module strong { color: #151515; font-size: .78rem; line-height: 1.2; }
.room-module span { color: #676059; font-size: .68rem; font-weight: 800; }
.room-module button {
  position: absolute;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--white);
  color: #151515;
  font-size: .72rem;
  font-weight: 950;
  cursor: pointer;
}
.room-module button:hover {
  border-color: rgba(185,138,54,.65);
  background: #fff8eb;
  color: var(--green);
  box-shadow: 0 8px 16px rgba(35,28,18,.12);
}
.room-duplicate { right: 54px; top: 6px; }
.room-rotate {
  right: 30px;
  top: 6px;
  border-color: rgba(185,138,54,.45);
  color: var(--green);
  font-size: .58rem;
  letter-spacing: -.02em;
}
.room-rotate svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.room-delete { right: 6px; top: 6px; }
.room-module i {
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 14px;
  height: 14px;
  border-right: 3px solid var(--accent);
  border-bottom: 3px solid var(--accent);
  cursor: nwse-resize;
}
.room-module.is-rotating {
  animation: rotatePulse 260ms ease;
  border-color: var(--accent);
  box-shadow: 0 16px 34px rgba(185,138,54,.24);
}
.room-module.rotation-blocked {
  animation: blockedShake 360ms ease;
  border-color: #b45309;
  box-shadow: 0 0 0 4px rgba(180,83,9,.16), 0 12px 30px rgba(35,28,18,.12);
}
@keyframes rotatePulse {
  0% { transform: rotate(var(--room-rotation, 0deg)) scale(.96); }
  58% { transform: rotate(var(--room-rotation, 0deg)) scale(1.025); }
  100% { transform: rotate(var(--room-rotation, 0deg)) scale(1); }
}
@keyframes blockedShake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  50% { transform: translateX(5px); }
  75% { transform: translateX(-3px); }
}
.builder-help { margin: 14px 0 0; color: var(--muted); line-height: 1.6; }
.builder-help.is-error { color: #9a3412; font-weight: 850; }
.builder-summary { position: sticky; top: 104px; }
.preview-card {
  display: grid;
  gap: 14px;
  margin: 20px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--paper);
}
.preview-head { display: grid; gap: 10px; }
.preview-head strong { color: var(--ink); font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.preview-mode-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.preview-mode-tabs button {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  color: #000000 !important;
  font-size: .78rem;
  font-weight: 900;
  cursor: pointer;
}
.preview-mode-tabs button.is-active {
  background: var(--green);
  border-color: var(--green);
  color: var(--white);
}
.render-status {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(8,63,46,.14);
}
.render-status span {
  display: block;
  width: 0%;
  height: 100%;
  border-radius: inherit;
  background: var(--green);
  transition: width 420ms ease;
}
.furnished-preview-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.furnished-preview-shell:has(.preview-room-list:not([hidden])) {
  grid-template-columns: minmax(0, 1fr) minmax(150px, .55fr);
}
.furnished-preview {
  position: relative;
  min-height: 270px;
  overflow: hidden;
  border: 1px solid rgba(8,63,46,.22);
  border-radius: var(--radius);
  background:
    linear-gradient(#efe6d8 1px, transparent 1px),
    linear-gradient(90deg, #efe6d8 1px, transparent 1px),
    #fffdf8;
  background-size: 22px 22px;
  color: #151515;
}
.preview-boundary {
  position: absolute;
  inset: 15px;
  border: 3px solid var(--green);
  border-radius: 6px;
  background: rgba(255,255,255,.72);
  box-shadow: inset 0 0 0 1px rgba(185,138,54,.32);
}
.preview-room {
  position: absolute;
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 7px;
  border: 2px solid rgba(8,63,46,.42);
  background: rgba(255,250,242,.96);
  color: #151515;
  overflow: hidden;
}
.preview-room strong {
  color: #083f2e;
  font-size: .66rem;
  font-weight: 950;
  line-height: 1.05;
}
.room-measure {
  color: #8c622b;
  font-size: .58rem;
  font-weight: 900;
}
.preview-furniture {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  align-content: flex-start;
}
.preview-room em {
  display: inline-block;
  padding: 2px 5px;
  border: 1px solid rgba(8,63,46,.14);
  border-radius: 999px;
  background: rgba(185,138,54,.16);
  color: #3f2d18;
  font-size: .5rem;
  font-weight: 850;
  font-style: normal;
}
.preview-room em::before { margin-right: 2px; }
.f-bed::before { content: "▰"; }
.f-wardrobe::before, .f-storage::before { content: "▥"; }
.f-side-table::before, .f-small-table::before, .f-table::before, .f-dining-table::before { content: "□"; }
.f-water-bottle::before { content: "◦"; }
.f-toilet::before { content: "○"; }
.f-sink::before { content: "◒"; }
.f-shower::before { content: "▤"; }
.f-fridge::before { content: "▥"; }
.f-oven::before { content: "▣"; }
.f-counter::before { content: "▭"; }
.f-sofa::before { content: "▰"; }
.f-tv::before { content: "▭"; }
.f-chair::before, .f-chairs::before { content: "◔"; }
.f-plant::before, .f-plants::before, .f-flower-pot::before { content: "✣"; }
.f-desk::before { content: "▱"; }
.preview-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #333333 !important;
  font-weight: 800;
  text-align: center;
  padding: 24px;
  opacity: 1;
  text-shadow: none;
}
.preview-room-list {
  display: grid;
  gap: 10px;
  max-height: 270px;
  overflow: auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
}
.preview-room-list h4 {
  margin: 0 0 4px;
  color: #000000;
  font-size: .85rem;
}
.preview-room-detail {
  display: grid;
  gap: 3px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  font-size: .68rem;
  color: #000000;
  line-height: 1.35;
}
.preview-room-detail:last-child { border-bottom: 0; }
.preview-room-detail strong { color: #000000; font-size: .78rem; }
.preview-room-detail span { color: #000000; }

.furnished-preview {
  min-height: 360px;
  background:
    linear-gradient(#efe6d8 1px, transparent 1px),
    linear-gradient(90deg, #efe6d8 1px, transparent 1px),
    #fffdf8;
  background-size: 18px 18px;
}
.preview-boundary {
  inset: 18px;
  border: 7px solid #12382c;
  background:
    linear-gradient(#f7efe3 1px, transparent 1px),
    linear-gradient(90deg, #f7efe3 1px, transparent 1px),
    #fffdf7;
  background-size: 22px 22px;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.9), inset 0 0 0 4px rgba(18,56,44,.18);
}
.preview-room {
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 8px;
  border: 4px solid #173e31;
  background:
    repeating-linear-gradient(90deg, rgba(184,139,64,.11) 0 7px, rgba(255,255,255,.18) 7px 14px),
    #f7eddf;
  overflow: hidden;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75);
  transform: rotate(var(--room-rotation, 0deg));
  transform-origin: center;
}
.preview-room::before {
  content: "";
  position: absolute;
  left: 10px;
  bottom: -4px;
  width: clamp(18px, 26%, 46px);
  height: clamp(14px, 24%, 38px);
  border: 2px solid rgba(185,138,54,.85);
  border-left: 0;
  border-bottom: 0;
  border-radius: 0 100% 0 0;
  background: rgba(255,253,248,.96);
}
.preview-room::after {
  content: "";
  position: absolute;
  top: -5px;
  right: 14%;
  width: clamp(22px, 32%, 60px);
  height: 5px;
  border-left: 3px solid #8bb7c7;
  border-right: 3px solid #8bb7c7;
  background: #cde5ec;
}
.preview-room strong {
  z-index: 2;
  font-size: .72rem;
  text-transform: uppercase;
}
.room-measure {
  z-index: 2;
  font-size: .62rem;
}
.preview-furniture {
  position: relative;
  z-index: 2;
  min-height: 54px;
}
.preview-furniture.preview-furniture-placed {
  position: absolute;
  inset: 0;
  display: block;
  min-height: 0;
  overflow: hidden;
  pointer-events: none;
}
.furniture-item {
  position: absolute;
  display: block;
  border: 2px solid rgba(45, 54, 49, .7);
  background: #fbf7ee;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.8);
  transform-origin: center;
}
.f-bed { left: 8%; top: 18%; width: 44%; height: 44%; border-radius: 7px; background: linear-gradient(90deg, #e9dbc4 0 28%, #fdf7ed 28%); }
.f-bed::after { content: ""; position: absolute; left: 9%; top: 12%; width: 18%; height: 28%; border-radius: 4px; background: #fff; border: 1px solid rgba(45,54,49,.35); }
.f-wardrobe { right: 7%; top: 16%; width: 18%; height: 52%; background: repeating-linear-gradient(90deg, #c8ac7b 0 8px, #b9955e 8px 10px); }
.f-side-table { left: 55%; top: 20%; width: 13%; height: 15%; border-radius: 4px; }
.f-water-bottle { left: 60%; top: 38%; width: 8px; height: 12px; border-radius: 99px; background: #8cc6d8; border-color: #6097a8; }
.f-toilet { left: 10%; top: 20%; width: 22%; height: 28%; border-radius: 50% 50% 38% 38%; background: #fff; }
.f-sink { left: 42%; top: 18%; width: 24%; height: 22%; border-radius: 50%; background: #f5fbff; border-color: #7ca6b6; }
.f-shower { right: 8%; bottom: 12%; width: 34%; height: 40%; border-radius: 4px; background: repeating-linear-gradient(45deg, #d8eef4 0 4px, #f8fdff 4px 8px); border-color: #7ca6b6; }
.f-fridge { left: 8%; top: 15%; width: 20%; height: 45%; border-radius: 4px; background: #f7faf9; }
.f-oven { left: 33%; top: 15%; width: 18%; height: 24%; background: #333; box-shadow: inset 0 0 0 5px #f3e8d4; }
.f-counter { left: 56%; top: 12%; width: 36%; height: 24%; border-radius: 4px; background: #c9aa76; }
.room-kitchen .f-sink { left: 68%; top: 17%; width: 16%; height: 14%; }
.f-sofa { left: 8%; top: 22%; width: 46%; height: 28%; border-radius: 12px; background: #d7c0a2; }
.f-sofa::after { content: ""; position: absolute; inset: 20% 8%; border-top: 2px solid rgba(45,54,49,.35); }
.f-tv { right: 8%; top: 18%; width: 7%; height: 45%; border-radius: 2px; background: #26362f; }
.f-table { left: 46%; top: 56%; width: 22%; height: 20%; border-radius: 50%; background: #d7b77d; }
.f-flower-pot, .f-plant, .f-plants { right: 10%; bottom: 8%; width: 16px; height: 16px; border-radius: 50%; background: radial-gradient(circle, #3f8b5e 0 48%, #a4773c 50%); }
.f-dining-table { left: 33%; top: 30%; width: 34%; height: 30%; border-radius: 50%; background: #d4ae72; }
.f-chairs, .f-chair { width: 13%; height: 13%; border-radius: 50%; background: #ede3d2; }
.f-chairs:nth-child(2), .f-chair:nth-child(2) { left: 18%; top: 39%; }
.f-chairs:nth-child(3), .f-chair:nth-child(3) { right: 18%; top: 39%; }
.f-chairs:nth-child(4), .f-chair:nth-child(4) { left: 44%; top: 12%; }
.f-chairs:nth-child(5), .f-chair:nth-child(5) { left: 44%; bottom: 12%; }
.f-small-table { left: 44%; top: 42%; width: 18%; height: 18%; border-radius: 50%; background: #d3b37b; }
.f-desk { left: 10%; top: 18%; width: 52%; height: 20%; border-radius: 4px; background: #c6a06b; }
.f-storage { right: 8%; top: 14%; width: 24%; height: 52%; background: repeating-linear-gradient(90deg, #c8ac7b 0 8px, #b9955e 8px 10px); }
.room-bath { background: linear-gradient(90deg, rgba(198,222,225,.55) 1px, transparent 1px), linear-gradient(rgba(198,222,225,.55) 1px, transparent 1px), #f6fbfa; background-size: 12px 12px; }
.room-kitchen { background: linear-gradient(90deg, rgba(210,196,176,.7) 1px, transparent 1px), linear-gradient(rgba(210,196,176,.7) 1px, transparent 1px), #fbf4e9; background-size: 14px 14px; }
.room-balcony { background: linear-gradient(135deg, rgba(190,148,82,.18) 25%, transparent 25%) 0 0 / 16px 16px, #f5ead8; }
.wall-measure {
  position: absolute;
  z-index: 3;
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--white);
  color: var(--green);
  border: 1px solid rgba(8,63,46,.24);
  font-size: .56rem;
  font-weight: 950;
}
.wall-measure-x { left: 50%; bottom: -18px; transform: translateX(-50%); }
.wall-measure-y { right: -22px; top: 50%; transform: rotate(90deg) translateX(50%); transform-origin: right center; }
.outer-measure {
  position: absolute;
  z-index: 5;
  padding: 3px 9px;
  border: 1px solid rgba(8,63,46,.3);
  border-radius: 999px;
  background: var(--white);
  color: var(--green);
  font-size: .68rem;
  font-weight: 950;
  box-shadow: 0 8px 20px rgba(35,28,18,.1);
}
.outer-measure-top { left: 50%; top: -18px; transform: translateX(-50%); }
.outer-measure-side { right: -28px; top: 50%; transform: rotate(90deg) translateX(50%); transform-origin: right center; }

.project-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
}
.project-card {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--ink);
  color: var(--white);
  box-shadow: var(--shadow);
}
.project-card:first-child { min-height: 740px; grid-row: span 2; }
.project-card img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; opacity: .9; transition: transform 700ms ease; }
.project-card:hover img { transform: scale(1.04); }
.project-info { position: absolute; inset: auto 0 0; padding: 26px; background: linear-gradient(0deg, rgba(10,9,7,.88), rgba(10,9,7,0)); }
.project-info small { color: #e8c899; }
.project-info h3 { margin-top: 10px; font-size: clamp(2rem, 3.4vw, 4rem); color: var(--white); }
.project-info p { color: rgba(255,255,255,.8); line-height: 1.65; }

.gallery-section { background: linear-gradient(180deg, #162019, #111A14); }
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: 150px;
  gap: 12px;
}
.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--stone);
  border: 1px solid var(--line);
}
.gallery-item:nth-child(1), .gallery-item:nth-child(2) { grid-column: span 3; grid-row: span 2; }
.gallery-item:nth-child(n+3) { grid-column: span 2; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease; }
.gallery-item:hover img { transform: scale(1.045); }
.gallery-item span {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 8px 10px;
  border-radius: var(--radius);
  background: rgba(3,19,15,.86);
  color: var(--accent-dark);
  font-size: .78rem;
  font-weight: 850;
}

.quote {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: clamp(34px, 6vw, 78px);
  padding-top: 112px;
  padding-bottom: 112px;
  background: #000000;
}
.contact-details { display: grid; gap: 12px; margin-top: 28px; }
.contact-details a { color: var(--ink); font-weight: 800; }
.quote-form { display: grid; gap: 16px; background: linear-gradient(180deg, rgba(15,53,40,.98), rgba(7,38,29,.98)); }
.form-status { min-height: 20px; margin: 0; color: var(--accent-dark); font-weight: 800; }
.contact-page {
  min-height: auto;
  display: grid;
  grid-template-columns: minmax(520px, 1.02fr) minmax(360px, .98fr);
  gap: clamp(48px, 4.4vw, 72px);
  align-items: start;
  padding-top: 0;
  background: #000000;
}
.contact-page-main {
  display: grid;
  gap: clamp(36px, 3.7vw, 58px);
}
.contact-page-copy h2 {
  max-width: 560px;
  color: var(--ink);
  font-size: clamp(4rem, 4.6vw, 5.9rem);
  line-height: .92;
}
.contact-page-copy p {
  max-width: 620px;
  margin: 28px 0 0;
  color: #A0A0A0;
  font-size: clamp(1.05rem, 1vw, 1.22rem);
  font-weight: 400;
  line-height: 1.55;
}
.contact-page-form {
  gap: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.contact-page-form label span,
.project-type-field legend {
  color: #C8AF64;
  font-family: var(--mono);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.contact-page-form input,
.contact-page-form textarea {
  min-height: 47px;
  border: 1px solid #4D432F;
  background: #14211D;
  color: #FFFFFF;
  font-size: .9rem;
  font-weight: 750;
}
.contact-page-form textarea {
  min-height: 132px;
  resize: vertical;
}
.contact-page-form input::placeholder,
.contact-page-form textarea::placeholder {
  color: #A0A0A0;
}
.project-type-field {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.project-type-field div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 9px;
}
.project-type-field label {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  cursor: pointer;
}
.project-type-field input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
}
.project-type-field label span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid #4D432F;
  background: #14211D;
  color: rgba(243,234,215,.86);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: none;
}
.project-type-field input:checked + span,
.project-type-field label:hover span {
  color: #FFFFFF;
}
.contact-page-form .btn {
  width: 100%;
  min-height: 54px;
  margin-top: 8px;
  color: #000000 !important;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.contact-side {
  display: grid;
  gap: clamp(34px, 4vw, 58px);
  padding-top: clamp(184px, 14.5vw, 244px);
}
.direct-contact {
  display: grid;
  gap: 30px;
}
.direct-contact h3,
.hours-card h3 {
  color: var(--ink);
  font-size: clamp(1.35rem, 1.2vw, 1.62rem);
  line-height: 1;
}
.direct-contact .btn {
  width: max-content;
  min-height: 50px;
  padding: 0 32px;
  color: #000000 !important;
}
.direct-list {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}
.direct-list p,
.direct-list a {
  position: relative;
  padding-left: 32px;
}
.direct-list p {
  margin: 0;
}
.direct-list p::before,
.direct-list a::before {
  position: absolute;
  left: 0;
  top: .08em;
  width: 18px;
  color: #C8AF64;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
}
.direct-address::before { content: "⌖"; }
.direct-phone::before { content: "☎"; }
.direct-email::before { content: "✉"; }
.direct-list strong,
.direct-list span,
.direct-list a {
  display: block;
  color: rgba(243,234,215,.88);
  font-size: .96rem;
  font-weight: 500;
  line-height: 1.45;
}
.direct-list span {
  color: #A0A0A0;
}
.direct-list p:hover strong,
.direct-list p:hover span,
.direct-list a:hover,
.direct-list a:focus-visible {
  color: #C8AF64 !important;
  transform: none !important;
}
.hours-card {
  padding: 28px 32px;
  border: 1px solid #4D432F;
  background: #08261D;
}
.hours-card p {
  margin: 8px 0 0;
  color: #A0A0A0;
  font-size: .96rem;
  font-weight: 400;
  line-height: 1.45;
}

.model-modal {
  width: min(1360px, calc(100vw - 32px));
  max-height: min(820px, calc(100svh - 32px));
  border: 0;
  border-radius: var(--radius);
  padding: 0;
  background: var(--paper);
  color: var(--ink);
  box-shadow: var(--shadow);
  overflow: auto;
}
.model-modal::backdrop { background: rgba(15, 13, 10, .54); }
.room-modal {
  width: min(560px, calc(100vw - 28px));
  border: 0;
  border-radius: var(--radius);
  padding: 0;
  background: var(--paper);
  color: var(--ink);
  box-shadow: var(--shadow);
}
.room-modal::backdrop { background: rgba(15, 13, 10, .48); }
.room-editor {
  display: grid;
  gap: 16px;
  padding: 30px;
}
.room-editor h3 { font-size: clamp(2rem, 4vw, 3rem); }
.room-editor p { margin: 0; color: var(--muted); line-height: 1.6; }
.room-error {
  min-height: 20px;
  color: #9a3412 !important;
  font-weight: 850;
}
.room-editor-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.modal-close {
  position: absolute;
  z-index: 2;
  right: 16px;
  top: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 10px 12px;
  background: var(--deep);
  color: var(--ink);
  font-weight: 900;
  cursor: pointer;
}
.modal-grid {
  display: grid;
  grid-template-columns: minmax(420px, 1.1fr) minmax(360px, .9fr);
  gap: 30px;
  padding: 30px;
}
.modal-gallery {
  display: grid;
  gap: 12px;
  align-content: start;
}
.modal-main-image {
  width: 100%;
  min-height: 470px;
  height: min(58svh, 560px);
  object-fit: cover;
  border-radius: var(--radius);
  border: 1px solid var(--line);
}
.modal-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.modal-thumbs img {
  width: 100%;
  aspect-ratio: 1.45 / 1;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.detail-block {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #4D432F;
}
.detail-block strong {
  display: block;
  color: var(--accent-dark);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.modal-grid h2 { font-size: clamp(2.8rem, 4.4vw, 5.25rem); }
.modal-grid p { color: var(--muted); line-height: 1.62; }
.modal-features { margin: 22px 0; }

.whatsapp-float {
  position: fixed;
  z-index: 60;
  right: 20px;
  bottom: 20px;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #25d366;
  color: #ffffff;
  box-shadow: 0 18px 50px rgba(0,0,0,.34), 0 0 0 1px rgba(255,255,255,.16) inset;
}
.whatsapp-float svg {
  width: 32px;
  height: 32px;
  display: block;
  fill: currentColor;
}
.whatsapp-float strong {
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%);
  width: max-content;
  padding: 8px 10px;
  border-radius: var(--radius);
  background: var(--deep);
  color: var(--ink);
  font-size: .82rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}
.whatsapp-float:hover {
  background: #1ebe5d;
  transform: translateY(-2px);
}
.whatsapp-float:hover strong { opacity: 1; }

.site-footer {
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr .8fr;
  gap: clamp(26px, 5vw, 76px);
  padding-top: 62px;
  padding-bottom: 64px;
  border-top: 1px solid #4D432F;
  background: #07130F;
  color: var(--ink);
}
.site-footer > div { display: grid; align-content: start; gap: 10px; }
.site-footer p, .site-footer a { color: #A0A0A0; line-height: 1.7; }
.site-footer strong {
  margin-bottom: 6px;
  color: #C8AF64 !important;
  font-family: var(--serif);
  font-size: 1.1rem;
}
.site-footer .brand-name { margin-bottom: 12px; }
.site-footer p {
  max-width: 360px;
  margin: 0;
}
.site-footer > div:last-child {
  justify-items: center;
  align-content: center;
  background: transparent;
  padding: 0;
  text-align: center;
}
.footer-whatsapp {
  width: max-content;
  padding: 10px 18px;
  background: var(--accent);
  color: #071910 !important;
  font-weight: 900;
}
.footer-legal {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 14px max(18px, calc((100vw - var(--max)) / 2));
  border-top: 1px solid rgba(77,67,47,.72);
  background: #07130F;
  color: rgba(160,160,160,.7);
  font-size: .82rem;
  letter-spacing: .02em;
}

[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity 650ms ease, transform 650ms ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }

.admin-body { min-height: 100vh; background: var(--bg); }
.admin-shell { display: grid; grid-template-columns: 282px 1fr; min-height: 100vh; }
.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  padding: 26px;
  background: #03110d;
  color: var(--ink);
}
.admin-nav { display: grid; gap: 8px; margin-top: 34px; }
.admin-nav button {
  width: 100%;
  border: 1px solid transparent;
  border-radius: var(--radius);
  padding: 12px;
  background: transparent;
  color: rgba(248,241,228,.74);
  text-align: left;
  font-size: .9rem;
  font-weight: 800;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}
.admin-nav button:hover,
.admin-nav button:focus-visible {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: var(--ink);
}
.admin-nav button.is-active { background: rgba(198,162,87,.16); color: var(--accent-dark); border-color: rgba(198,162,87,.32); }
.admin-main { padding: 34px; }
.admin-top { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 28px; }
.admin-top h1 { color: var(--ink); font-size: clamp(2.3rem, 5vw, 4.6rem); }
.admin-top p { margin: 12px 0 0; color: var(--muted); line-height: 1.6; }
.admin-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.admin-card,
.admin-panel,
.admin-table {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(15,53,40,.98), rgba(7,38,29,.98));
  box-shadow: 0 14px 40px rgba(0,0,0,.18);
}
.admin-card { padding: 22px; }
.admin-card span,
.admin-panel label span {
  color: var(--accent-dark);
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.admin-card strong { display: block; margin-top: 8px; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.admin-card p { margin: 10px 0 0; color: var(--muted); line-height: 1.55; }
.admin-panel { margin-top: 18px; padding: 26px; }
.admin-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 18px;
  margin-bottom: 22px;
}
.admin-panel-head h2 { font-size: clamp(2rem, 4vw, 3.6rem); color: var(--ink); }
.admin-panel-head p { max-width: 720px; margin: 12px 0 0; color: var(--muted); line-height: 1.65; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.admin-form-grid label { min-width: 0; }
.admin-form-grid .wide { grid-column: 1 / -1; }
.admin-form-grid small {
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.4;
}
.admin-check {
  grid-template-columns: auto 1fr;
  align-items: center;
  min-height: 52px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.04);
}
.admin-check input { width: auto; }
.admin-tool-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #4D432F;
}
.admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.admin-table { margin-top: 18px; overflow: hidden; box-shadow: none; }
.admin-row {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr .8fr;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
}
.admin-row:last-child { border-bottom: 0; }
.admin-row.header { color: var(--muted); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.admin-row span { min-width: 0; overflow-wrap: anywhere; }
.admin-status {
  min-height: 20px;
  margin: 12px 0 0;
  color: var(--accent-dark);
  font-weight: 850;
}

.hero-content > p:not(.hero-line),
.section-copy p,
.section-heading p,
.designer-copy p,
.category-body p,
.model-card p,
.catalog-head p,
.catalog-card p,
.about-detail-grid p,
.about-page-hero p,
.about-company p,
.about-card-grid p,
.mission-grid p,
.apart-list span,
.materials-head p,
.material-card p,
.product-info > p,
.category-hero p,
.category-content p,
.why-card p,
.home-company-grid p,
.ready-section p,
.contact-page-copy p,
.hours-card p,
.direct-list span,
.site-footer p,
.modal-grid p,
.room-editor p,
.builder-help,
.admin-top p,
.admin-card p,
.admin-panel-head p {
  color: #9ca99f;
  font-family: var(--body-copy);
  font-weight: 300;
  letter-spacing: normal;
}

@media (max-width: 1120px) {
  .site-header { grid-template-columns: minmax(150px, 1fr) auto auto; justify-content: stretch; }
  .brand-name { display: inline-block; font-size: .72rem; }
  .menu-toggle { display: block; }
  .nav-links { display: none; }
  .header-actions { justify-self: end; }
  .header-cta { min-height: 40px; padding: 0 12px; font-size: .78rem; }
  .language-switcher button { min-width: 36px; min-height: 36px; }
  .site-header.is-open .nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: grid;
    padding: 16px max(22px, calc((100vw - var(--max)) / 2));
    border-top: 1px solid #4D432F;
    border-radius: 0;
    background: rgba(3,17,13,.98);
    box-shadow: 0 18px 44px rgba(0,0,0,.32);
    color: var(--ink);
  }
  .about-section, .designer, .quote, .designer-shell, .category-hero, .builder-shell, .home-company-grid, .contact-page { grid-template-columns: 1fr; }
  .contact-side { padding-top: 0; }
  .builder-summary { position: static; }
  .category-grid, .model-grid, .why-grid { grid-template-columns: repeat(2, 1fr); }
  .home-bestsellers .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-types .category-grid { grid-template-columns: repeat(3, 1fr); }
  .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-head, .product-detail-page, .about-page-hero, .about-company, .about-split { grid-template-columns: 1fr; }
  .about-detail-grid { grid-template-columns: repeat(2, 1fr); }
  .about-stats, .materials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .positioning-panel div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .category-content { grid-template-columns: repeat(2, 1fr); }
  .project-grid { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-card:first-child { min-height: 460px; grid-row: auto; }
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { position: static; height: auto; }
  .admin-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 720px) {
  .site-header {
    top: 0;
    left: 0;
    right: 0;
    max-width: none;
    min-height: 68px;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 10px;
    padding: 8px 12px;
  }
  .site-header::after {
    content: none;
  }
  .brand-name { font-size: .68rem; white-space: normal; line-height: 1.25; }
  .menu-toggle {
    display: block !important;
    position: absolute !important;
    top: 12px;
    right: 12px;
    z-index: 1000;
    width: 56px;
    height: 44px;
    opacity: 0;
  }
  .mobile-menu-label {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    z-index: 90;
    width: 56px;
    height: 44px;
    display: grid;
    place-items: center;
    background: #f6f1e8;
    color: var(--dark-text);
    box-shadow: 0 12px 28px rgba(0,0,0,.32);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    pointer-events: none;
  }
  .menu-toggle::before {
    content: none;
  }
  .menu-toggle span { display: none; }
  .category-menu {
    justify-self: stretch;
  }
  .category-menu summary {
    width: 100%;
    justify-content: center;
  }
  .category-menu-panel {
    left: 0;
    right: auto;
    width: 100%;
  }
  .header-actions {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    width: 100%;
    max-width: calc(100vw - 24px);
    display: grid;
    grid-template-columns: 72px 60px minmax(0, 1fr);
    gap: 10px;
    justify-content: stretch;
    align-items: center;
    padding-top: 6px;
  }
  .language-switcher { width: 72px; }
  .language-switcher button { min-width: 36px; }
  .mobile-menu-action {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    background: #f6f1e8;
    color: var(--dark-text);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .header-cta { display: inline-flex; min-width: 0; width: 100%; max-width: 100%; padding: 0 10px; white-space: normal; text-align: center; }
  .hero { min-height: 94svh; padding: 156px 18px 30px; }
  .hero-content { width: min(100%, 300px); }
  h1 { max-width: 100%; font-size: clamp(1.78rem, 8vw, 2.15rem); line-height: 1.08; overflow-wrap: normal; }
  .hero-content { max-width: 100%; overflow: hidden; }
  .hero-line {
    max-width: 100%;
    font-size: .64rem;
    letter-spacing: .18em;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .hero-content > p:not(.hero-line) {
    max-width: 100%;
    font-size: .95rem;
    overflow-wrap: anywhere;
  }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .section, .quote, .category-page { padding-top: 82px; padding-bottom: 82px; }
  .section-heading { display: block; }
  .home-types {
    padding-top: 42px;
    padding-bottom: 44px;
  }
  .home-types .section-heading { display: block; margin-bottom: 18px; }
  .home-types .section-heading p { margin-top: 12px; }
  .category-grid, .model-grid, .why-grid, .about-detail-grid, .category-content, .two-col, .three-col, .option-grid, .trust-grid, .gallery-grid, .admin-grid, .admin-form-grid, .about-stats, .about-card-grid, .mission-grid, .materials-grid, .positioning-panel div, .home-bestsellers .model-grid { grid-template-columns: 1fr; }
  .home-types .category-grid { grid-template-columns: 1fr; }
  .catalog-grid { grid-template-columns: 1fr; }
  .catalog-head h2 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .about-page { gap: 54px; }
  .about-page-hero { min-height: auto; }
  .about-page-hero h2 { font-size: clamp(2.7rem, 14vw, 4.2rem); }
  .about-page-hero img,
  .about-company img,
  .about-split img,
  .home-company-grid img { min-height: 260px; }
  .contact-page { min-height: auto; padding-top: 0; }
  .contact-page-main { gap: 28px; }
  .contact-page-copy h2,
  .home-company-grid h2,
  .ready-section h2 { font-size: clamp(2.55rem, 13vw, 4rem); }
  .about-card-grid article,
  .mission-grid article,
  .material-card { padding: 20px; }
  .materials-section { margin-top: 54px; padding-top: 48px; }
  .product-main-image { min-height: 280px; height: 360px; }
  .product-thumbs { grid-template-columns: repeat(3, 1fr); }
  .builder-controls, .builder-canvas-panel, .result-panel { padding: 18px; }
  .builder-toolbar, .admin-panel-head { display: grid; }
  .furnished-preview-shell,
  .furnished-preview-shell:has(.preview-room-list:not([hidden])) {
    grid-template-columns: 1fr;
  }
  .preview-room-list { max-height: none; }
  .floor-plan-wrap { padding-left: 24px; }
  .floor-plan-board { min-height: 320px; height: 380px; }
  .room-module { min-width: 56px; min-height: 48px; padding: 8px; }
  .room-module strong { font-size: .7rem; }
  .admin-form-grid .wide { grid-column: auto; }
  .gallery-grid { grid-auto-rows: 230px; }
  .gallery-item, .gallery-item:nth-child(1), .gallery-item:nth-child(2), .gallery-item:nth-child(n+3) { grid-column: auto; grid-row: auto; }
  .modal-grid { grid-template-columns: 1fr; padding: 20px; }
  .modal-main-image { min-height: 280px; }
  .site-footer { grid-template-columns: 1fr; }
  .admin-main { padding: 22px; }
  .admin-top { display: grid; }
  .admin-row { grid-template-columns: 1fr; }
}

a,
button,
summary,
[role="button"],
.clickable,
.nav-link,
.footer-link,
.btn,
.header-cta,
.nav-links a,
.mobile-menu-action,
.menu-toggle,
.category-menu summary,
.category-menu-panel a,
.card-action,
.text-link,
.back-link,
.catalog-card .btn,
.site-footer a,
.footer-whatsapp,
.module-buttons button,
.preview-mode-tabs button,
.project-type-field label span,
.room-module button,
.language-switcher button,
.whatsapp-float,
.thumbnail-nav,
.product-thumbs button,
.button,
.view-details,
.request-quote {
  transition: color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

a,
summary,
[role="button"],
.clickable,
.nav-link,
.footer-link,
.nav-links a,
.mobile-menu-action,
.category-menu summary,
.category-menu-panel a,
.card-action,
.text-link,
.back-link,
.site-footer a,
.footer-whatsapp {
  color: #A0A0A0 !important;
}

a:hover,
a:focus-visible,
summary:hover,
summary:focus-visible,
[role="button"]:hover,
[role="button"]:focus-visible,
.clickable:hover,
.clickable:focus-visible,
.nav-link:hover,
.nav-link:focus-visible,
.footer-link:hover,
.footer-link:focus-visible,
.nav-links a:hover,
.nav-links a:focus-visible,
.mobile-menu-action:hover,
.mobile-menu-action:focus-visible,
.category-menu summary:hover,
.category-menu summary:focus-visible,
.category-menu-panel a:hover,
.category-menu-panel a:focus-visible,
.card-action:hover,
.card-action:focus-visible,
.text-link:hover,
.text-link:focus-visible,
.back-link:hover,
.back-link:focus-visible,
.site-footer a:hover,
.site-footer a:focus-visible,
.footer-whatsapp:hover,
.footer-whatsapp:focus-visible {
  color: #C8AF64 !important;
  border-color: #C8AF64;
}

button:hover,
button:focus-visible,
.btn:hover,
.btn:focus-visible,
.button:hover,
.button:focus-visible,
.header-cta:hover,
.header-cta:focus-visible,
.view-details:hover,
.view-details:focus-visible,
.request-quote:hover,
.request-quote:focus-visible,
[type="button"]:hover,
[type="button"]:focus-visible,
[type="submit"]:hover,
[type="submit"]:focus-visible {
  color: #C8AF64 !important;
  border: 1px solid #C8AF64 !important;
  border-color: #C8AF64 !important;
  transform: scale(1.03);
}

.site-footer strong {
  color: #C8AF64 !important;
}

.site-footer a {
  color: #A0A0A0 !important;
}

.designer,
.designer .builder-shell {
  background: #000000 !important;
}

.designer .preview-mode-tabs button {
  color: #000000 !important;
}

.designer .preview-mode-tabs button.is-active {
  color: #ffffff !important;
}

.designer .preview-mode-tabs button:not(.is-active),
.designer .preview-mode-tabs button:not(.is-active):hover,
.designer .preview-mode-tabs button:not(.is-active):focus-visible {
  color: #000000 !important;
}

.designer .furnished-preview .preview-empty {
  color: #333333 !important;
  opacity: 1;
  text-shadow: none;
}

.designer .preview-room-list,
.designer .preview-room-list h4,
.designer .preview-room-detail,
.designer .preview-room-detail strong,
.designer .preview-room-detail span {
  color: #000000 !important;
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: #C8AF64 !important;
}

.brand-name {
  font-size: 1.52rem;
}

.nav-links {
  font-size: .945rem;
}

.header-cta {
  min-height: 50px;
  padding: 0 25px;
  font-size: .97rem;
}

.hero-content {
  width: min(760px, 100%);
  transform: translateY(-3vh);
}

.hero-line {
  font-size: .99rem;
  margin-bottom: 18px;
}

h1 {
  max-width: 760px;
  font-size: clamp(4.2rem, 7.035vw, 7.35rem);
  line-height: .9;
}

.hero-content > p:not(.hero-line) {
  max-width: 680px;
  margin-top: 20px;
  font-size: clamp(1.176rem, 1.407vw, 1.365rem);
  line-height: 1.55;
}

.hero-actions {
  gap: 16px;
  margin-top: 30px;
}

.hero-actions .btn {
  min-height: 59px;
  padding: 0 34px;
  font-size: 1.05rem;
}

.hero-actions .btn-light,
.btn-primary,
.header-cta,
.contact-page-form .btn,
.direct-contact .btn,
[data-export-pdf],
[data-whatsapp-config],
[data-whatsapp-link].btn-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: #071910 !important;
}

.hero-actions .btn-light:hover,
.hero-actions .btn-light:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible,
.header-cta:hover,
.header-cta:focus-visible,
.contact-page-form .btn:hover,
.contact-page-form .btn:focus-visible,
.direct-contact .btn:hover,
.direct-contact .btn:focus-visible,
[data-export-pdf]:hover,
[data-export-pdf]:focus-visible,
[data-whatsapp-config]:hover,
[data-whatsapp-config]:focus-visible,
[data-whatsapp-link].btn-primary:hover,
[data-whatsapp-link].btn-primary:focus-visible {
  background: var(--accent-dark);
  border-color: var(--accent-dark) !important;
  color: #071910 !important;
}

.hero-actions .btn-outline {
  background: transparent;
  border-color: var(--accent);
  color: var(--accent-dark) !important;
}

.hero-actions .btn-outline:hover,
.hero-actions .btn-outline:focus-visible {
  background: rgba(229, 183, 92, .08);
  border-color: var(--accent-dark) !important;
  color: var(--accent-dark) !important;
}

@media (min-width: 1400px) {
  .brand-name { font-size: 1.58rem; }
  .nav-links { font-size: .987rem; }
}

@media (max-width: 1120px) {
  .hero-content { transform: translateY(-1vh); }
}

@media (max-width: 720px) {
  .brand-name { font-size: .68rem; }
  .nav-links { font-size: .82rem; }
  .header-cta { min-height: 40px; padding: 0 10px; font-size: .78rem; }
  .hero-content { width: min(100%, 300px); transform: none; }
  h1 { max-width: 100%; font-size: clamp(1.78rem, 8vw, 2.15rem); line-height: 1.08; }
  .hero-line { font-size: .64rem; margin-bottom: 14px; }
  .hero-content > p:not(.hero-line) { max-width: 100%; margin-top: 16px; font-size: .95rem; }
  .hero-actions { gap: 12px; margin-top: 22px; }
.hero-actions .btn { min-height: 42px; padding: 0 12px; font-size: .78rem; }
  .footer-legal {
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
  }
}

.section-copy p,
.section-heading p,
.designer-copy p,
.why-card p,
.about-detail-grid p,
.mission-grid p,
.material-card p,
.materials-head p,
.positioning-panel span,
.home-company-grid p,
.ready-section p,
.category-body p,
.model-card p,
.catalog-card p,
.category-hero p,
.replacement-note,
.builder-help,
.direct-list span,
.hours-card p {
  font-size: clamp(1.176rem, 1.407vw, 1.365rem);
}

.mission-grid {
  gap: 18px;
}

.home-company-mission article {
  border: 1px solid rgba(77,67,47,.86);
}

.home-company-mission p {
  margin: 10px 0 0;
  line-height: 1.55;
}

.why-card p {
  font-size: clamp(.92rem, .95vw, 1.05rem);
}

.home-company-grid > div > p {
  font-size: clamp(1rem, 1.1vw, 1.18rem);
}

.home-company-features p,
.home-company-mission p {
  font-size: clamp(1.08rem, 1.1vw, 1.22rem);
}

.home-company .text-link {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  margin-top: 4px;
  color: #C8AF64 !important;
}
.home-company .text-link span {
  color: #C8AF64 !important;
  line-height: 1;
}

@media (max-width: 1120px) {
  .home-company-features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .why-grid,
  .home-company-features {
    grid-template-columns: 1fr;
  }
  .why-reference-head {
    margin-bottom: 42px;
  }
}

.btn-primary,
.header-cta,
.language-switcher button.is-active,
.footer-whatsapp,
.contact-page-form .btn,
.direct-contact .btn,
[data-export-pdf],
[data-whatsapp-config],
[data-whatsapp-link].btn-primary,
button.btn-primary {
  color: #000000 !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.header-cta:hover,
.header-cta:focus-visible,
.language-switcher button.is-active:hover,
.language-switcher button.is-active:focus-visible,
.footer-whatsapp:hover,
.footer-whatsapp:focus-visible,
.contact-page-form .btn:hover,
.contact-page-form .btn:focus-visible,
.direct-contact .btn:hover,
.direct-contact .btn:focus-visible,
[data-export-pdf]:hover,
[data-export-pdf]:focus-visible,
[data-whatsapp-config]:hover,
[data-whatsapp-config]:focus-visible,
[data-whatsapp-link].btn-primary:hover,
[data-whatsapp-link].btn-primary:focus-visible,
button.btn-primary:hover,
button.btn-primary:focus-visible {
  color: #000000 !important;
}

.site-footer .footer-whatsapp,
.site-footer .footer-whatsapp:hover,
.site-footer .footer-whatsapp:focus-visible {
  color: #000000 !important;
}

.admin-body {
  min-height: 100vh;
  background: #000000;
  color: #ffffff;
}

.valelux-admin-root {
  min-height: 100vh;
  background: #000000;
  color: #ffffff;
}

.admin-login-screen {
  display: grid;
  place-items: center;
  padding: 28px;
}

.admin-login-card {
  width: min(100%, 440px);
  border: 1px solid #4D432F;
  background: #050806;
  padding: clamp(28px, 4vw, 48px);
}

.admin-login-brand {
  display: grid;
  gap: 8px;
  margin-bottom: 30px;
}

.admin-login-brand span,
.admin-wordmark span {
  color: #C8AF64;
  font-size: 1.85rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.admin-login-brand strong {
  color: #ffffff;
  font-size: 2.2rem;
  font-weight: 500;
}

.admin-login-card form,
.admin-edit-form {
  display: grid;
  gap: 18px;
}

.admin-login-card label,
.admin-edit-form label,
.admin-picker label {
  display: grid;
  gap: 8px;
  color: #A0A0A0;
}

.admin-login-card label span,
.admin-edit-form label span,
.admin-picker label span {
  color: #C8AF64;
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.admin-login-card input,
.admin-edit-form input,
.admin-edit-form textarea,
.admin-edit-form select,
.admin-picker select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #4D432F;
  background: #0A1511;
  color: #ffffff;
  padding: 10px 12px;
  outline: 0;
}

.admin-edit-form input[type="file"] {
  padding: 12px;
}

.admin-summary-card {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 16px;
  align-items: center;
  border: 1px solid #4D432F;
  background: #08261D;
  padding: 14px;
  min-height: 112px;
}

.admin-summary-card img {
  width: 96px;
  height: 76px;
  object-fit: cover;
  border: 1px solid rgba(200, 175, 100, .35);
}

.admin-summary-card strong {
  display: block;
  color: #ffffff;
  margin-bottom: 8px;
}

.admin-summary-card span {
  display: block;
  color: #9ca99f;
  font-size: .9rem;
  line-height: 1.45;
}

.admin-login-card input:focus,
.admin-edit-form input:focus,
.admin-edit-form textarea:focus,
.admin-edit-form select:focus,
.admin-picker select:focus {
  border-color: #C8AF64;
}

.admin-gold-button {
  min-height: 50px;
  border: 1px solid #C8AF64;
  background: #C8AF64;
  color: #000000 !important;
  padding: 12px 20px;
  font-weight: 700;
  cursor: pointer;
}

.admin-gold-button:hover,
.admin-gold-button:focus-visible {
  border-color: #C8AF64 !important;
  color: #000000 !important;
  transform: scale(1.015);
}

.admin-status {
  min-height: 22px;
  margin: 0;
  color: #C8AF64;
}

.admin-control-shell {
  display: grid;
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
}

.admin-control-sidebar {
  min-height: 100vh;
  border-right: 1px solid #4D432F;
  background: #030504;
  padding: 30px 22px;
}

.admin-wordmark {
  display: grid;
  gap: 6px;
  text-decoration: none;
}

.admin-wordmark small {
  color: #ffffff;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.admin-control-nav {
  display: grid;
  gap: 12px;
  margin-top: 42px;
}

.admin-control-nav button,
.admin-logout {
  min-height: 44px;
  border: 1px solid transparent;
  background: transparent;
  color: #A0A0A0;
  text-align: left;
  padding: 10px 12px;
  cursor: pointer;
}

.admin-control-nav button:hover,
.admin-control-nav button:focus-visible,
.admin-control-nav button.is-active {
  border-color: #C8AF64;
  color: #C8AF64 !important;
  transform: none;
}

.admin-logout {
  margin-top: 34px;
  width: 100%;
  border-color: #4D432F;
}

.admin-logout:hover,
.admin-logout:focus-visible {
  color: #C8AF64 !important;
  border-color: #C8AF64 !important;
}

.admin-control-main {
  padding: clamp(26px, 4vw, 56px);
}

.admin-control-top {
  margin-bottom: 28px;
}

.admin-control-top span {
  color: #C8AF64;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.admin-control-top h1 {
  margin-top: 10px;
  color: #ffffff;
  font-size: clamp(2.6rem, 5vw, 5rem);
}

.admin-control-top p {
  max-width: 720px;
  color: #A0A0A0;
  line-height: 1.65;
}

.admin-control-panel {
  border: 1px solid #4D432F;
  background: #050806;
  padding: clamp(22px, 3vw, 36px);
}

.admin-field-row,
.admin-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.admin-picker {
  margin-bottom: 22px;
}

.admin-preview-box,
.admin-empty {
  border: 1px solid #4D432F;
  background: #000000;
  padding: 14px;
  color: #A0A0A0;
}

.admin-content-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
}

.admin-language-toggle {
  display: flex;
  gap: 8px;
}

.admin-language-toggle button {
  min-height: 40px;
  border: 1px solid #4D432F;
  background: #000000;
  color: #A0A0A0;
  padding: 0 16px;
  cursor: pointer;
  transition: color .25s ease, border-color .25s ease;
}

.admin-language-toggle button:hover,
.admin-language-toggle button:focus-visible,
.admin-language-toggle button.is-active {
  border-color: #C8AF64;
  color: #C8AF64 !important;
}

.admin-content-group {
  display: grid;
  gap: 16px;
  padding: 22px 0;
  border-top: 1px solid #4D432F;
}

.admin-content-group h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.5rem, 2vw, 2.1rem);
}

.admin-media-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 12px;
}

.admin-media-list figure {
  margin: 0;
  border: 1px solid #4D432F;
  background: #000000;
}

.admin-media-list img,
.admin-media-list video {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.admin-media-list figcaption {
  padding: 8px;
  color: #A0A0A0;
  font-size: .85rem;
}

.admin-confirm {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 10px !important;
}

.admin-confirm input {
  width: auto;
  min-height: auto;
}

@media (max-width: 860px) {
  .admin-control-shell,
  .admin-field-row,
  .admin-picker {
    grid-template-columns: 1fr;
  }

  .admin-control-sidebar {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid #4D432F;
  }
}

.whatsapp-float svg,
.whatsapp-float svg * {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
