@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('/assets/fonts/manrope-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Manrope'; font-style: normal; font-weight: 200 800; font-display: swap; src: url('/assets/fonts/manrope-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500 600; font-display: swap; src: url('/assets/fonts/cormorant-garamond-cyrillic-500-600.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500 600; font-display: swap; src: url('/assets/fonts/cormorant-garamond-latin-500-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Noto Sans Hebrew'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('/assets/fonts/noto-sans-hebrew-400-700.woff2') format('woff2'); unicode-range: U+0590-05FF, U+200C-200F, U+25CC, U+FB1D-FB4F; }
@font-face { font-family: 'Frank Ruhl Libre'; font-style: normal; font-weight: 500 600; font-display: swap; src: url('/assets/fonts/frank-ruhl-libre-hebrew-500-600.woff2') format('woff2'); unicode-range: U+0590-05FF, U+200C-200F, U+25CC, U+FB1D-FB4F; }
:root {
  --ivory: #fdf9f4;
  --ivory-deep: #f6eee6;
  --charcoal: #252525;
  --charcoal-soft: #5b5752;
  --bronze: #aa8c4b;
  --bronze-soft: #cdbd9e;
  --line: #ded5cb;
  --line-dark: #b7a994;
  --focus: #8d6c2f;
  --font-display: 'Cormorant Garamond', 'Iowan Old Style', 'Palatino Linotype', 'Book Antiqua', serif;
  --font-ui: 'Manrope', Arial, sans-serif;
  --tracking-body: .012em;
  --page-x: clamp(1.2rem, 5.2vw, 5.75rem);
  --section-y: clamp(4.5rem, 9vw, 9rem);
  --content-max: 1480px;
  --ease-ui-out: cubic-bezier(.23, 1, .32, 1);
  --ease-ui-in-out: cubic-bezier(.77, 0, .175, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ivory); font-synthesis: none; }
body { margin: 0; background: var(--ivory); color: var(--charcoal); font: 400 16px/1.55 var(--font-ui); letter-spacing: var(--tracking-body); text-rendering: optimizeLegibility; }
body.is-dialog-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p, figure, blockquote { margin: 0; }
h1, h2, h3 { font-weight: 400; letter-spacing: normal; text-wrap: balance; }
p { text-wrap: pretty; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 4px;
}

.section-frame { width: min(100%, var(--content-max)); margin-inline: auto; padding-inline: var(--page-x); }
.eyebrow { color: var(--bronze-text); font-size: .8rem; font-weight: 500; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }

.final-header {
  position: sticky;
  z-index: 20;
  top: 0;
  display: grid;
  grid-template-columns: minmax(13rem, 1.1fr) minmax(12rem, .9fr) auto;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 5rem);
  width: min(100%, var(--content-max));
  min-height: 6.25rem;
  margin-inline: auto;
  padding: 1rem var(--page-x);
  border-bottom: 1px solid var(--line);
  background: var(--ivory);
}
.final-brand { width: min(100%, 15rem); }
.final-brand img { width: 100%; height: auto; }
.final-descriptor { max-width: 18rem; padding-top: .25rem; color: var(--charcoal-soft); font-size: .78rem; line-height: 1.45; }
.final-nav { grid-column: 3; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 1.26rem; font-size: .66rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.final-nav a, .final-mobile-nav a { text-decoration: none; }
.final-nav a:hover, .final-mobile-nav a:hover { color: var(--bronze); }
.nav-quote-link, .mobile-quote-link { min-height: 2.45rem; align-items: center; justify-content: center; padding: .65rem .85rem; border: 1px solid var(--charcoal); color: var(--charcoal); font-size: .61rem; font-weight: 700; letter-spacing: .09em; line-height: 1; text-decoration: none; text-transform: uppercase; transition: background-color 180ms var(--ease-ui-out), color 180ms var(--ease-ui-out), border-color 180ms var(--ease-ui-out), transform 180ms var(--ease-ui-out); }
.nav-quote-link:active, .mobile-quote-link:active { transform: scale(.98); }
.nav-quote-link { display: inline-flex; }
.mobile-quote-link { display: none; }
.nav-quote-link:focus-visible, .mobile-quote-link:focus-visible { border-color: var(--charcoal); background: var(--charcoal); color: var(--ivory); }
.locale-link, .mobile-locale-link { display: inline-flex; align-items: center; color: var(--charcoal-soft); font-size: .61rem; font-weight: 700; letter-spacing: .12em; line-height: 1; text-decoration: none; text-transform: uppercase; transition: color 160ms var(--ease-ui-out), text-decoration-color 160ms var(--ease-ui-out); }
.locale-link { justify-content: center; }
.mobile-locale-link { display: none; }
.locale-link:focus-visible, .mobile-locale-link:focus-visible { color: var(--bronze); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .35em; }
@media (hover: hover) and (pointer: fine) {
  .nav-quote-link:hover, .mobile-quote-link:hover { border-color: var(--charcoal); background: var(--charcoal); color: var(--ivory); }
  .locale-link:hover, .mobile-locale-link:hover { color: var(--bronze); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .35em; }
}
.final-menu, .final-mobile-nav { display: none; }

.final-hero { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(16rem, .6fr); gap: clamp(3rem, 9vw, 10rem); padding-top: 5rem; padding-bottom: clamp(5.5rem, 11vw, 11rem); }
.hero-copy { max-width: 62rem; }
.hero-copy h1 { max-width: 17ch; margin-top: 1.7rem; font-family: var(--font-display); font-size: clamp(3.6rem, 6vw, 6.7rem); font-weight: 500; line-height: .92; letter-spacing: -.022em; }
.hero-title-line { display: block; white-space: nowrap; }
.hero-lede { max-width: 36rem; margin-top: 2.5rem; color: var(--charcoal-soft); font-size: clamp(1rem, 1.4vw, 1.25rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2.5rem; }
.button { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; padding: .85rem 1.25rem; border: 1px solid var(--charcoal); font-size: .68rem; font-weight: 700; letter-spacing: .1em; line-height: 1; text-decoration: none; text-transform: uppercase; transition: background-color 180ms var(--ease-ui-out), color 180ms var(--ease-ui-out), border-color 180ms var(--ease-ui-out), transform 180ms var(--ease-ui-out); }
.button:active { transform: scale(.98); }
.button-primary { background: var(--charcoal); color: var(--ivory); }
.button-secondary { background: transparent; color: var(--charcoal); }
@media (hover: hover) and (pointer: fine) {
  .button:hover { transform: translateY(-2px); }
  .button-primary:hover { border-color: var(--bronze); background: var(--bronze); color: var(--ivory); }
  .button-secondary:hover { background: var(--charcoal); color: var(--ivory); }
}
.hero-aside { align-self: end; padding-bottom: .3rem; color: var(--charcoal-soft); font-size: .78rem; }
.hero-rule { width: 100%; height: 1px; margin-bottom: 1.1rem; background: var(--bronze); }
.hero-aside-copy { max-width: 18rem; margin-top: 3rem; color: var(--charcoal); font-family: var(--font-display); font-size: clamp(1.05rem, 1.8vw, 1.6rem); font-weight: 500; line-height: 1.18; letter-spacing: normal; }
.hero-aside .hero-rule:last-of-type { margin-top: 3.8rem; margin-bottom: 1rem; }
.hero-note { max-width: 20rem; font-size: .68rem; line-height: 1.55; }

.capabilities { padding-top: 5rem; padding-bottom: var(--section-y); border-top: 1px solid var(--line); }
.capabilities-heading + .capability-list { margin-top: clamp(1.75rem, 3vw, 3rem); }
.section-heading { display: grid; grid-template-columns: minmax(13rem, .65fr) minmax(0, 1.35fr); column-gap: clamp(2rem, 6vw, 8rem); row-gap: 1.5rem; }
.section-heading .eyebrow { grid-column: 1 / -1; }
.section-heading h2 { max-width: 16ch; font-family: var(--font-display); font-size: clamp(2.25rem, 4.8vw, 5.6rem); font-weight: 500; line-height: .98; letter-spacing: -.022em; }
.section-heading > p:last-child { align-self: end; max-width: 31rem; color: var(--charcoal-soft); font-size: .98rem; }
.capability-list { margin-top: clamp(3.5rem, 7vw, 7rem); border-top: 1px solid var(--charcoal); }
.capability-row { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr) auto; align-items: baseline; gap: clamp(1rem, 3vw, 4rem); padding: 1.55rem 0 1.7rem; border-bottom: 1px solid var(--line-dark); }
.capability-number { color: var(--bronze); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.capability-row h3 { font-family: var(--font-display); font-size: clamp(1.25rem, 2.1vw, 2rem); font-weight: 600; line-height: 1.04; letter-spacing: -.01em; }
.capability-row p { max-width: 42rem; margin-top: .45rem; color: var(--charcoal-soft); font-size: .87rem; }
.inline-demo, .capability-scope { justify-self: end; border: 0; background: transparent; color: var(--charcoal); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.inline-demo { padding: .4rem 0; border-bottom: 1px solid var(--bronze); }
.inline-demo span { display: inline-block; margin-left: .35rem; color: var(--bronze); transition: transform 160ms var(--ease-ui-out); }
.inline-demo:hover span { transform: translateX(4px); }
.capability-scope { color: var(--charcoal-soft); font-size: .58rem; }

.projects { padding-top: 5rem; padding-bottom: var(--section-y); border-top: 1px solid var(--line); }
.section-heading-compact { display: block; }
.section-heading-compact h2 { max-width: 16ch; margin-top: 1.7rem; }
.project-carousel { margin-top: clamp(3.5rem, 7vw, 7rem); }
.project-carousel-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; margin-bottom: 1.25rem; }
.project-carousel-status { min-width: 5.6rem; margin: 0; color: var(--charcoal-soft); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-align: right; }
.project-carousel-controls { display: flex; gap: .5rem; }
.project-carousel-button { display: inline-grid; width: 44px; height: 44px; place-items: center; padding: 0; border: 1px solid var(--line-dark); background: transparent; color: var(--charcoal); font: 500 1.1rem/1 var(--font-ui); cursor: pointer; transition: border-color 160ms var(--ease-ui-out), background-color 160ms var(--ease-ui-out), color 160ms var(--ease-ui-out), transform 140ms var(--ease-ui-out), opacity 160ms var(--ease-ui-out); }
.project-carousel-button:active:not(:disabled) { transform: scale(.96); }
.project-carousel-button:disabled { opacity: .32; cursor: default; }
.project-grid { --project-gap: clamp(1.25rem, 2.4vw, 2.8rem); display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - var(--project-gap) - var(--project-gap)) / 3); gap: var(--project-gap); overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: inline mandatory; scrollbar-width: none; }
.project-grid::-webkit-scrollbar { display: none; }
.project-card { min-width: 0; padding-top: .85rem; border-top: 1px solid var(--line-dark); scroll-snap-align: start; }
.project-image-link { display: block; overflow: hidden; background: var(--ivory-deep); }
.project-image-link img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; object-position: top center; filter: saturate(.9); transition: transform 420ms var(--ease-ui-out), filter 220ms ease; }
.project-image-link:hover img { transform: scale(1.012); filter: saturate(1); }
.project-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1rem; padding-top: 1.15rem; }
.project-meta h3 { font-family: var(--font-display); font-size: clamp(1.15rem, 1.65vw, 1.55rem); font-weight: 600; line-height: 1.08; }
.project-meta p { max-width: 25rem; margin-top: .42rem; color: var(--charcoal-soft); font-size: .7rem; line-height: 1.45; }
.project-link { align-self: end; padding-bottom: .12rem; border-bottom: 1px solid transparent; color: var(--charcoal); font-size: .58rem; font-weight: 700; letter-spacing: .09em; text-decoration: none; white-space: nowrap; }
.project-link span { color: var(--bronze); }
.project-link:hover { border-bottom-color: var(--bronze); }
.text-link { display: inline-block; margin-top: 1.5rem; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.text-link span { margin-left: .35rem; color: var(--bronze); }
.text-link:hover { text-decoration: underline; text-underline-offset: .35em; }

.team { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(18rem, .9fr); gap: clamp(3rem, 10vw, 10rem); padding-top: 5rem; padding-bottom: var(--section-y); border-top: 1px solid var(--line); }
.team-intro h2 { max-width: 14ch; margin-top: 1.7rem; font-family: var(--font-display); font-size: clamp(2.25rem, 4.4vw, 5rem); font-weight: 500; line-height: .98; letter-spacing: -.022em; }
.team-intro > p:last-child { max-width: 31rem; margin-top: 2rem; color: var(--charcoal-soft); }
.team-list { display: grid; gap: 1.5rem; align-content: end; }
.team-person { display: grid; grid-template-columns: 7.5rem 1fr; align-items: end; gap: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line-dark); }
.team-person img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; filter: saturate(.78) sepia(.08); }
.team-person h3 { font-family: var(--font-display); font-size: clamp(1.1rem, 1.7vw, 1.6rem); font-weight: 600; line-height: 1.08; }
.team-person p { margin-top: .5rem; color: var(--charcoal-soft); font-size: .72rem; line-height: 1.4; }

