/* gramootvodi.bg — premium industrial base system */
:root {
  color-scheme: light;
  --paper: #f7f6f2;
  --surface: #fffefa;
  --surface-muted: #eeede7;
  --ink: #252a2d;
  --graphite: #1e2428;
  --graphite-soft: #343a3e;
  --muted: #646a6b;
  --line: #d9d9d2;
  --line-strong: #bfc1bb;
  --accent: #ed4b25;
  --accent-hover: #d83d1b;
  --focus: #b6381d;
  --success: #3e6547;
  --max: 1240px;
  --reading: 760px;
  --space-section: clamp(52px, 7vw, 92px);
  --radius: 3px;
  --shadow-soft: 0 12px 32px rgb(30 36 40 / 8%);
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: clip;
  background: var(--paper);
  color: var(--ink);
  font-family: system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

img,
svg,
video,
canvas { max-width: 100%; }

img { display: block; height: auto; }

button,
input,
select,
textarea { color: inherit; font: inherit; }

button,
a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }

button { cursor: pointer; }

a { color: inherit; text-underline-offset: .2em; }
a:hover { color: var(--accent-hover); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex="0"]:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}

h1, h2, h3, h4, p, figure { margin: 0; }
h1, h2, h3, h4 { line-height: 1.12; letter-spacing: -.035em; }
h1 { font-size: clamp(2.35rem, 5.1vw, 4.5rem); font-weight: 720; }
h2 { font-size: clamp(1.85rem, 3.45vw, 3rem); font-weight: 680; }
h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 670; }
h4 { font-size: 1.1rem; font-weight: 650; }
p + p { margin-top: 1rem; }
strong { font-weight: 700; }

.wrap {
  width: min(var(--max), calc(100% - 64px));
  margin-inline: auto;
}

.section { padding-block: var(--space-section); }
.section-white { background: var(--surface); }
.section-dark { background: var(--graphite); color: var(--paper); }
.section-dark .muted { color: #d4d2cc; }
.muted { color: var(--muted); }
.lead { max-width: 66ch; font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.7; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 38px; }
.section-head h2 { max-width: 24ch; }
.section-head > p { max-width: 46ch; color: var(--muted); }
.eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 18px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .13em;
  line-height: 1.4;
  text-transform: uppercase;
}
.eyebrow::before { width: 24px; height: 2px; background: var(--accent); content: ""; flex: 0 0 auto; }
.section-dark .eyebrow { color: #d4d2cc; }

.skip {
  position: fixed;
  z-index: 100;
  top: -90px;
  left: 16px;
  padding: 12px 16px;
  background: var(--accent);
  color: var(--graphite);
  font-weight: 700;
}
.skip:focus { top: 12px; }

/* Calls to action */
.btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: var(--radius);
  font-size: .9rem;
  font-weight: 720;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--accent); color: #fffaf5; }
