/* VISUAL V3 pilot. Presentation only; CSS4700 and script3500 remain immutable.
   Eight pages opt in with visual-v3. Booking Grid, sticky offset and motion
   state machines continue to belong to the baseline stylesheet and scripts. */
body.visual-v3 {
  --v3-bg: #070707;
  --v3-surface: #10100e;
  --v3-inset: #0b0b0a;
  --v3-text: #f2eee5;
  --v3-muted: #c0bcb2;
  --v3-gold: #d6b36a;
  --v3-line: #d6b36a38;
  --v3-radius: 10px;
  --v3-control-radius: 6px;
  --v3-display: Georgia, 'Times New Roman', serif;
  --v3-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --v3-gutter: clamp(24px, 5vw, 72px);
  --v3-width: 1296px;
  --v3-section-space: clamp(40px, 5vw, 72px);
  --text: var(--v3-text);
  --muted: var(--v3-muted);
  --gold: var(--v3-gold);
  --gold2: #ecd39d;
  --r: var(--v3-radius);
  --line: var(--v3-line);
  background: var(--v3-bg);
  font-family: var(--v3-body);
  color: var(--v3-text);
}
body.visual-v3 .container { width: min(var(--v3-width), calc(100% - 2 * var(--v3-gutter))); }
body.visual-v3 :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #ecd39d; outline-offset: 4px; }
body.visual-v3 :is(a, button, input, select, textarea, summary) { scroll-margin-block: 110px; }
body.visual-v3 .hero-v2-skip { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px 18px; background: #ecd39d; color: #111; }
body.visual-v3 .hero-v2-skip:focus { top: 12px; }

/* A single compact brand/navigation treatment; sticky header stays below104px. */
body.visual-v3 .topbar { background: #050505; border: 0; font-size: 10px; }
body.visual-v3 .topbar .container { flex-direction: row; flex-wrap: wrap; gap: 2px 12px; padding: 7px 0 0; }
body.visual-v3 .topbar a { font-size: inherit; }
body.visual-v3 .header { background: #070707fa; border-color: var(--v3-line); backdrop-filter: none; }
body.visual-v3 .nav { min-height: 82px; padding: 4px 0; gap: 24px; }
body.visual-v3 .header .brand { position: relative; width: 120px; height: 74px; flex: 0 0 120px; overflow: hidden; }
body.visual-v3 .header .brand img { position: absolute; width: 120px; height: 120px; max-width: none; top: -25px; left: 0; border-radius: 0; }
body.visual-v3 .header .brand span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.visual-v3 .menu { gap: clamp(14px, 1.5vw, 24px); }
body.visual-v3 .menu > a { font-size: 12px; font-weight: 600; line-height: 1.5; }
body.visual-v3 .menu > a[aria-current=page]:not(.cta) { color: var(--gold2); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 7px; }
body.visual-v3 .menu .cta { min-height: 44px; padding: 11px 20px; border: 1px solid #a7854c; border-radius: var(--v3-control-radius); background: transparent; color: var(--gold2); box-shadow: none; text-shadow: none; }
body.visual-v3 .menu .cta[aria-current=page] { background: #d6b36a19; border-color: var(--gold2); }
body.visual-v3 .lang-switch { gap: 0; padding: 2px; background: transparent; border-radius: var(--v3-control-radius); }
body.visual-v3 .lang-switch::before { display: none; }
body.visual-v3 .lang-switch a { min-width: 38px; min-height: 36px; padding: 9px 6px; border-radius: 3px; font-size: 10px; }
body.visual-v3 .menu-toggle { min-width: 44px; min-height: 44px; }

/* Editorial hierarchy is shared; controls, price information and labels stay sans. */
body.visual-v3 :is(.page-hero h1, .section-head h2, .booking-form-head h2),
body.visual-v3.calculator-v2 #kalkulaator > .container > .reveal:first-child h2,
body.visual-v3.home-v2 main > .section h2:not(.eyebrow),
body.visual-v3.pricing-v2 .extras h3 { font-family: var(--v3-display); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; text-shadow: none; }
body.visual-v3 .page-hero { padding: clamp(36px, 4.5vw, 64px) 0 clamp(28px, 3.5vw, 46px); background: #0a0a09; border-bottom: 1px solid var(--v3-line); }
body.visual-v3 .page-hero::after { content: none; }
body.visual-v3 .page-hero h1 { max-width: 24ch; font-size: clamp(38px, 4.2vw, 60px); margin-bottom: 20px; }
body.visual-v3 .page-hero .lead { max-width: 65ch; font-size: 16px; line-height: 1.7; margin: 0; color: var(--v3-muted); }
body.visual-v3 .eyebrow,
body.visual-v3 .page-hero .eyebrow,
body.visual-v3 .booking-form-head .eyebrow,
body.visual-v3.calculator-v2 #kalkulaator > .container > .reveal:first-child > .eyebrow {
  display: block; min-height: 0; margin: 0 0 18px; padding: 0; border: 0; border-radius: 0;
  background: none; color: #d5b579; font-family: var(--v3-body); font-size: 10px; font-weight: 600; letter-spacing: .14em; line-height: 1.6;
}
body.visual-v3 .page-hero .eyebrow::before { content: ''; display: block; width: 32px; height: 1px; margin-bottom: 14px; background: #b69961; }
body.visual-v3 main > .section { padding-block: var(--v3-section-space); background: var(--v3-bg); }
body.visual-v3 main > .section::before { content: none; }
body.visual-v3 :is(.section-head h2, .booking-form-head h2) { font-size: clamp(28px, 3vw, 40px); }
body.visual-v3 :is(.lead, .muted, .field-hint) { color: var(--v3-muted); }

/* One component vocabulary, with enabled/selected/invalid states kept explicit. */
body.visual-v3 :is(.btn, .float),
body.visual-v3.home-v2 :is(.hero .actions .btn, .services .btn, .final-cta .btn),
body.visual-v3.pricing-v2 .price-card .btn,
body.visual-v3.booking-v2 [data-catalog-submit] {
  min-height: 48px; padding: 14px 20px; border-radius: var(--v3-control-radius);
  font-family: var(--v3-body); font-size: 14px; font-weight: 650; line-height: 1.4; box-shadow: none; text-shadow: none;
}
body.visual-v3 :is(.btn-primary, .float),
body.visual-v3.home-v2 :is(.services .btn-primary, .final-cta .btn-primary),
body.visual-v3.pricing-v2 .price-card .btn[data-package-link],
body.visual-v3.booking-v2 [data-catalog-submit]:not(:disabled):not([aria-disabled=true]) {
  border: 1px solid #f4d79880; background: linear-gradient(120deg,#dfbb73,#d2a75a); color: #100d07; box-shadow: none; text-shadow: none;
}
body.visual-v3 :is(.btn-line, .services .btn-line) { border: 1px solid var(--v3-line); background: transparent; color: #e4d9c1; }
body.visual-v3 :is(.card, .service-card, .price-card, .reviews-note, .final-cta, .faq details, .note, .extras),
body.visual-v3.home-v2 :is(.steps4 .card, .grid3 .card, .services .service-card, .final-cta),
body.visual-v3.pricing-v2 :is(.price-card, .price-card[data-tier=premium], .note, .extras),
body.visual-v3.calculator-v2 #kalkulaator .calc-card,
body.visual-v3.booking-v2 :is(.booking-form, .package-summary-panel) {
  border: 1px solid var(--v3-line); border-radius: var(--v3-radius); background: var(--v3-surface); box-shadow: none;
}
body.visual-v3.home-v2 .services .service-card.featured,
body.visual-v3.pricing-v2 .price-card[data-tier=premium] { border-color: #d6b36a88; background: #16150f; }
body.visual-v3.pricing-v2 .price-card::before,
body.visual-v3.calculator-v2 #kalkulaator .calc-card::before { content: none; }
body.visual-v3 :is(.num, .service-no, .tag, .sales-badge, .chips span) { border-radius: var(--v3-control-radius); box-shadow: none; }
body.visual-v3.home-v2 :is(.steps4 .card .num, .service-no),
body.visual-v3.pricing-v2 .price-card :is(.tag, .sales-badge),
body.visual-v3.pricing-v2 .chips span { border-color: var(--v3-line); background: #d6b36a0d; box-shadow: none; }
body.visual-v3.pricing-v2 .price-card { padding: clamp(22px, 2.5vw, 32px); }
body.visual-v3.pricing-v2 .price-card h3 { font: 400 clamp(28px, 2.6vw, 34px)/1.15 var(--v3-display); letter-spacing: -.025em; }
body.visual-v3.pricing-v2 .price-card .price strong,
body.visual-v3.home-v2 .services .price strong { color: var(--v3-text); font-family: var(--v3-body); font-weight: 600; text-shadow: none; }
body.visual-v3.pricing-v2 .price-card li { line-height: 1.6; }
body.visual-v3.pricing-v2 .price-card li::before { box-shadow: none; }
body.visual-v3.pricing-v2 .extras h3 { max-width: 25ch; }

/* Functional pages: no new geometry, total animations or hiding gates. */
body.visual-v3.calculator-v2 #kalkulaator > .container > .reveal:first-child { align-self: start; }
body.visual-v3.calculator-v2 #kalkulaator > .container > .reveal:first-child h2 { font-size: clamp(30px, 3vw, 40px); }
body.visual-v3.calculator-v2 #kalkulaator > .container > .reveal:first-child .note { background: var(--v3-inset); border-color: var(--v3-line); border-radius: var(--v3-control-radius); box-shadow: none; }
body.visual-v3.calculator-v2 #kalkulaator :is(.field, .checks),
body.visual-v3.booking-v2 .booking-configuration > :is(.field, .form-row, .checks),
body.visual-v3.booking-v2 .booking-fields-column > :is(.form-row, .autocomplete-field, .field:has(textarea), .consent-wrap) {
  background: var(--v3-inset); border-color: var(--v3-line); border-radius: var(--v3-control-radius); box-shadow: none;
}
body.visual-v3.calculator-v2 #kalkulaator .field :is(select, input, textarea),
body.visual-v3.booking-v2 .booking-form .field > :is(input, select, textarea) {
  border-radius: var(--v3-control-radius); border-color: #b1a28b59; background-color: #080808;
  color: var(--v3-text); font-family: var(--v3-body); font-size: 16px; line-height: 1.5; box-shadow: none;
}
body.visual-v3.calculator-v2 #kalkulaator .field :is(select, input, textarea):focus-visible,
body.visual-v3.booking-v2 .booking-form .field > :is(input, select, textarea):focus-visible { border-color: var(--gold2); box-shadow: none; }
body.visual-v3.calculator-v2 #kalkulaator .field label,
body.visual-v3.booking-v2 .booking-form :is(.field label, .field-label) { font-family: var(--v3-body); font-weight: 600; color: #e6decf; }
body.visual-v3.calculator-v2 #kalkulaator .checks label,
body.visual-v3.booking-v2 :is(.vehicle-size-field .size-option, .booking-addons label) { border-color: var(--v3-line); border-radius: var(--v3-control-radius); background: #11110f; box-shadow: none; }
body.visual-v3.calculator-v2 #kalkulaator .checks label:has(input:checked),
body.visual-v3.booking-v2 :is(.vehicle-size-field .size-option, .booking-addons label):has(input:checked) { border-color: var(--v3-gold); background: #d6b36a18; box-shadow: none; }
body.visual-v3.calculator-v2 #kalkulaator .checks label:has(input:focus-visible),
body.visual-v3.booking-v2 :is(.vehicle-size-field .size-option, .booking-addons label):has(input:focus-visible) { outline: 3px solid var(--gold2); outline-offset: 3px; }
body.visual-v3.booking-v2 .booking-notice { background: var(--v3-inset); border-color: var(--v3-line); border-radius: var(--v3-control-radius); box-shadow: none; }
body.visual-v3.booking-v2 .package-summary-panel h3 { font-family: var(--v3-body); font-size: 20px; font-weight: 600; }
body.visual-v3.calculator-v2 #kalkulaator [data-catalog-total],
body.visual-v3.booking-v2 [data-catalog-summary] { background: #d6b36a0d; border-color: var(--v3-line); border-radius: var(--v3-control-radius); box-shadow: none; }
body.visual-v3.calculator-v2 #kalkulaator [data-catalog-total] strong,
body.visual-v3.booking-v2 .booking-price-summary .summary-total strong { font-family: var(--v3-body); color: var(--v3-text); font-weight: 600; text-shadow: none; }
body.visual-v3.booking-v2 .booking-form .field > .form-invalid { border-color: #ef9696; background-color: #311415; }
body.visual-v3.booking-v2 #formError { border-color: #ef9696; border-radius: var(--v3-control-radius); background: #311415; color: #ffe4e4; box-shadow: none; }
body.visual-v3.calculator-v2 #kalkulaator :is(input, select):disabled,
body.visual-v3.booking-v2 #broneeri :is(input, select, textarea, button):disabled,
body.visual-v3 :is(.btn, .float)[aria-disabled=true] { border-color: #ffffff20; background: #191918; color: #aaa59a; box-shadow: none; text-shadow: none; cursor: not-allowed; }
body.visual-v3.calculator-v2 #kalkulaator .checks label:has(input:disabled),
body.visual-v3.booking-v2 #broneeri :is(.size-option, .checks label):has(input:disabled) { border-color: #ffffff20; background: #111110; color: #aaa59a; box-shadow: none; cursor: not-allowed; }
html[data-catalog-state=unavailable] body.visual-v3.calculator-v2 #kalkulaator [data-catalog-total],
html[data-catalog-state=unavailable] body.visual-v3.booking-v2 [data-catalog-summary] { border-color: #c77a7a99; background: #261516; }

/* Footer/booking action have the same material and typography on every page. */
body.visual-v3 .footer { padding: 48px 0 44px; background: #050505; border-color: var(--v3-line); }
body.visual-v3 .footer-grid { grid-template-columns: 1.2fr 1.35fr 1fr 1fr; gap: 32px; }
body.visual-v3 .footer-brand img { width: 88px; height: 88px; border-radius: 0; }
body.visual-v3 .footer-brand { align-items: flex-start; }
body.visual-v3 .footer strong { font-size: 14px; font-weight: 600; }
body.visual-v3 .footer :is(span, a, small) { font-size: 12px; }
body.visual-v3 .footer .copyright { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 24px; padding-top: 22px; border-top: 1px solid var(--v3-line); }
/* A dedicated row preserves the existing action without covering page content. */
body.visual-v3 .float { position: relative; inset: auto; display: flex; align-items: center; justify-content: center; width: min(360px, calc(100% - 2 * var(--v3-gutter))); margin: 0 auto 32px; border-radius: var(--v3-control-radius); }

/* Approved Hero V2 composition migrated here, not layered with hero-v2.css. */
body.visual-v3.hero-standalone .hero { display: block; min-height: max(680px, calc(100svh - 106px)); padding: 64px 0 70px; overflow: hidden; background: #030303; }
body.visual-v3.hero-standalone .hero::before { z-index: -1; background: linear-gradient(90deg,#030303c7,#03030370 30%,transparent 52%),linear-gradient(#03030355,transparent 24%,transparent 78%,#030303); }
body.visual-v3.hero-standalone .hero::after,
body.visual-v3.hero-standalone .hero-copy::before { content: none; }
body.visual-v3.hero-standalone .hero-v2-art { display: block; position: absolute; z-index: -2; width: 100%; left: 0; top: 50%; transform: translateY(-50%); aspect-ratio: 1672 / 941; pointer-events: none; }
body.visual-v3.hero-standalone .hero-v2-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
body.visual-v3.hero-standalone .hero-copy { width: min(440px,39vw); padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; }
html body.visual-v3.home-v2.hero-standalone .hero .hero-copy > :is(.eyebrow,h1,.lead) { animation: none; }
body.visual-v3.hero-standalone .hero .eyebrow { display: block; min-height: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none; margin: 0 0 20px; }
body.visual-v3.hero-standalone .hero .eyebrow::before { content: ''; display: block; width: 32px; height: 1px; margin-bottom: 12px; background: #c9a259; }
body.visual-v3.hero-standalone .hero h1 { font: 400 clamp(43px,4.4vw,64px)/1.04 var(--v3-display); letter-spacing: -.04em; max-width: 17ch; margin: 0 0 24px; }
body.visual-v3.hero-standalone .hero .lead { font-size: 17px; line-height: 1.65; color: #d5d1c8; max-width: 42ch; margin: 0 0 27px; }
body.visual-v3.hero-standalone .hero .actions { display: grid; grid-template-columns: max-content minmax(0,1fr); align-items: center; gap: 10px 22px; min-height: 0; margin: 0; }
body.visual-v3.hero-standalone .hero .actions .btn { flex: 0 1 auto; width: auto; min-height: 44px; padding: 6px 0; border: 0; border-radius: 0; box-shadow: none; background: none; font-size: 13px; white-space: normal; line-height: 1.4; }
body.visual-v3.hero-standalone .hero .actions .btn-primary { grid-column: 1 / -1; justify-self: start; width: 100%; max-width: 290px; min-height: 58px; padding: 17px 22px; background: linear-gradient(120deg,#dfbb73,#d2a75a); border: 1px solid #f4d79880; border-radius: var(--v3-control-radius); color: #100d07; }
body.visual-v3.hero-standalone .hero .actions .btn-line { justify-self: start; border-bottom: 1px solid #ab8e5466; color: #e4d9c1; }
body.visual-v3.hero-standalone .hero .stats { display: grid; grid-template-columns: .7fr 1fr 1.2fr; gap: 20px; border: 0; border-top: 1px solid #d4ba8038; border-radius: 0; background: none; box-shadow: none; overflow: visible; margin: 25px 0 0; padding: 19px 0 0; }
body.visual-v3.hero-standalone .hero .stats div { padding: 0; border: 0; }
body.visual-v3.hero-standalone .hero .stats strong { font: 400 20px/1.3 var(--v3-display); color: #e5c68a; margin-bottom: 6px; }
body.visual-v3.hero-standalone .hero .stats span { font-size: 12px; line-height: 1.5; color: #c7c1b6; }

@media (max-width: 1100px) {
  body.visual-v3 .menu-toggle { display: block; margin-left: auto; }
  body.visual-v3 .menu { display: none; position: absolute; top: 100%; left: var(--v3-gutter); right: var(--v3-gutter); flex-direction: column; align-items: stretch; gap: 4px; padding: 16px; border: 1px solid var(--v3-line); border-radius: var(--v3-radius); background: #0c0c0a; max-height: calc(100dvh - 106px); overflow-y: auto; }
  body.visual-v3 .menu.open { display: flex; }
  body.visual-v3 .menu > a { padding: 10px; }
  body.visual-v3 .menu .cta { text-align: center; }
  body.visual-v3 .lang-switch { align-self: flex-start; }
  body.visual-v3 .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 960px) {
  body.visual-v3.hero-standalone .hero { min-height: 0; padding: 32px 0 56vw; }
  body.visual-v3.hero-standalone .hero-v2-art { top: auto; bottom: -25vw; transform: none; aspect-ratio: 941 / 1672; }
  body.visual-v3.hero-standalone .hero::before { background: linear-gradient(#030303 0%,#030303 22%,#03030366 47%,transparent 65%,#03030344 85%,#030303); }
  body.visual-v3.hero-standalone .hero-copy { width: 100%; max-width: 520px; margin: 0 auto; }
  body.visual-v3.hero-standalone .hero h1 { font-size: clamp(38px,7.3vw,56px); max-width: 16ch; line-height: 1.06; }
  body.visual-v3.hero-standalone .hero .eyebrow { font-size: 9px; margin-bottom: 17px; }
  body.visual-v3.hero-standalone .hero .lead { font-size: 15px; line-height: 1.65; margin-bottom: 24px; }
  body.visual-v3.hero-standalone .hero .actions { gap: 8px 20px; }
  body.visual-v3.hero-standalone .hero .actions .btn { font-size: 12px; }
  body.visual-v3.hero-standalone .hero .stats { gap: 15px; margin-top: 20px; padding-top: 17px; }
  body.visual-v3.hero-standalone .hero .stats span { font-size: 11px; color: #ded7cc; text-shadow: 0 1px 4px #000; }
}
@media (min-width: 821px) and (max-width: 960px) {
  body.visual-v3.hero-standalone .hero { padding-bottom: 448px; }
  body.visual-v3.hero-standalone .hero-v2-art { width: 800px; left: 50%; bottom: -200px; transform: translateX(-50%); }
}
@media (max-width: 820px) {
  body.visual-v3 .float { width: calc(100% - 2 * var(--v3-gutter)); }
  body.visual-v3 .footer-grid { grid-template-columns: minmax(0,1fr); }
  body.visual-v3 .page-hero { padding-top: 32px; }
  body.visual-v3 .page-hero h1 { font-size: 38px; }
}

/* Full-site extension: only the seven newly adopted page families.
   The approved pilot rules above remain byte-for-byte unchanged. */
body.visual-v3:is(.services-v2, .gallery-v2, .about-v2, .contact-v2, .privacy-v2, .cookies-v2) main > .section:last-child {
  padding-bottom: var(--v3-section-space);
}
body.visual-v3.gallery-v2 .gallery-intro h2,
body.visual-v3.about-v2 :is(.about-story-copy, .about-final-cta) h2,
body.visual-v3.contact-v2 .contact-area h2,
body.visual-v3:is(.privacy-v2, .cookies-v2) .legal-copy > h2 {
  font-family: var(--v3-display); font-weight: 400; letter-spacing: -.035em;
  line-height: 1.12; text-shadow: none; color: var(--v3-text);
}
body.visual-v3.gallery-v2 .gallery-intro h2,
body.visual-v3.about-v2 :is(.about-story-copy, .about-final-cta) h2,
body.visual-v3.contact-v2 .contact-area h2 { font-size: clamp(28px, 3vw, 40px); }
body.visual-v3.services-v2 .service-card h3,
body.visual-v3.gallery-v2 .gallery-card h3,
body.visual-v3.about-v2 .about-team-card h3 {
  font: 400 clamp(26px, 2.6vw, 34px)/1.15 var(--v3-display);
  letter-spacing: -.025em; color: var(--v3-text); text-shadow: none;
}

/* The same calm material, existing emphasis and gold action vocabulary. */
body.visual-v3.services-v2 .service-card,
body.visual-v3.gallery-v2 .gallery-card,
body.visual-v3.about-v2 :is(.about-service-panel, .about-team-card, .about-final-cta),
body.visual-v3.contact-v2 :is(.contact-card, .contact-area) {
  border: 1px solid var(--v3-line); border-radius: var(--v3-radius);
  background: var(--v3-surface); box-shadow: none;
}
body.visual-v3.services-v2 .service-card[data-tier=premium] {
  border-color: #d6b36a88; background: #16150f; box-shadow: none;
}
body.visual-v3.services-v2 .service-card::before,
body.visual-v3.gallery-v2 .gallery-card::before,
body.visual-v3.about-v2 :is(.about-service-panel, .about-team-card)::before,
body.visual-v3.contact-v2 .contact-card::before { content: none; }
body.visual-v3.services-v2 .service-card { padding: clamp(22px, 2.5vw, 32px); }
body.visual-v3.services-v2 .service-card :is(.service-no, .sales-badge) {
  border-color: var(--v3-line); border-radius: var(--v3-control-radius);
  background: #d6b36a0d; box-shadow: none;
}
body.visual-v3.services-v2 .service-card .price strong {
  color: var(--v3-text); font-family: var(--v3-body); font-weight: 600; text-shadow: none;
}
body.visual-v3.services-v2 .service-card li { line-height: 1.6; }
body.visual-v3.services-v2 .service-card li::before { box-shadow: none; }
body.visual-v3.services-v2 .service-card .btn,
body.visual-v3.about-v2 :is(.about-service-panel, .about-final-cta) .btn,
body.visual-v3.contact-v2 .contact-card .btn {
  min-height: 48px; padding: 14px 20px; border: 1px solid #f4d79880;
  border-radius: var(--v3-control-radius); background: linear-gradient(120deg,#dfbb73,#d2a75a);
  color: #100d07; font-family: var(--v3-body); font-size: 14px; font-weight: 650;
  line-height: 1.4; box-shadow: none; text-shadow: none;
}
body.visual-v3.about-v2 .about-team-card .placeholder,
body.visual-v3.gallery-v2 .gallery-placeholder-visual {
  border-color: var(--v3-line); border-radius: var(--v3-control-radius);
  background: var(--v3-inset); box-shadow: none;
}
body.visual-v3.gallery-v2 .gallery-placeholder-visual::before { content: none; }
body.visual-v3.gallery-v2 .gallery-intro .eyebrow {
  display: block; padding: 0; border: 0; border-radius: 0; background: none;
  color: #d5b579; font-family: var(--v3-body); font-size: 10px;
  font-weight: 600; letter-spacing: .14em; line-height: 1.6;
}
body.visual-v3.contact-v2 .contact-list a {
  color: var(--v3-text); font-size: clamp(16px, 1.6vw, 23px); line-height: 1.5;
}
body.visual-v3.contact-v2 .contact-card .social-links a {
  border-color: var(--v3-line); border-radius: var(--v3-control-radius);
  background: transparent; color: #e4d9c1; box-shadow: none;
}

/* Legal prose stays complete, narrow enough to read, and separate from cards. */
body.visual-v3:is(.privacy-v2, .cookies-v2) .legal-copy > h2 {
  font-size: clamp(26px, 2.35vw, 34px); border-color: var(--v3-line);
}
body.visual-v3:is(.privacy-v2, .cookies-v2) .legal-copy > h2::before { content: none; }
body.visual-v3:is(.privacy-v2, .cookies-v2) .legal-copy > p {
  color: var(--v3-muted); font-family: var(--v3-body); line-height: 1.78;
}
body.visual-v3:is(.privacy-v2, .cookies-v2) .legal-copy a { color: var(--gold2); }
body.visual-v3:is(.privacy-v2, .cookies-v2) .footer a[aria-current=page] {
  color: var(--gold2); text-decoration: underline; text-underline-offset: 4px;
}

/* Confirmation copy/query handling remain original; only presentation changes. */
body.visual-v3.confirmation-v3 .page-hero .btn { margin-top: 28px; }
body.visual-v3.confirmation-v3 .success-reference {
  border-color: var(--v3-line); border-radius: var(--v3-control-radius);
  background: var(--v3-inset); color: var(--v3-text); box-shadow: none;
}
body.visual-v3.confirmation-v3 .form-error {
  border-color: #ef9696; border-radius: var(--v3-control-radius);
  background: #311415; color: #ffe4e4; box-shadow: none;
}

/* Extras price units: preserve the whole amount; reuse the mobile row layout
 * where desktop columns leave cards too narrow for description + price.
 * The enclosing Booking Grid, card typography and selection remain unchanged. */
body.visual-v3.booking-v2 .booking-addons > label > strong,
body.visual-v3.calculator-v2 #kalkulaator .checks > label > strong {
  white-space: nowrap;
}
@media (min-width: 960px) and (max-width: 1079px) {
  body.visual-v3.booking-v2 .booking-addons > label { grid-template-columns: auto 1fr; }
  body.visual-v3.booking-v2 .booking-addons > label > strong { grid-column: 2; }
}
@media (min-width: 1101px) and (max-width: 1239px) {
  body.visual-v3.calculator-v2 #kalkulaator .checks > label { grid-template-columns: auto 1fr; }
  body.visual-v3.calculator-v2 #kalkulaator .checks > label > strong { grid-column: 2; }
}

/* One shared founders' photo, ready for the owner's supplied image. */
body.visual-v3.about-v2 .about-team-head h2 { max-width: none; }
body.visual-v3.about-v2 .founders-photo { max-width: 960px; margin: 0 auto; overflow: hidden; border: 1px solid var(--v3-line); border-radius: var(--v3-radius); background: var(--v3-inset); }
body.visual-v3.about-v2 .founders-photo-placeholder { aspect-ratio: 16 / 9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; color: var(--v3-muted); padding: 24px; text-align: center; }
body.visual-v3.about-v2 .founders-photo-placeholder svg { color: var(--v3-gold); opacity: .75; }
body.visual-v3.about-v2 .founders-photo > img { display: block; width: 100%; height: auto; }
@media (max-width: 600px) { body.visual-v3.about-v2 .founders-photo-placeholder { aspect-ratio: 4 / 3; } }
body.visual-v3.pricing-v2 .location-price-note p { margin: 0; }