.quote { padding-top: 5rem; padding-bottom: var(--section-y); border-top: 1px solid var(--line); background: var(--ivory-deep); }
#request-quote { scroll-margin-top: clamp(2rem, 4vw, 3rem); }
.quote-progress { width: min(100%, 72rem); padding-bottom: 1rem; }
.quote-progress .eyebrow { min-width: 0; margin: 0; }
.quote-question-meta { display: flex; flex-wrap: wrap; gap: .55rem 1.1rem; align-items: baseline; margin-bottom: clamp(1.35rem, 2.4vw, 2rem); }
.quote-question-counter { margin: 0; color: var(--charcoal); font-size: .9rem; font-weight: 700; font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; letter-spacing: .08em; line-height: 1; white-space: nowrap; }
.quote-question-explainer { flex: 1 1 15rem; max-width: 42rem; margin: 0; color: var(--charcoal-soft); font-size: .82rem; line-height: 1.55; }
.quote-progress-dots { display: flex; align-items: center; justify-content: center; gap: clamp(.38rem, .7vw, .58rem); min-height: 2.75rem; }
.quote-progress-dots [data-quote-segment] { display: block; width: .38rem; height: .38rem; border-radius: 50%; background: var(--bronze-soft); transition: background-color 180ms var(--ease-ui-out), transform 180ms var(--ease-ui-out); }
.quote-progress-dots [data-complete="true"] { background: var(--bronze); transform: scale(1.08); }
.quote-layout { margin-top: clamp(2.25rem, 4vw, 3.75rem); }
.quote-form { width: min(100%, 72rem); min-height: 25rem; }
.quote-form fieldset { min-inline-size: 0; padding: 0; border: 0; }
.quote-form legend { max-width: 22ch; font-family: var(--font-display); font-size: clamp(1.85rem, 3.8vw, 4rem); font-weight: 500; line-height: 1.02; letter-spacing: -.016em; }
.selection-hint { margin-top: .7rem; color: var(--charcoal-soft); font-size: .78rem; }
.answer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; margin-top: 2.5rem; border-top: 1px solid var(--line-dark); }
.answer-option { position: relative; display: block; border-bottom: 1px solid var(--line); }
.answer-choice-input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.answer-row { position: relative; display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: .85rem; align-items: center; min-height: 3.7rem; padding: 1rem .5rem 1rem .2rem; font-size: .82rem; transition: background-color 160ms var(--ease-ui-out), border-color 160ms var(--ease-ui-out), color 160ms var(--ease-ui-out); }
.answer-control { display: grid; width: 1.05rem; height: 1.05rem; place-items: center; border: 1px solid var(--charcoal-soft); background: var(--ivory); }
.answer-label { min-width: 0; }
.answer-row-hit { position: absolute; z-index: 1; inset: 0; cursor: pointer; }
.answer-inline-field { position: relative; z-index: 2; grid-column: 2; min-width: 0; }
.answer-inline-field[hidden], .answer-label[hidden] { display: none; }
.quote-form input.answer-inline-input[type="text"] { width: 100%; min-width: 0; padding: .1rem 0 .15rem; font-size: .82rem; }
.answer-choice-input[type="radio"] + .answer-row .answer-control { border-radius: 50%; }
.answer-choice-input[type="checkbox"]:checked + .answer-row .answer-control { border-color: var(--charcoal); background: var(--charcoal); }
.answer-choice-input[type="checkbox"]:checked + .answer-row .answer-control::after { width: .28rem; height: .55rem; border: solid var(--ivory); border-width: 0 2px 2px 0; content: ""; transform: translateY(-.05rem) rotate(45deg); }
.answer-choice-input[type="radio"]:checked + .answer-row .answer-control::after { width: .42rem; height: .42rem; border-radius: 50%; background: var(--charcoal); content: ""; }
.answer-choice-input:checked + .answer-row { background: var(--ivory-deep); color: var(--charcoal); }
.answer-choice-input:focus-visible + .answer-row { outline: 2px solid var(--focus); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) {
  .answer-option:hover .answer-row { color: var(--bronze); }
  .answer-option:hover .answer-control { border-color: var(--bronze); }
  .answer-option:has(.answer-choice-input:checked):hover .answer-row { color: var(--charcoal); }
}
.textarea-control, .contact-grid label { display: grid; gap: .65rem; margin-top: 2.5rem; color: var(--charcoal-soft); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.quote-form textarea, .quote-form input[type="text"], .quote-form input[type="email"], .quote-form input[type="url"] { width: 100%; padding: .9rem 0; border: 0; border-bottom: 1px solid var(--charcoal); border-radius: 0; outline: 0; background: transparent; color: var(--charcoal); font: 400 1rem/1.5 var(--font-ui); letter-spacing: normal; text-transform: none; }
.quote-form textarea { min-height: 10rem; resize: vertical; }
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2.5rem; }
.contact-grid .wide { grid-column: 1 / -1; }
.form-navigation { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2.25rem; }
.quote-step-navigation { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; }
.quote-step-navigation [data-quote-back] { justify-self: start; }
.quote-primary-actions { display: flex; flex-wrap: wrap; gap: .65rem 1rem; align-items: center; justify-content: flex-end; justify-self: end; }
.quote-primary-actions [data-quote-continue] { min-width: 9.8rem; }
html[lang="uk"] .quote-primary-actions [data-quote-continue] { min-width: 12rem; font-size: .56rem; letter-spacing: .055em; white-space: nowrap; }
.quote-telegram-action { display: inline-flex; align-items: center; text-decoration: none; }
.text-button { padding: .6rem 0; border: 0; border-bottom: 1px solid var(--bronze); background: transparent; color: var(--charcoal); font-size: .67rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.form-error { margin-top: .8rem; color: #9b392d; font-size: .75rem; }
.quote-form [aria-invalid="true"] { outline: 2px solid #9b392d; outline-offset: 3px; }
.quote-form .button:disabled { border-color: var(--charcoal); background: var(--charcoal); color: var(--ivory); cursor: not-allowed; opacity: .38; transform: none; }
.quote-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
.quote-submit-result { min-height: 18rem; padding-top: clamp(1rem, 3vw, 2.5rem); }
.quote-result-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin-top: 2rem; }
.quote-result-actions .button { min-width: 10rem; }
.quote-submit-result [data-quote-result-heading]:focus-visible { outline: 2px solid var(--focus); outline-offset: .35rem; }
.quote-complete { max-width: 40rem; }
.quote-complete h3 { margin-top: .8rem; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 4rem); font-weight: 500; line-height: 1; letter-spacing: -.016em; }
.quote-complete p:not(.eyebrow) { margin-top: 1rem; color: var(--charcoal-soft); }
.privacy-note { max-width: 80ch; margin-top: 2.5rem; color: var(--charcoal-soft); font-size: .7rem; }
.privacy-note-sentence { display: inline; }
@media (min-width: 48rem) { .privacy-note-sentence { display: block; } }
@media (max-width: 37.5rem) { .privacy-note { font-size: .675rem; line-height: 1.55; } }

.final-footer { display: grid; grid-template-columns: 1.1fr 1fr auto; gap: 2rem; align-items: start; padding-top: 2rem; padding-bottom: 2rem; border-top: 1px solid var(--charcoal); }
.final-footer img { width: min(100%, 13rem); }
.final-footer p { max-width: 20rem; color: var(--charcoal-soft); font-size: .72rem; }
.final-footer nav { display: flex; gap: 1rem; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.final-footer nav a:hover { color: var(--bronze); }
.footer-note { grid-column: 1 / -1; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .62rem !important; }

.demo-viewer { width: min(100vw, 1480px); height: min(100dvh, 1000px); max-width: none; max-height: none; margin: 0 auto; padding: 0; border: 0; background: var(--charcoal); color: var(--ivory); }
.demo-viewer::backdrop { background: rgb(37 37 37 / .78); }
.demo-shell { display: grid; grid-template-rows: auto 1fr; min-height: 100%; padding: 0 var(--page-x) clamp(1.1rem, 3vw, 3rem); overflow: auto; }
.demo-header { display: flex; align-items: center; justify-content: space-between; padding-top: 20px; padding-bottom: 1.4rem; border-bottom: 1px solid rgb(253 249 244 / .3); }
.demo-header .eyebrow { color: var(--bronze-soft); }
.demo-close { width: 3rem; height: 3rem; border: 1px solid rgb(253 249 244 / .45); background: transparent; color: var(--ivory); font-size: 2rem; font-weight: 300; line-height: 1; }
.demo-close:hover { border-color: var(--ivory); background: var(--ivory); color: var(--charcoal); }
.demo-content { padding-top: clamp(2rem, 5vw, 5rem); }
.demo-title { max-width: 13ch; font-family: var(--font-display); font-size: clamp(2.6rem, 6vw, 6rem); font-weight: 500; line-height: .98; letter-spacing: -.02em; }
.demo-kicker { color: var(--bronze-soft); font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.demo-description { max-width: 36rem; margin-top: 1.3rem; color: rgb(253 249 244 / .7); }
.demo-tools { display: grid; gap: 1rem; margin-top: 2rem; }
.demo-tools input,
.demo-tools button,
.demo-filter-field select { min-height: 44px; border: 1px solid rgb(253 249 244 / .35); background: transparent; color: var(--ivory); font-size: .68rem; }
.demo-tools input { width: min(32rem, 100%); min-width: 0; padding: .7rem .9rem; }
.demo-tools button { padding: .7rem .9rem; }
.demo-tools button[aria-pressed="true"] { border-color: var(--bronze-soft); background: var(--bronze); color: var(--charcoal); }
.demo-tools button:disabled { cursor: default; opacity: .3; }
.demo-filter-selects { display: grid; grid-template-columns: repeat(3, minmax(0, 14rem)); gap: .8rem; }
.demo-filter-field { display: grid; gap: .42rem; }
.demo-filter-field > span,
.demo-filter-label { color: rgb(253 249 244 / .62); font-size: .61rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.demo-filter-field select { width: 100%; padding: .7rem 2rem .7rem .8rem; color-scheme: dark; }
.demo-filter-field select option { background: var(--charcoal); color: var(--ivory); }
.demo-color-filter { display: grid; gap: .55rem; }
.demo-color-options { display: flex; flex-wrap: wrap; gap: .55rem; }
.demo-color-options button { display: inline-flex; align-items: center; gap: .5rem; }
.demo-color-swatch { width: .78rem; height: .78rem; flex: 0 0 auto; border: 1px solid rgb(253 249 244 / .38); border-radius: 50%; background: var(--demo-swatch); }
.demo-clear { justify-self: start; }
.demo-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-top: 2.5rem; }
.demo-card { border-top: 1px solid rgb(253 249 244 / .45); }
.demo-card-content { margin: 0; }
.demo-card img { display: block; width: 100%; height: auto; object-fit: contain; }
.demo-card .demo-card-meta { display: grid; gap: .2rem; padding-top: .7rem; }
.demo-card strong { font-family: var(--font-ui); font-size: 1rem; font-weight: 600; }
.demo-card small { color: rgb(253 249 244 / .62); font-size: .65rem; }
.demo-results-bar { margin-top: 1.25rem; }
.demo-results-bar .demo-results { margin: 0; }
.zoom-demo { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .65fr); gap: clamp(2rem, 6vw, 7rem); align-items: start; }
.zoom-canvas { height: min(64vh, 620px); overflow: auto; background: #ebe4da; }
.zoom-canvas img { width: 100%; max-width: none; height: auto; min-height: 100%; object-fit: contain; object-position: 50% 50%; transition: width 220ms var(--ease-ui-out); }
.zoom-demo-copy { padding-top: 1rem; }
.zoom-demo-copy h3 { margin-top: .8rem; font-family: var(--font-display); font-size: clamp(2rem, 4.5vw, 4.8rem); font-weight: 500; line-height: 1; letter-spacing: -.02em; }
.zoom-meta { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 1.2rem; margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgb(253 249 244 / .3); }
.zoom-meta dt { color: var(--bronze-soft); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; }
.zoom-meta dd { margin: .2rem 0 0; font-size: .76rem; }
.zoom-controls { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.6rem; }
.zoom-controls button { padding: .6rem .75rem; border: 1px solid rgb(253 249 244 / .35); background: transparent; color: var(--ivory); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.zoom-controls button[aria-pressed="true"] { border-color: var(--bronze-soft); background: var(--bronze); color: var(--charcoal); }

@media (min-width: 901px) and (max-width: 1100px) {
  .final-header { grid-template-columns: minmax(11rem, 1fr) auto; gap: 1rem; padding-top: .75rem; padding-bottom: .75rem; }
  .final-brand { width: min(100%, 11.5rem); }
  .final-nav { grid-column: 2; flex-wrap: nowrap; gap: .735rem; font-size: .58rem; }
  .nav-quote-link { padding: .6rem .7rem; font-size: .55rem; }
}
@media (max-width: 900px) {
  .final-header { grid-template-columns: minmax(0, 1fr) auto auto; gap: .75rem; }
  .final-descriptor { grid-column: 1 / -1; grid-row: 2; max-width: 26rem; }
  .final-nav { display: none; }
  .mobile-quote-link { display: inline-flex; justify-self: end; white-space: nowrap; }
  .final-menu { display: inline-grid; width: 44px; height: 44px; place-items: center; justify-self: end; padding: 0; border: 0; background: transparent; color: var(--charcoal); }
  .final-menu-icon { display: grid; width: 1.5rem; height: 1rem; align-content: space-between; }
  .final-menu-icon span { display: block; width: 100%; height: 1px; background: currentColor; }
  .final-mobile-nav { position: absolute; z-index: 10; inset: 100% 0 auto; display: none; gap: 0; padding: .4rem var(--page-x) 1rem; border-bottom: 1px solid var(--line); background: var(--ivory); text-align: center; }
  .final-mobile-nav[data-open="true"] { display: grid; }
  .final-mobile-nav a { display: flex; align-items: center; justify-content: center; padding: .7rem 0; border-bottom: 1px solid var(--line); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
  .final-mobile-nav .mobile-locale-link { display: flex; justify-self: stretch; justify-content: center; }
  .final-hero { grid-template-columns: 1fr; gap: 4rem; }
  .hero-title-line { display: inline; white-space: normal; }
  .hero-aside { max-width: 24rem; }
  .section-heading { grid-template-columns: 1fr; }
  .section-heading h2 { max-width: 15ch; }
  .section-heading > p:last-child { max-width: 34rem; }
  .team { grid-template-columns: 1fr; gap: 4rem; }
  .team-intro h2 { max-width: 15ch; }
  .final-footer { grid-template-columns: 1fr 1fr; }
  .final-footer nav { justify-self: end; }
  .zoom-demo { grid-template-columns: 1fr; }
  .zoom-canvas { height: min(72vw, 560px); }
  .demo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 600px) {

  .final-header { min-height: 5.4rem; padding-top: .75rem; padding-bottom: .75rem; }
  .final-brand { width: min(43vw, 10.5rem); }
  .mobile-locale-link { font-size: .58rem; }
  .mobile-quote-link { min-height: 2.25rem; padding: .65rem 1rem; font-size: .56rem; letter-spacing: .07em; }
  .final-menu { padding: .5rem 0; font-size: .6rem; }
  .final-hero { padding-top: 5rem; padding-bottom: 5rem; }
  .hero-copy h1 { max-width: 11ch; margin-top: 1.4rem; font-size: clamp(3rem, 14vw, 5rem); }
  .hero-lede { margin-top: 1.8rem; font-size: .95rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr; margin-top: 2rem; }
  .button { width: 100%; }
  .hero-aside-copy { margin-top: 2.2rem; font-size: 1.25rem; }
  .hero-aside .hero-rule:last-of-type { margin-top: 2.4rem; }
  .capabilities, .projects, .team, .quote { padding-top: 5rem; padding-bottom: 4.5rem; }
  .section-heading h2, .team-intro h2 { font-size: clamp(2.25rem, 11vw, 4rem); }
  .capability-list { margin-top: 3.2rem; }
  .capability-row { grid-template-columns: 2rem minmax(0, 1fr); gap: .5rem 1rem; padding: 1.3rem 0 1.4rem; }
  .capability-row h3 { font-size: 1.2rem; }
  .capability-row p { font-size: .82rem; }
  .inline-demo, .capability-scope { grid-column: 2; justify-self: start; margin-top: .35rem; }
  .capability-scope { font-size: .55rem; }
  .project-carousel { margin-top: 3.2rem; }
  .project-carousel-toolbar { justify-content: space-between; margin-bottom: 1rem; }
  .project-carousel-status { text-align: left; }
  .project-grid { --project-gap: 1rem; grid-auto-columns: 100%; scroll-padding-inline: 0; }
  .project-meta { grid-template-columns: minmax(0, 1fr) auto; }
  .project-meta h3 { font-size: 1.35rem; }
  .team-list { gap: 1.2rem; }
  .team-person { grid-template-columns: 5.2rem 1fr; gap: 1rem; }
  .team-person h3 { font-size: 1.05rem; }
  .team-person p { font-size: .65rem; }

  .quote-progress .eyebrow { max-width: 16rem; line-height: 1.4; }
  .quote-question-counter { font-size: .82rem; }
  .quote-question-explainer { font-size: .78rem; }
  .quote-progress-dots { gap: .34rem; }
  .quote-progress-dots [data-quote-segment] { width: .32rem; height: .32rem; }
  .quote-layout { margin-top: 2rem; }
  .quote-form legend { font-size: 2rem; }
  .answer-grid, .contact-grid { grid-template-columns: 1fr; gap: 0; }
  .contact-grid .wide { grid-column: auto; }
  .final-footer { grid-template-columns: 1fr; gap: 1.4rem; }
  .final-footer nav { justify-self: start; }
  .demo-shell { padding-inline: 1rem; }
  .demo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .demo-title { font-size: 2.7rem; }
}

@media (max-width: 420px) {
  .demo-description { font-size: .85rem; }
  .demo-tools { display: grid; grid-template-columns: 1fr 1fr; }
  .demo-tools input { grid-column: 1 / -1; min-width: 0; }
  .zoom-canvas { height: 74vw; }
}

@media (min-width: 1800px) {
  .hero-copy h1 { font-size: clamp(5.2rem, 5vw, 5.8rem); }
}

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

/* Four-work archive-construction hero carousel */
.has-hero-art {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.has-hero-art > :not(.hero-dot-grid) { position: relative; z-index: 1; }
.hero-dot-grid { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
.has-hero-art .hero-copy { z-index: 2; }
.hero-art-construction {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto auto auto;
  align-self: start;
  width: min(100%, 31rem);
  min-width: 0;
  margin: 0;
  justify-self: end;
  color: var(--charcoal);
  touch-action: pan-y;
}
.hero-art-stage {
  position: relative;
  order: 1;
  height: clamp(19.75rem, 23vw, 21.5rem);
  min-width: 0;
  overflow: visible;
}
.hero-art-guides {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.hero-art-guide {
  fill: none;
  stroke: var(--bronze);
  stroke-width: .75;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
  vector-effect: non-scaling-stroke;
  transition: stroke-dashoffset 620ms linear, opacity 220ms var(--ease-ui-out);
  transition-delay: var(--hero-guide-delay, 0ms);
}
.hero-art-frame-guide { --hero-guide-delay: 180ms; stroke-width: .6; }
.guide-vertical { --hero-guide-delay: 90ms; }
.guide-horizontal-middle,
.guide-vertical-center { display: none; }
.hero-art-image-wrap {
  position: absolute;
  z-index: 1;
  top: var(--hero-image-top, .25rem);
  left: var(--hero-image-left, 1.2rem);
  width: var(--hero-image-width, calc(100% - 2.4rem));
  height: var(--hero-image-height, calc(100% - 1.5rem));
  display: block;
  min-width: 0;
  overflow: hidden;
  clip-path: inset(49% 0 49% 0);
  opacity: 0;
  filter: blur(0) saturate(1);
  transition: clip-path 980ms var(--ease-ui-out), opacity 520ms ease, filter 700ms ease;
  will-change: clip-path, opacity, filter;
}
.hero-art-image-wrap picture { display: contents; }
.hero-art-image-wrap.is-preparing {
  clip-path: inset(49% 0 49% 0);
  opacity: 0;
  filter: blur(0) saturate(1);
  transition: none;
}
.hero-art-image-outgoing {
  z-index: 2;
  pointer-events: none;
}
.hero-art-image-wrap img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}
.hero-art-metadata {
  order: 2;
  display: grid;
  align-content: start;
  box-sizing: border-box;
  width: 70%;
  height: 12.35rem;
  min-width: 0;
  padding: .35rem 0 0;
  justify-self: start;
  transform: translateX(var(--hero-metadata-left, 0px));
}
.hero-art-title {
  display: block;
  min-width: 0;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 1.8vw, 1.85rem);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -.014em;
  color: #77736d;
  opacity: 0;
  transform: translateY(.7rem);
  transition: opacity 480ms var(--ease-ui-out), transform 480ms var(--ease-ui-out);
}
.hero-art-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  margin: .65rem 0 0;
  border-top: 0;
  background-image: linear-gradient(90deg, rgb(170 140 75 / .36) 0 25%, var(--ivory) 100%);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  opacity: 0;
  transform: translateY(.45rem);
  transition: opacity 420ms var(--ease-ui-out), transform 420ms var(--ease-ui-out);
}
.hero-art-detail {
  display: grid;
  grid-template-columns: minmax(3.4rem, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: .42rem;
  min-width: 0;
  min-height: 1.72rem;
  padding: .33rem 0;
  border-bottom: 0;
  background-image: linear-gradient(90deg, rgb(170 140 75 / .22) 0 25%, var(--ivory) 100%);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  opacity: 0;
  transform: translateY(.35rem);
  transition: opacity 360ms var(--ease-ui-out), transform 360ms var(--ease-ui-out);
}
.hero-art-detail dt {
  color: #77736d;
  font-size: .44rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.25;
  text-transform: uppercase;
}
.hero-art-detail dd {
  min-width: 0;
  margin: 0;
  color: #68645e;
  font-size: .5rem;
  font-weight: 600;
  line-height: 1.3;
  overflow-wrap: anywhere;
  text-align: left;
}
.hero-art-typed-text {
  display: inline-block;
  max-width: 100%;
  opacity: 0;
  clip-path: inset(0 100% 0 0);
}
.hero-art-dimension-counter {
  display: inline-block;
  font-variant-numeric: tabular-nums;
  opacity: 0;
}
@keyframes hero-metadata-type {
  from { opacity: 1; clip-path: inset(0 100% 0 0); }
  to { opacity: 1; clip-path: inset(0); }
}
@keyframes hero-counter-appear {
  from { opacity: 0; }
  to { opacity: 1; }
}
.hero-art-pagination {
  order: 3;
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: .1rem;
}
.hero-art-pagination button {
  position: relative;
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 0;
  place-items: center;
  background: transparent;
  color: var(--charcoal-soft);
}
.hero-art-pagination button::before {
  width: .52rem;
  height: .52rem;
  border: 1px solid #77736d;
  border-radius: 50%;
  background: transparent;
  content: '';
  transition: border-color 180ms ease;
}
.hero-art-pagination button[aria-current="true"]::before,
.hero-art-pagination button[aria-pressed="true"]::before {
  border-color: var(--bronze);
  background: var(--bronze);
}
.hero-art-pagination button span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (hover: hover) and (pointer: fine) {
  .hero-art-pagination button:hover::before { border-color: var(--bronze); }
}

.hero-art-construction[data-phase="idle"] .hero-art-guide {
  stroke-dashoffset: 1;
  opacity: 0;
  transition: none;
}
.hero-art-construction[data-phase="structural"] .hero-art-guide { stroke-dashoffset: 0; opacity: .5; }
.hero-art-construction[data-phase="structural"] .hero-art-frame-guide { opacity: .68; }
.hero-art-construction[data-phase="artwork"] .hero-art-guide,
.hero-art-construction[data-phase="metadata"] .hero-art-guide,
.hero-art-construction[data-phase="exit"] .hero-art-guide { stroke-dashoffset: 0; opacity: 0; }
.hero-art-construction[data-phase="finished"] .hero-art-guide { stroke-dashoffset: 0; opacity: 0; }
.hero-art-construction[data-phase="artwork"] .hero-art-image-wrap,
.hero-art-construction[data-phase="metadata"] .hero-art-image-wrap,
.hero-art-construction[data-phase="finished"] .hero-art-image-wrap { clip-path: inset(0); opacity: 1; }
.hero-art-construction[data-phase="exit"] .hero-art-image-wrap {
  clip-path: inset(0);
  opacity: 0;
  filter: blur(16px) saturate(.72);
  transition: opacity 900ms var(--ease-ui-in-out), filter 900ms var(--ease-ui-in-out);
}
.hero-art-construction[data-phase="metadata"] .hero-art-title,
.hero-art-construction[data-phase="finished"] .hero-art-title,
.hero-art-construction[data-phase="metadata"] .hero-art-details,
.hero-art-construction[data-phase="finished"] .hero-art-details { opacity: 1; transform: translateY(0); }
.hero-art-construction[data-phase="metadata"] .hero-art-detail,
.hero-art-construction[data-phase="finished"] .hero-art-detail { opacity: 1; transform: translateY(0); }
.hero-art-construction[data-phase="metadata"] .hero-art-detail {
  transition-delay: calc(var(--hero-row-index) * 250ms);
}
.hero-art-construction[data-phase="metadata"] .hero-art-typed-text {
  animation: hero-metadata-type 360ms steps(var(--hero-type-steps), end) both;
  animation-delay: calc(var(--hero-row-index) * 250ms);
}
.hero-art-construction[data-phase="metadata"] .hero-art-dimension-counter {
  animation: hero-counter-appear 1ms linear both;
  animation-delay: calc(var(--hero-row-index) * 250ms);
}
.hero-art-construction[data-phase="finished"] .hero-art-typed-text,
.hero-art-construction[data-phase="finished"] .hero-art-dimension-counter {
  opacity: 1;
  clip-path: inset(0);
}

@media (max-width: 900px) {
  .hero-art-construction { width: min(100%, 31rem); justify-self: start; }
  .hero-art-stage { height: clamp(20rem, 68vw, 23rem); }
  .hero-art-metadata { height: 12.35rem; }
}
@media (max-width: 600px) {
  .hero-art-construction { width: min(100%, 24rem); }
  .hero-art-stage { height: min(85vw, 20.75rem); }
  .hero-art-metadata { height: 12.7rem; }
  .hero-art-construction[data-index="2"] .hero-art-metadata { transform: translateX(var(--hero-content-metadata-left, 0px)); }
  .hero-art-title { font-size: clamp(1.45rem, 7vw, 1.75rem); }
  .hero-art-detail { grid-template-columns: minmax(4.8rem, .72fr) minmax(0, 1.28fr); gap: .42rem; min-height: 1.9rem; }
  .hero-art-detail dd { text-align: left; }
}
@media (max-width: 420px) {
  .hero-art-construction { width: 100%; }
  .hero-art-stage { height: min(85vw, 19.5rem); }
  .hero-art-metadata { height: 12.8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-art-guide,
  .hero-art-image-wrap,
  .hero-art-title,
  .hero-art-details,
  .hero-art-detail,
  .hero-art-typed-text,
  .hero-art-dimension-counter { transition: none !important; animation: none !important; }
  .hero-art-construction[data-phase="finished"] .hero-art-image-wrap,
  .hero-art-construction[data-phase="finished"] .hero-art-title,
  .hero-art-construction[data-phase="finished"] .hero-art-details,
  .hero-art-construction[data-phase="finished"] .hero-art-detail,
  .hero-art-construction[data-phase="finished"] .hero-art-typed-text,
  .hero-art-construction[data-phase="finished"] .hero-art-dimension-counter { opacity: 1; transform: none; clip-path: inset(0); }
}
/* Deep zoom lightbox behavior */
.zoom-canvas {
  position: relative;
  display: block;
  overflow: hidden;
  background: #0b0b0b;
  touch-action: none;
  cursor: zoom-in;
}
.zoom-canvas[data-zoom-active="true"] { cursor: grab; }
.zoom-canvas[data-interacting="true"] { cursor: grabbing; }
.zoom-canvas img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  max-width: none;
  object-fit: contain;
  object-position: 50% 50%;
  transform: translate(-50%, -50%) translate3d(0, 0, 0);
  transition: width 260ms var(--ease-ui-out), transform 220ms var(--ease-ui-out), opacity 220ms var(--ease-ui-out);
  will-change: width, transform;
}
.zoom-canvas[data-zoom-scale="1"] img {
  width: auto !important;
  height: 100%;
  max-width: 100%;
}
.zoom-canvas img.is-interacting { transition: none; }
.zoom-loader {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: min(12rem, 42%);
  height: 1px;
  overflow: hidden;
  background: rgb(253 249 244 / .18);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
  transition: opacity 180ms var(--ease-ui-out);
}
.zoom-loader::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--bronze-soft);
  transform: translateX(-101%);
  animation: zoom-loader-line 900ms linear infinite;
}
.zoom-canvas.is-loading .zoom-loader { opacity: 1; }
@keyframes zoom-loader-line {
  0% { transform: translateX(-101%); }
  100% { transform: translateX(101%); }
}
@media (prefers-reduced-motion: reduce) {
  .zoom-loader::before { animation: none; transform: translateX(0); }
  .zoom-canvas img { transition-duration: .01ms; }
  .project-grid { scroll-behavior: auto; }
  .project-carousel-button { transition-duration: .01ms; }
}
/* Production accessibility, performance and content polish. */
:root { --bronze-text: #765a28; }
html { scroll-padding-top: 7rem; }
section[id] { scroll-margin-top: 0; }
.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; }
.capability-number { color: var(--bronze-text); }
.final-nav a:hover, .final-mobile-nav a:hover, .locale-link:focus-visible, .mobile-locale-link:focus-visible, .final-footer nav a:hover { color: var(--bronze-text); }
.final-nav > a:not(.nav-quote-link), .locale-link, .mobile-locale-link, .final-menu, .final-mobile-nav a, .inline-demo, .project-link, .final-footer nav a, .text-button { min-height: 44px; }
.final-nav > a:not(.nav-quote-link), .locale-link, .inline-demo, .project-link, .final-footer nav a { display: inline-flex; align-items: center; }
.nav-quote-link, .mobile-quote-link, .demo-tools input, .demo-tools button { min-height: 44px; }
.project-image-link picture { display: block; width: 100%; height: auto; }
.hero-art-image-wrap picture { display: contents; }
.hero-art-image-wrap picture img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; object-position: center; }
.project-image-link picture img { width: 100%; height: auto; }
.demo-results { min-height: 1.4em; margin-top: 1rem; color: rgb(253 249 244 / .78); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.demo-clear { border-color: var(--bronze-soft) !important; color: var(--bronze-soft) !important; }
.demo-clear:hover, .demo-clear:focus-visible { background: var(--ivory) !important; color: var(--charcoal) !important; }
.quote-complete-actions { flex-wrap: wrap; justify-content: flex-start; }
.quote-complete-actions .text-button { margin-inline-end: .5rem; }
@media (hover: hover) and (pointer: fine) {
  .button-primary:hover { border-color: var(--bronze-text); background: var(--bronze-text); }
  .final-nav .nav-quote-link:hover, .mobile-quote-link:hover { border-color: var(--bronze-text); background: var(--bronze-text); color: var(--ivory); transform: translateY(-2px); }
  .answer-option:hover .answer-row { color: var(--bronze-text); }
  .answer-option:hover .answer-control { border-color: var(--bronze-text); }
  .project-carousel-button:hover:not(:disabled) { border-color: var(--charcoal); background: var(--charcoal); color: var(--ivory); }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 6rem; }
  section[id] { scroll-margin-top: 0; }
  .demo-tools { grid-template-columns: 1fr; }
  .demo-filter-selects { grid-template-columns: 1fr; }
  .demo-clear { grid-column: 1; }
  .quote-complete-actions { display: grid; grid-template-columns: 1fr; }
}
/* Minimum touch targets without adding visible chrome. */
.final-brand { display: inline-flex; min-height: 44px; align-items: center; }
.locale-link, .mobile-locale-link, .final-menu, .final-footer nav a { min-width: 44px; justify-content: center; }
@media (max-width: 420px) {
  .final-header { gap: .35rem; }
  .final-brand { width: min(34vw, 8.25rem); }
  .mobile-quote-link { font-size: .52rem; }
}
/* Proportional header mark and team portraits across the approved breakpoints. */
:root {
  --header-logo-size: 12rem;
  --team-portrait-size: 9rem;
}
.final-brand { width: min(100%, var(--header-logo-size)); }
.team-person { grid-template-columns: var(--team-portrait-size) minmax(0, 1fr); }
@media (min-width: 1800px) {
  :root {
    --header-logo-size: clamp(12.4rem, 11.2vw, 13.6rem);
    --team-portrait-size: clamp(9.6rem, 9vw, 10.8rem);
  }
}
@media (min-width: 1101px) and (max-width: 1799px) {
  :root {
    --header-logo-size: clamp(10.4rem, 12.8vw, 12rem);
    --team-portrait-size: clamp(8.4rem, 9.6vw, 9rem);
  }
}
@media (min-width: 901px) and (max-width: 1100px) {
  :root {
    --header-logo-size: clamp(9rem, 14.4vw, 10rem);
    --team-portrait-size: clamp(7.5rem, 12vw, 8.4rem);
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  :root {
    --header-logo-size: clamp(8.97rem, 20.24vw, 10.12rem);
    --team-portrait-size: clamp(6.9rem, 14.4vw, 7.8rem);
  }
}
@media (min-width: 421px) and (max-width: 600px) {
  :root {
    --header-logo-size: clamp(7.82rem, 24.84vw, 8.97rem);
    --team-portrait-size: clamp(6rem, 18vw, 6.9rem);
  }
}
@media (max-width: 420px) {
  :root {
    --header-logo-size: clamp(6.35rem, 29.44vw, 7.59rem);
    --team-portrait-size: clamp(5.4rem, 24vw, 6rem);
  }
  html[lang="uk"] .mobile-quote-link { letter-spacing: .04em; }
}

/* Responsive vertical pause before each section eyebrow. */
.final-hero,
.capabilities,
.projects,
.team,
.quote { padding-top: 80px; }

@media (min-width: 1800px) {
  .final-hero,
  .capabilities,
  .projects,
  .team,
  .quote { padding-top: 144px; }
}

@media (min-width: 901px) and (max-width: 1100px) {
  .final-hero,
  .capabilities,
  .projects,
  .team,
  .quote { padding-top: 72px; }
}

@media (min-width: 601px) and (max-width: 900px) {
  .final-hero,
  .capabilities,
  .projects,
  .team,
  .quote { padding-top: 64px; }
}

@media (min-width: 421px) and (max-width: 600px) {
  .final-hero,
  .capabilities,
  .projects,
  .team,
  .quote { padding-top: 56px; }
}

@media (max-width: 420px) {
  .final-hero,
  .capabilities,
  .projects,
  .team,
  .quote { padding-top: 48px; }
}

/* Archive filter demo: compact adaptive fixed toolbar. */
.demo-viewer[data-demo-mode="archive"] .demo-shell {
  scroll-padding-top: calc(20px + 3.85rem + var(--demo-tools-height, 5rem) + .75rem);
}

.demo-viewer[data-demo-mode="archive"] .demo-tools-slot {
  width: 100%;
  min-width: 0;
  height: var(--demo-tools-height, auto);
  margin-top: 2rem;
}

.demo-viewer[data-demo-mode="archive"] .demo-tools {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: .3rem;
  row-gap: 0;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: .7rem 2px .8rem;
  border-block: 1px solid rgb(253 249 244 / .22);
  background: var(--charcoal);
  box-shadow: -2px 0 0 var(--charcoal), 2px 0 0 var(--charcoal);
  overflow: visible;
}

.demo-viewer[data-demo-mode="archive"] .demo-tools[data-rows="two"] {
  row-gap: .55rem;
}

.demo-viewer[data-demo-mode="archive"] .demo-tools[data-fixed="true"] {
  position: fixed;
  top: var(--demo-tools-top);
  left: var(--demo-tools-left);
  z-index: 15;
  width: var(--demo-tools-width);
  box-shadow: -2px 0 0 var(--charcoal), 2px 0 0 var(--charcoal), 0 .85rem 1.5rem rgb(0 0 0 / .2);
}

.demo-viewer[data-demo-mode="archive"] .demo-filter-primary,
.demo-viewer[data-demo-mode="archive"] .demo-filter-secondary {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .3rem;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

.demo-viewer[data-demo-mode="archive"] .demo-filter-primary::-webkit-scrollbar,
.demo-viewer[data-demo-mode="archive"] .demo-filter-secondary::-webkit-scrollbar {
  display: none;
}

.demo-viewer[data-demo-mode="archive"] .demo-tools[data-rows="two"] .demo-filter-primary,
.demo-viewer[data-demo-mode="archive"] .demo-tools[data-rows="two"] .demo-filter-secondary {
  flex-basis: 100%;
  width: 100%;
}

.demo-viewer[data-demo-mode="archive"] .demo-tools[data-rows="two"] .demo-filter-secondary {
  padding-top: .55rem;
  border-top: 1px solid rgb(253 249 244 / .16);
}

.demo-viewer[data-demo-mode="archive"] .demo-search-control {
  position: sticky;
  left: 0;
  z-index: 2;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-width: 44px;
  background: var(--charcoal);
  box-shadow: .35rem 0 0 var(--charcoal);
}

.demo-viewer[data-demo-mode="archive"] .demo-search-toggle,
.demo-viewer[data-demo-mode="archive"] .demo-clear,
.demo-viewer[data-demo-mode="archive"] .demo-color-button {
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
}

.demo-viewer[data-demo-mode="archive"] .demo-search-toggle {
  position: relative;
}

.demo-viewer[data-demo-mode="archive"] .demo-search-toggle svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
}

.demo-viewer[data-demo-mode="archive"] .demo-search-label {
  display: none;
}

.demo-viewer[data-demo-mode="archive"] .demo-search-toggle.has-query::after {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--bronze-soft);
  content: "";
}

.demo-viewer[data-demo-mode="archive"] .demo-search-input {
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 0;
  min-width: 0;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ivory);
  opacity: 0;
  pointer-events: none;
}

.demo-viewer[data-demo-mode="archive"] .demo-search-control[data-expanded="true"] .demo-search-toggle {
  border-right-color: transparent;
}

.demo-viewer[data-demo-mode="archive"] .demo-search-control[data-expanded="true"] .demo-search-input {
  width: min(18rem, 58vw);
  padding: .65rem .85rem;
  border: 1px solid rgb(253 249 244 / .35);
  border-left: 0;
  opacity: 1;
  pointer-events: auto;
}

.demo-viewer[data-demo-mode="archive"] .demo-filter-selects {
  display: flex;
  flex: 0 0 auto;
  grid-template-columns: none;
  gap: .3rem;
}

.demo-viewer[data-demo-mode="archive"] .demo-filter-field {
  display: block;
  flex: 0 0 auto;
}

.demo-viewer[data-demo-mode="archive"] .demo-filter-field:nth-child(1) { width: 7.25rem; }
.demo-viewer[data-demo-mode="archive"] .demo-filter-field:nth-child(2) { width: 9rem; }
.demo-viewer[data-demo-mode="archive"] .demo-filter-field:nth-child(3) { width: 10rem; }

.demo-viewer[data-demo-mode="archive"] .demo-filter-field select {
  height: 44px;
  min-height: 44px;
}

.demo-viewer[data-demo-mode="archive"] .demo-color-filter {
  display: block;
  flex: 0 0 auto;
}

.demo-viewer[data-demo-mode="archive"] .demo-color-options {
  display: flex;
  flex-wrap: nowrap;
  gap: .25rem;
}

.demo-viewer[data-demo-mode="archive"] .demo-color-options .demo-color-button {
  gap: 0;
}


.demo-viewer[data-demo-mode="archive"] .demo-color-button[aria-pressed="true"] {
  border-color: var(--ivory);
  background: rgb(253 249 244 / .1);
  color: var(--ivory);
  box-shadow: inset 0 0 0 1px var(--ivory);
}

.demo-viewer[data-demo-mode="archive"] .demo-color-swatch,
.demo-viewer[data-demo-mode="archive"] .demo-color-all-swatch {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  border: 1px solid rgb(253 249 244 / .48);
  border-radius: 50%;
}

.demo-viewer[data-demo-mode="archive"] .demo-color-all-swatch {
  background: linear-gradient(135deg, #e75050 0%, #f39b42 16%, #f1d85a 32%, #68bb65 48%, #4eb9b2 63%, #4d83d1 77%, #7962c4 89%, #d861a3 100%);
}

.demo-viewer[data-demo-mode="archive"] .demo-clear {
  position: sticky;
  right: 0;
  z-index: 2;
  justify-self: auto;
  margin-left: .15rem;
  background: var(--charcoal);
  box-shadow: -.4rem 0 .55rem var(--charcoal);
  font-size: 1.35rem;
  line-height: 1;
}

.demo-viewer[data-demo-mode="archive"] .demo-clear[hidden] {
  display: none;
}

.demo-viewer[data-demo-mode="archive"] .demo-tools button:focus-visible,
.demo-viewer[data-demo-mode="archive"] .demo-tools select:focus-visible,
.demo-viewer[data-demo-mode="archive"] .demo-tools input:focus-visible {
  outline: 2px solid var(--bronze-soft);
  outline-offset: -3px;
}

@media (hover: hover) and (pointer: fine) {
  .demo-viewer[data-demo-mode="archive"] .demo-search-toggle:hover,
  .demo-viewer[data-demo-mode="archive"] .demo-color-button:hover:not(:disabled) {
    border-color: var(--ivory);
    background: rgb(253 249 244 / .08);
  }
}

@media (max-width: 700px) {
  .demo-viewer[data-demo-mode="archive"] .demo-tools-slot {
    margin-top: 1.5rem;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-tools {
    column-gap: .4rem;
    padding-block: .55rem .65rem;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-filter-primary,
  .demo-viewer[data-demo-mode="archive"] .demo-filter-secondary,
  .demo-viewer[data-demo-mode="archive"] .demo-filter-selects {
    gap: .35rem;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-filter-primary,
  .demo-viewer[data-demo-mode="archive"] .demo-filter-secondary {
    flex: 0 0 100%;
    width: 100%;
    max-width: none;
    overflow: visible;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-filter-primary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .demo-viewer[data-demo-mode="archive"] .demo-filter-selects {
    display: contents;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-filter-field,
  .demo-viewer[data-demo-mode="archive"] .demo-filter-field:nth-child(n) {
    width: auto;
    min-width: 0;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-search-control {
    position: relative;
    left: auto;
    width: 100%;
    min-width: 0;
    box-shadow: none;
    overflow: hidden;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-search-toggle {
    justify-content: space-between;
    flex-basis: 100%;
    width: 100%;
    padding-inline: .85rem;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-search-label {
    display: inline;
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-search-control[data-expanded="true"] {
    grid-column: 1 / -1;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-search-control[data-expanded="true"] .demo-search-toggle {
    display: none;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-search-control[data-expanded="true"] .demo-search-input {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    padding-inline: .65rem;
    border-left: 1px solid rgb(253 249 244 / .35);
  }

  .demo-viewer[data-demo-mode="archive"] .demo-filter-primary:has(.demo-search-control[data-expanded="true"]) .demo-filter-field:nth-child(3) {
    grid-column: 1 / -1;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-filter-secondary {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 2px;
    align-items: stretch;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-color-filter,
  .demo-viewer[data-demo-mode="archive"] .demo-color-options {
    display: contents;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-color-options .demo-color-button,
  .demo-viewer[data-demo-mode="archive"] .demo-clear {
    width: 100%;
    min-width: 0;
    flex-basis: auto;
  }

  .demo-viewer[data-demo-mode="archive"] .demo-clear {
    position: static;
    grid-column: auto;
    margin-left: 0;
    box-shadow: none;
  }
}

/* Compact contact footer refinement. */
.final-nav { flex-wrap: nowrap; }
.final-footer {
  display: block;
  padding-top: 0;
  padding-bottom: 0;
  border-top: 1px solid var(--charcoal);
}
#contact { scroll-margin-top: 0; }
.footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .65fr);
  grid-template-areas:
    "brand contact-title"
    "positioning contacts";
  column-gap: clamp(3rem, 9vw, 9rem);
  row-gap: clamp(1.75rem, 2.8vw, 2.25rem);
  padding: clamp(3.25rem, 5vw, 4.75rem) 0 clamp(2.25rem, 3.5vw, 3.25rem);
}
.footer-positioning,
.footer-contact { display: contents; }
.footer-brand { grid-area: brand; }
.footer-brand {
  display: inline-flex;
  width: 6.5rem;
  min-height: 44px;
  align-items: center;
}
.final-footer .footer-brand img { width: 100%; height: auto; }
.footer-positioning-line { display: block; }
.final-footer .footer-positioning-copy {
  grid-area: positioning;
  max-width: 31ch;
  margin-top: 0;
  padding-top: .6875rem;
  color: var(--charcoal-soft);
  font-family: var(--font-ui);
  font-size: clamp(1.0625rem, 1.25vw, 1.25rem);
  font-weight: 300;
  letter-spacing: var(--tracking-body);
  line-height: 1.45;
}
.footer-contact-label {
  grid-area: contact-title;
  align-self: center;
  justify-self: start;
  color: var(--bronze-text);
  font-family: var(--font-ui);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}
.footer-contact-links {
  grid-area: contacts;
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  width: clamp(7rem, 10vw, 8rem);
  max-width: 100%;
  gap: 0;
  margin-top: 0;
  align-self: stretch;
}
.final-footer .footer-contact-links a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.25rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0;
  align-items: center;
  gap: .75rem;
  padding: 0;
  border: 0;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.25;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 180ms var(--ease-ui-out), border-color 180ms var(--ease-ui-out);
}
.footer-bottom {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border-top: 1px solid var(--line);
}
.final-footer .footer-bottom p {
  max-width: none;
  color: var(--charcoal-soft);
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.final-footer .footer-locales {
  display: grid;
  grid-template-columns: 44px .5rem 44px;
  align-items: center;
  justify-items: center;
  gap: .25rem;
  color: var(--charcoal-soft);
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .07em;
}
.final-footer .footer-locales > :first-child,
.final-footer .footer-locales > :last-child {
  display: inline-flex;
  width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}
.final-footer .footer-locales a { text-decoration: none; }
.final-footer .footer-locales [aria-current="page"] { color: inherit; }
@media (hover: hover) and (pointer: fine) {
  .final-footer .footer-contact-links a:hover { border-top-color: rgb(170 140 75 / .34); border-bottom-color: rgb(170 140 75 / .34); color: var(--bronze-text); }
  .final-footer .footer-contact-links a:hover .footer-contact-arrow { opacity: 1; transform: translateX(0); }
}
.final-footer .footer-contact-links a:focus-visible { border-top-color: rgb(170 140 75 / .34); border-bottom-color: rgb(170 140 75 / .34); }
@media (max-width: 900px) {
  .footer-positioning-line { display: inline; }
  .footer-main {
    grid-template-columns: 1fr;
    grid-template-areas: "brand" "positioning" "contact-title" "contacts";
    gap: 0;
  }
  .final-footer .footer-positioning-copy { margin-top: 1.5rem; padding-top: 0; }
  .footer-contact-label { margin-top: 3rem; }
  .footer-contact-links { grid-template-rows: none; margin-top: 1.75rem; align-self: start; }
  .final-footer .footer-contact-links a { min-height: 44px; padding: .45rem 0; }
}
@media (min-width: 360px) and (max-width: 900px) {
  html[lang="ru"] .footer-positioning-line { display: block; }
  html[lang="ru"] .final-footer .footer-positioning-copy { max-width: 40ch; }
}
@media (max-width: 600px) {
  #contact { scroll-margin-top: 0; }
  .footer-main { gap: 0; padding: 3rem 0 2rem; }
  .footer-brand { width: 6.25rem; }
  .final-footer .footer-positioning-copy { margin-top: 1.25rem; font-size: 1.0625rem; }
  .footer-contact-label { margin-top: 2.5rem; }
  .footer-contact-links { margin-top: 1.5rem; }
  .footer-bottom { min-height: 3.75rem; gap: 1rem; }
  .final-footer .footer-bottom p { font-size: .58rem; letter-spacing: .06em; }
  .final-footer .footer-locales { gap: .25rem; }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .footer-main {
    padding-top: 3.75rem;
    padding-bottom: 2.75rem;
  }
}
.final-footer .footer-contact-links { display: grid; max-width: 100%; gap: 0; justify-self: start; }

/* Professional partnerships: compact secondary conversion path. */
.partnership {
  display: block;
  padding-top: clamp(3.5rem, 5vw, 5rem);
  padding-bottom: clamp(3.5rem, 5vw, 5rem);
  border-top: 1px solid var(--line);
}
.partnership-section-header { width: min(100%, 72rem); padding-bottom: 1rem; }
.partnership-section-header .eyebrow { min-width: 0; margin: 0; }
.partnership-content {
  display: grid;
  grid-template-columns: minmax(16rem, .8fr) minmax(0, 1.2fr);
  gap: clamp(2.5rem, 8vw, 8rem);
  align-items: start;
  margin-top: clamp(2.25rem, 4vw, 3.75rem);
}
.partnership-heading { max-width: 29rem; }
.partnership-prompt {
  max-width: 17ch;
  margin-top: 0;
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 2.8vw, 3.1rem);
  font-weight: 500;
  letter-spacing: -.018em;
  line-height: 1.04;
}
.partnership-copy { max-width: 37rem; color: var(--charcoal-soft); line-height: 1.65; }
.partnership-copy p + p { margin-top: 1rem; }
.partnership-cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: .55rem;
  margin-top: 1.7rem;
  padding: .55rem 0;
  border: 0;
  border-bottom: 1px solid var(--bronze);
  background: transparent;
  color: var(--charcoal);
  font-family: var(--font-ui);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.partnership-cta span { color: var(--bronze-text); transition: transform 160ms var(--ease-ui-out); }
.partnership-dialog {
  width: min(calc(100% - 2rem), 58rem);
  max-width: none;
  max-height: min(90dvh, 54rem);
  padding: 0;
  border: 0;
  background: var(--ivory);
  color: var(--charcoal);
  overflow: hidden;
}
.partnership-dialog::backdrop { background: rgb(24 23 21 / .72); }
.partnership-dialog-shell { max-height: min(90dvh, 54rem); padding: clamp(1.25rem, 2vw, 2rem); overflow-y: auto; overscroll-behavior: contain; }
.partnership-dialog-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 1rem;
  align-items: center;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line-dark);
}
.partnership-close {
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  border: 0;
  background: transparent;
  color: var(--charcoal);
  font: 300 2rem/1 var(--font-ui);
}
.partnership-close:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.partnership-form { padding-top: clamp(1.1rem, 1.6vw, 1.5rem); }
.partnership-form-intro { max-width: 43rem; }
.partnership-form-intro h2,
.partnership-result h2 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.75rem);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1;
}
.partnership-form-intro p,
.partnership-result p { max-width: 39rem; margin-top: 1rem; color: var(--charcoal-soft); }
.partnership-field,
.partnership-form fieldset { display: block; margin: 1.25rem 0 0; padding: 0; border: 0; }
.partnership-field > span,
.partnership-form legend {
  display: block;
  color: var(--charcoal);
  font-family: var(--font-ui);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.partnership-form .selection-hint { margin-top: .6rem; }
.partnership-form input[type="text"],
.partnership-form input[type="email"],
.partnership-form input[type="tel"],
.partnership-form textarea {
  width: 100%;
  padding: .85rem 0;
  border: 0;
  border-bottom: 1px solid var(--charcoal);
  border-radius: 0;
  outline: 0;
  background: transparent;
  color: var(--charcoal);
  font: 400 1rem/1.5 var(--font-ui);
}
.partnership-form textarea { min-height: 4.5rem; resize: vertical; }
.partnership-radio-grid { margin-top: .75rem; }
.partnership-form .answer-row { min-height: 3.25rem; padding-top: .75rem; padding-bottom: .75rem; }
.partnership-contact-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.partnership-contact-field[hidden] { display: none; }
.partnership-form [aria-invalid="true"] { outline: 2px solid #9b392d; outline-offset: 3px; }
.partnership-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; }
.partnership-actions .button { min-width: 10.5rem; }
.partnership-form .button:disabled { opacity: .45; cursor: wait; transform: none; }
.partnership-result { min-height: 19rem; }
.partnership-result .button { margin-top: 2rem; }
.partnership-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
body.is-partnership-dialog-open { overflow: hidden; }
@media (hover: hover) and (pointer: fine) {
  .partnership-cta:hover { color: var(--bronze-text); }
  .partnership-cta:hover span { transform: translateX(4px); }
  .partnership-close:hover { color: var(--bronze-text); }
}
@media (max-width: 900px) {
  .partnership-content { grid-template-columns: 1fr; gap: 2rem; }
  .partnership-prompt { max-width: 22ch; }
  .partnership-copy { max-width: 42rem; }
}
@media (max-width: 600px) {
  .partnership { padding-top: 3.25rem; padding-bottom: 3.25rem; }
  .partnership-content { gap: 1.5rem; margin-top: 2rem; }
  .partnership-prompt { font-size: clamp(1.7rem, 8vw, 2.25rem); }
  .partnership-dialog { width: 100%; max-height: 92dvh; margin: auto 0 0; }
  .partnership-dialog-shell { max-height: 92dvh; padding: 1.25rem; }
  .partnership-dialog-header { position: sticky; z-index: 3; top: -1.25rem; margin: -1.25rem -1.25rem 0; padding: 1.25rem 1.25rem .85rem; background: var(--ivory); }
  .partnership-form { padding-top: 1.1rem; }
  .partnership-field,
  .partnership-form fieldset { margin-top: 1rem; }
  .partnership-form textarea { min-height: 4.5rem; }
  .partnership-radio-grid,
  .partnership-contact-options { grid-template-columns: 1fr; gap: 0; }
  .partnership-actions { align-items: stretch; flex-direction: column; }
  .partnership-actions .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .partnership-cta span { transition: none; }
}


/* Lightweight Contact dialog and mobile bottom sheet. */
.nav-contact-trigger {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  line-height: inherit;
  text-transform: inherit;
}
.contact-dialog {
  width: min(calc(100% - 2rem), 18.75rem);
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--charcoal);
  overflow: visible;
}
.contact-dialog::backdrop { background: rgb(24 23 21 / .28); }
.contact-dialog-panel {
  width: 100%;
  padding: clamp(1.35rem, 2.2vw, 1.8rem);
  border: 1px solid var(--line-dark);
  background: var(--ivory);
}
.contact-dialog-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 1rem;
  align-items: center;
}
.contact-dialog-title {
  color: #aa8c4b;
  font-family: var(--font-ui);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.2;
}
.contact-dialog-close {
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center end;
  border: 0;
  background: transparent;
  color: var(--charcoal);
  font: 300 1.7rem/1 var(--font-ui);
}
.contact-dialog-close:focus-visible { outline-offset: 1px; }
.contact-dialog-divider { height: 1px; margin-top: .65rem; background: var(--line-dark); }
.contact-dialog-copy {
  max-width: 27ch;
  margin-top: 1.25rem;
  color: var(--charcoal);
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.6vw, 1.8rem);
  font-weight: 500;
  letter-spacing: -.012em;
  line-height: 1.12;
}
.contact-dialog-copy-line { display: block; white-space: nowrap; }
.contact-dialog-actions { display: grid; margin-top: .9rem; }
.contact-dialog-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1.25rem;
  min-height: 50px;
  align-items: center;
  gap: .75rem;
  padding: .65rem 0;
  border-bottom: 1px solid var(--line);
  color: var(--charcoal);
  font-family: var(--font-ui);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .11em;
  line-height: 1.2;
  text-decoration: none;
}
.footer-contact-arrow,
.contact-dialog-arrow {
  display: grid;
  width: 1.25rem;
  place-items: center;
  justify-self: end;
  color: #aa8c4b;
  font-size: 1rem;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-5px);
  transition: opacity 180ms var(--ease-ui-out), transform 180ms var(--ease-ui-out);
}
.contact-dialog-row--quote { border-bottom-color: transparent; color: var(--bronze-text); }
.final-footer .footer-contact-links a:focus-visible,
.contact-dialog-row:focus-visible { color: var(--bronze-text); }
.final-footer .footer-contact-links a:focus-visible .footer-contact-arrow,
.contact-dialog-row:focus-visible .contact-dialog-arrow { opacity: 1; transform: translateX(0); }
@media (hover: none), (pointer: coarse) {
  .footer-contact-arrow,
  .contact-dialog-arrow { opacity: .42; transform: none; }
  .final-footer .footer-contact-links a:active .footer-contact-arrow,
  .contact-dialog-row:active .contact-dialog-arrow { opacity: 1; }
}
body.is-contact-dialog-open { overflow: hidden; }
@media (hover: hover) and (pointer: fine) {
  .final-nav .nav-contact-trigger:hover,
  .final-mobile-nav .nav-contact-trigger:hover,
  .contact-dialog-row:hover { color: var(--bronze-text); }
  .contact-dialog-row:hover .contact-dialog-arrow { opacity: 1; transform: translateX(0); }
  .contact-dialog-close:hover { color: var(--bronze-text); }
}
@media (prefers-reduced-motion: no-preference) {
  .contact-dialog[open] .contact-dialog-panel { animation: contact-dialog-enter 220ms var(--ease-ui-out) both; }
  @keyframes contact-dialog-enter {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
@media (max-width: 900px) {
  .final-mobile-nav .nav-contact-trigger {
    width: 100%;
    justify-content: center;
    padding: .7rem 0;
    border-bottom: 1px solid var(--line);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .contact-dialog {
    inset: auto 0 0;
    width: 100%;
    max-height: 70dvh;
    margin: 0 auto;
    overflow: hidden;
  }
  .contact-dialog-panel {
    min-height: min(27rem, 58dvh);
    max-height: 70dvh;
    padding: 1.25rem var(--page-x) 1.5rem;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .contact-dialog-copy { max-width: 25ch; margin-top: 1.1rem; }
  .contact-dialog-actions { margin-top: .75rem; }
  @media (prefers-reduced-motion: no-preference) {
    .contact-dialog[open] .contact-dialog-panel { animation-name: contact-sheet-enter; animation-duration: 260ms; animation-timing-function: var(--ease-ui-drawer); }
    @keyframes contact-sheet-enter {
      from { opacity: 0; transform: translateY(1.5rem); }
      to { opacity: 1; transform: translateY(0); }
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  .contact-dialog[open] .contact-dialog-panel { animation: none; }
  .footer-contact-arrow,
  .contact-dialog-arrow { transform: none; transition: opacity 120ms linear; }
}


/* Five-language primary site and monolingual host presentation. */
.locale-switcher {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .08rem;
  color: var(--charcoal-soft);
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
}
.locale-switcher .locale-link,
.locale-switcher .locale-current {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}
.locale-switcher .locale-current { color: var(--charcoal); }
.locale-switcher .locale-separator { opacity: .62; }
.final-nav .locale-switcher { flex: 0 0 auto; }

.final-footer .footer-locales {
  display: inline-flex;
  grid-template-columns: none;
  gap: .08rem;
}
.final-footer .footer-locales > :first-child,
.final-footer .footer-locales > :last-child,
.final-footer .footer-locales > .locale-current,
.final-footer .footer-locales > a {
  display: inline-flex;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
}
.final-footer .footer-locales > .locale-separator {
  width: auto;
  min-width: 0;
  min-height: 0;
  opacity: .62;
}

@media (max-width: 1100px) {
  .final-header { grid-template-columns: minmax(0, 1fr) auto auto; gap: .75rem; }
  .final-nav { display: none; }
  .mobile-quote-link { display: inline-flex; justify-self: end; white-space: nowrap; }
  .final-menu { display: inline-grid; width: 44px; height: 44px; place-items: center; justify-self: end; padding: 0; border: 0; background: transparent; color: var(--charcoal); }
  .final-menu-icon { display: grid; width: 1.5rem; height: 1rem; align-content: space-between; }
  .final-menu-icon span { display: block; width: 100%; height: 1px; background: currentColor; }
  .final-mobile-nav { position: absolute; z-index: 10; inset: 100% 0 auto; display: none; gap: 0; padding: .4rem var(--page-x) 1rem; border-bottom: 1px solid var(--line); background: var(--ivory); text-align: center; }
  .final-mobile-nav[data-open="true"] { display: grid; }
  .final-mobile-nav > a { display: flex; align-items: center; justify-content: center; padding: .7rem 0; border-bottom: 1px solid var(--line); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
  .final-mobile-nav .nav-contact-trigger { width: 100%; justify-content: center; padding: .7rem 0; border-bottom: 1px solid var(--line); font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
  .final-mobile-nav .locale-switcher--mobile { display: inline-flex; justify-self: center; padding: .35rem 0; }
  .final-mobile-nav .mobile-locale-link { display: inline-flex; padding: 0; border-bottom: 0; }
}

@media (max-width: 600px) {
  .footer-bottom { flex-wrap: wrap; padding-block: .35rem; }
  .final-footer .footer-locales { width: 100%; justify-content: flex-end; }
}


/* Language globe disclosure. */
.language-menu { position: relative; flex: 0 0 auto; }
.language-menu-trigger {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--charcoal-soft);
  transition: color 160ms var(--ease-ui-out), transform 140ms var(--ease-ui-out);
}
.language-menu-trigger:active { transform: scale(.95); }
.language-menu-trigger[aria-expanded="true"] { color: var(--bronze-text); }
.language-menu-trigger:focus-visible { outline: 1px solid var(--charcoal); outline-offset: 2px; }
.language-menu-icon { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.language-menu-panel {
  position: absolute;
  z-index: 30;
  top: calc(100% + .45rem);
  right: 0;
  display: grid;
  width: 14rem;
  padding: .35rem;
  border: 1px solid var(--line-dark);
  background: var(--ivory);
  box-shadow: 0 1rem 2.6rem rgb(39 38 35 / .12);
  transform-origin: top right;
}
.language-menu-panel:not([hidden]) { animation: language-menu-enter 160ms var(--ease-ui-out) both; }
.language-menu-panel[hidden] { display: none; }
.language-menu-option {
  position: relative;
  display: grid;
  grid-template-columns: 2.45rem minmax(0, 1fr);
  min-height: 44px;
  align-items: center;
  gap: .7rem;
  padding: .55rem 2rem .55rem .75rem;
  color: var(--charcoal-soft);
  text-align: left;
  text-decoration: none;
  transition: background-color 150ms var(--ease-ui-out), color 150ms var(--ease-ui-out);
}
.language-menu-code { font-size: .61rem; font-weight: 700; letter-spacing: .1em; }
.language-menu-name { font-size: .76rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.language-menu-option.is-current { color: var(--charcoal); }
.language-menu-option.is-current::after { content: ''; position: absolute; right: .8rem; width: 4px; height: 4px; border-radius: 50%; background: var(--bronze-text); }
.language-menu-option:focus-visible { outline: 1px solid var(--charcoal); outline-offset: -1px; }
@media (hover: hover) and (pointer: fine) {
  .language-menu-trigger:hover { color: var(--bronze-text); }
  a.language-menu-option:hover { background: rgb(170 140 75 / .08); color: var(--bronze-text); }
}
@keyframes language-menu-enter {
  from { opacity: 0; transform: translateY(-4px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 1100px) {
  .final-mobile-nav .language-menu--mobile { display: grid; width: 100%; justify-items: center; padding: .25rem 0; border-bottom: 1px solid var(--line); }
  .final-mobile-nav .language-menu-panel { position: static; width: min(100%, 21rem); margin: 0 auto .35rem; padding: .25rem 0; border: 0; border-top: 1px solid var(--line); box-shadow: none; transform-origin: top center; }
  .final-mobile-nav .language-menu-option { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .language-menu-panel:not([hidden]) { animation: none; }
  .language-menu-trigger { transition-duration: 80ms; }
}

/* Hebrew localization: RTL flow with locally hosted Hebrew typography. */
html[lang="he"] {
  --font-ui: 'Noto Sans Hebrew', 'Manrope', Arial, sans-serif;
  --font-display: 'Frank Ruhl Libre', 'Cormorant Garamond', 'Iowan Old Style', serif;
  --tracking-body: 0;
}
html[dir="rtl"] body { direction: rtl; }
html[lang="he"] .eyebrow,
html[lang="he"] .button,
html[lang="he"] .final-nav,
html[lang="he"] .final-mobile-nav,
html[lang="he"] .nav-quote-link,
html[lang="he"] .mobile-quote-link,
html[lang="he"] .footer-contact-label,
html[lang="he"] .footer-contact-links a,
html[lang="he"] .partnership-cta,
html[lang="he"] .partnership-field > span,
html[lang="he"] .partnership-form legend { letter-spacing: .045em; }
html[lang="he"] .hero-copy h1 { max-width: 14ch; line-height: .96; letter-spacing: -.012em; }
html[lang="he"] .quote-form legend,
html[lang="he"] .partnership-form-intro h2,
html[lang="he"] .partnership-result h2 { letter-spacing: 0; line-height: 1.08; }
html[dir="rtl"] .language-menu-panel { right: auto; left: 0; transform-origin: top left; }
.language-menu-option { direction: ltr; }
html[dir="rtl"] .final-footer .footer-contact-links,
html[dir="rtl"] .footer-contact-label { justify-self: start; }
html[lang="he"] .footer-contact-links { width: clamp(8.5rem, 11vw, 9rem); }
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[type="url"],
html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[name="website"],
html[dir="rtl"] input[name="contactEmail"],
html[dir="rtl"] input[name="contactTelegram"],
html[dir="rtl"] input[name="contactWhatsapp"] { direction: ltr; text-align: left; }
html[dir="rtl"] .project-carousel-status { direction: ltr; text-align: left; }
html[dir="rtl"] .project-carousel-status,
html[dir="rtl"] .hero-art-detail dd,
html[dir="rtl"] .archive-card-meta,
html[dir="rtl"] .quote-question-counter { unicode-bidi: isolate; }
@media (min-width: 901px) {
  html[dir="rtl"] .hero-art-metadata {
    transform: translateX(var(--hero-metadata-right, 0px));
  }
}
html[dir="rtl"] .quote-honeypot,
html[dir="rtl"] .partnership-honeypot {
  top: 0 !important;
  right: auto !important;
  left: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
@media (max-width: 1100px) {
  html[dir="rtl"] .mobile-quote-link { justify-self: start; }
  html[dir="rtl"] .final-menu { justify-self: start; }
  html[dir="rtl"] .final-mobile-nav .language-menu-panel { transform-origin: top center; }
}
@media (max-width: 600px) {
  html[lang="he"] .hero-copy h1 { max-width: 10ch; font-size: clamp(2.9rem, 13vw, 4.7rem); }
  html[lang="he"] .privacy-note { font-size: .675rem; }
}