.btn-primary:hover { background: var(--accent-hover); color: #fffaf5; }
.btn-dark { background: var(--graphite); color: var(--paper); }
.btn-dark:hover { background: var(--graphite-soft); color: var(--paper); }
.btn-outline { border-color: var(--line-strong); background: transparent; color: inherit; }
.btn-outline:hover { border-color: var(--graphite); background: rgb(30 36 40 / 5%); color: inherit; }
.btn:disabled,
.btn[aria-disabled="true"] { cursor: not-allowed; opacity: .62; transform: none; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.arrow { font-size: 1.25em; line-height: 1; }
.text-link { display: inline-block; margin-top: 18px; font-size: .9rem; font-weight: 700; }

/* Header and navigation */
.topbar { padding-block: 7px; background: #eeede7; color: #555b5d; font-size: .69rem; letter-spacing: .035em; }
.topbar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar a { text-decoration: none; white-space: nowrap; }
.header {
  position: sticky;
  z-index: 40;
  top: 0;
  border-bottom: 1px solid rgb(30 36 40 / 11%);
  background: rgb(247 246 242 / 94%);
  backdrop-filter: blur(14px);
}
.header-inner { display: flex; min-height: 82px; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: block; flex: 0 0 auto; }
.brand img { width: 188px; height: 56px; object-fit: contain; }
.nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 26px); }
.nav > a { padding-block: 12px; font-size: .82rem; font-weight: 680; text-decoration: none; }
.nav > a:hover,
.nav > a[aria-current="page"] { color: var(--accent-hover); }
.nav .btn { padding: 10px 16px; }
.menu-toggle {
  display: none;
  min-width: 46px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  background: transparent;
  color: var(--ink);
  font-size: .9rem;
  font-weight: 700;
}

/* Home hero and visual media */
.hero { overflow: clip; background: var(--paper); color: var(--ink); }
.hero-inner { display: grid; min-height: 620px; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 34px; }
.hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 64px; }
.hero h1 { max-width: 14ch; font-size: clamp(2.7rem, 5vw, 4.35rem); overflow-wrap: anywhere; }
.hero h1 em { color: var(--accent); font-style: normal; }
.hero .lead { margin-top: 22px; color: #535a5c; }
.hero-proof { display: flex; width: 100%; flex-wrap: wrap; gap: 12px 24px; margin-top: 34px; padding-top: 18px; border-top: 1px solid var(--line); color: #545a5c; font-size: .78rem; }
.hero-proof span::before { margin-right: 8px; color: var(--accent); content: "✓"; font-weight: 800; }
.hero-media { position: relative; min-height: 520px; overflow: hidden; background: var(--graphite); }
.hero-media > img { width: 100%; height: 100%; object-fit: cover; object-position: 55% center; }
.hero-media::after { position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgb(30 36 40 / 34%)); content: ""; pointer-events: none; }
.photo-label { position: absolute; z-index: 1; bottom: 24px; left: 24px; max-width: 300px; padding: 15px 18px; border-left: 3px solid var(--accent); background: var(--surface); color: var(--ink); font-size: .8rem; line-height: 1.5; }
.photo-label strong { display: block; font-size: .9rem; }
.hero-scene { position: relative; min-width: 0; min-height: 540px; align-self: center; overflow: hidden; background: var(--graphite); color: var(--paper); }
.scene-canvas,
.scene-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.scene-canvas { z-index: 1; }
.scene-poster { z-index: 0; }
.scene-hud { position: absolute; z-index: 2; top: 22px; right: 22px; left: 22px; display: flex; justify-content: space-between; gap: 12px; color: #e7e5df; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; pointer-events: none; }
.scene-live-dot::before { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--accent); content: ""; }
.scene-controls { position: absolute; z-index: 3; right: 14px; bottom: 14px; left: 14px; display: grid; gap: 10px; padding: 14px; border: 1px solid rgb(247 246 242 / 26%); background: rgb(30 36 40 / 91%); color: var(--paper); }
.scene-views { display: flex; flex-wrap: wrap; gap: 6px; }
.scene-views button,
.scene-controls-bottom button { min-height: 40px; padding: 8px 11px; border: 1px solid rgb(247 246 242 / 28%); border-radius: 2px; background: transparent; color: var(--paper); font-size: .72rem; }
.scene-views button:hover,
.scene-views button[aria-pressed="true"] { border-color: var(--accent); background: rgb(237 75 37 / 15%); }
.scene-controls-bottom { display: flex; flex-wrap: wrap; gap: 8px; }
.scene-controls-bottom [data-scene-play] { background: var(--accent); color: #fffaf5; font-weight: 700; }
.scene-controls-bottom [data-scene-play]:hover { background: var(--accent-hover); }
.scene-note,
.scene-controls [data-scene-status] { color: #d5d3cd; font-size: .68rem; line-height: 1.45; }
.scene-ready .scene-poster { opacity: 0; }

/* Editorial page headers and reading layouts */
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-block: 22px; color: var(--muted); font-size: .75rem; }
.breadcrumb a { text-decoration: none; }
.page-hero { padding-bottom: clamp(38px, 6vw, 72px); border-bottom: 1px solid var(--line); background: var(--paper); }
.page-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(32px, 6vw, 72px); padding-top: 18px; }
.page-hero h1 { max-width: 18ch; font-size: clamp(2.35rem, 4.5vw, 3.8rem); overflow-wrap: anywhere; }
.page-hero .lead { margin-top: 20px; color: #555b5d; }
.page-hero-image { min-width: 0; }
.page-hero-image img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.hero-caption { margin-top: 9px; color: var(--muted); font-size: .73rem; }
.article-meta { margin-top: 18px; color: var(--muted); font-size: .75rem; }
.content-layout { display: grid; grid-template-columns: minmax(0, var(--reading)) minmax(220px, 280px); justify-content: space-between; align-items: start; gap: 56px; }
.prose { min-width: 0; max-width: var(--reading); font-size: 1rem; line-height: 1.78; }
.prose h2 { margin: 2.6em 0 .7em; font-size: clamp(1.75rem, 3vw, 2.2rem); line-height: 1.2; scroll-margin-top: 110px; }
.prose > h2:first-child { margin-top: 0; }
.prose h3 { margin: 1.8em 0 .6em; font-size: 1.4rem; }
.prose p,
.prose ul,
.prose ol { margin: 0 0 1.25em; }
.prose li { padding-left: 3px; margin-bottom: .45em; }
.prose a { color: #9d351f; }
.prose blockquote { margin: 1.7em 0; padding: 12px 20px; border-left: 3px solid var(--accent); color: #4f5556; }
.prose img { width: auto; max-width: 100%; max-height: 600px; margin: 28px auto; object-fit: contain; }
.prose figure { margin: 30px 0; }
.prose figcaption { margin-top: 8px; color: var(--muted); font-size: .76rem; text-align: center; }
.prose table { width: 100%; border-collapse: collapse; background: var(--surface); font-size: .9rem; line-height: 1.5; }
.prose th,
.prose td { padding: 13px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.prose th { background: var(--surface-muted); font-weight: 700; }
.table-scroll { overflow-x: auto; margin: 24px 0; }
.aside { position: sticky; top: 104px; display: grid; align-self: start; gap: 22px; }
.aside-box { padding: 20px 0; border-top: 1px solid var(--line-strong); }
.aside-box h2 { margin-bottom: 12px; font-size: 1.1rem; letter-spacing: -.01em; }
.aside-box a:not(.btn) { display: block; padding: 7px 0; font-size: .84rem; line-height: 1.5; text-decoration: none; }
.aside-box p { margin-bottom: 16px; color: var(--muted); font-size: .9rem; }
.aside-box .btn { width: 100%; }
.aside-box.dark { padding: 22px; background: var(--graphite); color: var(--paper); }
.aside-box.dark p { color: #d4d2cc; }
.source-note { padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .76rem !important; }

/* Service and information sections */
.band { border-block: 1px solid var(--line); background: var(--surface); }
.band-inner { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding-block: 23px; }
.band-item { padding-right: 15px; border-right: 1px solid var(--line); font-size: .8rem; }
.band-item:last-child { border: 0; }
.band-item strong { display: block; margin-bottom: 2px; font-size: .95rem; }
.service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 30px; }
.service-card { position: relative; display: flex; min-height: 240px; flex-direction: column; padding: 24px 0; border-top: 1px solid var(--line-strong); background: transparent; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.service-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.service-number { margin-bottom: 22px; color: var(--accent-hover); font-size: .72rem; font-weight: 750; letter-spacing: .12em; }
.service-card h3 { margin-bottom: 12px; font-size: 1.45rem; }
.service-card p { color: var(--muted); font-size: .94rem; line-height: 1.65; }
.card-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 20px; font-size: .82rem; font-weight: 700; }
.service-card.featured { padding-inline: 20px; border-color: var(--graphite); background: var(--graphite); color: var(--paper); }
.service-card.featured p,
.service-card.featured .service-number { color: #d4d2cc; }
.service-card.featured .service-number { color: #ff9a7e; }
.split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(36px, 7vw, 84px); }
.split-photo { overflow: hidden; background: var(--surface-muted); }
.split-photo img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.split-copy h2 { margin-bottom: 20px; }
.split-copy .lead { font-size: 1.05rem; }
.check-list { display: grid; gap: 11px; margin: 22px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 26px; font-size: .94rem; }
.check-list li::before { position: absolute; left: 0; color: var(--accent); content: "↗"; font-weight: 750; }
.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.step-number { display: block; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid rgb(247 246 242 / 30%); color: #ff9275; font-size: .82rem; }
.steps h3 { margin-bottom: 11px; font-size: 1.3rem; }
.steps p { color: #d4d2cc; font-size: .9rem; }
.answer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.answer-panel { padding: 24px 0; border-top: 1px solid var(--line-strong); background: transparent; }
.answer-panel h3 { margin-bottom: 12px; font-size: 1.45rem; }
.answer-panel p { color: var(--muted); font-size: .94rem; }
.cities { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.city-link { display: flex; min-height: 44px; flex: 0 1 auto; align-items: center; justify-content: space-between; gap: 22px; padding: 9px 14px; border: 1px solid var(--line-strong); background: transparent; font-size: .84rem; font-weight: 680; text-decoration: none; }
.city-link:hover { border-color: var(--accent); background: var(--surface); color: var(--ink); }

/* Portfolio, articles, filters and gallery */
.portfolio-track { display: flex; gap: 28px; overflow-x: auto; padding: 2px 0 18px; scroll-snap-type: x mandatory; scrollbar-color: var(--line-strong) var(--paper); scrollbar-width: thin; }
.portfolio-track > .project-card { flex: 0 0 calc((100% - 28px) / 2); scroll-snap-align: start; }
.project-card { display: flex; min-width: 0; flex-direction: column; border-bottom: 1px solid var(--line-strong); background: transparent; text-decoration: none; }
.project-picture { overflow: hidden; aspect-ratio: 3 / 2; background: var(--surface-muted); }
.project-picture img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.project-card:hover .project-picture img { transform: scale(1.025); }
.project-card-body { padding: 18px 0 20px; }
.tag { color: #696d6b; font-size: .68rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.project-card h3 { margin-top: 9px; font-size: clamp(1.25rem, 2vw, 1.6rem); line-height: 1.22; }
.project-card .card-link { margin-top: 4px; }
.portfolio-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 16px; }
.portfolio-bottom p,
.filter-status { color: var(--muted); font-size: .8rem; }
.slider-controls { display: flex; gap: 8px; }
.icon-button { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: transparent; color: var(--ink); font-size: 1.2rem; }
.icon-button:hover { border-color: var(--accent); background: var(--accent); color: #fffaf5; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 28px; }
.project-grid [hidden] { display: none !important; }
.filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.filter-button { min-height: 44px; padding: 9px 15px; border: 1px solid var(--line-strong); border-radius: 2px; background: transparent; color: var(--ink); font-size: .78rem; font-weight: 700; }
.filter-button:hover,
.filter-button[aria-pressed="true"] { border-color: var(--graphite); background: var(--graphite); color: var(--paper); }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 26px; }
.article-card { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 12px; padding-bottom: 17px; border-bottom: 1px solid var(--line-strong); text-decoration: none; }
.article-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: var(--surface-muted); }
.article-card h3 { font-size: 1.35rem; line-height: 1.22; }
.article-card p { color: var(--muted); font-size: .9rem; line-height: 1.58; }
.article-card .card-link { margin-top: auto; padding-top: 7px; }
.gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.gallery-item a { display: block; overflow: hidden; background: var(--surface-muted); }
.gallery-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .3s ease; }
.gallery-item a:hover img { transform: scale(1.025); }
.gallery-item figcaption { padding-top: 8px; color: var(--muted); font-size: .75rem; }
.project-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin: 28px 0; padding-block: 22px; border-block: 1px solid var(--line); }
.project-facts dt { margin-bottom: 6px; color: var(--muted); font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.project-facts dd { margin: 0; font-size: .9rem; font-weight: 700; }
.empty-state { padding: 24px 0; border-top: 1px solid var(--line-strong); }

/* FAQ, CTA, contact form and status messages */
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(34px, 7vw, 84px); }
.faq-list details { padding: 19px 0; border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding-right: 32px; cursor: pointer; font-weight: 700; line-height: 1.48; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; top: -3px; right: 0; color: var(--accent); content: "+"; font-size: 1.35rem; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin-top: 12px; color: var(--muted); font-size: .94rem; }
.cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: clamp(28px, 5vw, 54px); background: var(--graphite); color: var(--paper); }
.cta h2 { max-width: 24ch; font-size: clamp(1.8rem, 3.2vw, 2.5rem); }
.cta p { max-width: 58ch; margin-top: 12px; color: #d6d4ce; }
.cta .btn { flex: 0 0 auto; }
.cta .btn-dark { background: var(--accent); color: #fffaf5; }
.cta .btn-dark:hover { background: var(--accent-hover); }
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: clamp(36px, 6vw, 72px); }
.contact-info { min-width: 0; }
.contact-info h2 { margin-bottom: 18px; }
.contact-phone { display: inline-block; margin: 18px 0 7px; font-size: clamp(1.75rem, 3vw, 2.2rem); font-weight: 720; letter-spacing: -.035em; text-decoration: none; overflow-wrap: anywhere; }
.contact-form { min-width: 0; padding: clamp(22px, 3.5vw, 36px); border: 1px solid var(--line); background: var(--surface); }
.contact-form h2 { margin-bottom: 10px; font-size: clamp(1.7rem, 2.7vw, 2rem); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 24px; }
.field { min-width: 0; }
.field label { display: block; margin-bottom: 7px; font-size: .82rem; font-weight: 700; }
.field input,
.field select,
.field textarea { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #aeb1ac; border-radius: 2px; background: #fffefa; color: var(--ink); font-size: .94rem; }
.field textarea { min-height: 126px; resize: vertical; }
.field input::placeholder,
.field textarea::placeholder { color: #707574; opacity: 1; }
.field input[aria-invalid="true"],
.field select[aria-invalid="true"],
.field textarea[aria-invalid="true"] { border-color: #a43120; box-shadow: 0 0 0 1px #a43120; }
.field.full,
.privacy-check { grid-column: 1 / -1; }
.optional { color: var(--muted); font-weight: 450; }
.privacy-check { display: flex; align-items: flex-start; gap: 10px; font-size: .78rem; line-height: 1.5; }
.privacy-check input { width: 18px; height: 18px; flex: 0 0 auto; margin: 2px 0 0; accent-color: var(--accent); }
.honey { position: absolute; top: auto; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { margin-top: 16px; padding: 12px 14px; border: 1px solid var(--line); font-size: .9rem; }
.form-status:empty { display: none; }
.form-status.error { border-color: #d4a399; background: #fbefec; color: #8d2c1b; }
.form-status.success { border-color: #b6c6b6; background: #edf2eb; color: var(--success); }
.form-error { display: block; margin-top: 5px; color: #942e1c; font-size: .77rem; }
.form-note { margin-top: 14px; color: var(--muted); font-size: .78rem; }

/* Lightbox, sticky mobile contact and footer */
.lightbox { width: min(1100px, 94vw); max-height: 94vh; overflow: auto; padding: 0; border: 1px solid #555b5d; background: var(--graphite); color: var(--paper); }
.lightbox::backdrop { background: rgb(17 20 22 / 88%); }
.lightbox img { width: 100%; max-height: 80vh; object-fit: contain; }
.lightbox-close { position: sticky; z-index: 1; top: 10px; display: block; min-width: 80px; min-height: 44px; margin: 10px 10px 10px auto; padding: 9px 12px; border: 1px solid #9a9b96; background: var(--graphite); color: var(--paper); }
.lightbox-close:hover { border-color: var(--accent); background: var(--accent); color: #fffaf5; }
.lightbox-caption { padding: 14px 18px; font-size: .82rem; }
.mobile-call { display: none; }
.footer { padding-top: 58px; background: var(--graphite); color: var(--paper); }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.1fr; gap: 34px; padding-bottom: 40px; }
.footer-brand { width: 180px; height: auto; margin-bottom: 18px; }
.footer p { max-width: 38ch; color: #d1cfca; font-size: .82rem; }
.footer h3 { margin-bottom: 16px; font-size: .82rem; letter-spacing: .035em; }
.footer a { display: block; margin-bottom: 9px; color: #e2e0da; font-size: .82rem; text-decoration: none; }
.footer a:hover { color: #ff987c; text-decoration: underline; }
.footer .phone { font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 18px; border-top: 1px solid rgb(247 246 242 / 20%); color: #c7c5bf; font-size: .7rem; }
.no-js-hint { color: var(--muted); font-size: .78rem; }

@media (min-width: 1500px) {
  .hero-inner { min-height: 680px; }
}

@media (max-width: 1100px) {
  .wrap { width: calc(100% - 48px); }
  .header-inner { gap: 16px; }
  .brand img { width: 160px; }
  .nav { gap: 14px; }
  .nav > a { font-size: .76rem; }
  .hero-inner { min-height: 570px; gap: 24px; }
  .hero-copy { padding-block: 48px; }
  .hero h1 { font-size: clamp(2.55rem, 4.7vw, 3.45rem); }
  .hero-scene { min-height: 500px; }
  .page-hero-grid { gap: 34px; }
  .content-layout { grid-template-columns: minmax(0, var(--reading)) minmax(200px, 240px); gap: 35px; }
  .footer-grid { gap: 26px; }
}

@media (max-width: 900px) {
  .menu-toggle { display: block; }
  .header-inner { min-height: 72px; }
  .brand img { width: 168px; height: 49px; }
  .nav { display: none; position: absolute; top: 100%; right: 0; left: 0; align-items: stretch; gap: 0; padding: 16px max(24px, calc((100% - var(--max)) / 2)); border-bottom: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow-soft); }
  .header.menu-open .nav { display: flex; flex-direction: column; }
  .nav > a { padding: 12px 4px; border-bottom: 1px solid var(--line); font-size: .95rem; }
  .nav .btn { align-self: flex-start; margin-top: 12px; padding-inline: 18px; }
  .hero-inner { grid-template-columns: 1fr 1fr; min-height: 500px; }
  .hero h1 { font-size: clamp(2.35rem, 4.5vw, 3rem); }
  .hero-scene { min-height: 450px; }
  .hero-proof { gap: 10px 16px; font-size: .72rem; }
  .band-inner { grid-template-columns: repeat(2, 1fr); }
  .band-item:nth-child(2) { border-right: 0; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faq-layout { grid-template-columns: .9fr 1.1fr; gap: 34px; }
  .content-layout { grid-template-columns: minmax(0, 1fr); }
  .prose { max-width: 78ch; }
  .aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aside-box:first-child { grid-column: 1 / -1; }
  .project-grid { gap: 28px 20px; }
  .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-hero-grid { grid-template-columns: 1fr 1fr; }
  .page-hero h1 { font-size: clamp(2.2rem, 4.5vw, 3rem); }
  .contact-grid { grid-template-columns: 1fr; gap: 34px; }
  .contact-info { max-width: 680px; }
  .footer-grid { grid-template-columns: 1.2fr 1fr; }
  .cta { padding: 32px; }
}

@media (max-width: 600px) {
  html { scroll-padding-top: 78px; }
  .wrap { width: calc(100% - 36px); }
  .section { padding-block: 52px; }
  .topbar { padding-block: 6px; font-size: .62rem; }
  .topbar .wrap { gap: 10px; }
  .topbar .wrap > span { max-width: 65%; }
  .topbar .wrap > a { font-size: .68rem; }
  .header-inner { min-height: 66px; }
  .brand img { width: 150px; height: 44px; }
  .menu-toggle { min-height: 44px; }
  .nav { padding: 12px 18px 18px; }
  .nav .btn { align-self: stretch; }
  .section-head { display: block; margin-bottom: 27px; }
  .section-head > p { margin-top: 14px; font-size: .94rem; }
  .lead { font-size: 1.05rem; }
  .actions { gap: 9px; }
  .btn { min-height: 48px; padding-inline: 15px; }
  .hero-inner { display: flex; min-height: 0; flex-direction: column; gap: 0; }
  .hero-copy { padding-block: 38px 30px; }
  .hero h1 { max-width: 14ch; font-size: clamp(2.45rem, 11vw, 3rem); line-height: 1.04; }
  .hero .eyebrow { margin-bottom: 16px; font-size: .65rem; }
  .hero .lead { margin-top: 18px; font-size: 1rem; }
  .hero .actions { width: 100%; margin-top: 21px; }
  .hero-proof { gap: 10px 17px; margin-top: 22px; padding-top: 15px; font-size: .7rem; }
  .hero-media { min-height: 0; height: 300px; margin-inline: -18px; }
  .hero-media > img { object-position: 50% 42%; }
  .photo-label { bottom: 14px; left: 18px; max-width: 260px; padding: 11px 14px; }
  .hero-scene { width: calc(100% + 36px); min-height: 450px; margin-inline: -18px; }
  .scene-hud { top: 17px; right: 18px; left: 18px; font-size: .61rem; }
  .scene-controls { right: 12px; bottom: 12px; left: 12px; gap: 8px; padding: 11px; }
  .scene-views button,
  .scene-controls-bottom button { min-height: 42px; padding-inline: 9px; font-size: .68rem; }
  .band-inner { gap: 17px 13px; padding-block: 20px; }
  .band-item { font-size: .72rem; }
  .band-item strong { font-size: .84rem; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 205px; padding-block: 20px; }
  .service-card.featured { padding-inline: 18px; }
  .portfolio-track { gap: 16px; margin-right: -18px; padding-right: 18px; }
  .portfolio-track > .project-card { flex-basis: 88%; }
  .project-grid { grid-template-columns: 1fr; gap: 24px; }
  .project-picture { aspect-ratio: 4 / 3; }
  .article-grid { grid-template-columns: 1fr; gap: 27px; }
  .article-card { gap: 10px; }
  .article-card h3 { font-size: 1.35rem; }
  .gallery-grid { grid-template-columns: 1fr; gap: 18px; }
  .split { grid-template-columns: 1fr; gap: 26px; }
  .split-photo img { aspect-ratio: 4 / 3; }
  .steps { gap: 24px 18px; }
  .steps h3 { font-size: 1.18rem; }
  .steps p { font-size: .84rem; }
  .answer-grid { grid-template-columns: 1fr; gap: 12px; }
  .answer-panel { padding-block: 20px; }
  .cities { gap: 8px; }
  .city-link { flex: 1 1 42%; gap: 10px; padding-inline: 11px; font-size: .78rem; }
  .faq-layout { grid-template-columns: 1fr; gap: 24px; }
  .faq-list details { padding-block: 17px; }
  .cta { display: block; padding: 27px 21px; }
  .cta .btn { margin-top: 20px; }
  .cta p { font-size: .92rem; }
  .footer { padding-top: 42px; padding-bottom: 70px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px 18px; }
  .footer-grid > div:first-child,
  .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-bottom { display: block; padding-block: 15px; }
  .footer-bottom span { display: block; margin-top: 5px; }
  .mobile-call { position: fixed; z-index: 45; right: 0; bottom: 0; left: 0; display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 18px max(10px, env(safe-area-inset-bottom)); background: var(--graphite); color: var(--paper); box-shadow: 0 -4px 18px rgb(30 36 40 / 14%); font-size: .82rem; font-weight: 700; text-decoration: none; }
  .mobile-call span:last-child { color: #ff9477; font-size: 1rem; }
  .mobile-call:hover { color: var(--paper); }
  body { padding-bottom: 0; }
  .breadcrumb { gap: 6px; padding-block: 18px; font-size: .69rem; }
  .page-hero { padding-bottom: 34px; }
  .page-hero-grid { grid-template-columns: 1fr; gap: 23px; padding-top: 12px; }
  .page-hero h1 { max-width: 18ch; font-size: clamp(2.15rem, 10vw, 2.7rem); line-height: 1.08; }
  .page-hero .lead { margin-top: 16px; font-size: 1rem; }
  .page-hero-image img { aspect-ratio: 16 / 11; }
  .content-layout { gap: 28px; }
  .prose { font-size: .99rem; }
  .prose h2 { margin-top: 2.2em; font-size: 1.75rem; }
  .prose h3 { font-size: 1.3rem; }
  .prose table { min-width: 420px; }
  .aside { grid-template-columns: 1fr; }
  .aside-box:first-child { grid-column: auto; }
  .project-facts { grid-template-columns: 1fr; gap: 14px; }
  .project-facts dt { margin-bottom: 3px; }
  .contact-form { padding: 22px 17px; }
  .form-grid { grid-template-columns: 1fr; gap: 16px; }
  .field.full,
  .privacy-check { grid-column: auto; }
  .contact-phone { font-size: clamp(1.65rem, 8vw, 2rem); }
  .filter-bar { gap: 7px; margin-bottom: 22px; }
  .filter-button { min-height: 44px; padding-inline: 11px; font-size: .73rem; }
  .portfolio-bottom { align-items: flex-start; }
  .portfolio-bottom p { max-width: 26ch; font-size: .75rem; }
  .lightbox { width: 100vw; max-height: 90vh; }
  .lightbox img { max-height: 70vh; }
}

@media (max-width: 380px) {
  .wrap { width: calc(100% - 32px); }
  .hero h1 { font-size: clamp(2.25rem, 10.5vw, 2.55rem); }
  .hero .actions .btn { flex: 1 1 auto; padding-inline: 11px; font-size: .8rem; }
  .scene-controls { right: 9px; left: 9px; padding: 9px; }
  .scene-views button,
  .scene-controls-bottom button { padding-inline: 7px; font-size: .64rem; }
  .topbar .wrap > span { max-width: 58%; }
  .brand img { width: 138px; }
  .menu-toggle { padding-inline: 9px; font-size: .82rem; }
  .filter-button { padding-inline: 9px; font-size: .69rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .topbar, .header, .footer, .mobile-call, .aside, .actions, .slider-controls { display: none !important; }
  .section { padding-block: 24px; }
  .content-layout, .page-hero-grid { display: block; }
  body { background: #fff; color: #000; }
  .wrap { width: 100%; }
  .page-hero-image { display: none; }
  a { text-decoration: underline; }
  .prose img { max-height: 300px; }
}

/* Specific premium page layer. Global .wrap, .section, buttons, details and header remain in site.css. */
.premium-home-hero,.premium-montage-hero{background:#f7f6f2;color:#1e2428}
.premium-home-hero{padding:clamp(48px,7vw,106px) 0 0}
.premium-hero-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(28px,5vw,84px);align-items:center}
.premium-hero-copy{padding:20px 0 54px}
.premium-hero-copy h1,.premium-montage-hero h1{max-width:690px;font-size:clamp(3.1rem,5.5vw,6rem);line-height:.99;letter-spacing:-.065em;font-weight:800;color:#1e2428;margin:.28em 0 .4em}
.premium-hero-copy h1 em{font-style:normal;color:#ed4b25}
.premium-hero-copy .lead,.premium-montage-hero .lead{font-size:clamp(1.08rem,1.7vw,1.32rem);line-height:1.55;max-width:590px;color:#454e52}
.premium-hero-copy .actions,.premium-montage-hero .actions{margin-top:34px}
.premium-hero-subnote{font-size:.83rem;color:#647074;margin-top:22px}
.premium-home-hero .eyebrow,.premium-montage-hero .eyebrow{color:#ed4b25}
.premium-scene-shell{background:#1e2428;border-radius:14px 14px 0 0;min-width:0;overflow:hidden;box-shadow:0 20px 50px #1e24281d}
.premium-scene-shell .hero-scene{position:relative;min-height:590px;background:#1e2428;isolation:isolate}
.premium-scene-shell .scene-poster{display:block;position:absolute;inset:0;width:100%;height:calc(100% - 122px);object-fit:contain;z-index:0}
.premium-scene-shell .scene-canvas{position:absolute;inset:0 0 122px;z-index:1}
.premium-scene-shell .scene-canvas canvas{display:block;width:100%!important;height:100%!important}
.premium-scene-shell .scene-ready .scene-poster{opacity:0}
.premium-scene-shell .scene-controls{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:13px 20px 17px;background:#272e31;color:#f7f6f2;border-top:1px solid #ffffff24}
.premium-scene-shell .scene-views,.premium-scene-shell .scene-controls-bottom{display:flex;gap:8px;flex-wrap:wrap}
.premium-scene-shell .scene-views{margin-bottom:10px}
.premium-scene-shell .scene-controls button{font:inherit;font-size:.78rem;line-height:1.2;min-height:39px;border-radius:5px;cursor:pointer}
.premium-scene-shell .scene-views button{color:#e8ecea;border:1px solid #ffffff42;background:transparent;padding:8px 10px}
.premium-scene-shell .scene-views button[aria-pressed=true]{color:#1e2428;background:#f7f6f2;border-color:#f7f6f2}
.premium-scene-shell [data-scene-play]{background:#ed4b25;color:#fff;border:1px solid #ed4b25;padding:8px 13px;font-weight:700}
.premium-scene-shell [data-scene-pause]{background:transparent;color:#f7f6f2;border:1px solid #ffffff42;padding:8px 13px}
.premium-scene-shell .scene-note{color:#c4cccd;font-size:.7rem;line-height:1.4;margin:10px 0 0}
.premium-scene-shell [hidden]{display:none!important}
.premium-hero-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #1e242830;border-bottom:1px solid #1e242830}
.premium-hero-rail span{font-size:.86rem;color:#667074;padding:19px 20px;border-left:1px solid #1e242828}
.premium-hero-rail span:first-child{border-left:0;padding-left:0}
.premium-hero-rail strong{display:block;color:#1e2428;font-size:1.05rem}
.premium-index{font-size:.71rem;font-weight:750;letter-spacing:.11em;text-transform:uppercase;color:#ed4b25}
.premium-text-link{color:#1e2428;font-weight:750;text-decoration:none;border-bottom:1px solid #ed4b25;padding-bottom:4px;white-space:normal}
.premium-text-link:hover{color:#ed4b25}
.premium-head-split{display:flex;justify-content:space-between;align-items:end;gap:38px}
.premium-head-split h2,.premium-process-heading h2,.premium-anatomy-title h2,.premium-photo-story h2,.premium-montage-scope h2,.premium-montage-factors h2,.premium-montage-ready h2{max-width:760px;font-size:clamp(2.25rem,4vw,4.4rem);line-height:1.06;letter-spacing:-.052em;color:#1e2428}
.premium-head-split>p{max-width:400px;line-height:1.55;color:#566065}
.premium-work{background:#f7f6f2;color:#1e2428}
.premium-project-grid{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:repeat(2,minmax(250px,1fr));gap:20px;margin-top:43px}
.premium-project{position:relative;display:grid;grid-template-columns:46% 54%;min-width:0;background:#e7e4df;overflow:hidden}
.premium-project--1{grid-row:1/3;display:block;background:#1e2428;color:#f7f6f2}
.premium-project-media{display:block;height:100%;min-height:250px;overflow:hidden}
.premium-project-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.premium-project:hover .premium-project-media img{transform:scale(1.025)}
.premium-project--1 .premium-project-media{height:calc(100% - 168px)}
.premium-project-copy{padding:clamp(19px,2vw,31px);display:flex;flex-direction:column;align-items:start;justify-content:center}
.premium-project--1 .premium-project-copy{min-height:168px}
.premium-project-copy h3{font-size:clamp(1.25rem,2vw,2rem);line-height:1.13;letter-spacing:-.035em;margin:9px 0}
.premium-project-copy h3 a{color:inherit;text-decoration:none}
.premium-project-copy p{font-size:.83rem;opacity:.7;margin:0 0 15px}
.premium-project--1 .premium-text-link{color:#f7f6f2}
.premium-project-archive{margin-top:26px;border-top:1px solid #1e24283d}
.premium-project-archive>summary{cursor:pointer;list-style:none;padding:19px 0;color:#1e2428;font-weight:750}
.premium-project-archive>summary::-webkit-details-marker{display:none}
.premium-project-archive>summary span{margin-left:12px;color:#ed4b25}
.premium-project-archive .portfolio-track{margin-top:18px}
.premium-partners{padding:55px 0;background:#ebe8e1;color:#1e2428}
.premium-partners-grid{display:grid;grid-template-columns:1fr 2fr;gap:45px;align-items:center}
.premium-partners h2{font-size:clamp(1.7rem,2.5vw,2.5rem);letter-spacing:-.045em;margin:9px 0}
.premium-partners p{color:#667074;font-size:.85rem}
.premium-partner-list{display:flex;align-items:center;justify-content:space-around;gap:30px;flex-wrap:wrap}
.premium-partner-logo img{max-width:160px;max-height:74px;width:auto;height:auto;object-fit:contain;filter:grayscale(1)}
.premium-intro{background:#fff;color:#1e2428}
.premium-object-types{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #1e242830;border-bottom:1px solid #1e242830;margin:45px 0 60px}
.premium-object-types a{display:flex;flex-direction:column;gap:9px;padding:25px 20px;text-decoration:none;color:#1e2428;border-left:1px solid #1e242830}
.premium-object-types a:first-child{border-left:0;padding-left:0}
.premium-object-types a:hover strong{color:#ed4b25}
.premium-object-types span{color:#ed4b25;font-weight:800;font-size:.78rem}
.premium-object-types strong{font-size:1.25rem;line-height:1.15}
.premium-object-types small{font-size:.83rem;line-height:1.45;color:#667074}
.premium-service-heading{display:flex;gap:36px;align-items:center;margin-bottom:20px}
.premium-service-heading h3{font-size:1.45rem;letter-spacing:-.035em;margin:0}
.premium-service-list{border-top:2px solid #1e2428}
.premium-service-list a{display:grid;grid-template-columns:145px 1fr minmax(200px,320px) 34px;gap:20px;align-items:center;text-decoration:none;color:#1e2428;padding:23px 8px;border-bottom:1px solid #1e24282e}
.premium-service-list a:hover h3,.premium-service-list a:hover .premium-arrow{color:#ed4b25}
.premium-service-list h3{font-size:clamp(1.3rem,2.3vw,2.15rem);line-height:1.15;letter-spacing:-.04em;margin:0}
.premium-service-list p{font-size:.88rem;line-height:1.45;color:#667074;margin:0}
.premium-arrow{font-size:1.5rem;text-align:right}
.premium-photo-story{background:#ebe8e1;color:#1e2428;padding:clamp(45px,7vw,100px) 0}
.premium-photo-story-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(32px,6vw,100px);align-items:center}
.premium-photo-story figure{margin:0}
.premium-photo-story img{display:block;width:100%;height:clamp(420px,43vw,650px);object-fit:cover}
.premium-photo-story figcaption,.premium-montage-hero-photo figcaption,.premium-montage-detail figcaption{font-size:.78rem;color:#5e696c;line-height:1.5;margin-top:10px}
.premium-photo-story a,.premium-montage-hero-photo a,.premium-montage-detail a{color:#1e2428;text-underline-offset:3px}
.premium-photo-story p{max-width:490px;font-size:1.06rem;line-height:1.55;color:#566065}
.premium-anatomy-section{background:#f7f6f2}
.premium-anatomy{display:grid;grid-template-columns:.42fr .58fr;gap:clamp(35px,6vw,90px);align-items:start}
.premium-anatomy-title p{max-width:380px;color:#566065;line-height:1.55}
.premium-anatomy-choice{min-width:0}
.premium-anatomy-choice>input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.premium-anatomy-layout{display:grid;grid-template-columns:1fr .78fr;gap:18px;align-items:center}
.premium-anatomy-drawing{position:relative;background:#e7e4df;border:1px solid #c9c8c1;min-width:0}
.premium-anatomy-drawing svg{display:block;width:100%;height:auto}
.premium-anatomy-drawing svg text{font:700 10px system-ui,sans-serif;letter-spacing:.1em;fill:#626d6e}
.premium-svg-ground{fill:none;stroke:#99a2a0;stroke-width:2}
.premium-svg-wall{fill:#faf9f4;stroke:#1e2428;stroke-width:3}
.premium-svg-roof{fill:#3a4346;stroke:#1e2428;stroke-width:3}
.premium-svg-detail{fill:#c9d3d1;stroke:#1e2428;stroke-width:2}
.premium-svg-receiver,.premium-svg-route{fill:none;stroke:#ed4b25;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.premium-svg-pin{fill:#ed4b25;stroke:#fff;stroke-width:3}
.premium-hotspot{position:absolute;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#1e2428;color:#fff;font-size:.7rem;font-weight:800;cursor:pointer;box-shadow:0 2px 12px #1e242844;transform:translate(-50%,-50%)}
.premium-hotspot--receiver{left:46.3%;top:13.2%}.premium-hotspot--route{left:77.3%;top:57.2%}.premium-hotspot--earth{left:81.3%;top:84.9%}
.premium-anatomy-panels{display:grid;gap:0;border-top:1px solid #1e242835}
.premium-anatomy-panel{display:flex;flex-direction:column;gap:6px;padding:18px 12px;border-bottom:1px solid #1e242835;cursor:pointer;color:#1e2428}
.premium-anatomy-panel strong{font-size:1.17rem}
.premium-anatomy-panel>span:last-child{font-size:.84rem;line-height:1.46;color:#576165}
#anatomy-receiver:checked~.premium-anatomy-layout .premium-hotspot--receiver,#anatomy-route:checked~.premium-anatomy-layout .premium-hotspot--route,#anatomy-earth:checked~.premium-anatomy-layout .premium-hotspot--earth{background:#ed4b25;outline:3px solid #ed4b2545}
#anatomy-receiver:checked~.premium-anatomy-layout .premium-anatomy-panel:nth-child(1),#anatomy-route:checked~.premium-anatomy-layout .premium-anatomy-panel:nth-child(2),#anatomy-earth:checked~.premium-anatomy-layout .premium-anatomy-panel:nth-child(3){background:#fff}
.premium-anatomy-choice>input:focus-visible~.premium-anatomy-layout .premium-hotspot{outline:2px solid #ed4b25;outline-offset:3px}
.premium-process-section,.premium-montage-process{background:#fff}
.premium-process-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(40px,8vw,145px)}
.premium-process-heading p{max-width:450px;color:#667074;line-height:1.55}
.premium-process{list-style:none;margin:0;padding:0;border-top:2px solid #1e2428}
.premium-process li{display:grid;grid-template-columns:80px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid #1e242833}
.premium-process-number{font-size:2rem;color:#ed4b25;font-weight:800;line-height:1}
.premium-process h3{font-size:1.45rem;line-height:1.2;letter-spacing:-.03em;margin:0 0 7px;color:#1e2428}
.premium-process p{color:#5c6567;line-height:1.5;margin:0}
.premium-faq{background:#ebe8e1}
.premium-faq-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(40px,7vw,130px)}
.premium-faq-grid>div:first-child p:last-child{color:#606a6c;line-height:1.5}
.premium-faq .faq-list{border-top:2px solid #1e2428}
.premium-faq .faq-list details{background:transparent;border:0;border-bottom:1px solid #1e242839;border-radius:0}
.premium-faq .faq-list summary{color:#1e2428;font-weight:700;padding:21px 5px}
.premium-faq .faq-list details p{color:#566065;padding:0 5px 20px}
.premium-montage-hero{padding:26px 0 clamp(45px,6vw,95px)}
.premium-montage-hero .breadcrumb{margin-bottom:38px}
.premium-montage-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(34px,5vw,75px);align-items:center}
.premium-montage-hero-photo{margin:0;min-width:0}
.premium-montage-hero-photo img{display:block;width:100%;height:clamp(420px,42vw,650px);object-fit:cover}
.premium-montage-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:42px}
.premium-montage-meta span{font-size:.76rem;padding:8px 0;border-top:1px solid #1e24283d;min-width:130px;color:#4d585c}
.premium-montage-scope{background:#fff}
.premium-montage-scope-grid,.premium-factors-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,145px)}
.premium-montage-scope-grid>div:first-child p,.premium-factors-grid>div:first-child p{max-width:480px;line-height:1.55;color:#596366}
.premium-scope-list{border-top:2px solid #1e2428}
.premium-scope-list>div{display:grid;grid-template-columns:42px 1fr;column-gap:20px;padding:22px 0;border-bottom:1px solid #1e242833}
.premium-scope-list>div>span{grid-row:span 2;color:#ed4b25;font-size:1.5rem;font-weight:800}
.premium-scope-list h3{margin:0 0 5px;font-size:1.35rem}
.premium-scope-list p{margin:0;color:#596366;line-height:1.5}
.premium-montage-detail{margin:45px 0 0;max-width:370px}
.premium-montage-detail img{width:100%;height:460px;object-fit:cover;display:block}
.premium-montage-factors{background:#f7f6f2}
.premium-factor-list{margin:0;border-top:2px solid #1e2428}
.premium-factor-list div{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid #1e242833}
.premium-factor-list dt{font-weight:800;color:#1e2428}
.premium-factor-list dd{margin:0;color:#596366;line-height:1.45}
.premium-montage-ready{background:#1e2428;color:#f7f6f2}
.premium-ready-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 75px;align-items:start}
.premium-montage-ready h2{color:#f7f6f2}
.premium-montage-ready p{color:#c8cecc;line-height:1.5}
.premium-ready-grid ul{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff55}
.premium-ready-grid li{padding:13px 0;border-bottom:1px solid #ffffff55}
.premium-ready-grid li::before{content:'↗';color:#ed4b25;margin-right:12px}
.premium-ready-action{grid-column:2}
.premium-ready-action p{font-size:.78rem}
.premium-montage-related{background:#fff}
.premium-related-list{border-top:2px solid #1e2428}
.premium-related-list a{display:grid;grid-template-columns:50px 1fr 30px;gap:20px;align-items:center;text-decoration:none;color:#1e2428;padding:21px 0;border-bottom:1px solid #1e242833}
.premium-related-list a:hover strong{color:#ed4b25}
.premium-related-list a span:first-child,.premium-related-list a span:last-child{color:#ed4b25}
.premium-related-list strong{font-size:clamp(1.2rem,2vw,1.9rem);line-height:1.2}
@media(max-width:1000px){.premium-anatomy{grid-template-columns:1fr}.premium-project-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.premium-project--1{grid-row:auto}.premium-project{display:block}.premium-project-media,.premium-project--1 .premium-project-media{height:300px}.premium-project-copy,.premium-project--1 .premium-project-copy{min-height:180px}.premium-service-list a{grid-template-columns:110px 1fr 220px 28px}.premium-hero-grid{gap:28px}}
@media(max-width:700px){.premium-home-hero{padding-top:30px}.premium-hero-grid,.premium-montage-hero-grid,.premium-photo-story-grid,.premium-process-grid,.premium-faq-grid,.premium-montage-scope-grid,.premium-factors-grid,.premium-ready-grid,.premium-partners-grid{display:block}.premium-hero-copy{padding:10px 0 32px}.premium-hero-copy h1,.premium-montage-hero h1{font-size:clamp(2.8rem,11vw,4rem)}.premium-scene-shell{margin:0 -18px;border-radius:0}.premium-scene-shell .hero-scene{min-height:480px}.premium-scene-shell .scene-poster{height:calc(100% - 150px)}.premium-scene-shell .scene-canvas{inset:0 0 150px}.premium-scene-shell .scene-controls{padding:12px 18px 14px}.premium-scene-shell .scene-views button{font-size:.7rem;min-height:35px;padding:7px}.premium-scene-shell [data-scene-play]{font-size:.72rem}.premium-hero-rail{grid-template-columns:1fr;gap:0}.premium-hero-rail span{padding:12px 0;border-left:0;border-bottom:1px solid #1e242828}.premium-hero-rail span:last-child{border-bottom:0}.premium-head-split{display:block}.premium-head-split>a{display:inline-block;margin-top:18px}.premium-project-grid{display:block;margin-top:25px}.premium-project{margin-bottom:18px}.premium-project-media,.premium-project--1 .premium-project-media{height:310px}.premium-project-copy,.premium-project--1 .premium-project-copy{min-height:0;padding:20px}.premium-object-types{grid-template-columns:1fr 1fr;margin:30px 0 42px}.premium-object-types a{min-height:145px;border-bottom:1px solid #1e242830;padding:18px 12px}.premium-object-types a:nth-child(odd){border-left:0;padding-left:0}.premium-service-heading{display:block}.premium-service-heading h3{margin-top:8px}.premium-service-list a{grid-template-columns:1fr 30px;gap:8px;padding:19px 0}.premium-service-list .premium-index,.premium-service-list p{grid-column:1}.premium-service-list h3{grid-column:1}.premium-service-list .premium-arrow{grid-column:2;grid-row:1/4;align-self:center}.premium-photo-story img{height:420px}.premium-photo-story-grid>div{margin-top:32px}.premium-anatomy-layout{display:block}.premium-anatomy-drawing{max-width:500px;margin:20px 0}.premium-anatomy-panels{margin-top:15px}.premium-process{margin-top:30px}.premium-process li{grid-template-columns:58px 1fr}.premium-process-number{font-size:1.6rem}.premium-faq .faq-list{margin-top:24px}.premium-montage-hero{padding-top:14px}.premium-montage-hero .breadcrumb{margin-bottom:25px}.premium-montage-hero-photo{margin-top:30px}.premium-montage-hero-photo img{height:380px}.premium-montage-meta{margin-top:25px}.premium-scope-list,.premium-factor-list{margin-top:25px}.premium-factor-list div{grid-template-columns:1fr;gap:5px}.premium-montage-detail{margin-top:32px}.premium-montage-detail img{height:390px}.premium-ready-grid ul{margin-top:28px}.premium-ready-action{margin-top:28px}.premium-related-list a{grid-template-columns:30px 1fr 24px;gap:12px}}
@media(prefers-reduced-motion:reduce){.premium-project-media img{transition:none}}
.premium-scene-reference{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center;padding:13px 18px;background:#30383a;color:#e9ece9;border-top:1px solid #ffffff1f}
.premium-scene-reference img{display:block;width:76px;height:70px;object-fit:cover;object-position:center 61%;border:1px solid #ffffff33}
.premium-scene-reference p{font-size:.72rem;line-height:1.42;margin:0;color:#cbd1ce}
.premium-scene-reference strong{display:block;color:#fff;font-size:.8rem;margin-bottom:3px}
.premium-scene-reference a{color:#fff;text-underline-offset:2px}
@media(max-width:700px){.premium-scene-reference{grid-template-columns:62px 1fr;padding:11px 14px}.premium-scene-reference img{width:62px;height:62px}}

/* Final optical and accessible colour adjustments. */
.btn-primary,.premium-scene-shell [data-scene-play]{background:#c63b1c;color:#fff;border-color:#c63b1c}
.btn-primary:hover,.premium-scene-shell [data-scene-play]:hover{background:#a82e14;color:#fff}
.premium-index,.premium-home-hero .eyebrow,.premium-montage-hero .eyebrow,.premium-object-types span{color:#b6381d}
.premium-project--1 .premium-index{color:#ff9d83}
.premium-scene-shell .scene-poster{object-fit:cover;object-position:center}
.premium-scene-reference img{aspect-ratio:16/10;object-fit:cover}
.premium-partner-logo{display:flex;align-items:center;justify-content:center;min-height:74px}
.premium-partner-logo:hover img{filter:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Controls remain in normal flow below the complete house viewport. */
.premium-scene-shell .hero-scene{min-height:0}
.scene-viewport{position:relative;aspect-ratio:1.35;min-height:350px;overflow:hidden}
.premium-scene-shell .scene-viewport .scene-poster{inset:0;width:100%;height:100%;object-fit:cover}
.premium-scene-shell .scene-viewport .scene-canvas{inset:0;width:100%;height:100%}
.premium-scene-shell .scene-controls{position:relative;inset:auto;display:block;width:100%}
.premium-scene-shell .scene-controls-bottom{margin-top:10px}
.premium-hero-copy,.premium-hero-grid>*{min-width:0}
@media(max-width:700px){
.premium-hero-copy h1{font-size:clamp(34px,10.2vw,44px);letter-spacing:-.055em}
.premium-scene-shell{margin-inline:0;border-radius:8px 8px 0 0}
.scene-viewport{aspect-ratio:1.17;min-height:0}
.premium-scene-shell .scene-controls{padding:14px}
.premium-scene-shell .scene-controls button{min-height:44px}
}

/* Controls remain in normal flow below the complete house viewport. */
.premium-scene-shell .hero-scene{min-height:0}
.premium-scene-shell .hero-scene{width:100%;margin-inline:0}
.scene-viewport{position:relative;aspect-ratio:1.35;min-height:350px;overflow:hidden}
.premium-scene-shell .scene-viewport .scene-poster{inset:0;width:100%;height:100%;object-fit:cover}
.premium-scene-shell .scene-viewport .scene-canvas{inset:0;width:100%;height:100%}
.premium-scene-shell .scene-controls{position:relative;inset:auto;display:block;width:100%}
.premium-scene-shell .scene-controls-bottom{margin-top:10px}
.premium-hero-copy,.premium-hero-grid>*{min-width:0}
@media(max-width:700px){
.premium-hero-copy h1{font-size:clamp(34px,10.2vw,44px);letter-spacing:-.055em}
.premium-scene-shell{margin-inline:0;border-radius:8px 8px 0 0}
.scene-viewport{aspect-ratio:1.17;min-height:0}
.premium-scene-shell .scene-controls{padding:14px}
.premium-scene-shell .scene-controls button{min-height:44px}
.portfolio-track{margin-right:0;padding-right:0}
}

.nav-services{position:relative}
.nav-services>summary{font-size:.82rem;font-weight:680;cursor:pointer;list-style:none;padding-block:12px}
.nav-services>summary::-webkit-details-marker{display:none}
.nav-services>summary span{margin-left:5px;color:#b6381d}
.service-menu{position:absolute;top:100%;left:-22px;width:320px;background:#fffefa;border:1px solid #d9d9d2;box-shadow:0 18px 35px #1e24281c;padding:12px 22px}
.service-menu a{display:block;padding:12px 0;text-decoration:none;border-bottom:1px solid #e4e3dc;line-height:1.4}
.service-menu a:last-child{border:0}
.service-menu strong{display:block;font-size:14px}
.service-menu span{display:block;font-size:12px;color:#646a6b;margin-top:4px}
@media(max-width:900px){.nav-services>summary{font-size:.95rem;min-height:48px;padding:12px 4px}.service-menu{position:static;width:100%;box-shadow:none;border:0;border-left:2px solid #ed4b25;padding:0 0 0 18px;max-height:45vh;overflow:auto}}
@media(max-width:700px){.premium-hero-copy .actions{gap:9px;margin-top:24px}.premium-hero-copy .actions .btn{flex:1;min-height:48px;padding:10px;font-size:12px;gap:10px}.premium-hero-subnote{font-size:12px;margin-top:15px}.premium-hero-copy{padding-bottom:24px}.premium-hero-copy .lead{font-size:16px;line-height:1.55}}

/* V3: full-service headline and five business indicators. */
.premium-hero-copy h1{font-size:clamp(2.5rem,4vw,4.55rem);line-height:1.04;letter-spacing:-.045em;max-width:12ch}
.premium-trust-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.premium-trust-stats>span{padding:28px 22px;color:var(--muted,#596367);font-size:14px;line-height:1.5;border-right:1px solid var(--border,#d2d3cd)}
.premium-trust-stats>span:last-child{border-right:0}
.premium-trust-stats strong{font-size:clamp(30px,3vw,48px);font-weight:750;letter-spacing:-.04em;white-space:nowrap;line-height:1.2;margin-bottom:8px;display:block;color:#1e2428}
.premium-trust-stats strong span{color:#c63b1c;font-size:.7em;vertical-align:top;margin-left:3px;display:inline;border:0;padding:0}
@media(max-width:900px){.premium-trust-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.premium-trust-stats>span{border-bottom:1px solid var(--border,#d2d3cd);padding:20px 12px}.premium-trust-stats>span:nth-child(3){border-right:0}}
@media(max-width:600px){.premium-hero-copy h1{font-size:clamp(36px,9.7vw,52px);max-width:15ch}.premium-trust-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-trust-stats>span:nth-child(2n){border-right:0}.premium-trust-stats>span:nth-child(3){border-right:1px solid var(--border,#d2d3cd)}.premium-trust-stats>span:last-child{grid-column:1/-1;border-bottom:0}.premium-trust-stats strong{font-size:36px}}

/* CITY-V3-STYLES */
/* City directory and landing pages; append to the shared site stylesheet. */
.city-v3-highlights,.city-v3-directory,.city-v3-content,.city-v3-portfolio{background:#f7f6f2;color:#1e2428}
.city-v3-featured-grid,.city-v3-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.city-v3-featured-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
.city-v3-card{display:flex;flex-direction:column;min-height:170px;padding:18px;color:#1e2428;text-decoration:none;border:1px solid #d9d9d2;background:#fff;transition:border-color .2s,transform .2s,box-shadow .2s}
.city-v3-card:hover,.city-v3-card:focus-visible{border-color:#ed4b25;transform:translateY(-3px);box-shadow:0 12px 32px #1e242812}
.city-v3-card[hidden]{display:none}
.city-v3-card-top{display:flex;justify-content:space-between;gap:10px;color:#6b6f70;font-size:.7rem;line-height:1.3;text-transform:uppercase;letter-spacing:.09em}
.city-v3-card-top span:last-child{color:#ed4b25;font-size:1.2rem}
.city-v3-card strong{font-size:clamp(1.3rem,2vw,2rem);line-height:1.1;margin-top:auto;margin-bottom:8px}
.city-v3-card>span:last-child{font-size:.82rem;color:#63696a;line-height:1.35}
.city-v3-card--featured{min-height:190px;padding:16px}
.city-v3-card--featured strong{font-size:clamp(1.1rem,1.5vw,1.6rem)}
.city-v3-more{display:inline-flex;gap:18px;align-items:center;margin-top:28px;color:#1e2428;font-weight:700;text-decoration:none;border-bottom:2px solid #ed4b25;padding-bottom:5px}
.city-v3-more:hover,.city-v3-more:focus-visible{color:#ed4b25}
.city-v3-directory-head,.city-v3-hero{background:#eeeae2;color:#1e2428;padding:52px 0 68px}
.city-v3-directory-head h1,.city-v3-hero h1{max-width:900px;font-size:clamp(2.8rem,6vw,6rem);line-height:.96;letter-spacing:-.055em;margin:28px 0}
.city-v3-directory-head .lead{max-width:780px}
.city-v3-directory-top{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px}
.city-v3-directory-top h2{margin:0}
.city-v3-search{width:min(100%,330px)}
.city-v3-search label{display:block;font-weight:700;margin-bottom:8px}
.city-v3-search input{box-sizing:border-box;width:100%;font:inherit;padding:13px 15px;border:1px solid #8c9291;background:#fff;color:#1e2428;border-radius:2px}
.city-v3-search input:focus-visible{outline:3px solid #ed4b25;outline-offset:2px}
.city-v3-search p{margin:6px 0 0;font-size:.8rem;color:#686e70}
.city-v3-empty{padding:24px;border:1px solid #d9d9d2;background:#fff}
.city-v3-extra{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:32px 0;margin-top:42px;border-top:1px solid #d9d9d2}
.city-v3-extra .city-v3-card{width:min(100%,330px)}
.city-v3-directory-note{margin-top:38px;padding:32px;background:#1e2428;color:#fff;display:grid;grid-template-columns:1fr 2fr auto;gap:28px;align-items:center}
.city-v3-directory-note h2,.city-v3-directory-note p{margin:0}
.city-v3-directory-note a{color:#fff;font-weight:700;text-decoration-color:#ed4b25;text-underline-offset:6px}
.city-v3-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,80px);align-items:center}
.city-v3-hero .lead{max-width:640px}
.city-v3-focus{display:flex;flex-direction:column;gap:4px;padding-left:18px;margin:28px 0;border-left:3px solid #ed4b25}
.city-v3-focus span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#697072}
.city-v3-focus strong{font-size:1rem}
.city-v3-real-photo{margin:0}.city-v3-real-photo img{width:100%;max-height:520px;object-fit:cover;display:block}
.city-v3-real-photo figcaption,.city-v3-diagram span{font-size:.75rem;line-height:1.5;color:#697072;margin-top:9px}
.city-v3-diagram{aspect-ratio:1.15;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8f7f3;border:1px solid #d3d4ce;padding:24px}.city-v3-diagram svg{width:100%;max-height:420px;color:#5c6465}
.city-v3-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:clamp(32px,5vw,90px);align-items:start}
.city-v3-prose{max-width:760px;font-size:1rem;line-height:1.72}.city-v3-prose h2{font-size:clamp(1.5rem,2.5vw,2.2rem);line-height:1.15;margin:42px 0 16px;letter-spacing:-.025em}.city-v3-prose h2:first-child{margin-top:0}.city-v3-prose p{margin:0 0 19px}.city-v3-prose li{margin:8px 0}.city-v3-prose a{color:#b83d22;text-underline-offset:3px}
.city-v3-prose details{border-top:1px solid #d6d7d0;padding:15px 0}.city-v3-prose details:last-child{border-bottom:1px solid #d6d7d0}.city-v3-prose summary{cursor:pointer;font-weight:700}.city-v3-prose details p{margin:12px 0 0}
.city-v3-side{position:sticky;top:120px}.city-v3-side-panel{background:#1e2428;color:#fff;padding:28px}.city-v3-side-panel h2{font-size:1.5rem;line-height:1.18;margin:14px 0}.city-v3-side-panel p{line-height:1.5;color:#d4d9d7}.city-v3-side-panel a{color:#fff;text-decoration-color:#ed4b25;text-underline-offset:5px;font-weight:700}.city-v3-side nav{display:flex;flex-direction:column;border:1px solid #d6d7d0;border-top:0;padding:15px 25px}.city-v3-side nav a{padding:12px 0;color:#1e2428;text-decoration:none;border-bottom:1px solid #d6d7d0}.city-v3-side nav a:last-child{border:0}
.city-v3-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.city-v3-projects .project-card{min-width:0}.city-v3-project-link{display:block;padding:24px;background:#fff;color:#1e2428}
.city-v3-close{background:#1e2428;color:#fff}.city-v3-close>.wrap{display:flex;justify-content:space-between;align-items:center;gap:28px}.city-v3-close h2{font-size:clamp(1.7rem,3vw,3rem);max-width:850px;line-height:1.1;margin:8px 0}.city-v3-close p:not(.eyebrow){max-width:650px;color:#d6dcda}.city-v3-close .btn{flex-shrink:0}
@media(max-width:1100px){.city-v3-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.city-v3-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.city-v3-featured-grid,.city-v3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-v3-card{min-height:145px}.city-v3-directory-top,.city-v3-extra,.city-v3-close>.wrap{align-items:stretch;flex-direction:column}.city-v3-search{width:100%}.city-v3-directory-note{display:block}.city-v3-directory-note>*{margin-bottom:16px!important}.city-v3-hero-grid,.city-v3-content-grid{grid-template-columns:1fr}.city-v3-side{position:static}.city-v3-projects{grid-template-columns:1fr}.city-v3-hero{padding-top:28px}.city-v3-hero h1{font-size:clamp(2.7rem,11vw,4.4rem)}.city-v3-diagram{aspect-ratio:1.5}}
@media(max-width:410px){.city-v3-featured-grid,.city-v3-grid{grid-template-columns:1fr 1fr;gap:8px}.city-v3-card{padding:12px;min-height:142px}.city-v3-card strong{font-size:1.2rem}}

/* V3 final line breaking and city cards */
.premium-hero-copy h1{max-width:none}
.city-v3-card strong{margin-top:22px;margin-bottom:12px}
.city-v3-card--featured{min-height:150px}
.city-v3-card--featured strong{margin-top:auto}

/* V4: a compact portfolio and explanatory text directly below its heading. */
.premium-head-stacked{display:block;max-width:920px}
.premium-head-stacked h2{max-width:850px;font-size:clamp(2.25rem,4vw,4.4rem);line-height:1.06;letter-spacing:-.052em;margin-bottom:22px}
.premium-head-stacked .premium-section-intro{max-width:810px;margin:0;font-size:clamp(17px,1.5vw,20px);line-height:1.65;color:#566065}
.premium-montage-hero h1{font-size:clamp(42px,5.2vw,76px);line-height:1.04;letter-spacing:-.045em}
.premium-montage-hero-photo img{height:clamp(430px,41vw,610px)}
@media(max-width:700px){.premium-montage-hero h1{font-size:clamp(40px,10vw,58px)}.premium-montage-hero-photo img{height:450px}.premium-head-stacked h2{margin-bottom:18px}.premium-head-stacked .premium-section-intro{font-size:17px}}

/* V5 — photographic engineering, one warm accent, native interactions. */
:root{--v5-ink:#1e2428;--v5-warm:#f7f6f2;--v5-line:#d8d9d3;--v5-accent:#c63b1c}
.v5-section-head{max-width:880px;margin-bottom:40px}.v5-section-head h2,.v5-faq-intro h2{font-size:clamp(32px,4.3vw,62px);line-height:1.08;letter-spacing:-.045em;margin:18px 0 24px}.v5-section-head em,.v5-faq-intro em{font-style:normal;color:var(--v5-accent)}.v5-section-head>p:last-child{max-width:740px;font-size:19px;line-height:1.65;color:#566065}
.v5-system-section{background:radial-gradient(ellipse at 100% 10%,#ed4b250a,transparent 50%),linear-gradient(#1e242805 1px,transparent 1px),linear-gradient(90deg,#1e242805 1px,transparent 1px),#f0eee8;background-size:auto,64px 64px,64px 64px,auto}
.v5-system{position:relative;background:#20282c;border:1px solid #30393e;border-radius:20px;overflow:hidden;box-shadow:0 24px 70px #25303718;color:white}
.v5-system-radio{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.v5-system-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:10px;gap:8px;border-bottom:1px solid #ffffff20;background:#181e22}
.v5-system-tabs label{padding:20px 22px;display:flex;align-items:center;gap:14px;cursor:pointer;border:1px solid transparent;border-radius:10px;color:#cbd2d3;font-size:17px;font-weight:700;transition:background .2s,color .2s}
.v5-system-tabs label span:first-child{font-size:12px;font-weight:500;color:#b1babc;letter-spacing:.1em}.v5-system-tabs label span:last-child{margin-left:auto}
#system-receiver:checked~.v5-system-tabs label[for=system-receiver],#system-conductor:checked~.v5-system-tabs label[for=system-conductor],#system-earth:checked~.v5-system-tabs label[for=system-earth]{background:#f7f6f2;color:#1e2428;box-shadow:inset 0 -3px #ed4b25}
#system-receiver:focus-visible~.v5-system-tabs label[for=system-receiver],#system-conductor:focus-visible~.v5-system-tabs label[for=system-conductor],#system-earth:focus-visible~.v5-system-tabs label[for=system-earth]{outline:3px solid #ff936f;outline-offset:-4px}
.v5-system-panel{display:none;grid-template-columns:1fr 1fr;min-height:570px}.v5-system-panel--receiver{display:grid}
#system-conductor:checked~.v5-system-panels .v5-system-panel--receiver,#system-earth:checked~.v5-system-panels .v5-system-panel--receiver{display:none}
#system-conductor:checked~.v5-system-panels .v5-system-panel--conductor,#system-earth:checked~.v5-system-panels .v5-system-panel--earth{display:grid}
.v5-system-photo{position:relative;margin:0;background:radial-gradient(ellipse at 50% 50%,#53606466,transparent 70%),#172025;padding:24px 34px 70px;min-width:0;display:flex;align-items:center;justify-content:center}
.v5-system-photo>img{display:block;width:100%;height:490px;object-fit:contain;filter:drop-shadow(0 8px 20px #0003)}
.v5-system-photo:before,.v5-system-photo:after{content:'';position:absolute;left:18px;top:18px;width:35px;height:35px;border-top:1px solid #ff8d69;border-left:1px solid #ff8d69;pointer-events:none}.v5-system-photo:after{left:auto;top:auto;right:18px;bottom:18px;transform:rotate(180deg)}
.v5-system-photo figcaption{position:absolute;bottom:25px;left:34px;right:30px;display:flex;gap:10px;align-items:center;font-size:12px;line-height:1.4;color:#e8eded}.v5-system-photo figcaption a{color:inherit;text-decoration:none}.v5-live-dot{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#ff8056;box-shadow:0 0 0 4px #ff805620}.v5-photo-index{position:absolute;right:24px;top:20px;color:#ffffffe0;font-size:12px;letter-spacing:.1em;background:#1e2428c9;padding:9px 12px;border:1px solid #ffffff30;border-radius:5px}
.v5-system-copy{padding:clamp(28px,4vw,64px);align-self:center}.v5-system-copy .premium-index{color:#ff9878}.v5-system-copy h3{font-size:clamp(29px,3vw,44px);line-height:1.12;letter-spacing:-.035em;margin:20px 0;color:#fff}.v5-system-copy>p{font-size:17px;line-height:1.75;color:#d6dede}.v5-system-copy ul{padding:0;margin:24px 0 34px;list-style:none}.v5-system-copy li{padding:13px 0 13px 22px;border-bottom:1px solid #ffffff18;position:relative;font-size:15px;color:#eef0ef}.v5-system-copy li:before{content:'+';position:absolute;left:0;color:#ff9878}
.v5-outline-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;color:#fff;text-decoration:none;font-weight:700;border:1px solid #647074;border-radius:7px;padding:15px 18px}.v5-outline-link:hover{background:#fff;color:#1e2428;border-color:white}.v5-system-foot{display:flex;justify-content:space-between;gap:20px;padding:17px 30px;border-top:1px solid #ffffff20;color:#bec9cc;font-size:12px}.v5-system-foot a{color:#fff}
.v5-process-section{background:#fff}.v5-process-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;list-style:none;padding:0;margin:0;counter-reset:none}.v5-process-card{position:relative;isolation:isolate;min-height:475px;overflow:hidden;border-radius:14px;background:#20282c;color:white;padding:26px 25px;display:flex;flex-direction:column;border:1px solid #263035;transition:transform .25s,box-shadow .25s}
.v5-process-card>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform .6s}.v5-process-card:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#18212512 0%,#18212570 28%,#182125f7 66%,#182125 100%)}
.v5-process-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:72px}.v5-step-number{font-size:66px;font-weight:800;line-height:1;color:#fff;letter-spacing:-.06em;text-shadow:0 2px 20px #0005}.v5-step-mark{width:32px;height:32px;border:1px solid #ffffff80;border-radius:50%;display:grid;place-items:center;font-size:17px;background:#1e242850}.v5-process-text{margin-top:auto}.v5-process-text h3{font-size:25px;line-height:1.14;color:#fff;margin:0 0 16px;letter-spacing:-.025em}.v5-process-text p{font-size:14px;line-height:1.7;color:#e0e6e6;margin-bottom:22px}.v5-step-result{display:block;padding-top:17px;border-top:1px solid #ffffff30;color:#ffa17d;font-size:12px;font-weight:600;line-height:1.4}
.v5-process-bottom{display:flex;justify-content:space-between;gap:36px;align-items:center;margin-top:28px;padding:24px 0 0;border-top:1px solid var(--v5-line)}.v5-process-bottom p{max-width:620px;line-height:1.65;color:#566065}.v5-process-bottom .btn{flex-shrink:0;border-radius:6px}
@media(hover:hover){.v5-process-card:hover{transform:translateY(-7px);box-shadow:0 15px 35px #1e242822;border-color:#ed4b25}.v5-process-card:hover>img{transform:scale(1.045)}.v5-system-tabs label:hover{background:#ffffff0e}}
.v5-faq-section{background:#eeece6}.v5-faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,100px);align-items:start}.v5-faq-intro h2{font-size:clamp(30px,3.6vw,49px)}.v5-faq-intro>p:not(.eyebrow){color:#566065;font-size:17px;line-height:1.7;max-width:440px}.v5-faq-phone{display:flex;flex-direction:column;gap:12px;margin-top:32px;padding:25px 0;border-top:1px solid #b7bcb6;color:#1e2428;text-decoration:none}.v5-faq-phone span{font-size:13px;color:#566065}.v5-faq-phone strong{font-size:26px;letter-spacing:-.025em}
.faq-list{counter-reset:faq}.faq-list details,.city-v3-prose .faq-list details{background:#fff;border:1px solid #d7dad4;border-radius:10px;margin:0 0 10px;padding:0;overflow:hidden;transition:border-color .2s,box-shadow .2s}.faq-list details[open]{border-color:#c63b1c;box-shadow:0 8px 25px #1e242809}.faq-list summary,.city-v3-prose .faq-list summary{display:grid;grid-template-columns:24px minmax(0,1fr) 28px;align-items:center;gap:14px;list-style:none;padding:22px 23px;font-size:17px;line-height:1.45;color:#1e2428;cursor:pointer}.faq-list summary:after{content:none!important}.faq-list summary::-webkit-details-marker{display:none}.faq-number{color:#b13b22;font-size:11px;font-weight:700;letter-spacing:.1em}.faq-symbol{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f1eee7;font-size:23px;font-weight:400;transition:transform .2s}.faq-list details[open] .faq-symbol{transform:rotate(45deg);color:#fff;background:#c63b1c}.faq-list details>p,.city-v3-prose .faq-list details>p{padding:0 28px 25px 61px;margin:0;line-height:1.75;color:#566065;font-size:15px}.faq-list summary:focus-visible{outline:3px solid #c63b1c;outline-offset:-4px}
.city-v3-highlights{background:#f7f6f2}.city-v3-highlights .section-head{display:block;max-width:900px}.city-v3-highlights .section-head>p{max-width:760px;margin-top:20px}.city-v3-highlights h2{font-size:clamp(32px,4vw,56px);line-height:1.12;letter-spacing:-.04em}.city-v3-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.city-v3-featured-grid>.city-v3-card:first-child{grid-column:span 2}
.city-v3-card{position:relative;isolation:isolate;overflow:hidden;border-radius:10px;padding:25px;min-height:180px;background:#e6e5df;border-color:#d5d6cf;box-shadow:0 2px 3px #1e242803}.city-v3-card-image{position:absolute;z-index:-2;inset:0;display:block;opacity:.6;transition:opacity .25s,transform .4s}.city-v3-card-image img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.city-v3-card:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(120deg,#fffaf1f2 5%,#f7f6f2b8 60%,#f7f6f24d 100%)}.city-v3-card strong,.city-v3-card--featured strong{font-size:25px;margin:0 0 auto;line-height:1.15;letter-spacing:-.025em;max-width:90%}.city-v3-card>span.city-v3-card-cta{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px;color:#3a4143;font-size:13px;font-weight:600}.city-v3-card-cta>span{width:28px;height:28px;border:1px solid #9b9d95;border-radius:50%;display:grid;place-items:center;color:#c63b1c;font-size:16px}.city-v3-card:hover .city-v3-card-image{opacity:.85;transform:scale(1.04)}
.city-v3-hero{background:radial-gradient(ellipse at 100% 0,#ed4b2510,transparent 60%),#f4f2eb}.city-v3-hero h1{font-size:clamp(38px,4.9vw,68px);line-height:1.04;letter-spacing:-.045em}.city-v3-hero-grid{grid-template-columns:1.15fr .85fr;gap:50px}.city-v3-hero .lead{font-size:18px;line-height:1.75}.city-v3-hero-media{position:relative;border-radius:16px;overflow:hidden;border:1px solid #d2d4cb;background:#e9e8e1;box-shadow:0 24px 60px #1e242815}.city-v3-hero-media img{display:block;max-height:none;height:540px;width:100%;object-fit:contain}.city-v3-hero-caption{font-size:12px!important;line-height:1.6;margin:0!important;padding:18px 22px!important;background:white;color:#535d60!important}.city-v3-focus{background:#fff9;padding:16px 20px;border-radius:0 7px 7px 0}.city-v3-focus span{color:#a33b26}.city-v3-side-panel{border-radius:12px 12px 0 0}.city-v3-side nav{border-radius:0 0 12px 12px}
.premium-object-types{border-radius:10px;overflow:hidden;border:1px solid #d8d9d3;background:#fff}.premium-object-types a{padding:26px!important;transition:background .2s}.premium-object-types a:hover{background:#f8eee7}.premium-service-list h3{font-size:clamp(24px,2.7vw,36px)}.premium-work .premium-project{border-radius:12px;overflow:hidden}.premium-project-media img{transition:transform .6s}.premium-project-media:hover img{transform:scale(1.025)}.premium-project-grid{grid-template-columns:1.15fr 1fr}.premium-project--1 .premium-project-media{min-height:0;height:620px}.premium-project--2,.premium-project--3{min-height:0}.premium-project--2 .premium-project-media,.premium-project--3 .premium-project-media{height:100%;min-height:290px}.premium-project-copy{padding:26px!important}.premium-project-copy h3{font-size:clamp(22px,2.3vw,30px)}.premium-project-copy p{font-size:13px}.premium-project-copy .premium-text-link{font-size:13px}
.premium-home-hero{background:radial-gradient(ellipse at 93% 10%,#e9e4d8aa,transparent 58%),#f7f6f2}.premium-scene-shell{border-radius:18px;overflow:hidden}.premium-hero-copy h1{font-size:clamp(44px,5vw,78px)}.premium-hero-rail{border-radius:12px;background:#ffffff75}.btn{border-radius:5px}.cta{color:#1e2428;border-radius:15px;background:linear-gradient(120deg,#ebe3d5,#f3eee4);border:1px solid #d8d9d3}.cta p{color:#4b565b}.cta h2{max-width:700px;font-size:clamp(27px,3.3vw,45px)}
@media(max-width:1100px){.v5-process-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.v5-process-card{min-height:420px}.v5-system-copy{padding:32px}.v5-system-tabs label{padding:17px 12px;gap:10px}.v5-system-photo{padding-inline:20px}.premium-project--1 .premium-project-media{height:580px}.city-v3-hero-grid{gap:28px}.city-v3-hero h1{font-size:clamp(38px,5.1vw,60px)}}
@media(max-width:760px){.v5-section-head{margin-bottom:28px}.v5-section-head>p:last-child{font-size:17px}.v5-system{border-radius:12px}.v5-system-tabs{padding:7px;gap:5px}.v5-system-tabs label{padding:14px 8px;font-size:12px;gap:5px;justify-content:center;flex-wrap:wrap;text-align:center}.v5-system-tabs label span:first-child{display:block;width:100%;font-size:10px}.v5-system-tabs label span:last-child{display:none}.v5-system-panel{grid-template-columns:1fr;min-height:0}.v5-system-photo{padding:16px 22px 65px}.v5-system-photo>img{height:430px;max-height:115vw}.v5-system-photo figcaption{left:22px;bottom:24px;font-size:11px}.v5-system-copy{padding:28px 24px 34px}.v5-system-copy h3{font-size:30px;margin-top:14px}.v5-system-copy>p{font-size:16px}.v5-system-copy li{font-size:14px}.v5-system-foot{display:block;padding:16px 24px;font-size:11px}.v5-system-foot a{display:inline-block;margin-top:7px}.v5-process-card{min-height:420px;padding:22px}.v5-process-text h3{font-size:24px}.v5-process-bottom{display:block}.v5-process-bottom .btn{margin-top:18px}.v5-faq-layout{grid-template-columns:1fr;gap:20px}.v5-faq-intro h2{font-size:36px}.v5-faq-phone{margin:20px 0 0;padding:20px 0}.faq-list summary,.city-v3-prose .faq-list summary{padding:20px 15px;gap:10px;grid-template-columns:20px minmax(0,1fr) 25px;font-size:16px}.faq-list details>p,.city-v3-prose .faq-list details>p{padding:0 20px 22px 45px;font-size:15px}.city-v3-featured-grid,.city-v3-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.city-v3-card{padding:20px;min-height:160px}.city-v3-card strong,.city-v3-card--featured strong{font-size:23px}.city-v3-card>span.city-v3-card-cta{font-size:11px}.city-v3-card-cta>span{width:24px;height:24px}.city-v3-hero-grid{grid-template-columns:1fr;gap:25px}.city-v3-hero h1{font-size:clamp(37px,9vw,58px);line-height:1.07}.city-v3-hero-media img{height:auto;max-height:560px}.city-v3-hero .lead{font-size:17px}.premium-project-grid{display:block}.premium-project--1 .premium-project-media,.premium-project--2 .premium-project-media,.premium-project--3 .premium-project-media{height:330px;min-height:0}.premium-object-types a{padding:20px!important}.premium-hero-copy h1{font-size:clamp(39px,9.8vw,64px)}}
@media(max-width:480px){.v5-process-cards{grid-template-columns:1fr;gap:14px}.v5-process-card{min-height:370px}.v5-process-top{margin-bottom:48px}.v5-process-text p{max-width:310px;font-size:15px}.v5-step-number{font-size:60px}.city-v3-card{padding:16px;min-height:150px}.city-v3-card strong,.city-v3-card--featured strong{font-size:21px}.city-v3-card-cta{gap:8px!important}.city-v3-card-cta>span{width:22px;height:22px;flex-shrink:0}.premium-object-types{grid-template-columns:1fr 1fr}.premium-object-types strong{font-size:19px}.premium-object-types small{font-size:13px}}
@media(prefers-reduced-motion:reduce){.v5-process-card,.v5-process-card>img,.city-v3-card-image,.premium-project-media img{transition:none!important;transform:none!important}}

.premium-montage-hero-photo img{object-fit:contain;height:600px;background:#ebeae3;border-radius:12px}.premium-montage-hero-photo{overflow:hidden}@media(max-width:760px){.premium-montage-hero-photo img{height:auto;max-height:580px}}

/* Inner pages: complete photographs, readable editorial sections and city identity. */
.page-hero{background:radial-gradient(ellipse at 95% 5%,#ed4b250a,transparent 65%),#f7f6f2;padding-block:35px 65px}
.page-hero-grid{gap:54px;align-items:center;grid-template-columns:1.05fr .95fr}.page-hero h1{font-size:clamp(36px,4.5vw,62px);line-height:1.08;letter-spacing:-.045em;max-width:21ch}.page-hero .lead{font-size:18px;line-height:1.75;max-width:58ch}.page-hero-image{border-radius:16px;border:1px solid #d9d9d2;overflow:hidden;background:#eeede7;box-shadow:0 20px 50px #1e24280b}.page-hero-image>img{display:block;aspect-ratio:auto;width:100%;height:470px;object-fit:contain;background:#eae9e2}.page-hero-image .hero-caption{padding:17px 22px;margin:0;font-size:12px;line-height:1.6;background:#fff;color:#566065}.page-hero--text .page-hero-grid{display:block}.page-hero--text h1{max-width:24ch}.page-hero--text .lead{max-width:70ch}
.v6-quote-scope{border:1px solid #dbd9d1;border-radius:16px;padding:30px;background:#fff;box-shadow:0 24px 60px #1e24280c}.v6-quote-scope h2{font-size:32px;line-height:1.15;margin:16px 0 24px}.v6-quote-scope details{border-top:1px solid #deded7}.v6-quote-scope summary{display:grid;grid-template-columns:24px 1fr 20px;gap:10px;padding:17px 0;list-style:none;cursor:pointer;font-size:16px;font-weight:700;line-height:1.5}.v6-quote-scope summary::-webkit-details-marker{display:none}.v6-quote-scope summary>span{font-size:11px;color:#bd3a20;font-weight:700}.v6-quote-scope summary>b{color:#bd3a20;font-size:22px;font-weight:400;line-height:1}.v6-quote-scope details[open] summary>b{transform:rotate(45deg)}.v6-quote-scope details>p{font-size:14px;line-height:1.7;color:#566065;padding:0 10px 20px 34px}.v6-quote-note{font-size:12px;color:#667073;padding-top:18px;border-top:1px solid #deded7}
.content-layout{gap:64px}.prose .v6-reading-section{position:relative;margin:0 0 38px;padding:29px 0 0;border-top:1px solid #cfd2cc}.v6-reading-index{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.12em;color:#b73920;margin:0 0 13px}.prose .v6-reading-section>h2{margin-top:0;font-size:clamp(25px,2.8vw,34px);line-height:1.2;max-width:27ch}.prose p{font-size:17px;line-height:1.85;color:#465256}.prose h3{font-size:22px;line-height:1.3}.prose figure{margin:30px 0;border:1px solid #d9d9d2;border-radius:12px;overflow:hidden;background:#edede6}.prose figure img{display:block;max-height:440px;width:100%;object-fit:contain;margin:0}.prose figure figcaption{font-size:12px;line-height:1.65;padding:13px 18px;background:#fff;color:#566065}.prose table{background:#fff;border:1px solid #d7dad4;border-radius:10px;overflow:hidden}.prose th{background:#eae8df;color:#252a2d}.prose td{font-size:15px}.prose blockquote{border-left:3px solid #c63b1c;background:#f0ece4;border-radius:0 10px 10px 0;padding:22px 26px}.aside-box{padding:22px;border:1px solid #d9d9d2;border-radius:12px;background:#fff}.aside-box.dark{background:#20282b;border-color:#20282b}.aside-box h2{font-size:18px}.aside-box a:not(.btn){font-size:13px;padding:8px 0}.aside{gap:16px}.article-meta{font-size:12px;line-height:1.7;margin-top:20px;color:#657175}
.v6-comparison{background:#fff}.v6-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.v6-comparison-grid>article{border:1px solid #d6d7d0;border-radius:14px;overflow:hidden;background:#f7f6f2}.v6-comparison-grid figure{margin:0;position:relative;background:#e9e8e1}.v6-comparison-grid figure img{display:block;width:100%;height:390px;object-fit:contain;padding:18px}.v6-comparison-grid figcaption{padding:15px 24px;background:#20282b;color:#fff;font-size:12px;letter-spacing:.04em}.v6-comparison-grid article>div{padding:26px}.v6-comparison-grid h3{font-size:27px;margin-bottom:14px}.v6-comparison-grid p{font-size:16px;line-height:1.8;color:#566065;margin-bottom:20px}
.v6-gallery-overview{padding:28px 0;border-block:1px solid #d4d7d0;background:#fff}.v6-gallery-overview>.wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.v6-gallery-overview .wrap>div{display:flex;align-items:center;gap:16px}.v6-gallery-count{font-size:48px;line-height:1;font-weight:750;letter-spacing:-.05em;color:#bd3a20}.v6-gallery-overview p{font-size:13px;line-height:1.5;color:#566065}.v6-gallery-overview ul{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0;list-style:none}.v6-gallery-overview li{font-size:12px;padding:8px 12px;border:1px solid #dbdcd5;border-radius:20px;color:#4b565b}.v6-gallery-overview a{font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;border-bottom:1px solid #c63b1c;padding-bottom:6px}.v6-gallery-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.v6-gallery-heading h2{font-size:clamp(28px,3.3vw,44px)}.v6-gallery-heading p{max-width:380px;font-size:14px;line-height:1.7;color:#5b6569}
.gallery-grid{gap:26px}.gallery-item{margin:0;border:1px solid #d8dad3;border-radius:12px;overflow:hidden;background:#fff;min-width:0}.gallery-item a{position:relative;background:#eeede7;display:block}.gallery-item img{aspect-ratio:4/3;object-fit:contain;width:100%;padding:10px;transition:transform .3s}.gallery-item figcaption{padding:14px 18px;display:flex;align-items:start;gap:15px;font-size:12px;line-height:1.6}.v6-photo-number{font-size:11px;color:#ac3b24;font-weight:700;flex-shrink:0;padding-top:1px}.v6-photo-expand{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:32px;height:32px;background:#ffffffeb;border:1px solid #d8d9d3;border-radius:50%;font-size:17px;color:#252a2d}.gallery-item a:focus-visible{outline-offset:-4px}.project-facts{gap:16px;padding:0;border:0}.project-facts>div{background:#f0eee7;border:1px solid #dbddd5;border-radius:10px;padding:18px}.project-facts dd{font-size:14px;line-height:1.5}.project-card{border:1px solid #d8dad3;border-radius:12px;overflow:hidden;background:#fff}.project-card-body{padding:22px}.project-card .project-picture img{object-fit:contain;background:#eeede7}.filter-button{border-radius:24px}.filter-status{margin-bottom:20px}.article-card{background:#fff;border:1px solid #d8dad3;border-radius:12px;overflow:hidden;padding:0 0 20px;gap:14px}.article-card>:not(img){margin-inline:22px}.article-card img{object-fit:contain;padding:12px;background:#eeede7}.article-card .card-link{align-self:stretch}.article-card h3{font-size:23px}.article-card p{font-size:14px}.service-card{border-radius:10px}.contact-form{border-radius:16px;box-shadow:0 18px 45px #1e242808}.contact-info{padding-top:20px}.contact-info>h2{font-size:32px}.contact-info .contact-phone{color:#ba381d}.contact-form input,.contact-form textarea,.contact-form select{border-radius:6px}
.city-v3-card-image{opacity:.92}.city-v3-card-image img{object-position:50% 50%}.city-v3-card:after{background:linear-gradient(120deg,#fffaf1e8 0%,#f7f6f2ba 38%,#f7f6f245 100%)}.city-v3-card strong{text-shadow:0 1px 10px #fff9}.city-v3-hero-media img{height:450px;object-fit:cover}.city-v3-hero-caption a{color:inherit}.city-v3-hero-caption small{display:block;font-size:10px;margin-top:4px}.city-v3-card:hover .city-v3-card-image{opacity:1}.city-v3-card{min-height:190px}.city-v3-side-panel{border-radius:12px 12px 0 0}.city-v3-prose>h2{font-size:30px;line-height:1.25;margin-top:38px;padding-top:28px;border-top:1px solid #cfd2cc}.city-v3-prose>h2:first-child{margin-top:0}.city-v3-prose>p{line-height:1.85}.city-v3-focus{padding:16px 20px}
@media(max-width:1000px){.page-hero-grid{gap:30px}.page-hero-image>img{height:420px}.v6-gallery-overview>.wrap{flex-wrap:wrap}.content-layout{gap:32px}.v6-gallery-heading{align-items:start}.city-v3-hero-media img{height:400px}}
@media(max-width:760px){.page-hero{padding-block:24px 42px}.page-hero-grid{grid-template-columns:1fr;gap:28px}.page-hero h1{font-size:clamp(33px,8.5vw,50px);max-width:none}.page-hero .lead{font-size:17px;line-height:1.75}.page-hero-image>img{height:390px;max-height:110vw}.page-hero-image .hero-caption{padding:14px 18px}.v6-comparison-grid{grid-template-columns:1fr}.v6-comparison-grid figure img{height:350px}.v6-comparison-grid h3{font-size:25px}.v6-quote-scope{padding:23px}.v6-quote-scope h2{font-size:29px}.v6-gallery-overview>.wrap{gap:20px}.v6-gallery-overview ul{width:100%}.v6-gallery-heading{display:block}.v6-gallery-heading p{margin-top:12px}.gallery-grid{gap:18px}.gallery-item img{padding:6px}.gallery-item figcaption{padding:12px 14px;font-size:12px}.prose .v6-reading-section{margin-bottom:28px;padding-top:22px}.prose p{font-size:16px;line-height:1.85}.prose figure img{max-height:360px}.prose .v6-reading-section>h2{font-size:26px}.aside{display:grid;grid-template-columns:1fr}.aside-box:first-child{grid-column:auto}.project-facts{grid-template-columns:1fr}.city-v3-hero-media img{height:330px;max-height:none}.city-v3-card{min-height:170px}.city-v3-prose>h2{font-size:26px}.article-card h3{font-size:22px}.city-v3-hero-caption{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){.gallery-item img{transition:none}}

/* V6 accessibility corrections after full interior-page review. */
.v6-article-image-link{position:relative;display:block;text-decoration:none!important}.v6-image-zoom{position:absolute;bottom:12px;right:12px;display:flex;gap:12px;background:#fff;color:#252a2d;border:1px solid #c9cdc5;border-radius:20px;padding:8px 13px;font-size:12px;font-weight:700;box-shadow:0 3px 10px #1e242815}.v6-article-image-link:focus-visible{outline-offset:-4px}.city-photo-credit{font-size:11px;color:#667073;margin-top:15px}.v5-process-card:last-child>img{object-position:70% 25%}.v6-about-projects{background:#fff}.city-v3-hero-caption{line-height:1.6}
@media(max-width:760px){.prose table{min-width:0;table-layout:fixed;width:100%}.prose td,.prose th{overflow-wrap:anywhere;white-space:normal;padding:12px 10px;font-size:14px;line-height:1.65}.table-scroll{max-width:100%}.v6-image-zoom{padding:7px 11px;font-size:11px}}
.v5-process-card:last-child>img{height:auto;object-fit:contain;object-position:center top;opacity:.85}.v5-process-card:last-child:after{background:linear-gradient(180deg,#18212520 0%,#18212540 28%,#182125f7 61%,#182125 100%)}

.lightbox-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:10px;padding:10px;background:#1e2428}.lightbox-close{position:static;margin:0}.lightbox-zoom{border:1px solid #9a9b96;background:#1e2428;color:#fff;min-height:44px;padding:9px 12px;font-size:13px;cursor:pointer}.lightbox-zoom:hover,.lightbox-zoom[aria-pressed=true]{background:#c63b1c;border-color:#c63b1c}.lightbox-image-scroll{max-height:75vh;overflow:auto;overscroll-behavior:contain}.lightbox-image-scroll img{display:block;margin:auto}.lightbox.is-zoomed .lightbox-image-scroll img{width:auto;min-width:900px;max-width:none;max-height:none;object-fit:initial}.lightbox-caption{margin:0}
@media(max-width:600px){.prose .v6-responsive-table{display:block;table-layout:auto;border:0;background:transparent}.v6-responsive-table thead{display:none}.v6-responsive-table tbody{display:block}.v6-responsive-table tr{display:block;border:1px solid #d3d6cf;border-radius:10px;margin-bottom:15px;overflow:hidden;background:#fff}.prose .v6-responsive-table td{display:block;width:auto;min-width:0;overflow-wrap:normal;padding:14px 16px;line-height:1.75}.v6-responsive-table td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:#a83922;margin-bottom:5px}.v6-responsive-table td:first-child{background:#eeece4;font-weight:700}.lightbox-zoom{font-size:12px}.lightbox-toolbar{padding:8px;gap:8px}}

.v5-process-card:last-child>img{mask-image:linear-gradient(180deg,#000 0%,#000 65%,transparent 100%)}

/* Equal landscape cards; source-image proportions never determine the stage. */
.v8-service-section {
  --v8-paper: #f7f6f2;
  --v8-ink: #202629;
  --v8-accent: #d54120;
  --v8-card-width: 760px;
  --v8-card-height: 430px;
  background: var(--v8-paper);
  color: var(--v8-ink);
  padding-block: clamp(4.5rem, 7vw, 7rem);
  overflow: hidden;
  overflow: clip;
}
.v8-service-section .v8-service-wrap { max-width: 1320px; }
.v8-service-section .v8-service-heading { max-width: 790px; margin: 0 auto 2.4rem; text-align: center; }
.v8-service-section .v8-service-heading .eyebrow { margin: 0 0 1rem; color: var(--v8-accent); font-size: .72rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.v8-service-section .v8-service-heading h2 { margin: 0; max-width: none; font-size: clamp(2.25rem, 4.2vw, 3.65rem); line-height: 1.07; letter-spacing: -.045em; text-wrap: balance; }
.v8-service-section .v8-service-heading h2 em { color: var(--v8-accent); font-style: normal; }
.v8-service-section .v8-service-heading > p:last-child { max-width: 630px; margin: 1.25rem auto 0; color: #596063; font-size: 1rem; line-height: 1.65; }
.v8-service-section .v8-carousel { position: relative; }
.v8-service-section .v8-track { display: grid; justify-items: center; gap: 1.5rem; margin: 0; padding: 0; list-style: none; }
.v8-service-section .v8-slide { position: relative; width: min(var(--v8-card-width), 100%); min-width: 0; margin: 0; padding: 0; }
.v8-service-section .v8-card {
  position: relative;
  display: block;
  isolation: isolate;
  width: 100%;
  height: var(--v8-card-height);
  overflow: hidden;
  border: 1px solid #d5d3cb;
  border-radius: 20px;
  background: #f8f7f3;
  box-shadow: 0 20px 50px -24px rgb(30 36 40 / 36%);
}
.v8-service-section .v8-card-photo { position: absolute; inset: 0; z-index: -2; overflow: hidden; background: #e4e3dc; }
.v8-service-section .v8-card-image { display: block; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; opacity: 1; transform: none; filter: none; }
.v8-service-section .v8-card::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #f8f7f3 0%, rgb(248 247 243 / 98%) 23%, rgb(248 247 243 / 93%) 40%, rgb(248 247 243 / 70%) 54%, rgb(248 247 243 / 9%) 77%, transparent 100%);
  content: '';
  pointer-events: none;
}
.v8-service-section .v8-card-copy { display: flex; width: 57%; height: 100%; min-height: 0; flex-direction: column; align-items: flex-start; padding: 35px 0 32px 36px; }
.v8-service-section .v8-card-kicker { display: flex; align-items: center; gap: .8rem; margin-bottom: 22px; color: var(--v8-accent); font-size: .68rem; font-weight: 800; letter-spacing: .13em; line-height: 1.3; }
.v8-service-section .v8-card-index { position: absolute; top: 28px; right: 28px; display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgb(255 255 255 / 65%); border-radius: 50%; background: rgb(248 247 243 / 88%); color: #43494b; font-size: .69rem; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.v8-service-section .v8-card h3 { max-width: 350px; margin: 0; color: var(--v8-ink); font-size: 39px; font-weight: 650; line-height: 1.05; letter-spacing: -.045em; text-wrap: balance; }
.v8-service-section .v8-card-copy > p { max-width: 335px; margin: 18px 0 20px; color: #444d50; font-size: 15px; line-height: 1.55; }
.v8-service-section .v8-card-caption { display: flex; align-items: center; gap: .45rem; margin-top: auto; color: #586164; font-size: .7rem; line-height: 1.4; }
.v8-service-section .v8-card-pin { width: .35rem; height: .35rem; flex: 0 0 auto; border-radius: 50%; background: var(--v8-accent); }
.v8-service-section .v8-card-link { display: inline-flex; min-height: 44px; max-width: 100%; align-items: center; justify-content: space-between; gap: .8rem; margin-top: 12px; padding: 0 0 3px; border-bottom: 1px solid var(--v8-accent); color: var(--v8-ink); font-size: .84rem; font-weight: 750; line-height: 1.35; text-decoration: none; }
.v8-service-section .v8-card-link span { color: var(--v8-accent); font-size: 1.15rem; transition: transform 180ms ease; }
.v8-service-section .v8-card-link:hover span { transform: translate(2px, -2px); }
.v8-service-section .v8-card-link:focus-visible, .v8-service-section .v8-carousel-controls button:focus-visible, .v8-service-section .v8-track:focus-visible { outline: 3px solid var(--v8-accent); outline-offset: 5px; }
.v8-service-section .v8-carousel-controls { display: none; }

/* Progressive enhancement: three identical frames overlap in a shallow wheel. */
.v8-service-section .v8-carousel[data-v8-enhanced="true"] .v8-track { display: block; position: relative; height: calc(var(--v8-card-height) + 54px); perspective: 1600px; touch-action: pan-y pinch-zoom; cursor: grab; user-select: none; -webkit-user-select: none; }
.v8-service-section .v8-carousel[data-v8-enhanced="true"] .v8-card, .v8-service-section .v8-carousel[data-v8-enhanced="true"] .v8-card-link { touch-action: pan-y pinch-zoom; }
.v8-service-section .v8-carousel[data-v8-enhanced="true"] .v8-card-image { -webkit-user-drag: none; }
.v8-service-section .v8-carousel[data-v8-enhanced="true"] .v8-slide { position: absolute; top: 18px; left: 50%; width: var(--v8-card-width); backface-visibility: hidden; }
.v8-service-section .v8-carousel[data-v8-ready="true"] .v8-slide { transition: transform 540ms cubic-bezier(.22,.75,.16,1), opacity 420ms ease; }
.v8-service-section .v8-slide[data-v8-position="active"] { z-index: 3; transform: translateX(calc(-50% + var(--v8-drag-x, 0px))) translateY(0) rotateY(0) scale(1); opacity: 1; }
.v8-service-section .v8-slide[data-v8-position="prev"] { z-index: 1; transform: translateX(-86%) translateY(15px) rotateY(13deg) scale(.84); opacity: .52; cursor: pointer; }
.v8-service-section .v8-slide[data-v8-position="next"] { z-index: 1; transform: translateX(-14%) translateY(15px) rotateY(-13deg) scale(.84); opacity: .52; cursor: pointer; }
.v8-service-section .v8-slide[data-v8-position="active"] .v8-card { border-color: #c7c3b9; box-shadow: 0 26px 52px -22px rgb(30 36 40 / 36%); }
.v8-service-section .v8-carousel[data-v8-dragging="true"] .v8-track { cursor: grabbing; }
.v8-service-section .v8-carousel[data-v8-dragging="true"] .v8-slide[data-v8-position="active"] { transition: opacity 420ms ease; }
.v8-service-section .v8-carousel[data-v8-dragging="true"] a { cursor: grabbing; }
.v8-service-section .v8-carousel[data-v8-enhanced="true"] .v8-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 22px; margin: 8px 0 0; }
.v8-service-section .v8-carousel-controls button { display: inline-grid; width: 48px; height: 48px; flex: 0 0 auto; place-items: center; padding: 0; border: 1px solid #bdbeb7; border-radius: 50%; background: transparent; color: var(--v8-ink); cursor: pointer; font: inherit; font-size: 1.35rem; transition: color 180ms ease, background 180ms ease, border-color 180ms ease; }
.v8-service-section .v8-carousel-controls button:hover { border-color: var(--v8-ink); background: var(--v8-ink); color: #fff; }
.v8-service-section .v8-carousel-count { min-width: 4.3rem; color: #596063; font-size: .8rem; font-variant-numeric: tabular-nums; letter-spacing: .1em; text-align: center; }
.v8-service-section .v8-service-note { max-width: 680px; margin: 1.6rem auto 0; color: #666d6f; font-size: .78rem; line-height: 1.6; text-align: center; }
.v8-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
@media (max-width: 1100px) and (min-width: 601px) {
  .v8-service-section { --v8-card-width: min(760px, 78vw); }
  .v8-service-section .v8-card-copy { width: 60%; padding-left: 28px; }
  .v8-service-section .v8-card h3 { font-size: clamp(29px, 4vw, 39px); }
  .v8-service-section .v8-card-copy > p { font-size: 14px; }
}
@media (max-width: 600px) {
  .v8-service-section { --v8-card-width: 82vw; --v8-card-height: 470px; padding-block: 54px; }
  .v8-service-section .v8-service-heading { margin-bottom: 1.35rem; text-align: left; }
  .v8-service-section .v8-service-heading h2 { font-size: clamp(30px, 8.5vw, 43px); line-height: 1.08; }
  .v8-service-section .v8-service-heading .eyebrow { max-width: 280px; font-size: .61rem; line-height: 1.6; }
  .v8-service-section .v8-service-heading > p:last-child { margin-top: 1rem; font-size: .93rem; }
  .v8-service-section .v8-card { border-radius: 16px; }
  .v8-service-section .v8-card-photo { height: 235px; bottom: auto; }
  .v8-service-section .v8-card::after { background: linear-gradient(180deg, transparent 0%, transparent 31%, rgb(248 247 243 / 10%) 35%, rgb(248 247 243 / 88%) 43%, #f8f7f3 49%, #f8f7f3 100%); }
  .v8-service-section .v8-card-copy { width: 100%; height: 100%; min-height: 0; justify-content: flex-end; padding: 170px 23px 22px; }
  .v8-service-section .v8-card-kicker { margin-bottom: 12px; font-size: .61rem; }
  .v8-service-section .v8-card-index { top: 18px; right: 18px; width: 32px; height: 32px; }
  .v8-service-section .v8-card h3 { max-width: 310px; font-size: 30px; line-height: 1.07; }
  .v8-service-section .v8-card-copy > p { margin: 13px 0 15px; max-width: 340px; font-size: 14px; line-height: 1.5; }
  .v8-service-section .v8-card-caption { margin-top: 0; font-size: .63rem; }
  .v8-service-section .v8-card-link { margin-top: 10px; font-size: .77rem; gap: .55rem; }
  .v8-service-section .v8-slide[data-v8-position="prev"] { transform: translateX(-67%) translateY(13px) rotateY(12deg) scale(.86); opacity: .48; }
  .v8-service-section .v8-slide[data-v8-position="next"] { transform: translateX(-33%) translateY(13px) rotateY(-12deg) scale(.86); opacity: .48; }
  .v8-service-section .v8-carousel[data-v8-enhanced="true"] .v8-track { height: calc(var(--v8-card-height) + 36px); }
  .v8-service-section .v8-carousel[data-v8-enhanced="true"] .v8-carousel-controls { margin-top: 9px; }
  .v8-service-section .v8-service-note { text-align: left; font-size: .75rem; }
}
@media (max-width: 380px) {
  .v8-service-section .v8-card-copy { padding: 153px 19px 20px; }
  .v8-service-section .v8-card h3 { font-size: 26px; }
  .v8-service-section .v8-card-copy > p { font-size: 13px; }
  .v8-service-section .v8-card-link { font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) {
  .v8-service-section .v8-slide, .v8-service-section .v8-track, .v8-service-section .v8-card-link span, .v8-service-section .v8-carousel-controls button { transition: none !important; }
}

/* The photo determines the frame: no gray padding, upscaling or cropping. */
.page-hero-image,.premium-montage-hero-photo,.project-picture,.gallery-grid figure,.prose figure,.v6-comparison-grid figure,.v5-system-photo{background:transparent;min-height:0;height:auto;aspect-ratio:auto}
.page-hero-image>img,.premium-montage-hero-photo img,.project-picture img,.gallery-grid img,.prose figure img,.v6-comparison-grid figure img,.v5-system-photo>img,.article-card img,.city-v3-hero-media img,.premium-photo-story img,.premium-montage-detail img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;padding:0;background:transparent;transform:none;filter:none}
.project-card:hover .project-picture img{transform:none}.gallery-grid{align-items:start}.gallery-grid figure{margin:0;border:0}.gallery-grid img{border-radius:12px}.gallery-grid figcaption{padding:12px 0 20px}
.page-hero-image{margin:0}.page-hero-image>img{border-radius:16px}.page-hero-grid{align-items:center}.prose figure{overflow:hidden;border:0;border-radius:12px;margin:32px 0}.prose figcaption{padding:12px 0;font-size:14px}.prose figure:has(img[data-small-image]){max-width:440px;margin-inline:auto}
.v6-comparison-grid{align-items:start}.v6-comparison-grid article{overflow:hidden}.v6-comparison-grid figure{padding:0}.v5-system-photo{align-self:start}.v5-system-photo figcaption{position:static;background:#1e2428;padding:16px 20px;min-height:0}.v5-system-photo .v5-photo-index{top:16px;bottom:auto}
.premium-montage-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:clamp(28px,5vw,74px)}.premium-montage-hero-photo{max-width:510px;justify-self:end}.premium-montage-hero-photo img{border-radius:16px}
.premium-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;align-items:start;gap:24px}.premium-project,.premium-project--1{display:flex;flex-direction:column;grid-row:auto;min-height:0;background:#fff;color:#1e2428;border:1px solid #e0ddd7}
.premium-project-media,.premium-project--1 .premium-project-media,.premium-project--2 .premium-project-media,.premium-project--3 .premium-project-media{min-height:0;height:auto;overflow:visible}.premium-project-media img{width:100%;height:auto;object-fit:contain;transform:none!important}.premium-project-copy,.premium-project--1 .premium-project-copy{min-height:0;padding:24px!important}.premium-project-copy h3{font-size:clamp(22px,2vw,30px)}.premium-project--1 .premium-text-link{color:#1e2428}.premium-project--1 .premium-index{color:#9e371e}
.premium-hero-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:clamp(28px,4vw,60px)}.premium-hero-copy h1{font-size:clamp(46px,4.5vw,72px);line-height:1.03;letter-spacing:-.045em;margin-bottom:24px;max-width:670px;text-wrap:balance}.premium-hero-copy h1 em{font-style:normal;font-weight:650;font-size:.73em;line-height:1.1;display:inline-block;margin-top:14px;color:#bd3b1e}.premium-hero-copy .lead{font-size:clamp(17px,1.35vw,21px);line-height:1.65;max-width:620px}
.premium-home-hero{padding-top:55px}.premium-scene-shell{border-radius:20px;box-shadow:0 24px 55px #22251c1a;border:1px solid #d6d4cc}.premium-scene-shell .scene-viewport{aspect-ratio:706/440;min-height:0}.premium-scene-shell .scene-viewport .scene-poster{object-fit:contain;opacity:1;transition:opacity .65s ease}.premium-scene-shell .scene-canvas{opacity:0;transition:opacity .65s ease;pointer-events:none}.premium-scene-shell .scene-ready .scene-canvas{opacity:1;pointer-events:auto}.premium-scene-shell .scene-ready .scene-poster{opacity:0}
.premium-scene-shell .scene-controls{padding:16px 18px;background:#fff;color:#1e2428;border:0}.premium-scene-shell .scene-views{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0}.premium-scene-shell .scene-views button{min-height:46px;padding:10px 7px;color:#252b2d;border:1px solid #d8d5ce;border-radius:8px;font-size:13px;font-weight:650;background:#faf9f5}.premium-scene-shell .scene-views button[aria-pressed=true]{background:#1e2428;border-color:#1e2428;color:white}.premium-scene-shell .scene-note{color:#647074;font-size:11px;line-height:1.4;margin-top:11px;min-height:31px}
.premium-trust-stats{margin-top:38px}.premium-trust-stats>span{font-size:13px}
.v5-process-cards{align-items:start}.v5-process-card{padding:0;min-height:0;background:#fff;color:#1e2428;border:1px solid #d8d5ce;overflow:hidden;display:flex}.v5-process-card>img,.v5-process-card:last-child>img{position:relative;inset:auto;z-index:0;width:100%;height:auto;max-height:none;object-fit:contain;padding:0;opacity:1;mask-image:none;transform:none!important}.v5-process-card:after{display:none}.v5-process-top{padding:20px 20px 0}.v5-process-text{padding:16px 20px 24px;margin:0}.v5-process-text p{color:#505c60}.v5-process-text h3{color:#20282c}.v5-process-text small{color:#9c361d}
.city-v3-featured-grid,.city-v3-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:18px}.city-v3-featured-grid>.city-v3-card:first-child{grid-column:auto}.city-v3-card,.city-v3-card--featured{padding:0;min-height:0;background:#fff;border-color:#dedbd4;display:flex;flex-direction:column;overflow:hidden}.city-v3-card-image{position:static;inset:auto;z-index:auto;opacity:1;transform:none!important;width:100%;line-height:0}.city-v3-card-image img{display:block;width:100%;height:auto;object-fit:contain}.city-v3-card:after{display:none}.city-v3-card:hover .city-v3-card-image{opacity:1}.city-v3-card strong,.city-v3-card--featured strong{font-size:23px;max-width:none;margin:18px 18px 6px}.city-v3-card>span.city-v3-card-cta{margin:0;padding:0 18px 18px;font-size:12px;gap:8px}
.v8-blog{background:#fff}.v8-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px}.v8-blog .section-head{display:block;max-width:900px}.v8-blog .article-card img{border-radius:12px}
.v8-carousel[data-v8-enhanced=true] [data-v8-position=prev]{order:1}.v8-carousel[data-v8-enhanced=true] [data-v8-position=active]{order:2}.v8-carousel[data-v8-enhanced=true] [data-v8-position=next]{order:3}.v8-card-photo{background:transparent}.v8-card-link{min-height:44px;align-items:center}.v8-service-heading h2{font-size:clamp(32px,4vw,60px);line-height:1.09;letter-spacing:-.04em}
.v5-process-top{margin-bottom:0}.v5-step-number{color:#bd3b1e;font-size:40px;text-shadow:none}.v5-step-mark{color:#374246;border-color:#d6d3cc;background:#f5f3ee}.v5-step-result{color:#a83c23;border-color:#dedbd5}
.prose figure:has(img[width="386"]){max-width:386px;margin-inline:auto}.prose figure:has(img[width="286"]){max-width:286px;margin-inline:auto}.prose figure:has(img[width="443"]){max-width:443px;margin-inline:auto}
@media(max-width:1000px){.premium-hero-grid{grid-template-columns:1fr 1fr}.premium-hero-copy h1{font-size:48px}.premium-project-grid{gap:16px}.city-v3-featured-grid,.city-v3-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
 .wrap{width:calc(100% - 36px)}.header-inner{min-height:76px}.brand{max-width:210px}.brand img{width:100%;height:auto}.menu-toggle{min-height:44px}.nav.open{max-height:calc(100dvh - 90px);overflow:auto}.nav a,.nav summary{min-height:44px}.section{padding-block:54px}
 .premium-home-hero{padding-top:25px}.premium-hero-grid,.premium-montage-hero-grid,.page-hero-grid{display:grid;grid-template-columns:1fr;gap:24px}.premium-hero-copy{padding:0}.premium-hero-copy h1{font-size:clamp(39px,10vw,60px);margin-bottom:20px}.premium-hero-copy h1 em{font-size:.76em;margin-top:10px}.premium-hero-copy .lead{font-size:17px;line-height:1.6}.premium-hero-subnote{font-size:12px;margin-bottom:0}.actions{gap:9px;margin-top:24px}.actions .btn{font-size:13px;padding:14px 16px;min-height:48px}
 .premium-scene-shell{margin:0;border-radius:14px}.premium-scene-shell .scene-controls{padding:12px}.premium-scene-shell .scene-views button{font-size:12px;min-height:44px;padding:8px 4px}.premium-scene-shell .scene-note{font-size:10px;margin-top:9px}.premium-trust-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}.premium-trust-stats>span{padding:16px!important;font-size:12px;border:0;border-bottom:1px solid #dcdad4}.premium-trust-stats>span:last-child{grid-column:1/-1}.premium-trust-stats strong{font-size:30px!important}.premium-trust-stats strong span{padding:0;border:0}
 .premium-project-grid,.v8-blog-grid{display:grid;grid-template-columns:1fr;gap:24px}.premium-project{margin-bottom:0}.premium-project-copy{padding:20px!important}.premium-project-copy h3{font-size:26px}.premium-montage-hero-photo{max-width:100%;width:100%;margin:0}.premium-montage-hero h1{font-size:clamp(36px,9vw,58px)}
 .page-hero h1,.city-v3-hero h1{font-size:clamp(34px,8.5vw,54px);line-height:1.1;overflow-wrap:anywhere}.page-hero .lead,.city-v3-hero-lead{font-size:17px;line-height:1.6}.v5-system-tabs label{font-size:12px;gap:6px;padding:16px 8px;min-height:48px}.v5-system-tabs label>span:last-child{display:none}.v5-system-copy{padding:24px 20px}.v5-system-copy h3{font-size:28px}
 .v5-process-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v5-process-top{padding:15px 14px 0}.v5-process-text{padding:12px 14px 20px}.v5-process-text h3{font-size:21px}.v5-process-text p{font-size:14px}.city-v3-featured-grid,.city-v3-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.city-v3-card strong,.city-v3-card--featured strong{font-size:20px;margin:14px 12px 6px}.city-v3-card>span.city-v3-card-cta{padding:0 12px 14px;font-size:11px}.city-v3-card-cta>span{width:24px;height:24px;flex-shrink:0}
 .gallery-grid{grid-template-columns:1fr}.prose{font-size:17px}.prose h2{font-size:28px;line-height:1.2}.prose figure{margin-block:24px}.prose figcaption{font-size:12px}.prose img{max-width:100%}.form input,.form select,.form textarea,input,select,textarea{font-size:16px}.footer{padding-bottom:86px}.mobile-call{padding-bottom:max(12px,env(safe-area-inset-bottom))}.v8-card-copy{min-height:0}.v8-service-section{padding-block:54px}.v8-service-heading h2{font-size:34px;line-height:1.1}
}
@media(max-width:380px){.brand{max-width:180px}.wrap{width:calc(100% - 30px)}.v5-process-cards{grid-template-columns:1fr}.premium-object-types{grid-template-columns:1fr}.premium-object-types a{min-height:0!important;padding:20px!important}.v5-system-tabs label{font-size:11px;letter-spacing:-.02em}.city-v3-card strong{font-size:18px}.actions .btn{padding:13px 12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.premium-scene-shell .scene-poster,.premium-scene-shell .scene-canvas{transition:none}}
.premium-scene-shell .scene-note{height:34px;min-height:34px;overflow:auto;margin-bottom:0}.premium-scene-shell .scene-canvas,.premium-scene-shell .scene-poster{transition:opacity .2s ease}
@media(max-width:760px){.premium-scene-shell .scene-note{height:42px;min-height:42px}}
@media(max-width:900px){.nav{max-height:calc(100dvh - 200px);overflow-y:auto;overscroll-behavior:contain}.menu-toggle{white-space:nowrap;font-size:12px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){.premium-scene-shell .scene-poster,.premium-scene-shell .scene-canvas{transition:none!important}}

.trust-v8{--trust-ink:#1e2428;--trust-paper:#f7f6f2;--trust-accent:#ed4b25;background:var(--trust-paper);color:var(--trust-ink);padding:clamp(48px,7vw,94px) 0;overflow:hidden}
.trust-v8 *{box-sizing:border-box}
.trust-v8-inner{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.trust-v8-heading{margin:0 0 clamp(28px,4vw,48px);max-width:700px}
.trust-v8-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;color:#646764;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.trust-v8-eyebrow>span{width:24px;height:2px;background:var(--trust-accent);display:block}
.trust-v8-heading h2{margin:0;font-size:clamp(32px,4.5vw,54px);line-height:1.04;letter-spacing:-.045em;font-weight:650;max-width:16ch}
.trust-v8-heading h2 em{font-style:normal;color:var(--trust-accent)}
.trust-v8-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #d9d8d1}
.trust-v8-item{position:relative;min-width:0;padding:clamp(22px,3vw,34px) clamp(14px,2.4vw,30px) 27px;border-right:1px solid #d9d8d1;isolation:isolate}
.trust-v8-item:last-child{border-right:0}
.trust-v8-item::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--trust-accent);transform:scaleY(.22);transform-origin:top;transition:transform .35s ease;z-index:-1}
.trust-v8-item:hover::before,.trust-v8-item:focus-within::before{transform:scaleY(1)}
.trust-v8-item-2::before{opacity:.72}.trust-v8-item-3::before{opacity:.5}.trust-v8-item-4::before{opacity:.82}
.trust-v8-icon{width:28px;height:28px;margin:0 0 22px;fill:none;stroke:var(--trust-accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.trust-v8-number{margin:0 0 8px;font-size:clamp(30px,3.4vw,48px);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.045em;font-weight:680;white-space:nowrap}
.trust-v8-label{margin:0;color:#555b5b;font-size:clamp(13px,1.2vw,15px);line-height:1.4;font-weight:550;max-width:20ch}
.trust-v8-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.trust-v8-inner{width:min(100% - 36px,560px)}.trust-v8-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-v8-item{padding:22px 15px 24px;min-height:154px}.trust-v8-item:nth-child(2){border-right:0}.trust-v8-item:nth-child(-n+2){border-bottom:1px solid #d9d8d1}.trust-v8-icon{margin-bottom:17px}.trust-v8-number{font-size:clamp(29px,8vw,40px)}.trust-v8-label{font-size:13px}}
@media(max-width:359px){.trust-v8-inner{width:calc(100% - 28px)}.trust-v8-item{padding-inline:11px}.trust-v8-number{font-size:28px}.trust-v8-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.trust-v8-item::before{transition:none}}
.trust-v8{padding:38px 0 0;background:transparent}.trust-v8-inner{max-width:var(--max);width:calc(100% - 48px)}.trust-v8-grid{gap:14px;border:0}.trust-v8-item,.trust-v8-item:last-child{padding:26px;border:1px solid #dfdbd3;border-radius:16px;background:radial-gradient(circle at 95% 0%,#ed4b2510,transparent 62%),#fffefa;box-shadow:0 6px 18px #1e242805;overflow:hidden;transition:transform .25s,box-shadow .25s}.trust-v8-item:before{inset:auto 25px 0;width:40px;height:3px;transform:scaleX(.45);transform-origin:left}.trust-v8-item:hover:before{transform:scaleX(1)}.trust-v8-item:hover{transform:translateY(-4px);box-shadow:0 12px 28px #1e24280c}.trust-v8-icon{display:block;background:#faeee7;padding:9px;width:46px;height:46px;border-radius:12px;margin-bottom:20px}.trust-v8-number{font-weight:750}.trust-v8-label{min-height:42px}
@media(max-width:760px){.trust-v8{padding-top:25px}.trust-v8-inner{width:calc(100% - 36px)}.trust-v8-grid{gap:10px}.trust-v8-item,.trust-v8-item:last-child{padding:19px 15px;border:1px solid #dfdbd3;border-radius:13px}.trust-v8-icon{width:38px;height:38px;padding:7px;margin-bottom:16px}.trust-v8-number{font-size:clamp(28px,8vw,40px)}.trust-v8-label{min-height:36px}}
@media(max-width:359px){.trust-v8-inner{width:calc(100% - 30px)}.trust-v8-item,.trust-v8-item:last-child{padding:17px 12px}.trust-v8-number{font-size:28px}}
@media(prefers-reduced-motion:reduce){.trust-v8-item{transition:none}.trust-v8-item:hover{transform:none}}

/* V9: shared image frames for card collections; originals stay in the galleries. */
.premium-montage-hero{padding-top:14px}
.premium-montage-hero .breadcrumb{padding:12px 0;margin:0 0 24px}
.premium-montage-hero-grid,.page-hero-grid{align-items:start}
.premium-montage-hero-grid>div:first-child{align-self:start;padding-top:0}
.premium-project-grid{align-items:stretch}
.premium-project-grid .premium-project{height:100%}
.premium-project-grid .premium-project-media{position:relative;aspect-ratio:3/2;height:auto;min-height:0;overflow:hidden;flex:none}
.premium-project-grid .premium-project-media img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.premium-project-grid .premium-project-copy{display:flex;flex:1;flex-direction:column;gap:12px}
.premium-project-copy h3{margin:0;line-height:1.15}
.premium-project-copy p{margin:0}
.premium-project-copy .premium-text-link{margin-top:auto;padding-top:12px;align-self:start}
.project-card{display:flex;flex-direction:column;height:100%;min-width:0}
.project-card .project-picture{aspect-ratio:3/2;height:auto;min-height:0;overflow:hidden;flex:none}
.project-card .project-picture img{height:100%;aspect-ratio:3/2;object-fit:cover;background:transparent;padding:0}
.project-card-body{display:flex;flex-direction:column;flex:1;gap:14px}
.project-card-body h3{margin:0}.project-card-body .card-link{margin-top:auto}
.article-card{height:100%;display:flex;flex-direction:column;min-width:0}
.article-card img,.v8-blog .article-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;flex:none;padding:0;border-radius:0;background:transparent}
.article-card .card-link{margin-top:auto}.v8-blog-grid{align-items:stretch}
.city-v3-featured-grid,.city-v3-grid{align-items:stretch}
.city-v3-card-image{aspect-ratio:3/2;overflow:hidden;flex:none}
.city-v3-card-image img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}
.city-v3-card>span.city-v3-card-cta{margin-top:auto}
.gallery-grid{align-items:stretch}
.gallery-grid .gallery-item>a{display:block;aspect-ratio:4/3;overflow:hidden;background:transparent}
.gallery-grid .gallery-item img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;padding:0;border-radius:12px}
.v5-process-cards{align-items:stretch}
.v5-process-card>img,.v5-process-card:last-child>img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;flex:none}
.v5-process-card{display:flex;flex-direction:column}.v5-process-text{display:flex;flex-direction:column;flex:1}.v5-step-result{margin-top:auto;align-self:start}
.v5-process-text h3{min-height:2.3em}
.v9-process-photo{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;flex:none;background:#eee9e2}
.v9-process-photo>img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.v9-process-photo>span{position:absolute;bottom:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#fffef6ed;color:#20282c;box-shadow:0 3px 14px #0002}
.v5-system-photo .v9-photo-expand{position:absolute;left:16px;top:16px;padding:8px 12px;border:1px solid #ffffffaa;border-radius:22px;background:#fffffff0;color:#243034;font-size:11px;font-weight:650;box-shadow:0 4px 14px #18202214}
.lightbox{border-radius:14px}.lightbox-close{border-radius:7px;background:#fff;color:#20282c;font-weight:700;font-size:15px;min-width:110px}.lightbox-toolbar{align-items:center}.lightbox img{height:auto}
.lightbox-image-scroll img{width:auto;max-width:100%;max-height:70dvh}.lightbox.is-zoomed .lightbox-image-scroll img{max-height:none}
.premium-intro .section-head h2{font-size:clamp(32px,3.9vw,54px)}
.premium-intro .premium-section-intro{font-size:clamp(16px,1.35vw,19px);max-width:850px}
.premium-object-types.v9-object-types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;overflow:visible;border:0;border-radius:0;background:transparent;margin:30px 0 0}
.v9-object-types a{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:330px!important;padding:24px!important;overflow:hidden;border:1px solid #d8d5ce!important;border-radius:15px;background:#eee9e2;box-shadow:0 8px 24px #24252406;transition:box-shadow .25s,transform .25s}
.v9-object-types a:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#f7f5f000 15%,#f7f5f040 34%,#f7f5f0ed 66%,#f7f5f0 100%)}
.v9-object-types a>img{position:absolute;z-index:-2;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(.86);transition:transform .45s}
.v9-object-types a:hover{background:#eee9e2;box-shadow:0 18px 34px #24252412;transform:translateY(-4px)}
.v9-object-types a:hover>img{transform:scale(1.035)}
.v9-object-types .v9-object-number{align-self:start;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fffef8ed;border:1px solid #ffffffbd;box-shadow:0 4px 14px #20282c12;color:#ac351a;font-size:11px}
.v9-object-copy{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:100px}
.v9-object-types strong{font-size:clamp(21px,1.8vw,27px);letter-spacing:-.025em}
.v9-object-types small{color:#4d595c;font-size:14px;line-height:1.45;min-height:2.9em}
.v9-object-types .v9-object-link{font-size:11px;letter-spacing:0;color:#973a24;display:flex;gap:12px;justify-content:space-between;margin-top:10px;padding-top:12px;border-top:1px solid #b8b3ab80;font-weight:650}
.v9-object-link b{font-size:16px}
.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6;table-layout:fixed}.prose th,.prose td{padding:14px 16px;vertical-align:top;text-align:left;border-bottom:1px solid #dedbd4;overflow-wrap:anywhere}.prose th{background:#eeebe4;font-weight:700}
@media(max-width:1000px){.premium-object-types.v9-object-types{grid-template-columns:repeat(2,minmax(0,1fr))}.v9-object-types a{min-height:300px!important}.v9-object-types strong{font-size:25px}}
@media(max-width:600px){.premium-object-types.v9-object-types{grid-template-columns:1fr;gap:16px}.v9-object-types a{min-height:285px!important;padding:22px!important}.v9-object-copy{padding-top:60px;max-width:85%}.v9-object-types small{min-height:0}.premium-project-grid .premium-project-media{aspect-ratio:3/2}.premium-project-copy h3{font-size:25px}.prose th,.prose td{padding:10px 9px;font-size:13px}.gallery-grid .gallery-item>a{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.v9-object-types a,.v9-object-types a>img{transition:none}.v9-object-types a:hover,.v9-object-types a:hover>img{transform:none}}

/* Compact V9 treatment for the native-radio system explorer. */
.v5-system-section .v5-section-head{max-width:960px;margin:0 0 26px}
.v5-system-section .v5-section-head h2{font-size:clamp(30px,4vw,46px);line-height:1.08;max-width:20ch;margin:10px 0 12px}
.v5-system-section .v5-section-head>p:last-child{font-size:15px;line-height:1.55;max-width:66ch}
.v5-system{border-radius:14px;box-shadow:0 16px 40px #1e242812;scroll-margin-top:96px}
.v5-system-tabs{padding:7px;gap:6px}
.v5-system-tabs label{min-width:0;min-height:50px;padding:10px 14px;font-size:14px;gap:10px;border-radius:8px;flex-wrap:nowrap;white-space:nowrap}
.v5-system-tabs label span:first-child{font-size:10px;letter-spacing:.06em}
.v5-system-tabs label span:last-child{font-size:13px}
.v5-system-panel{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:stretch;min-height:0}
.v5-system-photo{position:relative;min-height:360px;height:clamp(360px,34vw,410px);margin:0;padding:0;display:block;background:#e8e5de;overflow:hidden}
.v5-system-photo-link{position:absolute;inset:0;display:block;overflow:hidden}
.v5-system-photo-link picture,.v5-system-photo-link img{display:block;width:100%;height:100%;max-height:none}
.v5-system-photo-link img{object-fit:cover;object-position:center;filter:none;transition:transform .45s ease}
@media(hover:hover){.v5-system-photo-link:hover img{transform:scale(1.025)}}
.v5-system-photo:before,.v5-system-photo:after{z-index:1;border-color:#ed4b25;opacity:.9}
.v5-system-photo figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;min-height:40px;padding:10px 18px;background:#1e2428;color:#fff;font-size:11px}
.v5-system-photo figcaption a{color:inherit}
.v5-photo-index{z-index:2;top:14px;right:14px;padding:6px 9px;background:#1e2428;color:#fff;border-color:#1e2428}
.v5-system-copy{padding:clamp(22px,3vw,38px);align-self:center}
.v5-system-copy .premium-index{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.v5-system-copy h3{font-size:clamp(27px,2.7vw,36px);line-height:1.08;margin:12px 0}
.v5-system-copy>p{font-size:14px;line-height:1.58}
.v5-system-copy ul{margin:15px 0 20px}
.v5-system-copy li{padding:9px 0 9px 19px;font-size:13px;line-height:1.4}
.v5-outline-link{padding:12px 14px;gap:16px;border-color:#687074;border-radius:5px;font-size:13px}
.v5-system-foot{padding:12px 20px;font-size:11px}
@media(max-width:760px){
 .v5-system-section .v5-section-head{margin-bottom:18px}
 .v5-system-section .v5-section-head h2{font-size:clamp(28px,7.4vw,36px);max-width:19ch;margin:8px 0}
 .v5-system-section .v5-section-head>p:last-child{font-size:14px;line-height:1.5}
 .v5-system-tabs{grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;gap:4px}
 .v5-system-tabs label{min-height:44px;padding:8px 5px;font-size:clamp(10px,3.15vw,12px);gap:5px;white-space:normal;line-height:1.15}
 .v5-system-tabs label span:first-child{display:inline;width:auto;font-size:9px}
 .v5-system-tabs label span:last-child{display:none}
 .v5-system-panel{grid-template-columns:minmax(0,1fr);min-height:0}
 .v5-system-photo{height:clamp(240px,70vw,300px);min-height:0;width:100%}
 .v5-system-photo-link img{object-position:50% 48%}
 .v5-system-photo:before{left:10px;top:10px;width:24px;height:24px}
 .v5-system-photo:after{right:10px;bottom:10px;width:24px;height:24px}
 .v5-system-photo figcaption{left:0;right:0;bottom:0;padding:9px 14px;min-height:38px;font-size:10px;line-height:1.3;gap:7px}
 .v5-live-dot{width:5px;height:5px;flex-basis:5px}
 .v5-photo-index{top:12px;right:12px;padding:6px 8px;font-size:10px}
 .v5-system-copy{padding:22px 20px 24px;align-self:auto;min-width:0}
 .v5-system-copy .premium-index{font-size:10px;line-height:1.3;letter-spacing:.06em}
 .v5-system-copy h3{font-size:clamp(24px,6.5vw,30px);line-height:1.08;margin:9px 0}
 .v5-system-copy>p{font-size:15px;line-height:1.55;margin:0}
 .v5-system-copy ul{margin:12px 0 16px}
 .v5-system-copy li{padding:8px 0 8px 17px;font-size:13px;line-height:1.4}
 .v5-outline-link{width:100%;justify-content:space-between;padding:13px 14px;gap:10px;font-size:13px;line-height:1.3}
 .v5-system-foot{display:flex;gap:8px;justify-content:space-between;padding:11px 14px;font-size:10px;line-height:1.35}
 .v5-system-foot a{display:inline-block;margin:0;white-space:nowrap}
}

/* Shared rhythm for the main section headings across home and services. */
.section .section-head h2,
.section .v5-section-head h2,
.section .v8-service-heading h2,
.section .v5-faq-intro h2,
.premium-montage-scope h2{
 font-size:clamp(30px,3.6vw,52px);line-height:1.12;letter-spacing:-.035em;
 max-width:25ch;margin:12px 0 20px;text-wrap:balance;
}
.section .v8-service-heading{text-align:left;margin-left:0;margin-right:0;max-width:960px}
.section .v8-service-heading h2,.section .v8-service-heading>p{margin-left:0;margin-right:0}
.section .section-head p:not(.eyebrow),.section .v5-section-head>p:last-child,
.section .v8-service-heading>p:last-child,.premium-montage-scope-grid>div:first-child>p{
 font-size:clamp(16px,1.4vw,19px);line-height:1.65;max-width:75ch;margin-top:0;
}
@media(max-width:760px){
 .section .section-head h2,.section .v5-section-head h2,.section .v8-service-heading h2,
 .section .v5-faq-intro h2,.premium-montage-scope h2{font-size:clamp(28px,7.7vw,36px);line-height:1.12;margin:10px 0 16px;max-width:25ch}
}
@media(max-width:359px){
 .v5-system-section .wrap{width:calc(100% - 28px)}
 .v5-system-tabs label{font-size:10px}
 .v5-system-photo{height:clamp(230px,72vw,270px)}
 .v5-system-copy{padding:20px 16px 22px}
 .v5-system-copy>p{font-size:14px}
 .v5-system-foot{font-size:9px}
}
@media(prefers-reduced-motion:reduce){.v5-system-tabs label,.v5-system-photo-link img{transition:none}}

/* V10: preserve the entire vertical installation and the workers in these photos. */
.v10-system-portrait{grid-template-columns:minmax(0,360px) minmax(0,1fr)}
.v10-system-portrait .v5-system-photo{height:auto;min-height:0;display:flex;flex-direction:column;align-self:start;background:#1e2428}
.v10-system-portrait .v5-system-photo-link{position:relative;inset:auto;overflow:visible}
.v10-system-portrait .v5-system-photo-link img{width:100%;height:auto;max-height:none;object-fit:contain;transform:none}
.v10-system-portrait .v5-system-photo figcaption{position:static;padding:12px 16px}
.v10-system-portrait .v5-system-copy{max-width:760px;width:100%;justify-self:center}
@media(max-width:760px){
 .v10-system-portrait{grid-template-columns:minmax(0,1fr)}
 .v10-system-portrait .v5-system-photo{width:100%;max-width:420px;justify-self:center;height:auto}
}

/* BEGIN V10 PHONE LINKS */
/* Common handset treatment, scoped to links produced by the V10 finalizer. */
a.v10-phone-link:not(.mobile-call) {
  display: inline-flex;
  min-height: 44px;
  max-width: 100%;
  align-items: center;
  gap: .55em;
  vertical-align: middle;
}
.v10-phone-link > .v10-phone-icon {
  display: block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: currentColor;
  pointer-events: none;
}
.v10-phone-link > .v10-phone-label { min-width: 0; }
.v10-phone-link:focus-visible { outline: 3px solid #c63b1c; outline-offset: 5px; border-radius: 5px; }
.topbar .v10-phone-link { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.topbar .v10-phone-link > .v10-phone-icon { width: 17px; height: 17px; flex-basis: 17px; color: #b73a1e; }
.topbar .v10-phone-link > .v10-phone-label { white-space: nowrap; }
.footer .phone.v10-phone-link { gap: 10px; }
.footer .phone.v10-phone-link > .v10-phone-icon { color: #ff987c; }
.contact-phone.v10-phone-link { gap: 12px; }
.contact-phone.v10-phone-link > .v10-phone-icon { width: 26px; height: 26px; flex-basis: 26px; }
.contact-phone.v10-phone-link > .v10-phone-label { white-space: nowrap; }
.btn.v10-phone-link { min-height: 48px; gap: 10px; }

/* A compact call action next to the questions, with one clear handset badge. */
a.v5-faq-phone.v10-phone-link {
  width: fit-content;
  max-width: 100%;
  min-height: 88px;
  flex-direction: row;
  align-items: center;
  gap: 15px;
  margin: 26px 0 0;
  padding: 17px 19px;
  border: 1px solid #d4d2c9;
  border-radius: 14px;
  background: #fffdf8;
  color: #20282c;
  text-decoration: none;
  box-shadow: 0 5px 18px rgb(30 36 40 / 4%);
  transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.v5-faq-phone.v10-phone-link > .v10-phone-icon {
  width: 48px;
  height: 48px;
  flex-basis: 48px;
  padding: 12px;
  border-radius: 13px;
  background: #f7e7de;
  color: #bb381b;
}
.v5-faq-phone.v10-phone-link > .v10-phone-label { display: grid; gap: 5px; }
.v5-faq-phone.v10-phone-link .v10-phone-label > span { color: #5a6264; font-size: 12px; line-height: 1.45; }
.v5-faq-phone.v10-phone-link .v10-phone-label > strong { color: #20282c; font-size: clamp(22px, 2.3vw, 27px); font-weight: 750; line-height: 1.15; letter-spacing: -.025em; white-space: nowrap; }
.v5-faq-phone.v10-phone-link:hover { border-color: #c66a50; background: #fff; box-shadow: 0 8px 24px rgb(30 36 40 / 8%); }

/* Keep the mobile bar's existing visibility and fixed positioning. */
.mobile-call.v10-phone-link { gap: 12px; }
.mobile-call.v10-phone-link > .v10-phone-icon { width: 22px; height: 22px; flex-basis: 22px; color: #ff987c; }
.mobile-call.v10-phone-link > .v10-phone-label { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 12px; color: var(--paper, #f7f6f2); font-size: inherit; }
.mobile-call.v10-phone-link .v10-phone-label > span:first-child { font-size: .75rem; line-height: 1.35; }
.mobile-call.v10-phone-link .v10-phone-label > span:last-child { color: #ff987c; font-size: 1rem; white-space: nowrap; }
@media (max-width: 600px) {
  .topbar .v10-phone-link { gap: 5px; }
  .topbar .wrap > span { min-width: 0; }
  .contact-phone.v10-phone-link { gap: 9px; font-size: clamp(23px, 7vw, 30px); }
  a.v5-faq-phone.v10-phone-link { gap: 12px; margin-top: 20px; padding: 15px; }
  .v5-faq-phone.v10-phone-link > .v10-phone-icon { width: 44px; height: 44px; flex-basis: 44px; padding: 11px; }
}
@media (max-width: 360px) {
  .mobile-call.v10-phone-link { gap: 9px; }
  .mobile-call.v10-phone-link > .v10-phone-label { gap: 8px; }
  .mobile-call.v10-phone-link .v10-phone-label > span:first-child { font-size: .68rem; }
  .mobile-call.v10-phone-link .v10-phone-label > span:last-child { font-size: .93rem; }
}
@media (prefers-reduced-motion: reduce) {
  .v5-faq-phone.v10-phone-link { transition: none; }
}
/* END V10 PHONE LINKS */

/* V11 — one visual system for navigation, home and shared service experiences. */
:root{--max:1240px;--v11-ink:#20282c;--v11-paper:#f7f6f2;--v11-accent:#c63b1c;--v11-line:#deded6}
html{scroll-behavior:auto;scroll-padding-top:96px}
body{background:var(--v11-paper);color:var(--v11-ink)}
.wrap{width:min(calc(100% - 48px),1240px);max-width:1240px}
.section{padding-block:clamp(52px,6vw,84px)}
h1,h2,h3{text-wrap:balance}
.eyebrow,.premium-index{color:var(--v11-accent);font-size:11px;letter-spacing:.12em;line-height:1.6}
.eyebrow{margin-bottom:16px}
.section-head,.v5-section-head{margin-bottom:30px}
.section .section-head h2,.section .v5-section-head h2,.section .v8-service-heading h2,.section .v5-faq-intro h2,.premium-montage-scope h2,.premium-montage-factors h2,.premium-montage-ready h2{font-size:clamp(30px,3.4vw,46px);line-height:1.13;letter-spacing:-.04em;max-width:28ch;margin:10px 0 18px;font-weight:750}
.section .section-head p:not(.eyebrow),.section .v5-section-head>p:last-child,.section .v8-service-heading>p:last-child{max-width:70ch;font-size:16px;line-height:1.7;color:#596367}
.section em{color:var(--v11-accent);font-style:normal}
.btn{border-radius:8px;min-height:50px;padding:14px 20px;box-shadow:none;font-size:14px}
.btn:not(.btn-outline):not(.btn-dark){background:var(--v11-accent);border-color:var(--v11-accent)}
.btn:hover{transform:translateY(-2px)}
.premium-text-link{font-size:13px;line-height:1.6;padding:8px 0;border-color:var(--v11-accent)}
.topbar{padding:0;background:#ecebe5;border-bottom:1px solid #dfdfd7;font-size:11px}
.topbar .wrap{min-height:34px}.topbar .v10-phone-link{min-height:30px}
.header{background:#f7f6f2f5;border-bottom:1px solid var(--v11-line);backdrop-filter:blur(16px)}
.header-inner{min-height:84px;gap:26px;padding-block:12px}
.brand img{width:224px;max-height:62px}
.nav{gap:25px;font-size:13px}.nav>.btn{font-size:12px;min-height:46px;padding:12px 19px}
.nav-services summary{font-size:13px}.service-menu{border:1px solid var(--v11-line);border-radius:12px;box-shadow:0 18px 45px #20282c1c}
.service-menu a{border-radius:8px}.service-menu a:hover{background:#f1eee8}
.premium-home-hero{padding-top:44px;position:relative;background:radial-gradient(ellipse at 85% 15%,#e8ded14d,transparent 55%),var(--v11-paper);border-bottom:1px solid var(--v11-line)}
.premium-hero-grid{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:46px;align-items:center}
.premium-hero-copy{padding:0}.premium-hero-copy h1{font-size:clamp(44px,5.1vw,68px);line-height:1.04;letter-spacing:-.055em;margin:18px 0 24px;max-width:12ch}
.premium-hero-copy h1 em{display:block;margin-top:10px;font-size:.65em;line-height:1.14;letter-spacing:-.035em;color:var(--v11-accent);font-weight:650}
.premium-hero-copy h1>br{display:none}
.premium-hero-copy .lead{font-size:17px;line-height:1.72;max-width:47ch;color:#566064}
.premium-hero-copy .actions{margin-top:26px;gap:12px}
.premium-hero-subnote{margin-top:24px;padding-top:18px;border-top:1px solid #dcd9d1;font-size:12px;line-height:1.6;max-width:45ch}
.premium-scene-shell{margin:0;border-radius:20px;border:1px solid #d5d5cd;background:#fff;box-shadow:0 20px 40px #1f292b14;transform:none}
.v11-scene-label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;background:#fff;color:#586164;font-size:10px;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid #e5e3dc}
.v11-scene-label b{font-weight:650;color:var(--v11-accent)}
.premium-scene-shell .scene-viewport{aspect-ratio:706/440;min-height:0}
.premium-scene-shell .scene-controls{padding:12px 16px 15px;background:#fff}
.premium-scene-shell .scene-views{gap:6px;margin-bottom:7px}
.premium-scene-shell .scene-views button{min-height:42px;font-size:12px;border-radius:7px;background:#f5f3ee;color:#4b5458;border:1px solid #e0ddd5}
.premium-scene-shell .scene-views button[aria-pressed=true]{background:#20282c;border-color:#20282c;color:#fff}
.premium-scene-shell .scene-note{font-size:10px;line-height:1.4;color:#626b6e;margin-top:7px}
.trust-v8{padding:36px 0 34px}.trust-v8-inner{width:min(calc(100% - 48px),1240px)}
.trust-v8-grid{gap:0;border:1px solid #dcdcd4;border-radius:14px;overflow:hidden;background:#fff}
.trust-v8-item,.trust-v8-item:last-child{border:0;border-right:1px solid #e0dfd7;padding:23px 26px 23px 82px;border-radius:0;background:transparent;box-shadow:none;min-height:115px;overflow:visible}
.trust-v8-item:last-child{border-right:0}.trust-v8-icon{position:absolute;left:23px;top:30px;width:39px;height:39px;padding:8px;background:#f8eae4;border-radius:10px;margin:0;stroke:var(--v11-accent)}
.trust-v8-item:before{display:none}.trust-v8-item:hover{transform:none;box-shadow:none;background:#fcfaf6}
.trust-v8-number{font-size:38px;line-height:1.05;font-weight:750}.trust-v8-label{min-height:0;font-size:11px;line-height:1.5;color:#636a6c}
.premium-work{background:#fff}.premium-head-split{align-items:end;gap:35px}
.premium-work .section-head>div{max-width:760px}.premium-work .section-head>div>p:last-child{font-size:14px}
.premium-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:22px;margin-top:32px}
.premium-project-grid .premium-project{grid-row:auto;display:flex;flex-direction:column;background:#fff;color:var(--v11-ink);border:1px solid #deded7;border-radius:14px;box-shadow:0 5px 16px #20282c05;overflow:hidden;transition:box-shadow .25s,transform .25s;margin:0}
.premium-project-grid .premium-project:hover{transform:translateY(-4px);box-shadow:0 16px 32px #20282c12}
.premium-project-grid .premium-project-media{height:auto;aspect-ratio:4/3;min-height:0}
.premium-project-grid .premium-project-media img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%}
.premium-project-grid .premium-project-copy{padding:23px;min-height:205px;gap:10px;justify-content:start}
.premium-project-copy .premium-index{font-size:9px;color:#986448}
.premium-project-copy h3{font-size:25px;line-height:1.18;letter-spacing:-.025em;min-height:2.36em}
.premium-project-copy p{font-size:12px;color:#596367}.premium-project--1 .premium-text-link{color:var(--v11-ink)}
.premium-partners{background:#fff;border-top:1px solid #e6e4de;border-bottom:1px solid #e6e4de;padding:30px 0}
.premium-partners-grid{grid-template-columns:260px 1fr;gap:40px}.premium-partners h2{font-size:22px;line-height:1.2;max-width:18ch;margin:8px 0}
.premium-partners p{font-size:12px;line-height:1.6;margin:0}.premium-partners .premium-index{font-size:9px}
.premium-partner-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 24px}.premium-partner-logo{display:flex;align-items:center;justify-content:center;height:58px;padding:8px}
.premium-partner-logo img{max-width:125px;max-height:42px;filter:grayscale(1);opacity:.8}.premium-partner-logo:hover img{filter:none;opacity:1}
.premium-intro{background:var(--v11-paper)}
.premium-intro .section-head h2{font-size:clamp(30px,3.4vw,46px)}
.premium-object-types.v9-object-types{gap:17px;margin-top:30px}
.premium-object-types.v9-object-types a{min-height:350px!important;padding:22px!important;border-radius:14px;box-shadow:0 6px 20px #20282c06}
.v9-object-types a:before{background:linear-gradient(180deg,#f7f5f000 15%,#f7f5f015 35%,#f7f5f0f0 70%,#f7f5f0 100%)}
.v9-object-types a>img{filter:saturate(.9);object-position:50% 20%}
.v9-object-copy{padding-top:100px;gap:8px}.v9-object-types strong{font-size:24px;line-height:1.15}.v9-object-types small{font-size:12px;line-height:1.5;min-height:3em}
.v9-object-types .v9-object-link{font-size:10px;margin-top:6px}.v9-object-types .v9-object-number{border-radius:9px;width:31px;height:31px}
.v8-service-section{background:#eeece6}.section .v8-service-heading{text-align:center;margin:0 auto 28px;max-width:800px}.section .v8-service-heading h2,.section .v8-service-heading>p{margin-inline:auto}
.v5-system-section{background:#f7f6f2;background-image:linear-gradient(#252c3004 1px,transparent 1px),linear-gradient(90deg,#252c3004 1px,transparent 1px);background-size:48px 48px}
.v5-system-section .v5-section-head{max-width:800px;margin:0 0 28px}.v5-system-section .v5-section-head h2{max-width:28ch}
.v5-system{border-radius:16px;border:1px solid #d7d7cf;background:#20282c;box-shadow:0 18px 40px #20282c10}
.v5-system-tabs{background:#fff;padding:8px;gap:6px;border-bottom:1px solid #e3e1d9}
.v5-system-tabs label{background:#f4f2ed;color:#485155;border-radius:8px;min-height:46px;font-size:13px;padding:10px 15px;box-shadow:none}
#system-receiver:checked~.v5-system-tabs label[for=system-receiver],#system-conductor:checked~.v5-system-tabs label[for=system-conductor],#system-earth:checked~.v5-system-tabs label[for=system-earth]{background:#20282c;color:#fff;box-shadow:inset 0 -3px var(--v11-accent)}
.v5-system-panel{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}
.v5-system-copy{padding:32px 38px}.v5-system-copy h3{font-size:32px;max-width:24ch;line-height:1.12}.v5-system-copy>p{color:#d4d9d9;font-size:15px;line-height:1.7}
.v5-system-copy ul{margin:20px 0}.v5-system-copy li{font-size:13px;color:#e2e6e4;line-height:1.6}.v5-system-copy .premium-index{font-size:10px;color:#f6a48a}
.v5-system-photo{height:435px}.v10-system-portrait{grid-template-columns:minmax(0,350px) minmax(0,1fr)}
.v10-system-portrait .v5-system-copy{max-width:680px}.v10-system-portrait .v5-system-photo{height:auto}
.v5-system-photo:before,.v5-system-photo:after{display:none}.v5-photo-index{border-radius:7px}
.v5-system-foot{font-size:10px;padding:13px 20px;color:#c3cbcd}
.v5-process-section{background:#fff}.v5-process-cards{gap:18px;counter-reset:step}
.v5-process-card{border:1px solid #deded6;border-radius:14px;overflow:hidden;box-shadow:0 5px 20px #20282c05;background:#fff}
.v9-process-photo{aspect-ratio:1.16}.v9-process-photo>img{height:100%;aspect-ratio:1.16;object-fit:cover}
.v5-process-top{padding:18px 20px 0;align-items:center}.v5-step-number{font-size:28px;font-weight:750;letter-spacing:-.04em;color:var(--v11-accent)}
.v5-step-mark{width:28px;height:28px;font-size:13px;background:#f2f0e9;border:0}
.v5-process-text{padding:13px 20px 22px}.v5-process-text h3{font-size:23px;line-height:1.18;min-height:2.36em;margin:0 0 12px;letter-spacing:-.025em}
.v5-process-text p{font-size:13px;line-height:1.7;color:#5c676a;margin:0 0 20px}.v5-step-result{font-size:11px;line-height:1.5;padding-top:14px;border-top:1px solid #e6e2d8;width:100%;color:var(--v11-accent)}
.v5-process-bottom{border-top:1px solid #e3e1da;margin-top:24px;padding-top:22px}.v5-process-bottom p{font-size:14px;line-height:1.6;max-width:65ch}
.city-v3-highlights{background:#eeece6}.city-v3-featured-grid{gap:18px}
.city-v3-highlights .city-v3-card{position:relative;display:flex;flex-direction:column;justify-content:end;isolation:isolate;min-height:245px;padding:22px;border:0;border-radius:13px;overflow:hidden;color:#fff;background:#20282c;box-shadow:0 6px 18px #20282c0b}
.city-v3-highlights .city-v3-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#17202300 20%,#17202316 43%,#172023da 100%)}
.city-v3-highlights .city-v3-card-image{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:-2}
.city-v3-highlights .city-v3-card-image img{height:100%;width:100%;aspect-ratio:auto;object-fit:cover}
.city-v3-highlights .city-v3-card strong{font-size:25px;color:#fff;padding:0;line-height:1.2;margin:0 0 12px;text-shadow:0 2px 14px #0004}
.city-v3-highlights .city-v3-card>span.city-v3-card-cta{margin:0;padding:0;color:#fff;font-size:11px}.city-v3-highlights .city-v3-card-cta>span{color:#fff;border-color:#ffffff90;background:#ffffff14}
.v8-blog{background:#fff}.v8-blog-grid{gap:22px}.v8-blog .article-card{border:1px solid #deded6;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px #20282c05}
.v8-blog .article-card h3{font-size:23px;line-height:1.22}.v8-blog .article-card p{font-size:14px;line-height:1.6}.v8-blog>.wrap>.premium-text-link{display:inline-block;margin-top:24px}
.v5-faq-section{background:#efede6}.v5-faq-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:68px}.v5-faq-intro>p{font-size:15px;line-height:1.65;max-width:38ch}
.faq-list details{border:1px solid #ddded5;border-radius:10px;background:#fff;margin-bottom:12px;overflow:hidden;box-shadow:0 4px 12px #20282c03}
.faq-list summary{font-size:15px;line-height:1.5;padding:21px 24px;min-height:68px}.faq-list details[open]{border-color:#c8b2a3}.faq-list details>div,.faq-list details>p{font-size:14px;line-height:1.7}
.cta{position:relative;isolation:isolate;overflow:hidden;background:#20282c;color:#fff;border:1px solid #20282c;border-radius:18px;padding:42px 46px;gap:32px}
.cta:before{content:'';position:absolute;width:250px;height:250px;right:80px;top:-90px;border:1px solid #ffffff0a;border-radius:50%;box-shadow:0 0 0 55px #ffffff03,0 0 0 110px #ffffff02;z-index:-1}
.cta h2{font-size:clamp(28px,3vw,40px);max-width:26ch;line-height:1.1;color:#fff;margin:0 0 15px}.cta p{max-width:65ch;color:#c5cdce;font-size:14px;line-height:1.7}.cta .btn{background:#c63b1c;color:#fff;border-color:#c63b1c;white-space:nowrap}
.footer{background:#182124;border-top:3px solid #c63b1c;padding-top:52px}.footer-grid{gap:40px}.footer p{font-size:13px;line-height:1.7;color:#b1babc}.footer h3{font-size:14px}.footer a{font-size:13px;color:#e0e5e5}.footer-brand{max-width:220px}.footer-bottom{margin-top:36px;padding-block:22px;font-size:11px;color:#b1babc}
.premium-montage-hero{padding-top:0;padding-bottom:52px}.premium-montage-hero .breadcrumb{margin:0;padding:17px 0;font-size:12px}
.premium-montage-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:60px;padding-top:22px;align-items:start}
.premium-montage-hero h1{font-size:clamp(40px,4.7vw,64px);line-height:1.05;max-width:15ch;margin:18px 0 24px;letter-spacing:-.045em}
.premium-montage-hero .lead{font-size:18px;line-height:1.7;max-width:49ch}.premium-montage-hero .actions{margin-top:26px}
.premium-montage-hero-photo{width:100%;max-width:385px;justify-self:end;margin:0;border-radius:14px;overflow:hidden;background:#fff;border:1px solid #ddded5}
.premium-montage-hero-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.premium-montage-hero-photo figcaption{padding:13px 16px;font-size:11px;color:#596367;line-height:1.6}
.premium-montage-meta{margin-top:25px;gap:14px}.premium-montage-meta span{font-size:11px;line-height:1.5;padding-top:12px}
.premium-montage-scope-grid,.premium-factors-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:65px;align-items:start}
.premium-montage-scope p,.premium-montage-factors p,.premium-montage-ready p{font-size:15px;line-height:1.7;color:#596367}
.premium-scope-list{border:1px solid #deded6;background:#f7f6f2;border-radius:14px;padding:0 24px;overflow:hidden}
.premium-scope-list>div{padding:23px 0 23px 46px}.premium-scope-list>div:last-child{border-bottom:0}.premium-scope-list h3{font-size:22px;line-height:1.2}.premium-scope-list p{font-size:14px;line-height:1.65}.premium-scope-list>div>span{font-size:19px}
.premium-factor-list{background:#fff;border:1px solid #deded6;border-radius:14px;padding:0 24px}.premium-factor-list>div{padding:19px 0}.premium-factor-list>div:last-child{border:0}.premium-factor-list dt{font-size:15px}.premium-factor-list dd{font-size:14px;line-height:1.6}
.premium-ready-grid{gap:36px}.premium-ready-grid ul{font-size:14px;line-height:1.7}.premium-ready-action p{font-size:12px}
.premium-related-list a{border-bottom:1px solid #deded6;padding:21px 0}.premium-related-list strong{font-size:22px;line-height:1.25}
@media(max-width:1000px){.header-inner{gap:20px}.brand img{width:200px}.nav{gap:15px}.premium-hero-grid{gap:28px}.premium-hero-copy h1{font-size:52px}.premium-hero-copy .lead{font-size:16px}.trust-v8-item,.trust-v8-item:last-child{padding:22px 18px}.trust-v8-icon{position:static;margin-bottom:15px}.trust-v8-number{font-size:35px}.premium-partners-grid{grid-template-columns:220px 1fr;gap:25px}.premium-partner-list{gap:8px}.premium-partner-logo img{max-width:100px}.v5-process-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.v5-faq-layout{gap:35px}.premium-montage-hero-grid{gap:35px}.premium-montage-scope-grid,.premium-factors-grid{gap:35px}}
@media(max-width:760px){
 .wrap{width:calc(100% - 36px)}.section{padding-block:48px}.header-inner{min-height:70px;padding-block:8px}.brand img{width:190px;height:auto;max-height:53px}.menu-toggle{border:1px solid #d8d8cf;border-radius:7px;padding:10px 12px;background:#fff;font-size:12px;min-height:42px}
 .nav{gap:0}.nav>.btn{margin-top:10px}.topbar{display:none}.section .section-head h2,.section .v5-section-head h2,.section .v8-service-heading h2,.section .v5-faq-intro h2,.premium-montage-scope h2,.premium-montage-factors h2,.premium-montage-ready h2{font-size:clamp(28px,7.6vw,36px);line-height:1.14;margin:10px 0 16px;max-width:26ch}
 .section .section-head p:not(.eyebrow),.section .v5-section-head>p:last-child,.section .v8-service-heading>p:last-child{font-size:14px;line-height:1.65}.eyebrow{font-size:10px;letter-spacing:.09em;gap:10px}
 .premium-home-hero{padding-top:28px}.premium-hero-grid{display:flex;flex-direction:column;gap:28px}.premium-hero-copy{width:100%}.premium-hero-copy h1{font-size:clamp(40px,11.4vw,54px);max-width:16ch;margin:14px 0 19px}.premium-hero-copy h1 em{font-size:.68em;max-width:19ch;margin-top:8px}.premium-hero-copy .lead{font-size:15px;line-height:1.7;max-width:none}.premium-hero-copy .actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.premium-hero-copy .btn{padding:13px 10px;font-size:12px;min-height:48px;justify-content:center}.premium-hero-subnote{margin-top:18px;padding-top:13px;font-size:11px;max-width:none}
 .premium-scene-shell{width:100%;border-radius:14px;margin:0}.v11-scene-label{padding:11px 13px;font-size:8px}.premium-scene-shell .scene-controls{padding:10px 12px 12px}.premium-scene-shell .scene-views button{font-size:10px;min-height:40px;padding:7px 5px}.premium-scene-shell .scene-note{font-size:9px}.trust-v8{padding:25px 0 28px}.trust-v8-inner{width:calc(100% - 36px)}.trust-v8-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-radius:12px}.trust-v8-item,.trust-v8-item:last-child{border:0;padding:18px;min-height:145px}.trust-v8-item:nth-child(odd){border-right:1px solid #deded6}.trust-v8-item:nth-child(-n+2){border-bottom:1px solid #deded6}.trust-v8-icon{width:31px;height:31px;padding:6px;margin-bottom:12px;border-radius:8px}.trust-v8-number{font-size:32px}.trust-v8-label{font-size:10px;line-height:1.5}
 .premium-head-split{display:block}.premium-head-split>a{display:inline-block;margin-top:6px}.premium-project-grid{grid-template-columns:1fr;gap:18px;margin-top:23px}.premium-project-grid .premium-project-copy{padding:21px;min-height:0}.premium-project-copy h3{font-size:25px;min-height:0}.premium-project-copy .premium-text-link{margin-top:10px}.premium-project-grid .premium-project-media,.premium-project-grid .premium-project-media img{aspect-ratio:4/3}
 .premium-partners{padding:28px 0}.premium-partners-grid{display:block}.premium-partners-grid>div:first-child{margin-bottom:20px}.premium-partners h2{font-size:24px;max-width:none}.premium-partners p{font-size:12px}.premium-partner-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 9px}.premium-partner-logo{height:45px;padding:4px}.premium-partner-logo img{max-width:100%;max-height:32px}
 .premium-object-types.v9-object-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.premium-object-types.v9-object-types a{min-height:300px!important;padding:17px!important}.v9-object-copy{padding-top:74px;max-width:none}.v9-object-types strong{font-size:22px}.v9-object-types small{font-size:11px;min-height:3em}.v9-object-types .v9-object-link{font-size:10px;line-height:1.4;gap:7px}.v9-object-number{font-size:10px}
 .v5-system-section .v5-section-head{margin-bottom:22px}.v5-system-panel,.v10-system-portrait{grid-template-columns:1fr}.v5-system-tabs label{min-height:44px;font-size:10px;padding:8px 5px;gap:5px;line-height:1.3}.v5-system-tabs label span:first-child{font-size:8px}.v5-system-photo{height:275px}.v10-system-portrait .v5-system-photo{height:auto;max-width:100%}.v5-system-copy{padding:24px 21px}.v5-system-copy h3{font-size:27px;line-height:1.15}.v5-system-copy>p{font-size:14px;line-height:1.7}.v5-system-copy ul{margin:16px 0}.v5-system-copy li{font-size:12px}.v5-system-foot{font-size:9px;padding:12px 14px}.v5-outline-link{font-size:12px}
 .v5-process-cards{grid-template-columns:1fr;gap:18px}.v9-process-photo,.v9-process-photo>img{aspect-ratio:4/3}.v5-process-top{padding:19px 21px 0}.v5-process-text{padding:12px 21px 23px}.v5-process-text h3{min-height:0;font-size:25px}.v5-process-text p{font-size:14px}.v5-step-result{font-size:12px}.v5-process-bottom{display:block}.v5-process-bottom p{font-size:14px;margin-bottom:20px}
 .city-v3-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.city-v3-highlights .city-v3-card{min-height:200px;padding:16px}.city-v3-highlights .city-v3-card strong{font-size:22px;margin-bottom:10px}.city-v3-highlights .city-v3-card>span.city-v3-card-cta{font-size:10px}.city-v3-highlights .city-v3-card-cta>span{width:26px;height:26px}
 .v8-blog-grid{grid-template-columns:1fr;gap:18px}.v8-blog .article-card h3{font-size:24px}.v5-faq-layout{grid-template-columns:1fr;gap:26px}.v5-faq-intro>p{max-width:70ch;font-size:14px}.v5-faq-phone{margin-top:20px}.faq-list summary{font-size:14px;line-height:1.5;padding:18px;min-height:65px}
 .cta{display:block;padding:30px 23px;border-radius:14px}.cta h2{font-size:29px}.cta p{font-size:14px}.cta .btn{margin-top:19px}.footer{padding-top:38px}.footer-grid{gap:28px}.footer-brand{max-width:205px}.footer-bottom{margin-top:26px}.mobile-call{border-top:1px solid #ffffff33;box-shadow:0 -3px 16px #20282c14}
 .premium-montage-hero{padding-top:0;padding-bottom:38px}.premium-montage-hero .breadcrumb{padding:14px 0;margin:0;font-size:11px}.premium-montage-hero-grid{display:flex;flex-direction:column;padding-top:16px;gap:25px}.premium-montage-hero h1{font-size:clamp(37px,10vw,48px);margin:14px 0 20px;max-width:15ch}.premium-montage-hero .lead{font-size:15px;line-height:1.7}.premium-montage-hero .actions{gap:10px;display:flex;flex-wrap:wrap;margin-top:22px}.premium-montage-hero .actions .btn{font-size:12px;padding:13px 15px}.premium-montage-hero-photo{margin:0;width:min(100%,385px);align-self:center;max-width:385px}.premium-montage-meta{margin-top:20px}.premium-montage-meta span{font-size:10px}.premium-montage-scope-grid,.premium-factors-grid,.premium-ready-grid{display:block}.premium-scope-list,.premium-factor-list{margin-top:24px;padding-inline:20px}.premium-scope-list>div{padding:21px 0 21px 34px}.premium-scope-list h3{font-size:21px}.premium-montage-scope p,.premium-montage-factors p,.premium-montage-ready p{font-size:14px}.premium-related-list strong{font-size:20px}.premium-ready-action{margin-top:24px}
}
@media(max-width:380px){.wrap{width:calc(100% - 28px)}.brand img{width:175px}.header-inner{gap:12px}.premium-object-types.v9-object-types{grid-template-columns:1fr}.premium-object-types.v9-object-types a{min-height:300px!important}.v9-object-copy{padding-top:100px}.v9-object-types small{min-height:0}.trust-v8-inner{width:calc(100% - 28px)}.trust-v8-number{font-size:29px}.trust-v8-item,.trust-v8-item:last-child{padding:16px}.city-v3-highlights .city-v3-card{padding:13px;min-height:185px}.city-v3-highlights .city-v3-card strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.btn,.premium-project-grid .premium-project{transition:none}.btn:hover,.premium-project-grid .premium-project:hover{transform:none}}

/* V11 interior refinement. Append after the existing site CSS. */

/* Shared geometry for interior templates only. */
body[data-page-kind="article"],
body[data-page-kind="project"],
body[data-page-kind="collection"],
body[data-page-kind="service"]:not([data-page-file="montazh-na-gramootvodi.html"]),
body[data-page-file="za-nas.html"],
body[data-page-file="kontakti.html"] {
  --v11-paper: #f7f6f2;
  --v11-ink: #20282c;
  --v11-accent: #c63b1c;
  --v11-line: #dadbd4;
  --v11-muted: #596165;
  color: var(--v11-ink);
}

body[data-page-kind="article"] main .wrap,
body[data-page-kind="project"] main .wrap,
body[data-page-kind="collection"] main .wrap,
body[data-page-kind="service"]:not([data-page-file="montazh-na-gramootvodi.html"]) main .wrap,
body[data-page-file="za-nas.html"] main .wrap,
body[data-page-file="kontakti.html"] main .wrap {
  width: min(calc(100% - 48px), 1240px);
  max-width: 1240px;
  margin-inline: auto;
}

body[data-page-kind="article"] main .section,
body[data-page-kind="project"] main .section,
body[data-page-kind="collection"] main .section,
body[data-page-kind="service"]:not([data-page-file="montazh-na-gramootvodi.html"]) main .section,
body[data-page-file="za-nas.html"] main .section,
body[data-page-file="kontakti.html"] main .section {
  padding-block: clamp(48px, 5.2vw, 78px);
}

body[data-page-kind="article"] .breadcrumb,
body[data-page-kind="project"] .breadcrumb,
body[data-page-kind="collection"] .breadcrumb,
body[data-page-kind="service"]:not([data-page-file="montazh-na-gramootvodi.html"]) .breadcrumb,
body[data-page-file="za-nas.html"] .breadcrumb,
body[data-page-file="kontakti.html"] .breadcrumb {
  padding-block: 13px;
  font-size: 12px;
  line-height: 1.5;
}

/* The opening image and copy read as one composed spread. */
body[data-page-kind="article"] .page-hero,
body[data-page-kind="project"] .page-hero,
body[data-page-kind="collection"] .page-hero,
body[data-page-file="gramootvodi-ceni.html"] .page-hero,
body[data-page-file="malniepriemnici.html"] .page-hero,
body[data-page-file="za-nas.html"] .page-hero,
body[data-page-file="kontakti.html"] .page-hero {
  padding-bottom: clamp(38px, 4.5vw, 64px);
  background: var(--v11-paper);
  border-bottom: 1px solid var(--v11-line);
}

body[data-page-kind="article"] .page-hero-grid,
body[data-page-kind="project"] .page-hero-grid,
body[data-page-kind="collection"] .page-hero-grid,
body[data-page-file="gramootvodi-ceni.html"] .page-hero-grid,
body[data-page-file="malniepriemnici.html"] .page-hero-grid,
body[data-page-file="za-nas.html"] .page-hero-grid,
body[data-page-file="kontakti.html"] .page-hero-grid {
  grid-template-columns: minmax(0, 1.07fr) minmax(0, .93fr);
  gap: clamp(28px, 4vw, 56px);
  padding-top: clamp(20px, 3vw, 38px);
}

body[data-page-kind="article"] .page-hero h1,
body[data-page-kind="project"] .page-hero h1,
body[data-page-kind="collection"] .page-hero h1,
body[data-page-file="gramootvodi-ceni.html"] .page-hero h1,
body[data-page-file="malniepriemnici.html"] .page-hero h1,
body[data-page-file="za-nas.html"] .page-hero h1,
body[data-page-file="kontakti.html"] .page-hero h1 {
  max-width: 20ch;
  margin-block: 16px 20px;
  font-size: clamp(34px, 4.3vw, 62px);
  line-height: 1.07;
  letter-spacing: -.042em;
  overflow-wrap: break-word;
  hyphens: none;
}

body[data-page-kind="article"] .page-hero .lead,
body[data-page-kind="project"] .page-hero .lead,
body[data-page-kind="collection"] .page-hero .lead,
body[data-page-file="gramootvodi-ceni.html"] .page-hero .lead,
body[data-page-file="malniepriemnici.html"] .page-hero .lead,
body[data-page-file="za-nas.html"] .page-hero .lead,
body[data-page-file="kontakti.html"] .page-hero .lead {
  max-width: 62ch;
  margin-top: 0;
  color: var(--v11-muted);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.63;
}

body[data-page-kind="article"] .page-hero-image,
body[data-page-kind="project"] .page-hero-image,
body[data-page-kind="collection"] .page-hero-image,
body[data-page-file="gramootvodi-ceni.html"] .page-hero-image,
body[data-page-file="malniepriemnici.html"] .page-hero-image,
body[data-page-file="za-nas.html"] .page-hero-image {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  flex-direction: column;
  justify-self: end;
  align-items: flex-start;
  overflow: visible;
  border: 0;
  background: transparent;
}

body[data-page-kind="article"] .page-hero-image img,
body[data-page-kind="project"] .page-hero-image img,
body[data-page-kind="collection"] .page-hero-image img,
body[data-page-file="gramootvodi-ceni.html"] .page-hero-image img,
body[data-page-file="malniepriemnici.html"] .page-hero-image img,
body[data-page-file="za-nas.html"] .page-hero-image img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 530px;
  aspect-ratio: auto;
  object-fit: contain;
  background: transparent;
}

body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .page-hero .hero-caption,
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .page-hero .article-meta {
  color: var(--v11-muted);
  font-size: 12px;
  line-height: 1.5;
}

/* Reading pages: a measured column and a genuinely useful index. */
body[data-page-kind="article"] .content-layout,
body[data-page-kind="project"] .content-layout,
body[data-page-file="gramootvodi-ceni.html"] .content-layout,
body[data-page-file="malniepriemnici.html"] .content-layout,
body[data-page-file="za-nas.html"] .content-layout {
  grid-template-columns: minmax(0, 70ch) minmax(220px, 280px);
  gap: clamp(40px, 5vw, 80px);
}

body[data-page-kind="article"] .prose,
body[data-page-kind="project"] .prose,
body[data-page-file="gramootvodi-ceni.html"] .prose,
body[data-page-file="malniepriemnici.html"] .prose,
body[data-page-file="za-nas.html"] .prose {
  max-width: 70ch;
  font-size: 16px;
  line-height: 1.74;
  color: #313a3e;
}

body[data-page-kind="article"] .prose h2,
body[data-page-kind="project"] .prose h2,
body[data-page-file="gramootvodi-ceni.html"] .prose h2,
body[data-page-file="malniepriemnici.html"] .prose h2,
body[data-page-file="za-nas.html"] .prose h2 {
  max-width: 24ch;
  margin: 2.05em 0 .65em;
  font-size: clamp(27px, 2.5vw, 37px);
  line-height: 1.2;
  letter-spacing: -.025em;
  color: var(--v11-ink);
}

body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose .v6-reading-section {
  padding-top: clamp(24px, 3vw, 40px);
  margin-top: clamp(28px, 4vw, 52px);
  border-top: 1px solid var(--v11-line);
}
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose .v6-reading-section:first-child { padding-top: 0; margin-top: 0; border-top: 0; }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose .v6-reading-section h2:first-child { margin-top: 0; }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose h3 { max-width: 35ch; font-size: clamp(20px, 1.8vw, 24px); line-height: 1.28; }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose p,
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose li { overflow-wrap: break-word; }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose a { color: #a63017; text-underline-offset: 3px; }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose a:hover { color: var(--v11-accent); }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose blockquote { background: #f6f3ed; border-left: 3px solid var(--v11-accent); }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose table { table-layout: fixed; width: 100%; border: 1px solid var(--v11-line); background: #fff; }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose th,
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose td { overflow-wrap: anywhere; padding: 12px 14px; border-color: var(--v11-line); }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose th { background: #efeee8; color: var(--v11-ink); }

body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose figure { margin-block: clamp(30px, 4vw, 48px); }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose figure img,
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose .v6-article-image-link img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 620px;
  margin-inline: auto;
  padding: 0;
  object-fit: contain;
  background: #fff;
}
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose figure figcaption { margin-top: 10px; text-align: left; line-height: 1.5; }

body[data-page-kind="article"] .aside,
body[data-page-kind="project"] .aside,
body[data-page-file="gramootvodi-ceni.html"] .aside,
body[data-page-file="malniepriemnici.html"] .aside,
body[data-page-file="za-nas.html"] .aside {
  top: 100px;
  max-height: calc(100vh - 116px);
  overflow-y: auto;
  gap: 10px;
}
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .aside-box { border-color: var(--v11-line); }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .aside-box a:not(.btn) { padding-block: 8px; border-bottom: 1px solid #ecece6; }
body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .aside-box a:not(.btn):hover { color: var(--v11-accent); }

/* City pages: working photograph, shorter opening and compact supporting content. */
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero,
body[data-page-file="gradove.html"] .city-v3-directory-head {
  padding-block: clamp(32px, 4vw, 58px) clamp(42px, 5vw, 72px);
  background: var(--v11-paper);
  border-bottom: 1px solid var(--v11-line);
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero { padding-top: 18px; }
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero .breadcrumb { padding-block: 0 14px; }
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
  gap: clamp(30px, 4vw, 58px);
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero h1,
body[data-page-file="gradove.html"] .city-v3-directory-head h1 {
  max-width: 20ch;
  margin-block: 18px 20px;
  font-size: clamp(34px, 4.3vw, 62px);
  line-height: 1.07;
  letter-spacing: -.04em;
  overflow-wrap: break-word;
  hyphens: none;
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero h1 {
  max-width: 24ch;
  font-size: clamp(34px, 4vw, 54px);
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero .lead {
  max-width: 60ch;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.65;
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-media {
  border: 1px solid var(--v11-line);
  border-radius: 0;
  box-shadow: 0 18px 44px #20282c12;
  background: #fff;
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-media img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: contain;
  background: #fff;
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-caption { padding: 12px 16px !important; }
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-focus {
  margin-block: 22px;
  padding: 12px 16px;
  background: #fff;
  border-left-color: var(--v11-accent);
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-content-grid {
  grid-template-columns: minmax(0, 70ch) minmax(220px, 280px);
  gap: clamp(40px, 5vw, 80px);
  justify-content: space-between;
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-prose {
  max-width: 70ch;
  line-height: 1.74;
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-prose > h2 {
  max-width: 26ch;
  margin-top: 36px;
  padding-top: 24px;
  font-size: clamp(26px, 2.4vw, 35px);
  line-height: 1.2;
  border-top-color: var(--v11-line);
}
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-side { top: 100px; }
body[data-page-file="gradove.html"] .city-v3-directory-top { align-items: end; gap: 28px; }
body[data-page-file="gradove.html"] .city-v3-grid { gap: 18px; }
body[data-page-file="gradove.html"] .city-v3-card {
  border: 1px solid var(--v11-line);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
body[data-page-file="gradove.html"] .city-v3-card-image { aspect-ratio: 3 / 2; background: #fff; }
body[data-page-file="gradove.html"] .city-v3-card-image img { width: 100%; height: 100%; object-fit: cover; }
body[data-page-file="gradove.html"] .city-v3-card strong { font-size: clamp(19px, 1.7vw, 24px); }

/* Real project and category photographs keep their complete frame. */
body[data-page-kind="project"] .project-facts {
  gap: 18px;
  margin-block: 24px;
  padding-block: 18px;
  border-color: var(--v11-line);
}
body[data-page-kind="project"] .project-facts dt { color: var(--v11-muted); }
body[data-page-kind="project"] .project-facts dd { color: var(--v11-ink); }
body[data-page-kind="project"] .gallery-grid,
body[data-page-kind="collection"] .gallery-grid {
  display: block;
  columns: 2;
  column-gap: clamp(18px, 2.5vw, 28px);
}
body[data-page-kind="project"] .gallery-item,
body[data-page-kind="collection"] .gallery-item {
  display: inline-block;
  width: 100%;
  margin: 0 0 clamp(18px, 2.5vw, 28px);
  break-inside: avoid;
  vertical-align: top;
}
body[data-page-kind="project"] .gallery-item a,
body[data-page-kind="collection"] .gallery-item a {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: auto;
  border: 1px solid var(--v11-line);
  background: #fff;
}
body[data-page-kind="project"] .gallery-item img,
body[data-page-kind="collection"] .gallery-item img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  padding: 0;
  object-fit: contain;
  background: #fff;
  transform: none;
}
body[data-page-kind="project"] .gallery-item a:hover img,
body[data-page-kind="collection"] .gallery-item a:hover img { transform: none; }
body[data-page-kind="project"] .gallery-item a:hover,
body[data-page-kind="collection"] .gallery-item a:hover { border-color: var(--v11-accent); }
body[data-page-kind="project"] .gallery-item figcaption,
body[data-page-kind="collection"] .gallery-item figcaption {
  padding-top: 10px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--v11-muted);
}
body[data-page-kind="collection"] .v6-gallery-overview { padding-block: 20px; border-color: var(--v11-line); }
body[data-page-kind="collection"] .v6-gallery-count { color: var(--v11-accent); }
body[data-page-kind="collection"] .v6-gallery-heading { margin-bottom: 24px; }
body[data-page-kind="collection"] .v6-gallery-heading h2 { max-width: 24ch; font-size: clamp(26px, 2.7vw, 39px); }

body[data-page-kind="collection"] .project-grid,
body[data-page-kind="collection"] .article-grid { gap: clamp(22px, 3vw, 36px); }
body[data-page-kind="collection"] .project-picture,
body[data-page-kind="collection"] .article-card > img,
body[data-page-kind="service"]:has(.city-v3-hero) .project-picture {
  display: grid;
  place-items: center;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #fff;
  border: 1px solid var(--v11-line);
}
body[data-page-kind="collection"] .project-picture img,
body[data-page-kind="service"]:has(.city-v3-hero) .project-picture img {
  width: 100%; height: 100%; object-fit: contain;
}
body[data-page-kind="collection"] .article-card > img { width: 100%; height: auto; object-fit: contain; }
body[data-page-kind="collection"] .project-card-body { padding-top: 16px; }

/* Price and receptor explanations rely on hierarchy and photographs, not large empty cards. */
body[data-page-file="gramootvodi-ceni.html"] .v6-quote-scope {
  padding: clamp(24px, 3vw, 36px);
  border-color: var(--v11-line);
  border-radius: 0;
  box-shadow: none;
}
body[data-page-file="gramootvodi-ceni.html"] .v6-quote-scope h2 { font-size: clamp(26px, 2.5vw, 35px); }
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid { gap: 20px; }
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid > article {
  overflow: hidden;
  border-color: var(--v11-line);
  border-radius: 0;
  background: #fff;
}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid figure { background: #fff; }
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid figure img {
  width: 100%; height: auto; max-height: 380px; padding: 0; object-fit: contain;
}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid figcaption {
  padding: 11px 18px;
  background: var(--v11-ink);
}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid article > div { padding: clamp(20px, 2.5vw, 30px); }

/* Contact form remains unchanged functionally. */
body[data-page-file="kontakti.html"] .contact-grid {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(36px, 5vw, 72px);
}
body[data-page-file="kontakti.html"] .contact-info { max-width: 48ch; }
body[data-page-file="kontakti.html"] .contact-form {
  padding: clamp(24px, 3.5vw, 42px);
  border: 1px solid var(--v11-line);
  background: #fff;
  box-shadow: 0 20px 48px #20282c0b;
}
body[data-page-file="kontakti.html"] .contact-phone { color: var(--v11-ink); }
body[data-page-file="kontakti.html"] .contact-form :is(input, select, textarea):focus-visible {
  outline: 2px solid var(--v11-accent);
  outline-offset: 2px;
}

@media (max-width: 940px) {
  body[data-page-kind="article"] .content-layout,
  body[data-page-kind="project"] .content-layout,
  body[data-page-file="gramootvodi-ceni.html"] .content-layout,
  body[data-page-file="malniepriemnici.html"] .content-layout,
  body[data-page-file="za-nas.html"] .content-layout,
  body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-content-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  body[data-page-kind="article"] .aside,
  body[data-page-kind="project"] .aside,
  body[data-page-file="gramootvodi-ceni.html"] .aside,
  body[data-page-file="malniepriemnici.html"] .aside,
  body[data-page-file="za-nas.html"] .aside,
  body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-side {
    position: static;
    max-height: none;
    overflow: visible;
  }
}

@media (max-width: 720px) {
  body[data-page-kind="article"] main .wrap,
  body[data-page-kind="project"] main .wrap,
  body[data-page-kind="collection"] main .wrap,
  body[data-page-kind="service"]:not([data-page-file="montazh-na-gramootvodi.html"]) main .wrap,
  body[data-page-file="za-nas.html"] main .wrap,
  body[data-page-file="kontakti.html"] main .wrap { width: min(calc(100% - 32px), 1240px); }
  body[data-page-kind="article"] .page-hero-grid,
  body[data-page-kind="project"] .page-hero-grid,
  body[data-page-kind="collection"] .page-hero-grid,
  body[data-page-file="gramootvodi-ceni.html"] .page-hero-grid,
  body[data-page-file="malniepriemnici.html"] .page-hero-grid,
  body[data-page-file="za-nas.html"] .page-hero-grid,
  body[data-page-file="kontakti.html"] .page-hero-grid,
  body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-grid,
  body[data-page-file="kontakti.html"] .contact-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-page-kind="article"] .page-hero h1,
  body[data-page-kind="project"] .page-hero h1,
  body[data-page-kind="collection"] .page-hero h1,
  body[data-page-file="gramootvodi-ceni.html"] .page-hero h1,
  body[data-page-file="malniepriemnici.html"] .page-hero h1,
  body[data-page-file="za-nas.html"] .page-hero h1,
  body[data-page-file="kontakti.html"] .page-hero h1,
  body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero h1,
  body[data-page-file="gradove.html"] .city-v3-directory-head h1 {
    max-width: 20ch;
    font-size: clamp(34px, 8vw, 47px);
    line-height: 1.1;
  }
  body[data-page-kind="article"] .page-hero-image img,
  body[data-page-kind="project"] .page-hero-image img,
  body[data-page-kind="collection"] .page-hero-image img,
  body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-media img { max-height: 420px; }
  body[data-page-kind="project"] .gallery-grid,
  body[data-page-kind="collection"] .gallery-grid { columns: 1; }
  body[data-page-kind="project"] .gallery-item a,
  body[data-page-kind="collection"] .gallery-item a { aspect-ratio: auto; }
  body[data-page-file="malniepriemnici.html"] .v6-comparison-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-page-file="gradove.html"] .city-v3-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page-file="gradove.html"] .city-v3-directory-top { align-items: stretch; flex-direction: column; }
  body[data-page-kind="project"] .project-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  body[data-page-kind="article"] main .section,
  body[data-page-kind="project"] main .section,
  body[data-page-kind="collection"] main .section,
  body[data-page-kind="service"]:not([data-page-file="montazh-na-gramootvodi.html"]) main .section,
  body[data-page-file="za-nas.html"] main .section,
  body[data-page-file="kontakti.html"] main .section { padding-block: 42px; }
  body[data-page-file="gradove.html"] .city-v3-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-page-kind="project"] .project-facts { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose th,
  body:not([data-page-file="index.html"]):not([data-page-file="montazh-na-gramootvodi.html"]) .prose td { padding: 10px 9px; font-size: 13px; }
  body[data-page-file="kontakti.html"] .contact-form { padding: 22px 18px; }
}

/* V12 interior layer. Append after V11; home, montage, header and footer are untouched. */

/* An editorial opening: compact type, an accent rule, and an unmasked photograph. */
body[data-page-kind="article"] .page-hero-grid>div:first-child,
body[data-page-kind="project"] .page-hero-grid>div:first-child,
body[data-page-kind="collection"] .page-hero-grid>div:first-child,
body[data-page-file="gramootvodi-ceni.html"] .page-hero-grid>div:first-child,
body[data-page-file="malniepriemnici.html"] .page-hero-grid>div:first-child,
body[data-page-file="za-nas.html"] .page-hero-grid>div:first-child,
body[data-page-file="kontakti.html"] .page-hero-grid>div:first-child,
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-grid>div:first-child {
  padding-left: clamp(18px,2.5vw,32px);
  border-left: 3px solid #c63b1c;
}
body[data-page-kind="article"] .page-hero .eyebrow,
body[data-page-kind="project"] .page-hero .eyebrow,
body[data-page-kind="collection"] .page-hero .eyebrow,
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero .eyebrow,
body[data-page-file="gramootvodi-ceni.html"] .page-hero .eyebrow,
body[data-page-file="malniepriemnici.html"] .page-hero .eyebrow,
body[data-page-file="za-nas.html"] .page-hero .eyebrow,
body[data-page-file="kontakti.html"] .page-hero .eyebrow {
  color:#a53219;
  letter-spacing:.12em;
  font-size:11px;
}
body[data-page-kind="article"] .page-hero h1,
body[data-page-kind="project"] .page-hero h1,
body[data-page-kind="collection"] .page-hero h1,
body[data-page-file="gramootvodi-ceni.html"] .page-hero h1,
body[data-page-file="malniepriemnici.html"] .page-hero h1,
body[data-page-file="za-nas.html"] .page-hero h1,
body[data-page-file="kontakti.html"] .page-hero h1,
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero h1 {
  margin-block:14px 16px;
  max-width:23ch;
  line-height:1.09;
  hyphens:none;
  overflow-wrap:break-word;
  text-wrap:balance;
}
body[data-page-kind="article"] .page-hero-image,
body[data-page-kind="project"] .page-hero-image,
body[data-page-kind="collection"] .page-hero-image,
body[data-page-file="gramootvodi-ceni.html"] .page-hero-image,
body[data-page-file="malniepriemnici.html"] .page-hero-image,
body[data-page-file="za-nas.html"] .page-hero-image {
  align-self:center;
  box-shadow:0 18px 44px #20282c16;
}
body[data-page-kind="article"] .page-hero-image img,
body[data-page-kind="project"] .page-hero-image img,
body[data-page-kind="collection"] .page-hero-image img,
body[data-page-file="gramootvodi-ceni.html"] .page-hero-image img,
body[data-page-file="malniepriemnici.html"] .page-hero-image img,
body[data-page-file="za-nas.html"] .page-hero-image img {
  width:auto;
  max-width:100%;
  height:auto;
  max-height:540px;
  object-fit:contain;
}
body[data-page-kind="article"] .page-hero-image .hero-caption,
body[data-page-kind="project"] .page-hero-image .hero-caption,
body[data-page-kind="collection"] .page-hero-image .hero-caption {
  width:100%;
  padding:10px 13px;
  background:#fff;
  border-top:1px solid #dadbd4;
}

/* Reading pages have a visible section rhythm and a quiet, usable contents rail. */
body[data-page-kind="article"] .prose,
body[data-page-file="gramootvodi-ceni.html"] .prose,
body[data-page-file="malniepriemnici.html"] .prose,
body[data-page-file="za-nas.html"] .prose {
  max-width:68ch;
  color:#30383b;
}
body[data-page-kind="article"] .prose .v6-reading-section,
body[data-page-file="gramootvodi-ceni.html"] .prose .v6-reading-section,
body[data-page-file="malniepriemnici.html"] .prose .v6-reading-section,
body[data-page-file="za-nas.html"] .prose .v6-reading-section {
  margin-bottom:36px;
  padding-top:30px;
  border-top:1px solid #d5d7d1;
}
body[data-page-kind="article"] .prose .v6-reading-index,
body[data-page-file="gramootvodi-ceni.html"] .prose .v6-reading-index,
body[data-page-file="malniepriemnici.html"] .prose .v6-reading-index,
body[data-page-file="za-nas.html"] .prose .v6-reading-index {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:28px;
  margin-bottom:13px;
  padding:4px 7px;
  border:1px solid #c63b1c;
  color:#a53219;
  background:#fff;
  letter-spacing:.06em;
}
body[data-page-kind="article"] .prose h2,
body[data-page-file="gramootvodi-ceni.html"] .prose h2,
body[data-page-file="malniepriemnici.html"] .prose h2,
body[data-page-file="za-nas.html"] .prose h2 {
  text-wrap:pretty;
  font-size:clamp(26px,2.45vw,36px);
}
body[data-page-kind="article"] .prose :is(ul,ol),
body[data-page-file="gramootvodi-ceni.html"] .prose :is(ul,ol),
body[data-page-file="malniepriemnici.html"] .prose :is(ul,ol) { padding-left:1.35em; }
body[data-page-kind="article"] .prose li::marker,
body[data-page-file="gramootvodi-ceni.html"] .prose li::marker,
body[data-page-file="malniepriemnici.html"] .prose li::marker { color:#c63b1c; }
body[data-page-kind="article"] .prose blockquote,
body[data-page-file="gramootvodi-ceni.html"] .prose blockquote {
  margin-block:28px;
  padding:19px 23px;
  background:#f2f0e9;
  border-left:4px solid #c63b1c;
  border-radius:0;
}
body[data-page-kind="article"] .aside-box:first-child,
body[data-page-file="gramootvodi-ceni.html"] .aside-box:first-child,
body[data-page-file="malniepriemnici.html"] .aside-box:first-child,
body[data-page-file="za-nas.html"] .aside-box:first-child {
  padding:18px 18px 16px;
  border:1px solid #dadbd4;
  border-left:3px solid #c63b1c;
  border-radius:0;
  background:#fff;
}
body[data-page-kind="article"] .aside-box:first-child a,
body[data-page-file="gramootvodi-ceni.html"] .aside-box:first-child a,
body[data-page-file="malniepriemnici.html"] .aside-box:first-child a,
body[data-page-file="za-nas.html"] .aside-box:first-child a { line-height:1.42; }
body[data-page-kind="article"] .aside-box.dark,
body[data-page-kind="project"] .aside-box.dark,
body[data-page-file="gramootvodi-ceni.html"] .aside-box.dark,
body[data-page-file="malniepriemnici.html"] .aside-box.dark,
body[data-page-file="za-nas.html"] .aside-box.dark,
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-side-panel {
  border-radius:0;
  background:#20282c;
  box-shadow:0 15px 28px #20282c14;
}

/* Keep the original photograph whole: no square masks, padded gray media, or altered lightbox target. */
body[data-page-kind="project"] .gallery-item,
body[data-page-kind="collection"] .gallery-item { border:0; border-radius:0; background:transparent; }
body[data-page-kind="project"] .gallery-item>a,
body[data-page-kind="collection"] .gallery-item>a { border:1px solid #d8d9d3; background:#fff; }
body[data-page-kind="project"] .gallery-item img,
body[data-page-kind="collection"] .gallery-item img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:0; }
body[data-page-kind="project"] .gallery-item figcaption,
body[data-page-kind="collection"] .gallery-item figcaption { padding:10px 0 0; color:#596165; }
body[data-page-kind="project"] .project-facts>div {
  padding:15px 0;
  border:0;
  border-top:2px solid #c63b1c;
  border-radius:0;
  background:transparent;
}
body[data-page-kind="project"] .prose>h2:first-child { margin-top:0; }
body[data-page-kind="project"] .prose>p { line-height:1.72; }
body[data-page-kind="collection"] .project-card,
body[data-page-kind="collection"] .article-card,
body[data-page-kind="service"]:has(.city-v3-hero) .project-card {
  border:1px solid #dadbd4;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  transition:border-color .2s,box-shadow .2s;
}
body[data-page-kind="collection"] :is(.project-card,.article-card):hover,
body[data-page-kind="service"]:has(.city-v3-hero) .project-card:hover { border-color:#c63b1c; box-shadow:0 10px 28px #20282c12; }
body[data-page-kind="collection"] .article-card>img,
body[data-page-kind="collection"] .project-picture img,
body[data-page-kind="service"]:has(.city-v3-hero) .project-picture img { object-fit:contain; background:#fff; padding:0; }

/* City directory and city detail: stronger navigation with their existing, correctly attributed images. */
body[data-page-file="gradove.html"] .city-v3-directory-head { padding-block:24px 48px; }
body[data-page-file="gradove.html"] .city-v3-directory-head h1 { max-width:22ch; font-size:clamp(34px,4.4vw,58px); hyphens:none; }
body[data-page-file="gradove.html"] .city-v3-search input { border-radius:0; border-color:#969d9c; }
body[data-page-file="gradove.html"] .city-v3-card { border-radius:0; }
body[data-page-file="gradove.html"] .city-v3-card:hover { border-color:#c63b1c; }
body[data-page-file="gradove.html"] .city-v3-card-cta { border-top:1px solid #e4e5de; padding-top:12px!important; }
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-media { border-radius:0; }
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-media img { height:auto; max-height:500px; object-fit:contain; }
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-prose { max-width:68ch; }
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-prose>h2 { text-wrap:pretty; }
body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-side nav { border-radius:0; }

/* Contact and service decisions: give the existing phone and form an intentional visual hierarchy. */
body[data-page-file="kontakti.html"] .contact-phone {
  display:block;
  width:fit-content;
  margin-block:20px 12px;
  padding-bottom:8px;
  border-bottom:3px solid #c63b1c;
  color:#20282c;
  font-size:clamp(29px,3.3vw,45px);
  line-height:1.13;
}
body[data-page-file="kontakti.html"] .contact-form { border-radius:0; box-shadow:0 18px 44px #20282c12; }
body[data-page-file="kontakti.html"] .contact-form :is(input,select,textarea) { border-radius:0; background:#fff; }
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:clamp(18px,2.4vw,30px);
  max-width:1040px;
  margin-inline:auto;
}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid>article {
  display:grid;
  grid-template-columns:minmax(0,44%) minmax(0,56%);
  min-width:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:0 14px 34px #20282c12;
}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid figure {
  display:block;
  width:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid figure img {
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  max-height:none;
  aspect-ratio:3/4;
  margin:0;
  padding:0;
  object-fit:contain;
  background:transparent;
}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid figcaption {
  padding:12px 18px;
  border:0;
  background:#20282c;
  color:#fff;
}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid article>div {
  display:flex;
  min-width:0;
  flex-direction:column;
  padding:20px 22px 22px;
}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid article>div>a { margin-top:auto; }
body[data-page-file="gramootvodi-ceni.html"] .v6-quote-scope { border-top:3px solid #c63b1c; }

@media(max-width:900px){
  body[data-page-file="malniepriemnici.html"] .v6-comparison-grid {
    grid-template-columns:minmax(0,1fr);
    max-width:520px;
    margin-inline:auto;
  }
  body[data-page-file="malniepriemnici.html"] .v6-comparison-grid>article {
    display:flex;
    flex-direction:column;
  }
}
@media(max-width:760px){
  body[data-page-kind="article"] .page-hero-grid>div:first-child,
  body[data-page-kind="project"] .page-hero-grid>div:first-child,
  body[data-page-kind="collection"] .page-hero-grid>div:first-child,
  body[data-page-file="gramootvodi-ceni.html"] .page-hero-grid>div:first-child,
  body[data-page-file="malniepriemnici.html"] .page-hero-grid>div:first-child,
  body[data-page-file="za-nas.html"] .page-hero-grid>div:first-child,
  body[data-page-file="kontakti.html"] .page-hero-grid>div:first-child,
  body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero-grid>div:first-child { padding-left:18px; }
  body[data-page-kind="article"] .aside,
  body[data-page-file="gramootvodi-ceni.html"] .aside,
  body[data-page-file="malniepriemnici.html"] .aside,
  body[data-page-file="za-nas.html"] .aside { position:static; max-height:none; overflow:visible; }
  body[data-page-kind="article"] .prose .v6-reading-section,
  body[data-page-file="gramootvodi-ceni.html"] .prose .v6-reading-section,
  body[data-page-file="malniepriemnici.html"] .prose .v6-reading-section { padding-top:24px; margin-bottom:28px; }
}
@media(max-width:420px){
  body[data-page-kind="article"] main .wrap,
  body[data-page-kind="project"] main .wrap,
  body[data-page-kind="collection"] main .wrap,
  body[data-page-kind="service"]:not([data-page-file="montazh-na-gramootvodi.html"]) main .wrap,
  body[data-page-file="za-nas.html"] main .wrap,
  body[data-page-file="kontakti.html"] main .wrap { width:calc(100% - 28px); }
  body[data-page-kind="article"] .page-hero h1,
  body[data-page-kind="project"] .page-hero h1,
  body[data-page-kind="collection"] .page-hero h1,
  body[data-page-kind="service"]:has(.city-v3-hero) .city-v3-hero h1,
  body[data-page-file="gramootvodi-ceni.html"] .page-hero h1,
  body[data-page-file="malniepriemnici.html"] .page-hero h1,
  body[data-page-file="za-nas.html"] .page-hero h1,
  body[data-page-file="kontakti.html"] .page-hero h1 { font-size:clamp(30px,8.6vw,37px); }
  body[data-page-file="gradove.html"] .city-v3-directory-head h1 { font-size:clamp(30px,8.6vw,37px); }
  body[data-page-file="kontakti.html"] .contact-phone { font-size:clamp(27px,7.4vw,34px); }
  body[data-page-file="kontakti.html"] .contact-form .form-grid { grid-template-columns:minmax(0,1fr); }
  body[data-page-kind="article"] .table-scroll,
  body[data-page-file="gramootvodi-ceni.html"] .table-scroll,
  body[data-page-file="malniepriemnici.html"] .table-scroll { max-width:100%; overflow-x:auto; }
}

 .v5-process-cards{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px}.v5-process-card{display:flex;height:100%;flex-direction:column;min-width:0;border:1px solid #ddd9d0;border-radius:15px;box-shadow:0 7px 22px #20282c09}.v9-process-photo{position:relative;flex:none;width:100%;aspect-ratio:4/3;overflow:hidden;background:#e9e6df}.v9-process-photo>img{display:block;width:100%;height:100%;object-fit:cover}.v9-process-photo:after{content:"";position:absolute;inset:52% 0 0;pointer-events:none;background:linear-gradient(transparent,#10191b35)}.v9-process-photo>span{z-index:2;right:12px;bottom:12px;width:34px;height:34px;background:#fffef5;color:#20282c;box-shadow:0 3px 12px #0003}.v5-process-text{display:flex;flex:1;flex-direction:column;padding:12px 18px 19px}.v5-process-text h3{min-height:2.3em;margin:0 0 10px;font-size:clamp(18px,1.55vw,22px);line-height:1.18}.v5-process-text p{margin:0 0 18px;color:#566164;font-size:13px;line-height:1.65}.v5-step-result{margin-top:auto;padding-top:12px;border-top:1px solid #e9e4db;color:#a54127;font-size:11px;line-height:1.5}.v5-process-card:focus-within{outline:3px solid #d75230;outline-offset:3px}.premium-object-types.v9-object-types{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;margin-top:28px}.premium-object-types.v9-object-types>a{display:flex;height:100%;min-height:320px!important;flex-direction:column;padding:20px!important;border:1px solid #dbd7ce!important;border-radius:16px;background:#f5f3ed;}.v9-object-types a:before{background:linear-gradient(180deg,#f5f3ed00 5%,#f5f3ed22 34%,#f5f3eddb 68%,#f5f3ed 84%)}.v9-object-types a>img{object-fit:cover;object-position:50% 28%;filter:saturate(.8) brightness(1.04)}.v9-object-types a:hover{transform:translateY(-3px)}.v9-object-copy{display:flex;flex:1;flex-direction:column;justify-content:flex-end;gap:8px;padding:62px 0 0;max-width:none}.v9-object-types strong{color:#20282c;font-size:clamp(20px,1.8vw,25px);line-height:1.14}.v9-object-types small{min-height:2.9em;color:#4c5759;font-size:13px;line-height:1.45}.v9-object-types .v9-object-link{margin-top:auto;padding-top:10px;border-top:1px solid #aa9c8f66;color:#9c3e27;font-size:11px}.v9-object-types a:focus-visible,.city-v3-highlights .city-v3-card:focus-visible{outline:3px solid #c84525;outline-offset:3px}.city-v3-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:16px}.city-v3-featured-grid>.city-v3-card:first-child{grid-column:auto}.city-v3-highlights .city-v3-card{height:100%;min-height:clamp(220px,22vw,275px);padding:19px;border:1px solid #ffffff3d;border-radius:16px;box-shadow:0 8px 23px #20282c14}.city-v3-highlights .city-v3-card:after{background:linear-gradient(180deg,#11191b00 18%,#11191b18 43%,#11191bdd 100%)}.city-v3-highlights .city-v3-card-image img{object-fit:cover;object-position:50% 20%}.city-v3-highlights .city-v3-card strong{margin-bottom:10px;font-size:clamp(21px,2vw,27px)}.city-v3-highlights .city-v3-card>span.city-v3-card-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.v5-faq-layout{align-items:start;gap:clamp(28px,5vw,66px)}.faq-list{display:grid;gap:11px;align-content:start}.faq-list details{margin:0;border:1px solid #dedbd3;border-radius:13px;background:#fff;box-shadow:0 5px 16px #20282c06} .faq-list details[open]{border-color:#c9a08f}.faq-list summary{display:grid;grid-template-columns:30px minmax(0,1fr) 27px;align-items:center;gap:13px;min-height:68px;padding:15px 18px;font-size:15px;line-height:1.45}.faq-list summary .faq-number,.faq-list summary .faq-symbol{display:grid;place-items:center;border:1px solid #e4ded4;color:#a64127}.faq-list summary .faq-number{width:30px;height:30px;border-radius:9px;background:#f7f5ef;font-size:10px;font-weight:700}.faq-list summary .faq-symbol{width:27px;height:27px;border-radius:50%;font-size:19px;transition:transform .2s}.faq-list details[open] summary .faq-symbol{transform:rotate(45deg)}.faq-list details>p,.faq-list details>div{padding:0 58px 20px;color:#586265;font-size:14px;line-height:1.75}.faq-list summary:focus-visible{outline:3px solid #c84525;outline-offset:3px;border-radius:11px}@media(max-width:1050px){.premium-object-types.v9-object-types,.city-v3-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v5-process-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.city-v3-highlights .city-v3-card{min-height:235px}}@media(max-width:760px){.v5-process-cards{grid-template-columns:1fr;gap:15px}.v5-process-text h3{min-height:0;font-size:23px}.premium-object-types.v9-object-types{gap:12px}.premium-object-types.v9-object-types>a{min-height:285px!important;padding:16px!important}.v9-object-copy{padding-top:52px}.v9-object-types strong{font-size:21px}.v9-object-types small{min-height:0;font-size:12px}.city-v3-featured-grid{gap:12px}.city-v3-highlights .city-v3-card{min-height:215px;padding:15px}.city-v3-highlights .city-v3-card strong{font-size:21px}.v5-faq-layout{grid-template-columns:1fr;gap:22px}.v5-faq-intro>p{max-width:65ch;font-size:14px}.faq-list{gap:9px}.faq-list summary{grid-template-columns:27px minmax(0,1fr) 25px;gap:10px;min-height:63px;padding:13px;font-size:14px}.faq-list summary .faq-number{width:27px;height:27px}.faq-list details>p,.faq-list details>div{padding:0 13px 17px 50px;font-size:13px}}@media(max-width:380px){.premium-object-types.v9-object-types{grid-template-columns:1fr}.premium-object-types.v9-object-types>a{min-height:265px!important}.v9-object-copy{padding-top:65px}.faq-list summary{gap:8px;padding:11px;font-size:13px}.faq-list details>p,.faq-list details>div{padding-left:11px}}@media(prefers-reduced-motion:reduce){.v5-process-card,.v9-object-types a,.city-v3-highlights .city-v3-card,.faq-list details,.faq-list summary .faq-symbol{transition:none}.v5-process-card:hover,.v9-object-types a:hover,.city-v3-highlights .city-v3-card:hover{transform:none}}
/* V12: warm architectural composition and consistent photography. */
.v9-object-types .v9-object-copy{padding-top:62px;justify-content:flex-end}.v9-object-types .v9-object-link{margin-top:8px}.v9-object-types small{min-height:2.9em}.premium-object-types.v9-object-types>a{min-height:350px!important}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid>article{border-radius:14px;overflow:hidden;border:1px solid #e3dfd5}
body[data-page-file="malniepriemnici.html"] .v6-comparison-grid figcaption{min-height:62px;display:flex;align-items:center}
.premium-object-types .v9-object-type-solar>img{object-position:50% 40%;height:64%;width:100%;object-fit:cover}
.premium-object-types .v9-object-type-solar:before{background:linear-gradient(180deg,transparent 25%,#f5f3ed1a 45%,#f5f3ed 66%)}
@media(max-width:900px){.nav>.nav-services>summary,.nav>a:not(.btn){font-size:15px;font-weight:700;line-height:1.5;padding:13px 4px;min-height:48px}.nav>.nav-services>summary{justify-content:space-between;border-bottom:1px solid #deded6}.nav>.nav-services>summary span{font-size:16px}.nav .service-menu a strong{font-size:14px;font-weight:650}.nav .service-menu a span{font-size:12px}}
.premium-home-hero{padding-top:48px;background:radial-gradient(ellipse at 83% 30%,#e6d6c84f,transparent 56%),#f7f6f2}
.premium-hero-grid{gap:52px;align-items:center}
.premium-hero-copy>.eyebrow{width:fit-content;border:1px solid #ded7cb;padding:7px 11px;border-radius:6px;letter-spacing:.09em;background:#fff8}
.premium-hero-copy h1{margin-top:22px;letter-spacing:-.05em;font-weight:750}
.premium-hero-copy h1 em{font-weight:650;max-width:18ch;margin-top:14px}
.premium-hero-copy .lead{max-width:46ch;font-size:17px;line-height:1.75}
.premium-hero-subnote{border:0;padding-top:0;color:#6d746f}
.premium-scene-shell{box-shadow:0 24px 60px #26302714,0 2px 5px #26302706;border-color:#d7d6cd;overflow:hidden}
.premium-scene-shell .hero-scene,.premium-scene-shell .scene-viewport{background:radial-gradient(ellipse at 50% 40%,#fff,#e6e2d8)}
.premium-scene-shell .scene-views button{min-height:46px;font-size:12px}
.premium-scene-shell .scene-note{height:auto!important;min-height:34px;max-height:none!important;overflow:visible!important;font-size:12px;line-height:1.45;color:#5b6467}
.trust-v8{padding-block:34px 40px}.trust-v8-grid{border-radius:16px;background:#fff;box-shadow:0 7px 25px #272e2205}
.trust-v8-item,.trust-v8-item:last-child{min-height:126px;padding-top:26px;padding-bottom:24px}
.trust-v8-icon{background:#fbede5;border:1px solid #f0d6c8;top:31px}
.trust-v8-number{font-variant-numeric:tabular-nums;letter-spacing:-.045em;color:#20282c}
.trust-v8-label{margin-top:9px;color:#566165;font-size:12px}
.trust-v8-item:after{content:'';position:absolute;bottom:0;left:26px;width:38px;height:3px;border-radius:3px;background:#c63b1c}
.premium-work .section-head{padding-bottom:25px;border-bottom:1px solid #e4e2dc}
.premium-project-grid{gap:22px;margin-top:26px}.premium-project-grid .premium-project{box-shadow:0 8px 24px #20282c08}
.premium-project-grid .premium-project-copy{padding:23px 24px 24px;background:linear-gradient(145deg,#fff,#faf9f5)}
.premium-project-copy h3{font-size:26px;line-height:1.15}.premium-project-copy .premium-text-link{align-self:flex-start;margin-top:auto}
.premium-partners{padding-block:36px}.premium-partner-logo{height:64px;border-right:1px solid #e9e5dd}.premium-partner-logo:nth-child(4n){border-right:0}
.v5-system-section{background-color:#f3f1eb}.v5-system{border-radius:18px;box-shadow:0 16px 45px #20282c0e}
.v5-system-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px 36px}
.v5-system-copy h3{font-size:clamp(26px,2.6vw,36px);line-height:1.13;margin:12px 0 18px}
.v5-system-copy>p{margin:0;line-height:1.7;max-width:55ch}.v5-system-copy ul{width:100%;margin:19px 0 24px}
.v5-system-photo>img{object-fit:contain;background:#20282c}.v5-system-foot{padding-block:14px}
.premium-montage-hero-grid{padding-top:20px;gap:54px}.premium-montage-hero h1{font-size:clamp(42px,4.6vw,62px);line-height:1.06}
.premium-montage-hero-photo{box-shadow:0 16px 40px #20282c10}.premium-montage-meta{gap:18px}.premium-montage-meta span{border-top:2px solid #d9c3b4;padding-top:12px}
.premium-scope-list{background:#fff;box-shadow:0 7px 22px #20282c05}.premium-factor-list{box-shadow:0 7px 22px #20282c05}.premium-related-list strong{font-size:clamp(20px,2vw,26px)}
.v8-service-section{background:radial-gradient(ellipse at 50% 55%,#fff,#efede6 70%)}.v8-blog .article-card{box-shadow:0 9px 26px #20282c08}
.cta{background:radial-gradient(ellipse at 100% 100%,#34413d,transparent 68%),#20282c;border:0;box-shadow:0 14px 35px #20282c12}.footer{border-top:0}
@media(max-width:1000px){.premium-hero-grid{gap:30px}.trust-v8-item,.trust-v8-item:last-child{padding-top:22px}.trust-v8-label{font-size:11px}.v5-system-copy{padding:27px}.premium-montage-hero-grid{gap:32px}}
@media(max-width:760px){
 .premium-home-hero{padding-top:27px}.premium-hero-grid{gap:26px}.premium-hero-copy>.eyebrow{padding:6px 8px;font-size:9px;letter-spacing:.06em}.premium-hero-copy h1{margin-top:18px}.premium-hero-copy h1 em{margin-top:9px}.premium-hero-copy .lead{font-size:15px;line-height:1.7}.premium-scene-shell .scene-note{min-height:52px;font-size:12px}.premium-scene-shell .scene-views button{min-height:46px;font-size:11px}
 .trust-v8{padding-block:25px 30px}.trust-v8-item,.trust-v8-item:last-child{min-height:150px;padding:18px}.trust-v8-label{font-size:11px;line-height:1.5}.trust-v8-icon{width:34px;height:34px}.trust-v8-item:after{left:18px;width:28px;height:2px}.trust-v8-grid{border-radius:13px}
 .premium-work .section-head{padding-bottom:20px}.premium-project-grid{gap:18px;margin-top:23px}.premium-project-grid .premium-project-copy{padding:21px}.premium-project-copy h3{font-size:25px}.premium-project-copy .premium-text-link{margin-top:12px}.premium-partner-logo{height:48px;border:0}.premium-partners{padding-block:28px}
 .v5-system-copy{padding:23px}.v5-system-copy h3{font-size:27px}.v5-system-copy ul{margin-bottom:20px}.v5-system-foot{font-size:10px;gap:14px}.premium-montage-hero-grid{padding-top:12px;gap:25px}.premium-montage-hero h1{font-size:clamp(36px,10vw,48px)}
}
@media(max-width:380px){.trust-v8-item,.trust-v8-item:last-child{padding:16px;min-height:150px}.trust-v8-label{font-size:10px}.premium-scene-shell .scene-views button{font-size:10px}.premium-scene-shell .scene-note{font-size:11px;min-height:48px}}

/* Price ranges by building type. Load after the main stylesheet. */
body[data-page-file="gramootvodi-ceni.html"] .price-v12 {
  background:#f7f6f2;
  color:#20282c;
  border-block:1px solid #dadbd4;
}
.price-v12-heading {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  align-items:end;
  gap:clamp(24px,4vw,70px);
  margin-bottom:clamp(26px,3vw,42px);
}
.price-v12-heading h2 {
  max-width:18ch;
  margin:9px 0 0;
  font-size:clamp(30px,3.4vw,48px);
  line-height:1.13;
  letter-spacing:-.035em;
}
.price-v12-heading>p {max-width:44ch;margin:0;color:#555e61;line-height:1.65;}
.price-v12-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.price-v12-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  border:1px solid #d8d9d2;
  background:#fff;
  transition:border-color .2s,box-shadow .2s;
}
.price-v12-card:hover {border-color:#c63b1c;box-shadow:0 12px 28px #20282c12;}
.price-v12-media {display:block;min-width:0;overflow:hidden;background:#fff;}
.price-v12-media picture {display:block;width:100%;height:auto;}
.price-v12-media img {
  display:block;width:100%;height:auto;max-height:none;aspect-ratio:3/2;
  object-fit:cover;object-position:center;background:#fff;
}
.price-v12-card:nth-child(2) .price-v12-media img {object-position:50% 42%;}
.price-v12-body {display:flex;min-width:0;flex:1;flex-direction:column;padding:clamp(18px,2.1vw,28px);}
.price-v12-index {color:#a53219;font-size:11px;font-weight:750;letter-spacing:.12em;}
.price-v12-card h3 {margin:12px 0 12px;font-size:clamp(21px,2vw,27px);line-height:1.2;letter-spacing:-.025em;}
.price-v12-amount {margin:0 0 15px;padding-block:10px;border-block:1px solid #dadbd4;}
.price-v12-amount span {display:block;margin-bottom:3px;color:#626b6e;font-size:11px;text-transform:uppercase;letter-spacing:.1em;}
.price-v12-amount strong {display:block;font-size:clamp(20px,2vw,26px);line-height:1.22;letter-spacing:-.02em;white-space:nowrap;}
.price-v12-detail {margin:0 0 18px;color:#566064;font-size:14px;line-height:1.55;}
.price-v12-link {display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid #dadbd4;color:#20282c;font-size:13px;font-weight:750;text-decoration:none;}
.price-v12-link span {color:#c63b1c;font-size:18px;line-height:1;}
.price-v12-link:hover,.price-v12-link:focus-visible {color:#a53219;}
.price-v12-scope {
  display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr) auto;
  align-items:center;gap:clamp(20px,3vw,40px);
  margin-top:20px;padding:26px 0;border-top:2px solid #20282c;
}
.price-v12-scope h3 {margin:8px 0 0;font-size:clamp(22px,2.2vw,29px);line-height:1.2;}
.price-v12-scope>p {margin:0;color:#566064;font-size:14px;line-height:1.65;}
.price-v12-scope>a {align-self:center;color:#20282c;font-size:13px;font-weight:750;text-decoration:underline;text-decoration-color:#c63b1c;text-underline-offset:6px;white-space:nowrap;}
.price-v12-scope>a:hover {color:#a53219;}
@media(max-width:980px){
  .price-v12-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .price-v12-scope {grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);}
  .price-v12-scope>a {grid-column:1/-1;}
}
@media(max-width:620px){
  .price-v12-heading,.price-v12-scope {grid-template-columns:minmax(0,1fr);}
  .price-v12-grid {grid-template-columns:minmax(0,1fr);}
  .price-v12-body {padding:20px;}
  .price-v12-scope>a {grid-column:auto;white-space:normal;}
}

/* V12 contact page: scoped layout; shared form behaviour and field states remain. */
.contact-v12{--c12-paper:#f7f6f2;--c12-ink:#20282c;--c12-muted:#586265;--c12-line:#deddd5;--c12-accent:#bd3a20;background:var(--c12-paper);color:var(--c12-ink)}
.contact-v12 .c12-hero{padding:36px 0 58px;background:radial-gradient(ellipse at 100% 5%,#e9dfd359,transparent 55%),var(--c12-paper)}
.contact-v12 .c12-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:clamp(26px,6vw,90px);margin:42px 0 38px}
.contact-v12 .eyebrow{margin:0 0 18px;color:var(--c12-accent);font-size:11px;font-weight:750;letter-spacing:.12em}
.contact-v12 h1{max-width:14ch;margin:0;font-size:clamp(42px,5.3vw,72px);line-height:1.04;letter-spacing:-.05em}
.contact-v12 h1 em{color:var(--c12-accent);font-style:normal;font-weight:650}
.contact-v12 .c12-hero-intro{max-width:460px;padding-bottom:4px}
.contact-v12 .c12-hero-intro p{margin:0;font-size:18px;line-height:1.65;color:#424d50}
.contact-v12 .c12-hero-intro p+p{margin-top:13px;font-size:15px;color:var(--c12-muted)}
.contact-v12 .c12-contact-cards{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:16px}
.contact-v12 .c12-contact-card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:27px 26px 25px;border:1px solid var(--c12-line);border-radius:16px;background:#fff;box-shadow:0 7px 20px #20282c04}
.contact-v12 .c12-contact-card p{margin:10px 0 0;color:var(--c12-muted);font-size:13px;line-height:1.6;max-width:32ch}
.contact-v12 .c12-contact-card .c12-card-label{margin:0 0 15px;font-size:11px;font-weight:750;letter-spacing:.06em;color:var(--c12-accent)}
.contact-v12 .c12-card-icon{display:grid;place-items:center;width:39px;height:39px;margin-bottom:20px;border-radius:11px;background:#f7eee7;color:var(--c12-accent)}
.contact-v12 .c12-card-icon svg{width:22px;height:22px}
.contact-v12 .c12-contact-card--call{justify-content:center;border-color:var(--c12-ink);background:var(--c12-ink);color:#fff}
.contact-v12 .c12-contact-card--call p{color:#d1d7d4}
.contact-v12 .c12-contact-card--call .c12-card-label{color:#efb49b;margin-bottom:24px}
.contact-v12 a.c12-call{display:flex;align-items:center;gap:13px;min-height:62px;max-width:100%;color:#fff;text-decoration:none;font-size:clamp(23px,2.3vw,31px);font-weight:700;letter-spacing:-.035em;line-height:1.2;font-variant-numeric:tabular-nums}
.contact-v12 .c12-call>.v10-phone-icon{width:46px;height:46px;flex:0 0 46px;padding:12px;border-radius:50%;background:#bd3a20;color:#fff}
.contact-v12 .c12-call>.v10-phone-label{white-space:nowrap}
.contact-v12 .c12-contact-value{display:inline-flex;align-items:center;min-height:44px;max-width:100%;margin-top:-10px;font-size:clamp(21px,2.1vw,28px);font-weight:650;letter-spacing:-.035em;text-decoration:none;overflow-wrap:anywhere}
.contact-v12 .c12-contact-card .c12-address{margin:0;font-size:21px;font-weight:650;line-height:1.3;letter-spacing:-.025em;color:var(--c12-ink)}
.contact-v12 .c12-map-link,.contact-v12 .c12-work-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;max-width:100%;font-size:12px;font-weight:700;line-height:1.5;text-decoration:none;border-bottom:1px solid #cbbbad}
.contact-v12 .c12-map-link{margin-top:auto;padding-top:10px}
.contact-v12 .c12-map-link span,.contact-v12 .c12-work-link span{color:var(--c12-accent);font-size:18px}
.contact-v12 .c12-inquiry{padding:62px 0 88px;border-top:1px solid var(--c12-line);background:#efeee7}
.contact-v12 .c12-inquiry-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,76px);align-items:start}
.contact-v12 .c12-inquiry-copy{min-width:0;padding-top:20px}
.contact-v12 .c12-inquiry-copy h2{max-width:16ch;margin:0 0 21px;font-size:clamp(29px,3.1vw,40px);line-height:1.12;letter-spacing:-.04em}
.contact-v12 .c12-inquiry-copy>p:not(.eyebrow){max-width:39ch;font-size:15px;line-height:1.75;color:var(--c12-muted)}
.contact-v12 .c12-preparation{list-style:none;padding:0;margin:28px 0 23px}
.contact-v12 .c12-preparation li{display:flex;gap:17px;align-items:flex-start;padding:18px 0;border-top:1px solid #d5d5cc}
.contact-v12 .c12-preparation li>span{padding-top:3px;color:var(--c12-accent);font-size:11px;font-weight:700;letter-spacing:.06em}
.contact-v12 .c12-preparation strong{font-size:14px;font-weight:700}
.contact-v12 .c12-preparation p{margin:4px 0 0;font-size:13px;line-height:1.6;color:var(--c12-muted)}
.contact-v12 .contact-form{min-width:0;margin:0;padding:clamp(24px,3.3vw,42px);border:1px solid #d8d8cf;border-radius:19px;background:#fff;box-shadow:0 18px 45px #20282c08;scroll-margin-top:110px}
.contact-v12 .contact-form h2{margin:0 0 11px;font-size:32px;line-height:1.14;letter-spacing:-.035em}
.contact-v12 .contact-form>.muted{max-width:47ch;margin:0;font-size:14px;line-height:1.65;color:var(--c12-muted)}
.contact-v12 .form-grid{gap:21px 18px;margin-top:28px}
.contact-v12 .field label{margin-bottom:8px;font-size:13px;font-weight:650}
.contact-v12 .field input,.contact-v12 .field select,.contact-v12 .field textarea{min-height:51px;border:1px solid #bfc4bd;border-radius:8px;background:#fcfcf9;font:inherit;font-size:16px;color:var(--c12-ink);padding:12px 13px;line-height:1.45;transition:border-color .15s,box-shadow .15s}
.contact-v12 .field textarea{min-height:132px;resize:vertical}
.contact-v12 .field input:focus,.contact-v12 .field select:focus,.contact-v12 .field textarea:focus{outline:0;border-color:var(--c12-accent);box-shadow:0 0 0 3px #bd3a2018}
.contact-v12 .field [aria-invalid="true"]{border-color:#a43120;box-shadow:0 0 0 1px #a43120}
.contact-v12 .privacy-check{min-height:44px;gap:12px;padding:5px 0;margin-top:2px;font-size:12px;line-height:1.65;color:#505b5f}
.contact-v12 .privacy-check input{width:20px;height:20px;min-height:20px;margin-top:2px;border-radius:4px;accent-color:var(--c12-accent)}
.contact-v12 .privacy-check a{text-decoration:underline;text-underline-offset:3px}
.contact-v12 .contact-form>button[type="submit"]{min-height:52px;width:100%;justify-content:center;margin-top:25px;border-radius:9px;background:var(--c12-accent);border-color:var(--c12-accent);color:#fff;font-size:15px;font-weight:700}
.contact-v12 .contact-form>button[type="submit"]:hover{background:#9e2f1a;border-color:#9e2f1a;transform:none}
.contact-v12 .contact-form>button[type="submit"]:disabled{opacity:.65;cursor:wait}
.contact-v12 .form-note{font-size:11px;line-height:1.7;color:var(--c12-muted)}
.contact-v12 .form-note .v10-phone-link{min-height:44px;font-size:12px;font-weight:700;white-space:nowrap}
.contact-v12 .form-status{border-radius:8px;line-height:1.6}
.contact-v12 a:focus-visible,.contact-v12 button:focus-visible,.contact-v12 .privacy-check input:focus-visible{outline:3px solid var(--c12-accent);outline-offset:4px}
.contact-v12 .c12-call:focus-visible{outline-color:#ffa98b}
@media(max-width:1000px){.contact-v12 .c12-contact-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.contact-v12 .c12-contact-card{padding:23px 19px}.contact-v12 a.c12-call{flex-wrap:wrap;gap:8px;font-size:25px}.contact-v12 .c12-call>.v10-phone-icon{width:40px;height:40px;flex-basis:40px;padding:10px}.contact-v12 .c12-contact-value{font-size:22px}.contact-v12 .c12-contact-card .c12-address{font-size:19px}}
@media(max-width:760px){.contact-v12 .c12-hero{padding:25px 0 36px}.contact-v12 .c12-hero-grid{grid-template-columns:1fr;gap:22px;margin:30px 0}.contact-v12 h1{font-size:clamp(39px,9vw,58px)}.contact-v12 .c12-hero-intro p{font-size:16px;line-height:1.65}.contact-v12 .c12-hero-intro p+p{font-size:14px;margin-top:8px}.contact-v12 .c12-contact-cards{grid-template-columns:1fr;gap:12px}.contact-v12 .c12-contact-card{padding:23px 24px}.contact-v12 .c12-contact-card p{max-width:44ch}.contact-v12 .c12-contact-card--call .c12-card-label{margin-bottom:10px}.contact-v12 a.c12-call{flex-wrap:nowrap;gap:13px;font-size:clamp(25px,7.1vw,32px);min-height:58px}.contact-v12 .c12-card-icon{position:absolute;top:22px;right:23px;width:36px;height:36px;margin:0}.contact-v12 .c12-contact-card .c12-card-label{padding-right:46px}.contact-v12 .c12-contact-value{font-size:26px;margin-top:-2px}.contact-v12 .c12-contact-card .c12-address{font-size:22px;max-width:20ch}.contact-v12 .c12-map-link{margin-top:8px}.contact-v12 .c12-inquiry{padding:38px 0 56px}.contact-v12 .c12-inquiry-grid{grid-template-columns:1fr;gap:30px}.contact-v12 .c12-inquiry-copy{padding-top:0}.contact-v12 .c12-inquiry-copy h2{max-width:22ch;font-size:31px}.contact-v12 .c12-preparation{margin-block:22px 12px}.contact-v12 .c12-preparation li{padding-block:14px}.contact-v12 .contact-form{padding:25px 22px;border-radius:15px}.contact-v12 .contact-form h2{font-size:29px}.contact-v12 .form-grid{grid-template-columns:1fr;gap:19px;margin-top:24px}}
@media(max-width:380px){.contact-v12 .c12-contact-card{padding:22px 19px}.contact-v12 .c12-card-icon{right:18px}.contact-v12 a.c12-call{gap:10px;font-size:25px}.contact-v12 .contact-form{padding:24px 17px}.contact-v12 .contact-form h2{font-size:27px}.contact-v12 .c12-contact-value{font-size:25px}.contact-v12 .c12-inquiry-copy h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.contact-v12 .field input,.contact-v12 .field select,.contact-v12 .field textarea{transition:none}}

/* Editorial blog hub. All selectors stay inside the V13 component. */
.blog-v13{--b13-paper:#f7f6f2;--b13-ink:#20282c;--b13-muted:#596468;--b13-accent:#bd3a20;--b13-line:#d9dcd4;background:var(--b13-paper);color:var(--b13-ink)}
.blog-v13 [hidden]{display:none!important}.blog-v13 a{color:inherit;text-decoration:none}.blog-v13 button,.blog-v13 input{font:inherit}.blog-v13 a:focus-visible,.blog-v13 button:focus-visible,.blog-v13 input:focus-visible{outline:3px solid var(--b13-accent);outline-offset:5px}
.blog-v13 .b13-opening{padding:32px 0 62px;background:radial-gradient(ellipse at 90% 2%,#e8ded34d,transparent 53%),var(--b13-paper)}
.blog-v13 .b13-heading{display:grid;grid-template-columns:1.45fr 1fr;align-items:end;gap:clamp(30px,6vw,90px);margin:42px 0 43px}
.blog-v13 .eyebrow{margin:0 0 18px;color:var(--b13-accent);font-size:11px;line-height:1.5;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.blog-v13 h1{margin:0;font-size:clamp(38px,4.5vw,61px);line-height:1.06;letter-spacing:-.052em;font-weight:750}
.blog-v13 h1 em{display:block;margin-top:15px;font-style:normal;color:var(--b13-accent);font-weight:650;font-size:clamp(24px,2.7vw,36px);line-height:1.18;letter-spacing:-.035em}
.blog-v13 .b13-intro{padding-bottom:5px;max-width:460px}.blog-v13 .b13-intro>p{margin:0;font-size:20px;line-height:1.45;letter-spacing:-.015em}.blog-v13 .b13-intro>p+p{font-size:15px;line-height:1.75;color:var(--b13-muted);margin-top:14px;letter-spacing:0}.blog-v13 .b13-intro>span{display:block;margin-top:21px;color:#68716f;font-size:11px;line-height:1.6}
.blog-v13 .b13-editorial{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:28px;align-items:stretch}
.blog-v13 .b13-feature{min-width:0;overflow:hidden;border-radius:18px;border:1px solid #d9dbd3;background:#fff;box-shadow:0 12px 34px #20282c07}
.blog-v13 .b13-feature>a{display:flex;flex-direction:column;height:100%}.blog-v13 .b13-feature-photo{position:relative;height:clamp(260px,29vw,390px);overflow:hidden;background:#e5e5dc}.blog-v13 .b13-image{display:block;width:100%;height:100%;padding:0;object-fit:cover;max-height:none;filter:none;transition:transform .35s ease}
.blog-v13 .b13-feature-badge{position:absolute;left:24px;top:23px;border:1px solid #fff9;border-radius:6px;padding:8px 11px;background:#fbf9f2ed;color:#303b3c;font-size:10px;font-weight:750;letter-spacing:.04em;line-height:1.4}
.blog-v13 .b13-feature-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:28px 32px 30px}.blog-v13 .b13-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-size:10px;line-height:1.5}.blog-v13 .b13-meta>span:first-child{color:var(--b13-accent);font-weight:750}.blog-v13 .b13-meta>span:last-child{color:#73807d;white-space:nowrap}.blog-v13 .b13-feature-copy h2{max-width:27ch;font-size:clamp(26px,2.7vw,37px);line-height:1.1;letter-spacing:-.038em;margin:17px 0 13px}.blog-v13 .b13-feature-copy>p{font-size:15px;line-height:1.7;color:var(--b13-muted);margin:0 0 22px;max-width:65ch}
.blog-v13 .b13-read{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:44px;padding-top:12px;border-top:1px solid #e0e3db;margin-top:auto;font-size:12px;font-weight:700;line-height:1.5}.blog-v13 .b13-read svg{flex-shrink:0;color:var(--b13-accent)}
.blog-v13 .b13-picks{display:flex;flex-direction:column;min-width:0;border-radius:18px;border:1px solid #d9d9d0;background:#efeee7;padding:28px}.blog-v13 .b13-small-index{font-size:9px;line-height:1.5;letter-spacing:.11em;font-weight:750;color:var(--b13-accent)}.blog-v13 .b13-picks-heading{padding-bottom:25px}.blog-v13 .b13-picks-heading h2{font-size:clamp(27px,3vw,40px);line-height:1.09;letter-spacing:-.04em;margin:14px 0 0}.blog-v13 .b13-pick{padding-top:20px;margin-top:auto;border-top:1px solid #d0d3ca}.blog-v13 .b13-pick+.b13-pick{margin-top:20px}.blog-v13 .b13-pick>a{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;min-height:124px}.blog-v13 .b13-pick-photo{height:100px;overflow:hidden;border-radius:9px;background:#d9dcd3}.blog-v13 .b13-pick a>div:last-child{display:flex;flex-direction:column;align-items:flex-start;padding-bottom:8px}.blog-v13 .b13-pick span{color:#697472;font-size:9px;line-height:1.5}.blog-v13 .b13-pick h3{font-size:17px;font-weight:650;line-height:1.23;letter-spacing:-.025em;margin:7px 0 10px}.blog-v13 .b13-pick svg{margin-top:auto;color:var(--b13-accent)}
.blog-v13 .b13-library{padding:64px 0 76px;background:#fff;border-block:1px solid #e0e1d9}.blog-v13 .b13-library-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:29px}.blog-v13 .b13-library h2{font-size:clamp(31px,3.1vw,43px);line-height:1.1;letter-spacing:-.04em;margin:0}.blog-v13 .b13-search{width:min(100%,340px);flex:0 0 auto}.blog-v13 .b13-search label{display:block;margin-bottom:9px;font-size:12px;font-weight:650;color:#566364}.blog-v13 .b13-search>div{display:flex;align-items:center;border:1px solid #bbc3bb;border-radius:9px;background:#f7f8f3;padding-left:14px}.blog-v13 .b13-search svg{color:#6a7774;flex:0 0 20px}.blog-v13 .b13-search input{width:100%;min-width:0;min-height:49px;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:var(--b13-ink);font-size:16px;line-height:1.4}.blog-v13 .b13-search input::placeholder{color:#7a8480;font-size:13px}.blog-v13 .b13-search>div:focus-within{border-color:var(--b13-accent);box-shadow:0 0 0 3px #bd3a2012}.blog-v13 .b13-search input:focus{outline:0}
.blog-v13 .b13-filter-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;padding-block:17px;border-block:1px solid #e4e5de}.blog-v13 .b13-filters{display:flex;gap:7px;flex-wrap:wrap}.blog-v13 .b13-filters button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid #d7ddd4;border-radius:25px;background:#fff;color:#4e5c5b;cursor:pointer;font-size:11px;font-weight:650;line-height:1.4}.blog-v13 .b13-filters button span{color:#819088;font-size:10px;font-weight:500}.blog-v13 .b13-filters button[aria-pressed="true"]{color:#fff;border-color:#283431;background:#283431}.blog-v13 .b13-filters button[aria-pressed="true"] span{color:#c7d4ca}.blog-v13 .b13-results{flex-shrink:0;min-width:92px;color:#728078;font-size:11px;line-height:1.5;margin:0;text-align:right;font-variant-numeric:tabular-nums}
.blog-v13 .b13-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 25px}.blog-v13 .b13-card{min-width:0;border:1px solid #dce1d7;border-radius:13px;background:#fff;overflow:hidden;transition:box-shadow .2s,border-color .2s}.blog-v13 .b13-card-link{display:flex;flex-direction:column;height:100%}.blog-v13 .b13-card-photo{aspect-ratio:16/10;width:100%;overflow:hidden;background:#e8ebe2}.blog-v13 .b13-card-copy{display:flex;flex-direction:column;flex:1;padding:22px 22px 18px}.blog-v13 .b13-card h3{margin:15px 0 11px;font-size:22px;font-weight:650;line-height:1.18;letter-spacing:-.028em;min-height:3.55em;text-wrap:balance}.blog-v13 .b13-card-copy>p{font-size:13px;line-height:1.7;color:var(--b13-muted);margin:0 0 23px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-v13 .b13-card .b13-read{font-size:11px;min-height:42px;padding-top:12px}
.blog-v13 .b13-empty{padding:48px 25px;text-align:center;border:1px dashed #cbd2c8;border-radius:14px;background:#f8f9f4}.blog-v13 .b13-empty h3{font-size:25px;line-height:1.25;margin:0 0 12px}.blog-v13 .b13-empty p{font-size:14px;color:var(--b13-muted);line-height:1.7;margin:0 0 20px}.blog-v13 .b13-empty button{display:inline-flex;align-items:center;gap:13px;min-height:48px;padding:10px 18px;border:1px solid #bd3a20;border-radius:7px;background:#fff;color:#a33119;font-size:13px;font-weight:700;cursor:pointer}
.blog-v13 .b13-next{padding:58px 0;background:#efeee7}.blog-v13 .b13-next-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.blog-v13 .b13-next h2{font-size:clamp(32px,3.5vw,46px);line-height:1.08;letter-spacing:-.04em;margin:0 0 16px}.blog-v13 .b13-next p:not(.eyebrow){max-width:45ch;font-size:15px;line-height:1.7;color:var(--b13-muted);margin:0}.blog-v13 .b13-next a{display:inline-flex;align-items:center;justify-content:center;gap:40px;min-height:56px;padding:14px 25px;border-radius:8px;background:var(--b13-accent);color:#fff;font-size:14px;font-weight:700}
@media(hover:hover){.blog-v13 .b13-card:hover{border-color:#b8c4b6;box-shadow:0 12px 27px #25352b12}.blog-v13 .b13-card-link:hover .b13-image,.blog-v13 .b13-feature>a:hover .b13-image,.blog-v13 .b13-pick>a:hover .b13-image{transform:scale(1.025)}.blog-v13 .b13-filters button:hover{border-color:#8c9d89}.blog-v13 .b13-next a:hover{background:#9b2e19}}
@media(max-width:1100px){.blog-v13 .b13-editorial{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:20px}.blog-v13 .b13-picks{padding:24px}.blog-v13 .b13-pick>a{grid-template-columns:80px minmax(0,1fr);gap:13px}.blog-v13 .b13-pick-photo{height:86px}.blog-v13 .b13-pick h3{font-size:16px}.blog-v13 .b13-feature-copy{padding:25px}.blog-v13 .b13-card-copy{padding:20px 19px 17px}.blog-v13 .b13-meta{font-size:9px}.blog-v13 .b13-card h3{font-size:21px}}
@media(max-width:1000px){.blog-v13 .b13-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.blog-v13 .b13-filter-bar{align-items:flex-start}.blog-v13 .b13-results{padding-top:13px}.blog-v13 .b13-heading{gap:35px}.blog-v13 .b13-search{width:300px}}
@media(max-width:760px){.blog-v13 .b13-opening{padding:24px 0 38px}.blog-v13 .b13-heading{grid-template-columns:1fr;margin:29px 0 30px;gap:23px}.blog-v13 h1{font-size:clamp(34px,7.8vw,49px)}.blog-v13 h1 em{margin-top:13px;font-size:clamp(23px,5.1vw,30px)}.blog-v13 .b13-intro>p{font-size:18px}.blog-v13 .b13-intro>p+p{font-size:14px;margin-top:10px}.blog-v13 .b13-intro>span{margin-top:14px}.blog-v13 .b13-editorial{grid-template-columns:1fr;gap:19px}.blog-v13 .b13-feature-photo{height:auto;aspect-ratio:16/10}.blog-v13 .b13-feature-copy{padding:24px}.blog-v13 .b13-feature-copy h2{font-size:28px}.blog-v13 .b13-feature-copy>p{font-size:14px}.blog-v13 .b13-picks{padding:23px}.blog-v13 .b13-picks-heading{padding-bottom:19px}.blog-v13 .b13-picks-heading h2{font-size:27px;margin-top:10px}.blog-v13 .b13-picks-heading h2 br{display:none}.blog-v13 .b13-picks-heading h2 br:after{content:' '}.blog-v13 .b13-pick>a{grid-template-columns:105px minmax(0,1fr);gap:17px;min-height:105px}.blog-v13 .b13-pick-photo{height:98px}.blog-v13 .b13-pick h3{font-size:18px}.blog-v13 .b13-pick+.b13-pick{margin-top:17px}.blog-v13 .b13-library{padding:39px 0 48px}.blog-v13 .b13-library-head{align-items:flex-start;flex-direction:column;gap:23px;margin-bottom:23px}.blog-v13 .b13-library h2{font-size:33px}.blog-v13 .b13-search{width:100%;max-width:none}.blog-v13 .b13-filter-bar{flex-direction:column;gap:12px;padding-block:17px;margin-bottom:23px}.blog-v13 .b13-filters{gap:7px}.blog-v13 .b13-filters button{font-size:11px;padding-inline:11px}.blog-v13 .b13-results{padding-top:0;text-align:left}.blog-v13 .b13-grid{gap:20px}.blog-v13 .b13-card h3{font-size:22px}.blog-v13 .b13-next{padding:38px 0 47px}.blog-v13 .b13-next-inner{flex-direction:column;align-items:flex-start;gap:25px}.blog-v13 .b13-next a{width:100%;justify-content:space-between;min-height:53px}.blog-v13 .b13-next h2{font-size:34px}}
@media(max-width:600px){.blog-v13 .b13-grid{grid-template-columns:1fr;gap:24px}.blog-v13 .b13-card-copy{padding:22px 22px 18px}.blog-v13 .b13-card h3{min-height:0;font-size:24px;max-width:27ch}.blog-v13 .b13-card-copy>p{-webkit-line-clamp:3}.blog-v13 .b13-card-photo{aspect-ratio:16/10}.blog-v13 .b13-meta{font-size:10px}.blog-v13 .b13-feature-badge{top:16px;left:17px;font-size:9px}.blog-v13 .b13-feature-copy{padding:22px}.blog-v13 .b13-feature-copy h2{font-size:27px}.blog-v13 .b13-picks-heading h2{font-size:25px}.blog-v13 .b13-pick h3{font-size:17px}.blog-v13 .b13-picks{padding:22px}.blog-v13 .b13-pick>a{grid-template-columns:86px minmax(0,1fr);gap:15px}}
@media(max-width:380px){.blog-v13 .b13-card-copy,.blog-v13 .b13-feature-copy{padding:21px 18px 18px}.blog-v13 .b13-picks{padding:20px 18px}.blog-v13 .b13-pick>a{grid-template-columns:76px minmax(0,1fr);gap:13px}.blog-v13 .b13-pick-photo{height:87px}.blog-v13 .b13-pick h3{font-size:16px}.blog-v13 .b13-library h2{font-size:30px}.blog-v13 .b13-filters button{padding-inline:10px;font-size:10px}.blog-v13 .b13-feature-copy h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.blog-v13 .b13-image,.blog-v13 .b13-card{transition:none}.blog-v13 .b13-image{transform:none!important}}

/* Reading layout only: existing article content, figures and URLs stay intact. */
body[data-page-kind="article"] .page-hero{padding-bottom:54px;background:radial-gradient(ellipse at 90% 0%,#ede1d64d,transparent 58%),#f7f6f2;border-bottom:1px solid #deded6}
body[data-page-kind="article"] .page-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(30px,5vw,66px);align-items:center;padding-top:24px}
body[data-page-kind="article"] .page-hero h1{max-width:22ch;font-size:clamp(35px,4vw,55px);font-weight:700;line-height:1.08;letter-spacing:-.043em;overflow-wrap:normal}
body[data-page-kind="article"] .page-hero .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:18px;color:#b2391f}
body[data-page-kind="article"] .page-hero .lead{font-size:17px;line-height:1.75;max-width:55ch;margin-top:23px;color:#586366}
body[data-page-kind="article"] .article-meta{border-top:1px solid #d8ddd3;padding-top:16px;margin-top:23px;max-width:52ch;font-size:11px;line-height:1.7;color:#6d7c75}
body[data-page-kind="article"] .page-hero-image{margin:0;border:1px solid #d5dbd0;border-radius:16px;background:#fff;box-shadow:0 14px 37px #25332a0a}
body[data-page-kind="article"] .page-hero-image>img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;padding:0;background:#fff}
body[data-page-kind="article"] .page-hero-image .hero-caption{padding:15px 20px;font-size:11px;line-height:1.65;color:#68746c;background:#fff;border-top:1px solid #e3e5dd}
body[data-page-kind="article"] .content-layout{grid-template-columns:minmax(0,760px) minmax(240px,280px);gap:clamp(36px,5vw,70px)}
body[data-page-kind="article"] .content-layout .prose{max-width:760px;font-size:17px;line-height:1.85}
body[data-page-kind="article"] .prose .v6-reading-section{padding-top:30px;margin-bottom:45px;border-top:1px solid #cfd8cb}
body[data-page-kind="article"] .prose .v6-reading-section:first-child{padding-top:0;border-top:0}
body[data-page-kind="article"] .prose .v6-reading-index{font-size:10px;font-weight:750;color:#b33a21;letter-spacing:.12em;margin-bottom:14px}
body[data-page-kind="article"] .prose .v6-reading-section>h2{max-width:30ch;font-size:clamp(27px,2.7vw,35px);line-height:1.17;letter-spacing:-.03em;margin:0 0 21px;scroll-margin-top:110px}
body[data-page-kind="article"] .prose p{font-size:17px;line-height:1.87;color:#46534f;margin-bottom:22px}
body[data-page-kind="article"] .prose h3{font-size:23px;line-height:1.28;letter-spacing:-.02em}
body[data-page-kind="article"] .prose li{font-size:16px;line-height:1.75;margin-bottom:11px;padding-left:4px;color:#4f5d56}
body[data-page-kind="article"] .prose li::marker{color:#b83b20}
body[data-page-kind="article"] .prose a{color:#a9331d;text-decoration-thickness:1px;text-underline-offset:4px}
body[data-page-kind="article"] .prose figure{margin:33px 0;border:1px solid #dce1d6;border-radius:12px;overflow:hidden;background:#fff}
body[data-page-kind="article"] .prose figure img{width:100%;height:auto;max-height:none;object-fit:contain;margin:0;padding:0;background:#fff}
body[data-page-kind="article"] .prose figure figcaption{padding:14px 19px;font-size:11px;line-height:1.65;text-align:left;background:#f5f6ef;color:#637365}
body[data-page-kind="article"] .prose blockquote{margin:28px 0;padding:24px 27px;background:#efeee6;border-left:3px solid #bb3a20;border-radius:0 12px 12px 0;color:#425048;font-size:17px;line-height:1.8}
body[data-page-kind="article"] .aside{top:104px;gap:16px;max-height:calc(100vh - 124px);overflow-y:auto;scrollbar-width:thin;padding:0 3px 8px 0}
body[data-page-kind="article"] .aside-box{padding:23px;border:1px solid #dce0d5;border-radius:12px;background:#fafbf6}
body[data-page-kind="article"] .aside-box h2{font-size:16px;line-height:1.3;margin-bottom:13px;letter-spacing:-.015em}
body[data-page-kind="article"] .aside-box:first-child>a{padding:11px 0;border-top:1px solid #e4e8dd;font-size:12px;line-height:1.55;color:#536256}
body[data-page-kind="article"] .aside-box:first-child>a:first-of-type{border-top:0}
body[data-page-kind="article"] .aside-box a:not(.btn):hover{color:#ab361d}
body[data-page-kind="article"] .aside-box.dark{border-color:#25302b;background:#25302b;color:#fff}
body[data-page-kind="article"] .aside-box.dark p{color:#ced9cf;font-size:13px;line-height:1.75}
body[data-page-kind="article"] .aside-box.dark h2{font-size:22px;line-height:1.18;letter-spacing:-.025em}
body[data-page-kind="article"] .aside-box .btn{min-height:48px;font-size:12px;border-radius:7px}
body[data-page-kind="article"] .article-grid{gap:24px;align-items:stretch}
body[data-page-kind="article"] .article-card{border-color:#dce1d6;border-radius:12px;gap:13px;padding-bottom:21px;background:#fff}
body[data-page-kind="article"] .article-card img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;padding:0;margin:0;background:#e7e9e0}
body[data-page-kind="article"] .article-card h3{font-size:22px;line-height:1.2;letter-spacing:-.025em}
body[data-page-kind="article"] .article-card p{font-size:13px;line-height:1.7}
body[data-page-kind="article"] .article-card .card-link{min-height:44px;padding-top:13px;font-size:11px}
@media(max-width:1000px){body[data-page-kind="article"] .content-layout{grid-template-columns:minmax(0,1fr);gap:28px}body[data-page-kind="article"] .content-layout .prose{max-width:760px;margin-inline:auto;width:100%}body[data-page-kind="article"] .aside{position:static;max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}body[data-page-kind="article"] .aside-box:first-child{grid-column:1/-1}body[data-page-kind="article"] .aside-box:first-child>a{display:block;min-height:44px}}
@media(max-width:760px){body[data-page-kind="article"] .page-hero{padding-block:23px 37px}body[data-page-kind="article"] .page-hero-grid{grid-template-columns:1fr;gap:26px;padding-top:16px}body[data-page-kind="article"] .page-hero h1{max-width:none;font-size:clamp(32px,8.5vw,44px);line-height:1.1}body[data-page-kind="article"] .page-hero .lead{font-size:16px;line-height:1.75;margin-top:19px}body[data-page-kind="article"] .article-meta{font-size:10px;margin-top:19px;padding-top:14px}body[data-page-kind="article"] .page-hero-image .hero-caption{padding:13px 16px;font-size:10px}body[data-page-kind="article"] .prose .v6-reading-section{padding-top:25px;margin-bottom:32px}body[data-page-kind="article"] .prose .v6-reading-section>h2{font-size:27px;line-height:1.19;margin-bottom:18px}body[data-page-kind="article"] .prose p{font-size:16px;line-height:1.85;margin-bottom:20px}body[data-page-kind="article"] .prose li{font-size:15px;line-height:1.75}body[data-page-kind="article"] .prose figure{margin-block:27px}body[data-page-kind="article"] .prose figure figcaption{font-size:10px;padding:12px 15px}body[data-page-kind="article"] .prose blockquote{padding:20px 22px;font-size:16px}body[data-page-kind="article"] .aside{grid-template-columns:1fr}body[data-page-kind="article"] .aside-box:first-child{grid-column:auto}body[data-page-kind="article"] .aside-box{padding:21px}body[data-page-kind="article"] .article-card h3{font-size:23px}}
@media(max-width:380px){body[data-page-kind="article"] .page-hero h1{font-size:31px}body[data-page-kind="article"] .prose .v6-reading-section>h2{font-size:25px}body[data-page-kind="article"] .prose h3{font-size:21px}}
@media print{body[data-page-kind="article"] .aside{display:none!important}body[data-page-kind="article"] .content-layout{display:block}body[data-page-kind="article"] .prose figure img{max-height:300px}}

/* City directory and service pages. Load after build-v12 site.css. */
.city-v13-directory{background:var(--paper);padding:clamp(24px,4vw,56px) 0 var(--space-section)}
.city-v13-highlights{padding:var(--space-section) 0;background:var(--surface)}
.city-v13-home-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.city-v13-more{display:inline-flex;gap:8px;align-items:center;margin-top:22px;color:var(--ink);font-weight:750;text-decoration:none}
.city-v13-more:hover{color:var(--accent-hover)}
.city-v13-directory-head{padding:clamp(36px,6vw,74px) 0 28px;background:var(--graphite);color:var(--paper)}
.city-v13-directory-head .crumbs,.city-v13-hero .crumbs{margin-bottom:clamp(22px,3vw,40px)}
.city-v13-directory-head .eyebrow,.city-v13-hero .eyebrow{margin-bottom:12px;color:#f3a28e;font-size:.76rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}
.city-v13-directory-head h1{max-width:17ch;margin-bottom:18px}
.city-v13-directory-head .lead{max-width:72ch;color:#e6e2dc}
.city-v13-tools{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:18px;margin:30px 0 22px;padding:20px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.city-v13-search{display:grid;gap:7px;max-width:560px}
.city-v13-search label{font-size:.84rem;font-weight:700}
.city-v13-search input{width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:white}
.city-v13-count{align-self:center;color:var(--muted);font-size:.9rem;font-weight:650}
.city-v13-oblast-nav{display:flex;gap:8px;overflow:auto;padding:2px 2px 12px;scrollbar-width:thin;scroll-snap-type:x proximity}
.city-v13-oblast-nav a{flex:0 0 auto;scroll-snap-align:start;padding:8px 12px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-size:.82rem;font-weight:650}
.city-v13-oblast-nav a:hover{border-color:var(--accent);color:var(--accent-hover)}
.city-v13-groups{display:grid;gap:22px;margin-top:8px}
.city-v13-region{scroll-margin-top:100px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.city-v13-region-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:20px 22px 17px;border-bottom:1px solid var(--line)}
.city-v13-region-head .eyebrow{margin-bottom:5px;color:var(--accent);font-size:.7rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.city-v13-region-head h2{font-size:clamp(1.25rem,2.2vw,1.8rem)}
.city-v13-region-count{flex:none;color:var(--muted);font-size:.84rem}
.city-v13-town-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px}
.city-v13-card{position:relative;display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.city-v13-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:0 10px 22px rgb(30 36 40 / 10%);color:var(--ink)}
.city-v13-card:focus-visible{z-index:1}
.city-v13-card-media{position:relative;display:block;aspect-ratio:1.6/1;overflow:hidden;background:#e8e5dd}
.city-v13-card-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%;transition:transform .25s ease}
.city-v13-card:hover .city-v13-card-media img{transform:scale(1.025)}
.city-v13-card-photo-label{position:absolute;right:8px;bottom:8px;padding:4px 7px;background:rgb(30 36 40 / 86%);color:white;font-size:.65rem;font-weight:700;letter-spacing:.03em}
.city-v13-card-body{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:54px;padding:10px 12px}
.city-v13-card-body strong{font-size:.92rem;line-height:1.25}
.city-v13-card-arrow{flex:none;color:var(--accent);font-size:1.05rem}
.city-v13-no-results{margin-top:18px;padding:24px;border:1px dashed var(--line-strong);background:var(--surface);color:var(--muted)}
.city-v13-directory-foot{margin-top:24px;padding:20px;border-left:4px solid var(--accent);background:var(--surface-muted)}
.city-v13-directory-foot h2{margin-bottom:7px;font-size:1.2rem}
.city-v13-directory-foot p{max-width:75ch;color:var(--muted)}

.city-v13-hero{padding:24px 0 clamp(40px,5vw,68px);background:var(--paper);color:var(--ink)}
.city-v13-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(320px,.78fr);align-items:center;gap:clamp(28px,5vw,76px)}
.city-v13-hero-copy h1{max-width:21ch;margin:0 0 18px;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.08}
.city-v13-hero-copy .lead{max-width:65ch;color:#4f5c60}
.city-v13-hero .eyebrow{color:var(--accent)}
.city-v13-hero .city-v13-region-tag{color:var(--muted);border-color:var(--line)}
.city-v13-hero .city-v13-proofline span{color:var(--muted);border-color:var(--line)}
.city-v13-directory-head .crumbs,.city-v13-directory-head .crumbs a{color:#e6e2dc}
.city-v13-region-tag{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:7px 10px;border:1px solid rgb(255 255 255 / 22%);color:#efe6df;font-size:.76rem;font-weight:650}
.city-v13-region-tag::before{width:7px;height:7px;border-radius:50%;background:var(--accent);content:""}
.city-v13-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.city-v13-actions .btn{min-height:46px}
.city-v13-proofline{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.city-v13-proofline span{padding:7px 9px;border:1px solid rgb(255 255 255 / 18%);color:#e5e1db;font-size:.74rem}
.city-v13-figure{min-width:0;max-width:100%;margin:0;background:var(--surface-muted);color:var(--ink);box-shadow:0 24px 52px rgb(0 0 0 / 20%)}
.city-v13-figure img{width:100%;height:auto;max-height:760px;object-fit:contain;background:transparent}
.city-v13-figure figcaption{padding:11px 13px 13px;color:#555b5d;font-size:.75rem;line-height:1.5}
.city-v13-figure figcaption a{color:var(--ink);font-weight:650}
.city-v13-figure figcaption .city-v13-photo-type{display:block;margin-bottom:4px;color:var(--accent-hover);font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.city-v13-no-photo{min-height:150px}
.city-v13-anchor-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.city-v13-anchor-nav a{padding:8px 11px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-size:.8rem;font-weight:650}
.city-v13-anchor-nav a:hover{border-color:var(--accent);color:var(--accent-hover)}
.city-v13-section{padding:clamp(44px,6vw,76px) 0}
.city-v13-section--white{background:var(--surface)}
.city-v13-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:end;gap:28px;margin-bottom:26px}
.city-v13-section-head .eyebrow{margin-bottom:8px;color:var(--accent);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.city-v13-section-head h2{max-width:25ch}
.city-v13-section-head p{max-width:56ch;color:var(--muted)}
.city-v13-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.city-v13-process-card{min-height:220px;padding:17px;border:1px solid var(--line);background:var(--paper)}
.city-v13-step{display:grid;place-items:center;width:34px;height:34px;margin-bottom:20px;background:var(--graphite);color:white;font-size:.78rem;font-weight:800}
.city-v13-process-card h3{margin-bottom:9px;font-size:1.08rem}
.city-v13-process-card p{color:var(--muted);font-size:.88rem;line-height:1.55}
.city-v13-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(28px,5vw,70px);align-items:start}
.city-v13-copy{max-width:78ch}
.city-v13-copy h2{margin:34px 0 12px;font-size:clamp(1.45rem,2.6vw,2rem)}
.city-v13-copy h2:first-child{margin-top:0}
.city-v13-copy p,.city-v13-copy li{color:#4f5557}
.city-v13-copy ul{padding-left:1.2em}
.city-v13-copy li+li{margin-top:7px}
.city-v13-price-panel{position:sticky;top:100px;padding:22px;background:var(--graphite);color:var(--paper)}
.city-v13-price-panel .eyebrow{margin-bottom:8px;color:#f3a28e;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.city-v13-price-panel h2{margin-bottom:12px;font-size:1.35rem}
.city-v13-price-panel p{color:#dedad4;font-size:.9rem}
.city-v13-price-panel a{display:inline-flex;margin-top:16px;padding:10px 13px;background:var(--accent);color:white;text-decoration:none;font-size:.86rem;font-weight:750}
.city-v13-price-panel a:hover{background:var(--accent-hover)}
.city-v13-factor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0;padding:0;list-style:none}
.city-v13-factor-grid li{padding:13px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.88rem}
.city-v13-factor-grid strong{display:block;margin-bottom:4px}
.city-v13-project-note{margin:0 0 20px;padding:14px 16px;border-left:4px solid var(--accent);background:var(--surface-muted);color:var(--muted);font-size:.9rem}
.city-v13-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.city-v13-neighbors{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.city-v13-neighbors a{padding:8px 11px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-size:.84rem;font-weight:650}
.city-v13-faq{display:grid;gap:9px;max-width:850px}
.city-v13-faq details{border:1px solid var(--line);background:var(--surface)}
.city-v13-faq summary{position:relative;padding:15px 46px 15px 17px;font-weight:700;cursor:pointer;list-style:none}
.city-v13-faq summary::-webkit-details-marker{display:none}
.city-v13-faq summary::after{position:absolute;right:17px;top:12px;color:var(--accent);font-size:1.25rem;content:"+"}
.city-v13-faq details[open] summary::after{content:"−"}
.city-v13-faq details p{padding:0 17px 17px;color:var(--muted)}
.city-v13-close{background:var(--accent);color:white}
.city-v13-close .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.city-v13-close h2{max-width:23ch;margin-bottom:8px;font-size:clamp(1.5rem,3vw,2.3rem)}
.city-v13-close p{max-width:62ch;color:rgb(255 255 255 / 87%)}
.city-v13-close .btn{flex:none;background:var(--graphite);border-color:var(--graphite);color:white}
.city-v13-close .btn:hover{background:#111619}

@media(max-width:1050px){.city-v13-town-grid,.city-v13-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.city-v13-process{grid-template-columns:repeat(3,minmax(0,1fr))}.city-v13-content-grid{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:760px){.city-v13-directory-head{padding-top:30px}.city-v13-tools{grid-template-columns:1fr;gap:8px;padding:14px}.city-v13-count{justify-self:start}.city-v13-region-head{align-items:start;padding:16px}.city-v13-town-grid,.city-v13-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}.city-v13-card-body{min-height:48px;padding:9px}.city-v13-card-body strong{font-size:.84rem}.city-v13-card-photo-label{font-size:.6rem}.city-v13-hero-grid{grid-template-columns:1fr;gap:26px}.city-v13-hero-copy h1{max-width:17ch}.city-v13-figure{max-width:600px}.city-v13-figure img{max-height:680px}.city-v13-section-head{grid-template-columns:1fr;gap:12px}.city-v13-process{grid-template-columns:repeat(2,minmax(0,1fr))}.city-v13-process-card{min-height:190px;padding:14px}.city-v13-content-grid{grid-template-columns:1fr}.city-v13-price-panel{position:static;order:-1}.city-v13-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.city-v13-close .wrap{align-items:start;flex-direction:column}}
@media(max-width:420px){.city-v13-town-grid,.city-v13-home-grid{grid-template-columns:1fr}.city-v13-card{grid-template-columns:92px minmax(0,1fr);grid-template-rows:1fr;min-height:86px}.city-v13-card-media{grid-row:1;grid-column:1;aspect-ratio:1/1;height:100%}.city-v13-card-media img{height:100%;object-fit:cover}.city-v13-card-body{grid-row:1;grid-column:2;min-height:0;padding:10px}.city-v13-card-photo-label{right:4px;bottom:4px;padding:3px 4px;font-size:.5rem}.city-v13-process{grid-template-columns:1fr}.city-v13-process-card{min-height:0}.city-v13-project-grid{grid-template-columns:1fr}.city-v13-factor-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.city-v13-card,.city-v13-card-media img{transition:none}.city-v13-card:hover{transform:none}.city-v13-card:hover .city-v13-card-media img{transform:none}}

/* Photo-led city service flow and supporting sections. */
.city-v13-section{padding:var(--space-section) 0}
.city-v13-process{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.city-v13-process-card{min-height:0;padding:16px;border-radius:var(--radius);box-shadow:var(--shadow-soft)}
.city-v13-process-card .city-v13-step{margin-bottom:12px;border-radius:50%;background:var(--accent);color:var(--white)}
.city-v13-stage-figure{display:grid;grid-template-rows:1fr auto;gap:8px;min-width:0;margin:0 0 15px}
.city-v13-stage-image{display:block;width:100%;height:190px;aspect-ratio:4/3;object-fit:cover;object-position:center;background:transparent;border-radius:10px}
.city-v13-stage-figure figcaption{min-height:2.5em;color:var(--muted);font-size:.75rem;line-height:1.4}
.city-v13-process-card h3{min-height:2.25em}
.city-v13-aside-visual{display:grid;align-content:start;gap:16px;min-width:0}
.city-v13-aside-visual .city-v13-stage-figure{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-soft)}
.city-v13-aside-visual .city-v13-stage-image{height:auto;max-height:none;aspect-ratio:auto;object-fit:initial}
.city-v13-aside-visual .city-v13-price-panel{position:static}
.city-v13-measure-grid{grid-template-columns:minmax(0,1fr) minmax(270px,.65fr);align-items:center}
.city-v13-price-link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}
.city-v13-price-link span{display:grid;gap:5px}
.city-v13-price-link strong{font-size:1.02rem}
.city-v13-price-link small{color:var(--muted);font-size:.88rem}
.city-v13-price-link .btn{flex:none;text-decoration:none}
@media(max-width:1050px){.city-v13-process{grid-template-columns:repeat(2,minmax(0,1fr))}.city-v13-measure-grid{grid-template-columns:minmax(0,1fr) minmax(240px,.7fr)}}
@media(max-width:760px){.city-v13-process{grid-template-columns:repeat(2,minmax(0,1fr))}.city-v13-stage-image{height:clamp(150px,38vw,210px)}.city-v13-aside-visual{grid-template-columns:1fr;align-items:stretch}.city-v13-aside-visual .city-v13-price-panel{padding:18px}.city-v13-measure-grid{grid-template-columns:1fr}.city-v13-measure-grid .city-v13-aside-visual{max-width:540px}.city-v13-price-link{align-items:flex-start;flex-direction:column}.city-v13-price-link .btn{width:100%;justify-content:center}}
@media(max-width:480px){.city-v13-process{grid-template-columns:1fr}.city-v13-process-card{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:12px;align-items:start}.city-v13-process-card .city-v13-step{grid-column:1;grid-row:1;margin:0}.city-v13-process-card .city-v13-stage-figure{grid-column:1 / -1;grid-row:2;margin:0 0 12px}.city-v13-process-card h3{grid-column:2;grid-row:1;min-height:0;margin-top:3px}.city-v13-process-card p{grid-column:1 / -1;grid-row:3}.city-v13-stage-image{height:220px}.city-v13-aside-visual{grid-template-columns:1fr}.city-v13-price-link{padding:16px}}
.city-v13-process-card .city-v13-stage-image{height:auto;aspect-ratio:1;object-fit:cover}.city-v13-process-card img[src$=".svg"]{object-fit:contain;background:#f6f4ee}.city-v13-process-card{border-radius:16px}.city-v13-region,.city-v13-card,.city-v13-tools{border-radius:14px}

/* V13: real installation scene, readable glass form, local file previews. */
.contact-v13 .c12-inquiry{position:relative;isolation:isolate;overflow:hidden;background:#293a43;border:0;padding-block:76px 84px}
.contact-v13 .c13-inquiry-scene{position:absolute;inset:0;z-index:-2;pointer-events:none}
.contact-v13 .c13-inquiry-scene img{width:100%;height:100%;object-fit:cover;object-position:73% 42%;opacity:.66;filter:blur(7px)}
.contact-v13 .c12-inquiry:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111e29d9 0%,#15222f9c 37%,#23333e24 69%,#15222f38 100%);pointer-events:none}
.contact-v13 .c12-inquiry-grid{gap:clamp(35px,6vw,90px);align-items:start}
.contact-v13 .c12-inquiry-copy{padding-top:28px;color:#fff}
.contact-v13 .c12-inquiry-copy .eyebrow{color:#ffd0ba}
.contact-v13 .c12-inquiry-copy h2{color:#fff;max-width:17ch;text-shadow:0 2px 20px #111e2955}
.contact-v13 .c12-inquiry-copy>p:not(.eyebrow),.contact-v13 .c12-preparation p{color:#ecf0f0}
.contact-v13 .c12-preparation li{border-color:#ffffff40}
.contact-v13 .c12-preparation li>span,.contact-v13 .c12-work-link span{color:#ffd0ba}
.contact-v13 .c12-work-link{color:#fff;border-color:#ffffff6b}
.contact-v13 form.contact-form{background:rgb(255 254 249 / 88%)!important;border:1px solid #ffffffc9!important;border-radius:20px!important;box-shadow:0 22px 65px #101d2e29;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.contact-v13 form.contact-form .field input:not([type="file"]):not([type="hidden"]),.contact-v13 form.contact-form .field select,.contact-v13 form.contact-form .field textarea{border-radius:8px!important}
.contact-v13 .c13-contact-proof{margin:27px 0 26px;overflow:hidden;border:1px solid #ffffff54;border-radius:13px;background:#23333d;box-shadow:0 12px 30px #101d2e26}
.contact-v13 .c13-contact-proof img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:800/593;object-fit:contain;filter:none;opacity:1}
.contact-v13 .c13-contact-proof figcaption{margin:0;padding:11px 14px;background:#192b36;color:#ecf0f0;font-size:11px;line-height:1.55}
.contact-v13 .field input,.contact-v13 .field select,.contact-v13 .field textarea{background:#fffffff0}
.contact-v13 .contact-form .form-note{color:#465259}
.contact-v13 .c13-uploads{min-width:0;max-width:100%;margin:1px 0 0;padding:0;border:0}
.contact-v13 .c13-uploads legend{padding:0;margin-bottom:10px;font-size:13px;font-weight:650}
.contact-v13 .c13-dropzone{padding:23px 18px 19px;border:1px dashed #afb7ae;border-radius:13px;background:#fffaf3a6;text-align:center;transition:background .15s,border-color .15s,box-shadow .15s}
.contact-v13 .c13-dropzone[data-drag-active="true"]{border-color:#bd3a20;background:#fff2e5;box-shadow:0 0 0 3px #bd3a2022}
.contact-v13 .c13-upload-icon{display:block;margin:0 auto 12px;color:#b33b22}
.contact-v13 .c13-upload-title{margin:0 0 16px;font-size:14px;font-weight:650;line-height:1.5;color:#27343a}
.contact-v13 .c13-upload-controls{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:9px}
.contact-v13 .c13-upload-controls input[type="file"]{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.contact-v13 .c13-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 15px;border:1px solid #263238;border-radius:8px;background:#263238;color:#fff;font-size:12px;line-height:1.5;font-weight:650;cursor:pointer}
.contact-v13 .c13-file-button--camera{border-color:#c1b9aa;background:#fffdf8;color:#303e43}
.contact-v13 #attachments:focus-visible~label[for="attachments"],.contact-v13 #c13-camera:focus-visible~label[for="c13-camera"]{outline:3px solid #bd3a20;outline-offset:4px}
.contact-v13 .c13-file-button:hover{background:#3d4c53}
.contact-v13 .c13-file-button--camera:hover{background:#f5eadb}
.contact-v13 .c13-camera-control[hidden]{display:none}
.contact-v13 .c13-upload-controls .form-error{flex-basis:100%;margin-top:3px;text-align:left}
.contact-v13 .c13-upload-hint{margin:13px 0 0;color:#5e696c;font-size:11px;line-height:1.65}
.contact-v13 .c13-upload-list{list-style:none;padding:0;margin:13px 0 0;display:grid;gap:8px}
.contact-v13 .c13-upload-list:empty{display:none}
.contact-v13 .c13-upload-list li{display:flex;min-width:0;align-items:center;gap:11px;padding:9px;border:1px solid #d8ddd6;border-radius:10px;background:#fffffff2}
.contact-v13 .c13-file-thumbnail{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:7px;overflow:hidden;background:#f0eee6;color:#bd3a20;font-size:11px;font-weight:750}
.contact-v13 .c13-file-thumbnail img{width:100%;height:100%;object-fit:cover}
.contact-v13 .c13-file-details{min-width:0;flex:1}
.contact-v13 .c13-file-name{display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.4;color:#25353a}
.contact-v13 .c13-file-size{display:block;margin-top:4px;font-size:11px;line-height:1.4;color:#667277}
.contact-v13 .c13-file-remove{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#98351f;cursor:pointer;font:inherit;font-size:25px;line-height:1}
.contact-v13 .c13-file-remove:hover{background:#faeee6;border-color:#e7cdbf}
.contact-v13 .c13-upload-status{margin:10px 0 0;font-size:12px;line-height:1.6;color:#4b5b60;overflow-wrap:anywhere}
.contact-v13 .c13-upload-status:empty{display:none}
.contact-v13 .c13-upload-status[data-error="true"]{color:#9d2e1d}
.contact-v13 .c13-uploads[aria-busy="true"] .c13-file-button{opacity:.65;cursor:wait}
@media(max-width:760px){.contact-v13 .c12-inquiry{padding-block:40px 50px}.contact-v13 .c12-inquiry-grid{gap:32px}.contact-v13 .c13-inquiry-scene img{object-position:73% 45%}.contact-v13 .c12-inquiry:before{background:linear-gradient(180deg,#13212bd9 0%,#172c3f9c 29%,#24354318 55%,#192b3a45 100%)}.contact-v13 .c12-inquiry-copy{padding-top:0}.contact-v13 .contact-form{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.contact-v13 .c13-dropzone{padding:20px 12px 17px}.contact-v13 .c13-file-button{padding-inline:13px}.contact-v13 .c13-file-thumbnail{width:40px;height:44px;flex-basis:40px}.contact-v13 .c13-upload-list li{gap:8px;padding:7px}}
@media(prefers-reduced-motion:reduce){.contact-v13 .c13-dropzone{transition:none}}
