/*
Theme Name: Valiant Detailing Premium SEO
Theme URI: https://valiantautodetail.com/
Author: Valiant Detailing
Author URI: https://valiantautodetail.com/
Description: Complete multi-page Valiant Detailing WordPress theme using the current navy, cool-white, mist, and gold palette, with protected native booking, vehicle-size pricing, clear upgrades, detailed services, real-project case studies, a concise courage-centered story, local SEO, structured data, and responsive images.
Version: 4.7.0
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: valiant-detailing
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-menu, custom-logo, featured-images, one-column, two-columns, accessibility-ready
*/

:root {
  --ink: #07111f;
  --navy: #0b1d32;
  --navy-2: #112b47;
  --gold: #d4a33d;
  --gold-dark: #a66f18;
  --cream: #f4f6f8;
  --paper: #ffffff;
  --mist: #edf2f6;
  --text: #263447;
  --muted: #637186;
  --line: #dbe2e9;
  --success: #1d7659;
  --danger: #9b453f;
  --shadow-sm: 0 12px 34px rgba(7, 17, 31, 0.08);
  --shadow: 0 26px 74px rgba(7, 17, 31, 0.15);
  --radius-sm: 12px;
  --radius: 22px;
  --radius-lg: 34px;
  --container: 1180px;
  --header-height: 82px;
  --display-font: "Bodoni 72", "Bodoni MT", Didot, "Times New Roman", Georgia, serif;
  --font-heading: var(--display-font);
  --title-font: var(--display-font);
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; scroll-padding-top: 100px; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--text);
  background: var(--paper);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(216, 171, 82, 0.85); outline-offset: 4px; }
::selection { color: var(--ink); background: rgba(216, 171, 82, 0.48); }

.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 3000;
  padding: 10px 14px;
  border-radius: 8px;
  color: var(--ink);
  background: var(--gold);
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform 180ms ease;
}
.skip-link:focus { transform: translateY(0); }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 104px 0; }
.section-sm { padding: 72px 0; }
.section-dark { color: #fff; background: var(--navy); }
.section-cream { background: var(--cream); }
.section-mist { background: var(--mist); }

h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, .display {
  color: var(--ink);
  font-family: var(--display-font);
  font-weight: 700;
  letter-spacing: -0.035em;
}
h1 { margin-bottom: 22px; font-size: clamp(3.4rem, 7vw, 6.8rem); line-height: 0.91; }
h2 { margin-bottom: 18px; font-size: clamp(2.45rem, 4.8vw, 4.45rem); line-height: 0.98; }
h3 { margin-bottom: 12px; color: var(--ink); font-size: 1.15rem; line-height: 1.35; }
h4 { color: var(--ink); }
.section-dark h1, .section-dark h2, .section-dark h3, .section-dark h4 { color: #fff; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 17px;
  color: var(--gold-dark);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.15em;
  line-height: 1.35;
  text-transform: uppercase;
}
.eyebrow::before { width: 28px; height: 2px; content: ""; background: currentColor; }
.eyebrow.light { color: var(--gold); }
.lead { max-width: 710px; color: var(--muted); font-size: clamp(1.02rem, 1.7vw, 1.18rem); line-height: 1.72; }
.section-dark .lead { color: #cbd4df; }
.section-heading { max-width: 760px; margin-bottom: 48px; }
.section-heading.center { margin-inline: auto; text-align: center; }
.section-heading.center .eyebrow { justify-content: center; }
.section-heading.center .eyebrow::before { display: none; }
.section-heading.center .lead { margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: var(--header-height);
  border-bottom: 1px solid rgba(219, 226, 233, 0.9);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(18px);
}
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand { display: inline-flex; min-width: 160px; flex-direction: column; justify-content: center; line-height: 1; text-transform: uppercase; }
.brand-main { color: var(--ink); font-family: var(--display-font); font-size: 1.8rem; font-weight: 700; letter-spacing: 0.16em; }
.brand-sub { margin-top: 5px; color: var(--gold-dark); font-size: 0.61rem; font-weight: 800; letter-spacing: 0.37em; }
.site-nav { display: flex; align-items: center; gap: clamp(16px, 2vw, 29px); }
.site-nav a:not(.button) { position: relative; color: #3e4b5d; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.075em; text-transform: uppercase; }
.site-nav a:not(.button)::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 2px; content: ""; background: var(--gold-dark); transform: scaleX(0); transform-origin: center; transition: transform 180ms ease; }
.site-nav a:not(.button):hover::after, .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.site-nav a[aria-current="page"] { color: var(--ink); }
.menu-toggle { display: none; width: 46px; height: 46px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: #fff; cursor: pointer; }
.menu-toggle-lines, .menu-toggle-lines::before, .menu-toggle-lines::after { display: block; width: 19px; height: 2px; content: ""; background: currentColor; transition: transform 180ms ease, opacity 180ms ease; }
.menu-toggle-lines { position: relative; }
.menu-toggle-lines::before { position: absolute; top: -6px; }
.menu-toggle-lines::after { position: absolute; top: 6px; }
.menu-toggle[aria-expanded="true"] .menu-toggle-lines { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-toggle-lines::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-lines::after { top: 0; transform: rotate(-45deg); }
.mobile-only-link { display: none; }

.button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 21px;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.085em;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}
.button:hover { transform: translateY(-2px); }
.button-gold { color: var(--ink); background: var(--gold); box-shadow: 0 12px 26px rgba(170, 116, 31, 0.23); }
.button-gold:hover { background: #e4b960; box-shadow: 0 16px 34px rgba(170, 116, 31, 0.29); }
.button-dark { color: #fff; background: var(--ink); box-shadow: 0 12px 28px rgba(7, 17, 31, 0.19); }
.button-dark:hover { background: var(--navy-2); }
.button-outline { color: var(--ink); border-color: #bcc7d2; background: rgba(255, 255, 255, 0.82); }
.button-outline:hover { border-color: var(--gold-dark); background: #fff; }
.button-outline-light { color: #fff; border-color: rgba(255,255,255,0.36); background: rgba(255,255,255,0.04); }
.button-outline-light:hover { border-color: var(--gold); background: rgba(255,255,255,0.09); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--gold-dark); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.text-link::after { content: "→"; transition: transform 180ms ease; }
.text-link:hover::after { transform: translateX(4px); }

.hero-home {
  position: relative;
  min-height: calc(100svh - var(--header-height));
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: clamp(26px, 4.5vh, 58px) 0;
  background:
    radial-gradient(circle at 16% 12%, rgba(216, 171, 82, 0.17), transparent 31%),
    linear-gradient(130deg, #fff 0%, #fff 53%, #f3f6f8 53%, #f3f6f8 100%);
}
.hero-home::after { position: absolute; right: -10%; bottom: -30%; width: 46vw; height: 46vw; border: 1px solid rgba(216,171,82,0.2); border-radius: 50%; content: ""; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(350px, 0.92fr); align-items: center; gap: clamp(34px, 5vw, 74px); }
.hero-copy { min-width: 0; }
.hero-home h1 { max-width: 760px; font-size: clamp(3.45rem, 6.5vw, 6.35rem); }
.hero-home h1 span { display: block; color: var(--gold-dark); }
.hero-home .lead { max-width: 650px; margin-bottom: 28px; }
.hero-actions { margin-bottom: 28px; }
.hero-points { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0; padding: 0; list-style: none; color: #49576a; font-size: 0.82rem; font-weight: 700; }
.hero-points li { display: flex; align-items: center; gap: 8px; }
.hero-points li::before { width: 7px; height: 7px; border-radius: 50%; content: ""; background: var(--gold-dark); }
.hero-visual { position: relative; justify-self: end; width: min(100%, 510px); }
.hero-image { width: 100%; height: min(72vh, 680px); min-height: 420px; object-fit: cover; object-position: 50% 45%; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.hero-visual::before { position: absolute; top: -18px; right: -18px; width: 62%; height: 54%; border: 1px solid rgba(170,116,31,0.42); border-radius: var(--radius-lg); content: ""; }
.hero-badge { position: absolute; right: -22px; bottom: 28px; max-width: 230px; padding: 18px 20px; border: 1px solid rgba(255,255,255,0.15); border-radius: 16px; color: #fff; background: rgba(7,17,31,0.93); box-shadow: var(--shadow-sm); }
.hero-badge strong { display: block; margin-bottom: 4px; color: var(--gold); font-size: 0.75rem; letter-spacing: 0.09em; text-transform: uppercase; }
.hero-badge span { color: #d4dbe4; font-size: 0.82rem; line-height: 1.5; }

.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--ink); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { min-height: 84px; display: flex; align-items: center; justify-content: center; padding: 16px 20px; border-right: 1px solid rgba(255,255,255,0.12); color: #edf2f6; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.07em; text-align: center; text-transform: uppercase; }
.trust-item:last-child { border-right: 0; }

.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.service-card, .info-card, .price-card, .step-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.service-card { display: flex; min-height: 315px; flex-direction: column; padding: 28px; transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.service-card:hover { transform: translateY(-5px); border-color: rgba(170,116,31,0.44); box-shadow: var(--shadow); }
.service-card .service-label { margin-bottom: 18px; color: var(--gold-dark); font-size: 0.69rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.service-card h3 { font-family: var(--display-font); font-size: 2rem; line-height: 1; }
.service-card p { color: var(--muted); font-size: 0.93rem; }
.service-card .price { margin-top: auto; padding-top: 18px; color: var(--ink); font-weight: 800; }
.service-card .text-link { margin-top: 13px; }

.split { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(42px, 7vw, 90px); }
.split.reverse .split-media { order: 2; }
.split-media { position: relative; }
.split-media img { width: 100%; min-height: 540px; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.split-media.compact img { min-height: 460px; }
.split-media::after { position: absolute; right: -16px; bottom: -16px; width: 44%; height: 44%; border-right: 2px solid var(--gold); border-bottom: 2px solid var(--gold); border-radius: 0 0 24px 0; content: ""; }
.split-copy .lead { margin-bottom: 26px; }
.check-list, .plain-list { margin: 0; padding: 0; list-style: none; }
.check-list { display: grid; gap: 14px; }
.check-list li { position: relative; padding-left: 30px; color: #3d4b5d; }
.check-list li::before { position: absolute; top: 0.29em; left: 0; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; content: "✓"; color: var(--ink); background: var(--gold); font-size: 0.67rem; font-weight: 900; }
.simple-box { margin-top: 28px; padding: 22px 24px; border-left: 4px solid var(--gold); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--cream); }
.simple-box strong { display: block; margin-bottom: 5px; color: var(--ink); }
.simple-box p { margin-bottom: 0; color: var(--muted); font-size: 0.92rem; }

.steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.step-card { padding: 26px; }
.step-number { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; margin-bottom: 23px; border-radius: 50%; color: var(--ink); background: var(--gold); font-size: 0.76rem; font-weight: 900; }
.step-card p { margin-bottom: 0; color: var(--muted); font-size: 0.91rem; }

.faq-list { max-width: 900px; margin-inline: auto; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 23px 48px 23px 0; color: var(--ink); cursor: pointer; font-weight: 800; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; top: 50%; right: 4px; content: "+"; color: var(--gold-dark); font-size: 1.55rem; transform: translateY(-50%); }
.faq-list details[open] summary::after { content: "−"; }
.faq-answer { max-width: 760px; padding: 0 0 24px; color: var(--muted); }
.faq-answer p:last-child { margin-bottom: 0; }

.cta-band { position: relative; overflow: hidden; padding: 78px 0; color: #fff; background: var(--navy); }
.cta-band::before { position: absolute; top: -120px; right: -100px; width: 390px; height: 390px; border: 1px solid rgba(216,171,82,0.26); border-radius: 50%; content: ""; }
.cta-inner { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; }
.cta-inner h2 { max-width: 790px; margin-bottom: 12px; color: #fff; }
.cta-inner p { max-width: 650px; margin-bottom: 0; color: #cbd4df; }

.breadcrumbs { padding: 18px 0 0; color: var(--muted); font-size: 0.78rem; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { margin-left: 8px; content: "/"; color: #9ca7b4; }
.breadcrumbs a:hover { color: var(--gold-dark); }

.page-hero { position: relative; min-height: calc(100svh - var(--header-height) - 39px); display: grid; align-items: center; padding: 36px 0 50px; overflow: hidden; background: linear-gradient(135deg, #fff 0%, #fff 55%, var(--mist) 55%); }
.page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(340px, 0.97fr); align-items: center; gap: clamp(42px, 7vw, 88px); }
.page-hero h1 { max-width: 780px; margin-bottom: 18px; font-size: clamp(3.05rem, 4.7vw, 4.55rem); line-height: 0.94; }
.page-hero .lead { margin-bottom: 26px; }
.page-hero-media { position: relative; justify-self: end; width: min(100%, 500px); }
.page-hero-media img { width: 100%; height: min(54vh, 520px); min-height: 390px; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.page-hero-media::before { position: absolute; top: -16px; left: -16px; width: 45%; height: 45%; border-top: 2px solid var(--gold); border-left: 2px solid var(--gold); border-radius: 24px 0 0 0; content: ""; }
.price-pill { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 24px; padding: 9px 14px; border: 1px solid rgba(170,116,31,0.3); border-radius: 999px; color: var(--ink); background: rgba(216,171,82,0.18); font-size: 0.78rem; font-weight: 800; }

.two-column { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr); gap: clamp(40px, 7vw, 90px); align-items: start; }
.content-copy { max-width: 760px; }
.content-copy h2 { margin-top: 55px; font-size: clamp(2.2rem, 4vw, 3.55rem); }
.content-copy h2:first-child { margin-top: 0; }
.content-copy h3 { margin-top: 30px; }
.content-copy p, .content-copy li { color: #4d5b6d; }
.content-copy ul { padding-left: 1.2rem; }
.content-copy li + li { margin-top: 8px; }
.sticky-card { position: sticky; top: 112px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.sticky-card .starting { margin-bottom: 2px; color: var(--muted); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.sticky-card .amount { margin-bottom: 15px; color: var(--ink); font-family: var(--display-font); font-size: 3.2rem; font-weight: 700; line-height: 1; }
.sticky-card p { color: var(--muted); font-size: 0.9rem; }
.sticky-card .button { width: 100%; }
.sticky-card .button + .button { margin-top: 10px; }

.compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.info-card { padding: 28px; }
.info-card.good { border-top: 4px solid var(--success); }
.info-card.limit { border-top: 4px solid var(--danger); }
.info-card h3 { font-family: var(--display-font); font-size: 2rem; }
.info-card ul { margin: 0; padding-left: 1.15rem; color: var(--muted); }
.info-card li + li { margin-top: 7px; }

.price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.price-card { display: flex; min-height: 330px; flex-direction: column; padding: 28px; }
.price-card.featured { border: 2px solid var(--gold); transform: translateY(-5px); }
.price-card .tag { margin-bottom: 18px; color: var(--gold-dark); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.price-card h3 { font-family: var(--display-font); font-size: 2rem; }
.price-card .amount { margin-bottom: 16px; color: var(--ink); font-size: 1.65rem; font-weight: 800; }
.price-card p { color: var(--muted); font-size: 0.91rem; }
.price-card ul { margin: 0 0 24px; padding-left: 1.15rem; color: #4b596c; font-size: 0.9rem; }
.price-card li + li { margin-top: 7px; }
.price-card .text-link { margin-top: auto; }

.area-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.area-chip { padding: 23px 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink); background: #fff; font-weight: 800; text-align: center; box-shadow: var(--shadow-sm); }

.contact-grid { display: grid; grid-template-columns: minmax(280px, 0.76fr) minmax(0, 1.24fr); gap: clamp(38px, 7vw, 85px); align-items: start; }
.contact-card { padding: 30px; border-radius: var(--radius); color: #fff; background: var(--navy); box-shadow: var(--shadow); }
.contact-card h1, .contact-card h2 { margin-bottom: 18px; color: #fff; font-size: clamp(3rem, 5vw, 4.6rem); line-height: 0.95; }
.contact-card p { color: #cbd4df; }
.contact-list { display: grid; gap: 18px; margin: 28px 0 0; }
.contact-item { padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.14); }
.contact-item small { display: block; margin-bottom: 4px; color: var(--gold); font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.contact-item a { font-weight: 800; }
.form-card { padding: clamp(25px, 4vw, 42px); border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.form-card h2 { font-size: clamp(2.4rem, 4vw, 3.8rem); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.field.full { grid-column: 1 / -1; }
.field label, .fieldset-label { display: block; margin-bottom: 7px; color: var(--ink); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.055em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #c9d2dc; border-radius: 10px; color: var(--ink); background: #fff; transition: border-color 180ms ease, box-shadow 180ms ease; }
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(216,171,82,0.17); }
.radio-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.radio-option { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 7px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; font-size: 0.82rem; font-weight: 700; text-align: center; }
.radio-option:has(input:checked) { border-color: var(--gold-dark); background: rgba(216,171,82,0.14); }
.form-note { margin: 13px 0 0; color: var(--muted); font-size: 0.78rem; }
.request-actions { display: none; margin-top: 22px; padding: 22px; border: 1px solid rgba(29,118,89,0.25); border-radius: var(--radius-sm); background: rgba(29,118,89,0.08); }
.request-actions.visible { display: block; }
.request-actions h3 { margin-bottom: 6px; }
.request-actions p { margin-bottom: 15px; color: #4c5c68; font-size: 0.9rem; }
.request-actions .button-row { margin-top: 12px; }
.copy-status { margin-top: 10px; min-height: 1.4em; color: var(--success); font-size: 0.82rem; font-weight: 700; }
.hp-field { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px,1px,1px,1px) !important; white-space: nowrap !important; }

.site-footer { padding: 72px 0 28px; color: #b9c4cf; background: var(--ink); }
.footer-grid { display: grid; grid-template-columns: 1.1fr 0.8fr 0.8fr 0.9fr; gap: 44px; padding-bottom: 50px; }
.footer-brand .brand-main { color: #fff; }
.footer-brand p { max-width: 340px; margin-top: 18px; color: #9eabb8; font-size: 0.9rem; }
.footer-title { margin-bottom: 17px; color: #fff; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.11em; text-transform: uppercase; }
.footer-links { display: grid; gap: 9px; font-size: 0.88rem; }
.footer-links a:hover { color: var(--gold); }
.footer-contact { font-size: 0.88rem; }
.footer-contact p { margin-bottom: 9px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.12); color: #8796a5; font-size: 0.76rem; }
.footer-bottom a:hover { color: var(--gold); }

.mobile-call-bar { display: none; }

@media (max-width: 1040px) {
  .site-nav { gap: 17px; }
  .site-nav a:not(.button) { font-size: 0.67rem; }
  .site-nav .button { padding-inline: 16px; }
  .hero-grid, .page-hero-grid { grid-template-columns: 1fr 0.8fr; gap: 38px; }
  .card-grid, .price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
  :root { --header-height: 72px; }
  .container { width: min(calc(100% - 32px), var(--container)); }
  .site-header { height: var(--header-height); }
  .brand-main { font-size: 1.55rem; }
  .brand-sub { font-size: 0.55rem; }
  .menu-toggle { display: grid; }
  .site-nav {
    position: fixed;
    top: var(--header-height);
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    overflow-y: auto;
    padding: 20px 24px 110px;
    background: rgba(255,255,255,0.985);
  }
  .site-nav[data-open="true"] { display: flex; }
  .site-nav a:not(.button) { padding: 16px 4px; border-bottom: 1px solid var(--line); font-size: 0.82rem; }
  .site-nav a:not(.button)::after { display: none; }
  .site-nav .button { margin-top: 18px; }
  .mobile-only-link { display: block; }
  .hero-home { min-height: calc(100svh - var(--header-height)); padding: 24px 0; background: linear-gradient(180deg, #fff 0%, #fff 62%, var(--mist) 62%); }
  .hero-grid { grid-template-columns: 1fr; gap: 20px; }
  .hero-home h1 { max-width: 680px; margin-bottom: 14px; font-size: clamp(3rem, 9vw, 4.6rem); }
  .hero-home .lead { margin-bottom: 18px; font-size: 1rem; line-height: 1.55; }
  .hero-actions { margin-bottom: 0; }
  .hero-points { display: none; }
  .hero-visual { justify-self: stretch; width: 100%; }
  .hero-image { height: 280px; min-height: 0; object-position: 50% 40%; }
  .hero-badge { right: 18px; bottom: 18px; }
  .page-hero { min-height: calc(100svh - var(--header-height) - 39px); padding: 24px 0; background: linear-gradient(180deg, #fff 0%, #fff 63%, var(--mist) 63%); }
  .page-hero-grid { grid-template-columns: 1fr; gap: 20px; }
  .page-hero h1 { margin-bottom: 14px; font-size: clamp(2.9rem, 8.5vw, 4.2rem); }
  .page-hero .lead { margin-bottom: 18px; font-size: 1rem; line-height: 1.55; }
  .page-hero-media { justify-self: stretch; width: 100%; }
  .page-hero-media img { height: 260px; min-height: 0; }
  .split, .two-column, .contact-grid { grid-template-columns: 1fr; }
  .split.reverse .split-media { order: initial; }
  .split-media img, .split-media.compact img { min-height: 420px; }
  .sticky-card { position: static; }
  .cta-inner { grid-template-columns: 1fr; }
  .cta-inner .button-row { justify-content: flex-start; }
}

@media (max-width: 640px) {
  body { padding-bottom: 64px; }
  .section { padding: 78px 0; }
  .section-sm { padding: 56px 0; }
  h2 { font-size: clamp(2.3rem, 12vw, 3.45rem); }
  .eyebrow { font-size: 0.68rem; }
  .hero-home { min-height: calc(100svh - var(--header-height) - 63px); padding: 18px 0; }
  .hero-grid { gap: 16px; }
  .hero-home h1 { margin-bottom: 11px; font-size: clamp(2.45rem, 11vw, 3.3rem); line-height: 0.92; }
  .hero-home .lead { margin-bottom: 13px; font-size: 0.88rem; line-height: 1.45; }
  .hero-actions { flex-wrap: nowrap; gap: 8px; margin-bottom: 0; }
  .hero-actions .button { min-width: 0; flex: 1 1 0; min-height: 43px; padding: 9px 10px; font-size: 0.62rem; }
  .hero-points { display: none; }
  .hero-image { height: 200px; min-height: 0; border-radius: 20px; }
  .hero-visual::before { display: none; }
  .hero-badge { right: 12px; bottom: 12px; max-width: 190px; padding: 12px 14px; }
  .hero-badge span { font-size: 0.72rem; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item { min-height: 72px; border-bottom: 1px solid rgba(255,255,255,0.12); font-size: 0.66rem; }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(3), .trust-item:nth-child(4) { border-bottom: 0; }
  .card-grid, .price-grid, .steps, .compare-grid, .area-grid, .form-grid { grid-template-columns: 1fr; }
  .service-card, .price-card { min-height: 0; }
  .price-card.featured { transform: none; }
  .split-media img, .split-media.compact img { min-height: 360px; }
  .page-hero { min-height: calc(100svh - var(--header-height) - 39px - 63px); padding: 14px 0; }
  .page-hero-grid { gap: 14px; }
  .page-hero h1 { margin-bottom: 11px; font-size: clamp(2.45rem, 11vw, 3.35rem); }
  .page-hero .lead { margin-bottom: 13px; font-size: 0.88rem; line-height: 1.45; }
  .page-hero .button-row { flex-wrap: nowrap; gap: 8px; }
  .page-hero .button-row .button { min-width: 0; flex: 1 1 0; min-height: 43px; padding: 9px 10px; font-size: 0.62rem; }
  .page-hero-media img { height: 180px; }
  .radio-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .footer-bottom { flex-direction: column; }
  .mobile-call-bar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1100;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 8px 12px max(8px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--line);
    background: rgba(255,255,255,0.97);
    backdrop-filter: blur(16px);
  }
  .mobile-call-bar a { min-height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 999px; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
  .mobile-call-bar .call { color: #fff; background: var(--ink); }
  .mobile-call-bar .quote { color: var(--ink); background: var(--gold); }
}

@media (max-width: 370px) {
  .container { width: min(calc(100% - 24px), var(--container)); }
  .button-row .button { width: 100%; }
  .hero-home { padding-top: 14px; }
  .hero-home .eyebrow { margin-bottom: 8px; }
  .hero-home h1 { font-size: 2.25rem; }
  .hero-home .lead { font-size: 0.8rem; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-actions .button { width: auto; padding-inline: 6px; font-size: 0.56rem; }
  .hero-image { height: 145px; }
  .hero-badge { display: none; }
}

@media (max-height: 670px) and (min-width: 861px) {
  .hero-home { padding: 28px 0; }
  .hero-home h1 { margin-bottom: 15px; font-size: clamp(3.1rem, 6vw, 5.35rem); }
  .hero-home .lead { margin-bottom: 18px; font-size: 1rem; line-height: 1.55; }
  .hero-actions { margin-bottom: 15px; }
  .hero-image { height: calc(100svh - 135px); min-height: 390px; }
}

@media (max-height: 620px) and (max-width: 640px) {
  .hero-home { min-height: calc(100svh - var(--header-height) - 64px); padding: 14px 0 18px; }
  .hero-home .eyebrow { display: none; }
  .hero-home h1 { margin-bottom: 10px; font-size: 2.48rem; }
  .hero-home .lead { margin-bottom: 11px; font-size: 0.84rem; line-height: 1.45; }
  .hero-actions { margin-bottom: 10px; }
  .hero-actions .button { min-height: 42px; padding-block: 9px; }
  .hero-grid { gap: 0; }
  .hero-visual, .page-hero-media { display: none; }
  .hero-badge { display: none; }
  .page-hero { padding: 8px 0; }
  .page-hero .eyebrow { display: none; }
  .page-hero h1 { margin-bottom: 7px; font-size: 2rem; line-height: 0.91; }
  .page-hero .lead { margin-bottom: 7px; font-size: 0.76rem; line-height: 1.34; }
  .page-hero .price-pill { margin-bottom: 8px; padding: 5px 9px; font-size: 0.65rem; }
  .page-hero .button-row .button { min-height: 37px; padding: 7px 5px; font-size: 0.53rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}


/* Multi-page SEO additions */
.all-services-link { display: flex; justify-content: center; margin-top: 34px; }
.guide-card { min-height: 290px; }
.amount-text { font-size: 2.3rem !important; line-height: 1.05 !important; }
.related-guide-section .section-heading { margin-bottom: 24px; }
.content-copy ol { padding-left: 1.3rem; color: #4d5b6d; }
.content-copy ol li + li { margin-top: 9px; }
@media (max-width: 1180px) and (min-width: 861px) {
  .site-nav { gap: 13px; }
  .site-nav a:not(.button) { font-size: 0.62rem; letter-spacing: 0.055em; }
  .site-nav .button { padding-inline: 14px; }
  .brand { min-width: 145px; }
}

/* Homepage hero refresh: cinematic full-width image with clear service links */
.hero-cinematic {
  position: relative;
  min-height: calc(100svh - var(--header-height));
  display: block;
  overflow: hidden;
  padding: 0;
  color: #fff;
  background: var(--ink);
  isolation: isolate;
}
.hero-cinematic::after { display: none; }
.hero-cinematic-media,
.hero-cinematic-shade {
  position: absolute;
  inset: 0;
}
.hero-cinematic-media { z-index: -2; }
.hero-cinematic-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 54% 42%;
  filter: brightness(0.78) saturate(0.9) contrast(1.06);
  transform: scale(1.015);
}
.hero-cinematic-shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(7, 17, 31, 0.98) 0%, rgba(7, 17, 31, 0.94) 34%, rgba(7, 17, 31, 0.63) 54%, rgba(7, 17, 31, 0.18) 82%, rgba(7, 17, 31, 0.08) 100%),
    linear-gradient(0deg, rgba(7, 17, 31, 0.9) 0%, rgba(7, 17, 31, 0.08) 45%);
}
.hero-cinematic-inner {
  min-height: calc(100svh - var(--header-height));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 34px;
  padding-top: clamp(48px, 7.5vh, 88px);
  padding-bottom: clamp(24px, 4vh, 38px);
}
.hero-cinematic-copy { max-width: 760px; }
.hero-cinematic-kicker {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 20px;
  color: var(--gold);
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}
.hero-cinematic-kicker::before {
  width: 34px;
  height: 2px;
  content: "";
  background: currentColor;
}
.hero-cinematic h1 {
  max-width: 790px;
  margin-bottom: 21px;
  color: #fff;
  font-size: clamp(4rem, 6.6vw, 6.9rem);
  line-height: 0.89;
  text-wrap: balance;
  text-shadow: 0 9px 34px rgba(0, 0, 0, 0.24);
}
.hero-cinematic .lead {
  max-width: 670px;
  margin-bottom: 27px;
  color: #d9e1ea;
  font-size: clamp(1rem, 1.5vw, 1.17rem);
  line-height: 1.68;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.24);
}
.hero-cinematic-actions { margin: 0; }
.hero-button-light {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
}
.hero-button-light:hover {
  border-color: var(--gold);
  background: rgba(255, 255, 255, 0.15);
}
.hero-cinematic-services {
  width: min(100%, 980px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  background: rgba(7, 17, 31, 0.7);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(18px);
}
.hero-cinematic-services a {
  position: relative;
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 17px 24px;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  transition: background 180ms ease, color 180ms ease;
}
.hero-cinematic-services a:last-child { border-right: 0; }
.hero-cinematic-services a:hover { background: rgba(255, 255, 255, 0.1); }
.hero-cinematic-services span {
  color: #fff;
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.075em;
  line-height: 1.35;
  text-transform: uppercase;
}
.hero-cinematic-services small {
  color: #bdc9d6;
  font-size: 0.78rem;
  line-height: 1.45;
}

@media (max-width: 860px) {
  .hero-cinematic {
    min-height: calc(100svh - var(--header-height));
    padding: 0;
    background: var(--ink);
  }
  .hero-cinematic-media img { object-position: 58% 44%; }
  .hero-cinematic-shade {
    background:
      linear-gradient(90deg, rgba(7, 17, 31, 0.96) 0%, rgba(7, 17, 31, 0.83) 58%, rgba(7, 17, 31, 0.35) 100%),
      linear-gradient(0deg, rgba(7, 17, 31, 0.96) 0%, rgba(7, 17, 31, 0.08) 50%);
  }
  .hero-cinematic-inner {
    min-height: calc(100svh - var(--header-height));
    gap: 26px;
    padding-top: clamp(34px, 6vh, 58px);
    padding-bottom: 20px;
  }
  .hero-cinematic h1 {
    max-width: 680px;
    margin-bottom: 16px;
    font-size: clamp(3.4rem, 9vw, 5.35rem);
  }
  .hero-cinematic .lead {
    max-width: 610px;
    margin-bottom: 20px;
    font-size: 0.98rem;
    line-height: 1.55;
  }
  .hero-cinematic-services a { min-height: 80px; padding: 14px 18px; }
  .hero-cinematic-services small { font-size: 0.72rem; }
}

@media (max-width: 640px) {
  .hero-cinematic {
    min-height: calc(100svh - var(--header-height) - 63px);
    padding: 0;
  }
  .hero-cinematic-media img {
    object-position: 58% 47%;
    filter: brightness(0.68) saturate(0.9) contrast(1.07);
  }
  .hero-cinematic-shade {
    background:
      linear-gradient(180deg, rgba(7, 17, 31, 0.9) 0%, rgba(7, 17, 31, 0.72) 47%, rgba(7, 17, 31, 0.98) 100%),
      linear-gradient(90deg, rgba(7, 17, 31, 0.78) 0%, rgba(7, 17, 31, 0.26) 100%);
  }
  .hero-cinematic-inner {
    min-height: calc(100svh - var(--header-height) - 63px);
    gap: 14px;
    padding-top: clamp(22px, 4vh, 34px);
    padding-bottom: 12px;
  }
  .hero-cinematic-kicker {
    margin-bottom: 12px;
    font-size: 0.61rem;
    letter-spacing: 0.105em;
  }
  .hero-cinematic-kicker::before { width: 22px; }
  .hero-cinematic h1 {
    max-width: 540px;
    margin-bottom: 12px;
    font-size: clamp(2.85rem, 13.5vw, 4.35rem);
    line-height: 0.91;
  }
  .hero-cinematic .lead {
    max-width: 520px;
    margin-bottom: 14px;
    font-size: 0.87rem;
    line-height: 1.45;
  }
  .hero-cinematic-actions {
    flex-wrap: nowrap;
    gap: 8px;
  }
  .hero-cinematic-actions .button {
    min-width: 0;
    flex: 1 1 0;
    min-height: 43px;
    padding: 9px 10px;
    font-size: 0.62rem;
  }
  .hero-cinematic-services {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-radius: 14px;
  }
  .hero-cinematic-services a {
    min-height: 64px;
    align-items: center;
    padding: 9px 6px;
    text-align: center;
  }
  .hero-cinematic-services span {
    font-size: 0.59rem;
    letter-spacing: 0.045em;
  }
  .hero-cinematic-services small { display: none; }
}

@media (max-width: 370px) {
  .hero-cinematic-inner { gap: 10px; padding-top: 18px; }
  .hero-cinematic-kicker { margin-bottom: 9px; font-size: 0.55rem; }
  .hero-cinematic h1 { margin-bottom: 9px; font-size: 2.52rem; }
  .hero-cinematic .lead { margin-bottom: 10px; font-size: 0.79rem; line-height: 1.38; }
  .hero-cinematic-actions .button { padding-inline: 6px; font-size: 0.56rem; }
  .hero-cinematic-services a { min-height: 56px; padding: 7px 4px; }
  .hero-cinematic-services span { font-size: 0.53rem; }
}

@media (max-height: 670px) and (min-width: 861px) {
  .hero-cinematic-inner { gap: 22px; padding-top: 34px; padding-bottom: 20px; }
  .hero-cinematic h1 { margin-bottom: 14px; font-size: clamp(3.55rem, 5.8vw, 5.4rem); }
  .hero-cinematic .lead { margin-bottom: 16px; font-size: 0.96rem; line-height: 1.5; }
  .hero-cinematic-services a { min-height: 72px; padding-block: 12px; }
}

@media (max-height: 620px) and (max-width: 640px) {
  .hero-cinematic {
    min-height: calc(100svh - var(--header-height) - 64px);
    padding: 0;
  }
  .hero-cinematic-inner {
    min-height: calc(100svh - var(--header-height) - 64px);
    gap: 8px;
    padding-top: 12px;
    padding-bottom: 8px;
  }
  .hero-cinematic-kicker { display: none; }
  .hero-cinematic h1 { margin-bottom: 7px; font-size: 2.35rem; }
  .hero-cinematic .lead { margin-bottom: 8px; font-size: 0.75rem; line-height: 1.32; }
  .hero-cinematic-actions .button { min-height: 38px; padding-block: 7px; font-size: 0.54rem; }
  .hero-cinematic-services a { min-height: 48px; padding: 5px 3px; }
  .hero-cinematic-services span { font-size: 0.49rem; }
}



/* WordPress integration */
.admin-bar .site-header { top: 32px; }
.site-nav .current-menu-item > a,
.site-nav a[aria-current="page"] { color: var(--gold); }
.alignwide { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
.alignfull { width: 100%; }
.wp-caption, .gallery-caption { max-width: 100%; }
.wp-caption-text { color: var(--muted); font-size: .9rem; }
.bypostauthor { display: block; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { width: auto; height: auto; clip: auto; padding: 12px 16px; margin: 8px; z-index: 100000; background: #fff; color: #07111f; }
.content-entry { max-width: 820px; margin-inline: auto; }
.content-entry > * + * { margin-top: 1.25rem; }
.post-list { display: grid; gap: 24px; }
.post-card { padding: 28px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.post-card h2 { margin-bottom: 8px; }
.pagination { margin-top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }


/* Version 1.2: paint-correction sales, online booking, and protection upgrades */
.brand-main,
h1,
h2,
.display,
.service-card h3,
.info-card h3,
.price-card h3,
.sticky-card .amount,
.booking-card h3,
.correction-example-card h3,
.upgrade-preview-card h3 {
  font-family: var(--display-font);
}

/* Paint-correction-first hero refinements */
.hero-correction-first .hero-cinematic-media img {
  object-position: 55% 50%;
  filter: brightness(0.72) saturate(0.88) contrast(1.08);
}
.hero-correction-first .hero-cinematic-copy { max-width: 820px; }
.hero-correction-first h1 {
  max-width: 850px;
  font-weight: 700;
  letter-spacing: -0.046em;
}
.hero-correction-first .hero-cinematic-services {
  width: min(100%, 1050px);
}
.hero-correction-first .hero-cinematic-services a:first-child {
  background: linear-gradient(135deg, rgba(216,171,82,.20), rgba(216,171,82,.07));
}
.hero-correction-first .hero-cinematic-services a:first-child::after {
  position: absolute;
  right: 18px;
  top: 14px;
  padding: 3px 7px;
  border: 1px solid rgba(216,171,82,.62);
  border-radius: 999px;
  color: var(--gold);
  content: "Featured";
  font-size: .52rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

/* Correction examples */
.correction-example-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.correction-example-card {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  padding: 31px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,241,232,.72));
  box-shadow: var(--shadow-sm);
}
.correction-example-card::after {
  position: absolute;
  right: -42px;
  bottom: -42px;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(216,171,82,.28);
  border-radius: 50%;
  content: "";
}
.example-number {
  margin-bottom: 28px;
  color: rgba(170,116,31,.25);
  font-family: var(--display-font);
  font-size: 4.2rem;
  font-weight: 700;
  line-height: .7;
}
.example-tag {
  margin-bottom: 11px;
  color: var(--gold-dark);
  font-size: .69rem;
  font-weight: 900;
  letter-spacing: .115em;
  text-transform: uppercase;
}
.correction-example-card h3 {
  max-width: 310px;
  margin-bottom: 18px;
  font-size: 2rem;
  line-height: 1.02;
}
.correction-example-card p {
  position: relative;
  z-index: 1;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.62;
}
.correction-example-card p:last-child { margin-bottom: 0; }
.correction-example-card strong { color: var(--ink); }
.result-note {
  margin-top: 22px;
  padding: 20px 24px;
  border: 1px solid rgba(170,116,31,.28);
  border-radius: var(--radius-sm);
  color: #536174;
  background: rgba(216,171,82,.10);
}
.result-note strong { color: var(--ink); }

/* Inspection and tool explanation */
.inspection-media { align-self: stretch; }
.inspection-media img { height: 100%; min-height: 660px; }
.media-caption {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  z-index: 2;
  padding: 18px 20px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  color: #fff;
  background: rgba(7,17,31,.87);
  box-shadow: 0 18px 44px rgba(7,17,31,.22);
  backdrop-filter: blur(14px);
}
.media-caption strong { display: block; margin-bottom: 2px; color: var(--gold); font-size: .75rem; letter-spacing: .09em; text-transform: uppercase; }
.media-caption span { display: block; color: #d5dde6; font-size: .82rem; line-height: 1.45; }
.tool-list { display: grid; gap: 9px; margin-top: 28px; }
.tool-item {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr);
  gap: 16px;
  padding: 18px 0;
  border-top: 1px solid rgba(99,113,134,.22);
}
.tool-item > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(170,116,31,.35);
  border-radius: 50%;
  color: var(--gold-dark);
  font-size: .68rem;
  font-weight: 900;
}
.tool-item h3 { margin-bottom: 4px; font-size: 1.03rem; }
.tool-item p { margin-bottom: 0; color: var(--muted); font-size: .88rem; line-height: 1.58; }
.tool-list-light .tool-item { border-color: rgba(255,255,255,.14); }
.tool-list-light .tool-item > span { color: var(--gold); border-color: rgba(216,171,82,.45); }
.tool-list-light .tool-item h3 { color: #fff; }
.tool-list-light .tool-item p { color: #c8d2de; }

/* Online booking cards */
.booking-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 20px;
}
.booking-card {
  position: relative;
  min-height: 490px;
  display: flex;
  flex-direction: column;
  padding: 29px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow-sm);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.booking-card:hover { transform: translateY(-4px); border-color: rgba(170,116,31,.42); box-shadow: var(--shadow); }
.booking-card-featured { border: 2px solid var(--gold); background: linear-gradient(155deg, #fff 0%, #fff 68%, rgba(216,171,82,.09) 100%); }
.booking-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 23px; }
.booking-label { color: var(--gold-dark); font-size: .68rem; font-weight: 900; letter-spacing: .105em; text-transform: uppercase; }
.booking-duration { padding: 6px 10px; border-radius: 999px; color: var(--ink); background: var(--cream); font-size: .68rem; font-weight: 850; }
.booking-card h3 { margin-bottom: 15px; font-size: 2.25rem; line-height: .99; }
.booking-card p { color: var(--muted); font-size: .91rem; }
.booking-card ul { margin: 5px 0 24px; padding: 0; list-style: none; }
.booking-card li { position: relative; padding: 7px 0 7px 23px; border-bottom: 1px solid #edf0f3; color: #465468; font-size: .86rem; }
.booking-card li::before { position: absolute; left: 0; content: "✓"; color: var(--gold-dark); font-weight: 900; }
.booking-card .button { width: 100%; margin-top: auto; }
.schedule-box {
  display: grid;
  gap: 2px;
  margin: 4px 0 16px;
  padding: 15px 17px;
  border-left: 3px solid var(--gold);
  border-radius: 0 10px 10px 0;
  background: var(--cream);
}
.schedule-box strong { color: var(--ink); font-size: .83rem; }
.schedule-box span { color: var(--muted); font-size: .78rem; }
.booking-secondary-action {
  max-width: 880px;
  margin: 25px auto 0;
  padding: 18px 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  color: var(--muted);
  background: #fff;
  text-align: center;
}
.booking-secondary-action strong { color: var(--ink); }
.booking-secondary-action a { color: var(--gold-dark); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.booking-page-hero { background: linear-gradient(135deg, #fff 0%, #fff 54%, #f2eee6 54%); }
.quick-book-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  margin: 26px 0 33px;
}
.quick-book-grid a {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.quick-book-grid a:first-child { border-color: var(--gold); background: var(--cream); }
.quick-book-grid small { color: var(--gold-dark); font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.quick-book-grid strong { margin: 5px 0 3px; color: var(--ink); font-family: var(--display-font); font-size: 1.45rem; line-height: 1; }
.quick-book-grid span { color: var(--muted); font-size: .78rem; }
.quote-booking-lead { margin-bottom: 34px; }

/* Service schedule and consultation details */
.schedule-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 17px;
  margin: 24px 0 37px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--cream);
}
.schedule-strip span { color: var(--gold-dark); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.schedule-strip strong { color: var(--ink); }
.schedule-strip a { color: var(--gold-dark); font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.consultation-details { display: grid; gap: 0; margin-top: 21px; border-top: 1px solid var(--line); }
.consultation-details > div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.consultation-details small { color: var(--muted); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.consultation-details strong { color: var(--ink); font-size: .82rem; text-align: right; }
.paint-process-steps { margin: 28px 0; }
.correction-story-list { display: grid; gap: 15px; margin: 24px 0; }
.correction-story-list article { padding: 22px 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--mist); }
.correction-story-list h3 { margin-bottom: 5px; }
.correction-story-list p { margin-bottom: 0; }
.correction-sticky-card { border-top: 4px solid var(--gold); }
.paint-featured-price { border: 2px solid var(--gold) !important; background: linear-gradient(155deg, #fff, rgba(216,171,82,.08)); }

/* Protection and odor upgrades */
.upgrade-preview-grid,
.upgrade-inline-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 20px;
}
.upgrade-preview-card {
  min-height: 310px;
  display: flex;
  flex-direction: column;
  padding: 29px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--radius);
  color: #fff;
  background: rgba(255,255,255,.055);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}
.upgrade-preview-card:hover { transform: translateY(-4px); border-color: rgba(216,171,82,.55); background: rgba(255,255,255,.09); }
.upgrade-preview-card > span { margin-bottom: 31px; color: var(--gold); font-family: var(--display-font); font-size: 2.6rem; line-height: 1; }
.upgrade-preview-card h3 { margin-bottom: 13px; color: #fff; font-size: 2rem; line-height: 1; }
.upgrade-preview-card p { color: #c7d1dd; font-size: .89rem; }
.upgrade-preview-card strong { margin-top: auto; color: var(--gold); font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; }
.upgrades-actions { justify-content: center; margin-top: 28px; }
.upgrade-inline-grid .info-card { min-height: 260px; }
.upgrade-price-grid { margin-top: 24px; }
.sealant-upgrade-callout { border-top: 4px solid var(--gold); }
.service-card-priority { border: 2px solid var(--gold); background: linear-gradient(145deg, #fff, rgba(216,171,82,.08)); }
.service-grid-compact { grid-template-columns: repeat(3,minmax(0,1fr)); }

/* Six-month spray sealant feature */
.sealant-section { position: relative; overflow: hidden; }
.sealant-section::after {
  position: absolute;
  right: -180px;
  bottom: -220px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(216,171,82,.22);
  border-radius: 50%;
  content: "";
}
.sealant-section .split { position: relative; z-index: 1; }

/* Responsive additions */
@media (max-width: 980px) {
  .correction-example-grid,
  .booking-card-grid,
  .upgrade-preview-grid,
  .upgrade-inline-grid,
  .quick-book-grid { grid-template-columns: 1fr 1fr; }
  .booking-card-grid > :last-child,
  .quick-book-grid > :last-child { grid-column: 1 / -1; }
  .booking-card-grid > :last-child { min-height: 0; }
  .inspection-media img { min-height: 520px; }
}

@media (max-width: 860px) {
  .hero-correction-first .hero-cinematic-services a:first-child::after { display: none; }
  .inspection-media img { min-height: 420px; }
  .media-caption { right: 14px; bottom: 14px; left: 14px; }
  .schedule-strip { grid-template-columns: 1fr; gap: 4px; }
}

@media (max-width: 640px) {
  .correction-example-grid,
  .booking-card-grid,
  .upgrade-preview-grid,
  .upgrade-inline-grid,
  .quick-book-grid { grid-template-columns: 1fr; }
  .booking-card-grid > :last-child,
  .quick-book-grid > :last-child { grid-column: auto; }
  .correction-example-card { min-height: 0; padding: 25px; }
  .example-number { margin-bottom: 22px; font-size: 3.5rem; }
  .correction-example-card h3 { font-size: 1.8rem; }
  .booking-card { min-height: 0; padding: 25px; }
  .booking-card h3 { font-size: 2rem; }
  .upgrade-preview-card { min-height: 0; padding: 25px; }
  .upgrade-preview-card > span { margin-bottom: 22px; }
  .inspection-media img { min-height: 360px; }
  .media-caption { position: relative; right: auto; bottom: auto; left: auto; margin: -76px 13px 0; }
  .tool-item { grid-template-columns: 36px minmax(0,1fr); gap: 12px; }
  .tool-item > span { width: 34px; height: 34px; }
  .booking-secondary-action { text-align: left; }
  .service-grid-compact { grid-template-columns: 1fr; }
}

@media (max-height: 620px) and (max-width: 640px) {
  .hero-correction-first .hero-cinematic-services { display: grid; }
  .hero-correction-first .hero-cinematic-copy { max-width: 100%; }
}
.footer-book-button { margin-top: 18px; }
.footer-brand .footer-book-button { width: fit-content; }
@media (max-width: 640px) {
  .footer-brand .footer-book-button { width: 100%; }
}
.correction-story-list article {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
}
.correction-story-list article > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink);
  background: var(--gold);
  font-size: .7rem;
  font-weight: 900;
}
@media (max-width: 520px) {
  .correction-story-list article { grid-template-columns: 1fr; }
}
.upgrade-inline-grid > a {
  min-height: 180px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--mist);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.upgrade-inline-grid > a:hover {
  transform: translateY(-3px);
  border-color: rgba(170,116,31,.45);
  box-shadow: var(--shadow-sm);
}
.upgrade-inline-grid > a strong {
  color: var(--ink);
  font-family: var(--display-font);
  font-size: 1.55rem;
  line-height: 1.02;
}
.upgrade-inline-grid > a span {
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.55;
}

/* Prevent decorative split-media frames from widening very small screens. */
@media (max-width: 640px) {
  .split-media::after { display: none; }
}

/* Let contact columns shrink cleanly on narrow screens and wrap long details. */
.contact-grid > * { min-width: 0; }
.contact-item a,
.contact-item span { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .contact-card,
  .form-card { width: 100%; max-width: 100%; }
}

/* v1.3.0 — authentic result gallery + founder story */
.real-results-section{position:relative;overflow:hidden;background:#fff}.real-results-section:before{content:"";position:absolute;inset:-20% auto auto -8%;width:32rem;height:32rem;border-radius:50%;background:radial-gradient(circle,rgba(200,155,75,.11),transparent 70%);pointer-events:none}.split-heading{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);align-items:end;gap:48px}.split-heading .lead{margin-bottom:6px}.real-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.real-result-card{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .28s ease,box-shadow .28s ease}.real-result-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.real-result-card img{width:100%;aspect-ratio:1.82/1;object-fit:cover}.real-result-card figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:19px 21px 22px}.real-result-card figcaption strong{color:var(--ink);font-family:var(--font-heading);font-size:1.25rem}.real-result-card figcaption span{max-width:320px;color:var(--muted);font-size:.84rem;line-height:1.55}.results-cta{display:flex;justify-content:center;gap:12px;margin-top:32px}.home-story-section{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#07111f 0%,#0b2038 62%,#102943 100%)}.home-story-section:after{content:"V";position:absolute;right:-.02em;bottom:-.3em;color:rgba(255,255,255,.025);font-family:var(--font-heading);font-size:40vw;line-height:1;pointer-events:none}.home-story-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);align-items:center;gap:clamp(48px,8vw,110px)}.home-story-section h2{color:#fff}.home-story-section .lead,.home-story-section p{color:#cbd6e1}.story-text-link{margin-top:14px;color:var(--gold)}.home-story-visual{position:relative;min-height:390px;display:flex;flex-direction:column;justify-content:flex-end;padding:40px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));box-shadow:0 26px 70px rgba(0,0,0,.25);backdrop-filter:blur(12px)}.story-word{position:absolute;top:34px;left:38px;color:var(--gold);font-family:var(--font-heading);font-size:clamp(3rem,6vw,5.4rem);font-weight:700;letter-spacing:.05em;line-height:.9}.home-story-visual blockquote{margin:0 0 18px;color:#fff;font-family:var(--font-heading);font-size:clamp(1.65rem,3vw,2.7rem);line-height:1.1}.home-story-visual>span{color:#aebccc;font-size:.84rem;letter-spacing:.05em}.story-origin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);align-items:start;gap:clamp(44px,8vw,100px)}.story-lead{color:var(--ink);font-size:clamp(1.2rem,2.1vw,1.55rem);line-height:1.65}.story-quote-card{position:sticky;top:110px;padding:40px;border-radius:28px;color:#fff;background:var(--ink);box-shadow:var(--shadow)}.story-quote-mark{display:block;height:55px;color:var(--gold);font-family:Georgia,serif;font-size:6rem;line-height:.85}.story-quote-card blockquote{margin:18px 0 20px;font-family:var(--font-heading);font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.12}.story-quote-card p{margin:0;color:#cbd6e1}.story-value-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.story-value-grid article{padding:30px 26px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.045)}.story-value-grid article>span{display:inline-flex;margin-bottom:22px;color:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.12em}.story-value-grid h3{color:#fff}.story-value-grid p{margin-bottom:0;color:#b9c6d3;font-size:.91rem}.story-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-page-hero{background:linear-gradient(135deg,#fff 0,#fff 52%,#f4f7fa 52%)}
@media(max-width:900px){.split-heading,.home-story-grid,.story-origin-grid{grid-template-columns:1fr}.story-value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-quote-card{position:relative;top:auto}.home-story-visual{min-height:330px}.real-result-card figcaption{display:block}.real-result-card figcaption span{display:block;margin-top:6px}}
@media(max-width:620px){.real-results-grid,.story-results-grid,.story-value-grid{grid-template-columns:1fr}.results-cta{flex-direction:column}.results-cta .button{width:100%}.real-result-card figcaption{padding:16px}.home-story-visual{min-height:300px;padding:28px}.story-word{top:26px;left:27px}.story-origin-grid{gap:32px}.story-quote-card{padding:28px}}
.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.reveal-ready.reveal-in{opacity:1;transform:none}.real-result-card img{transition:transform .65s cubic-bezier(.22,1,.36,1),filter .35s ease}.real-result-card:hover img{transform:scale(1.025);filter:saturate(1.04) contrast(1.02)}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1!important;transform:none!important;transition:none!important}.real-result-card img{transition:none!important}}

/* Enid local relevance section */
.enid-local-section .local-search-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border-top:4px solid var(--gold)}
.enid-local-section .local-search-panel h3{font-family:var(--title-font);font-size:clamp(1.8rem,3vw,2.5rem)}
.enid-local-section .local-search-panel p{margin:0;padding:13px 0;border-bottom:1px solid var(--line)}
.enid-local-section .local-search-panel p:last-child{border-bottom:0}

/* v1.4.0 — effortless drop-off, pickup, payment, and customer thank-you */
.visit-experience-section{position:relative;overflow:hidden}.visit-experience-section:before{content:"";position:absolute;right:-12rem;top:-12rem;width:34rem;height:34rem;border-radius:50%;background:radial-gradient(circle,rgba(200,155,75,.16),transparent 70%);pointer-events:none}.visit-option-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.visit-option-card{display:grid;grid-template-columns:62px minmax(0,1fr);gap:20px;align-items:start;padding:30px;border:1px solid rgba(170,116,31,.25);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.visit-option-card:hover{transform:translateY(-4px);border-color:rgba(170,116,31,.48);box-shadow:var(--shadow)}.visit-option-card h3{margin:2px 0 9px;font-size:1.65rem}.visit-option-card p{margin-bottom:0;color:var(--muted)}.visit-option-card ul{display:grid;gap:8px;margin:18px 0 0;padding:18px 0 0;border-top:1px solid var(--line);list-style:none}.visit-option-card li{position:relative;padding-left:19px;color:#4b596c;font-size:.88rem}.visit-option-card li:before{position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;content:"";background:var(--gold-dark)}.visit-option-number{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--gold);font-size:.72rem;font-weight:900;letter-spacing:.08em}.visit-option-label{color:var(--gold-dark);font-size:.66rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.visit-option-grid-large .visit-option-card{min-height:360px}.visit-flow-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.visit-flow-grid article{padding:23px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.75)}.visit-flow-grid article>span{display:block;margin-bottom:10px;color:var(--gold-dark);font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.visit-flow-grid h3{margin-bottom:7px}.visit-flow-grid p{margin:0;color:var(--muted);font-size:.88rem}.visit-story-note{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:22px;margin-top:22px;padding:25px 28px;border-radius:22px;color:#fff;background:linear-gradient(135deg,var(--ink),#102943);box-shadow:var(--shadow)}.visit-story-mark{font-family:var(--font-heading);font-size:3.8rem;line-height:1;color:var(--gold)}.visit-story-note h3{margin-bottom:4px;color:#fff}.visit-story-note p{margin:0;color:#cbd6e1;font-size:.9rem}.visit-story-note .text-link{color:var(--gold);white-space:nowrap}.visit-guide-actions{margin-top:25px}.visit-address-bar{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:24px;padding:24px 28px;border:1px solid var(--line);border-radius:20px;background:var(--mist)}.visit-address-bar span,.visit-address-bar strong,.visit-address-bar small{display:block}.visit-address-bar span{color:var(--gold-dark);font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.visit-address-bar strong{margin:4px 0;color:var(--ink);font-size:1.1rem}.visit-address-bar small{color:var(--muted)}.visit-steps .step-card{min-height:250px}.visit-pickup-grid{align-items:start}.visit-summary-list{display:grid;gap:10px;margin:20px 0}.visit-summary-list p{margin:0;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.88rem}.visit-summary-list strong{color:var(--ink)}.visit-thank-you-section{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,#07111f 0%,#0c2137 58%,#14324f 100%)}.visit-thank-you-section:after{position:absolute;right:-.08em;bottom:-.32em;content:"V";color:rgba(255,255,255,.028);font-family:var(--font-heading);font-size:40vw;line-height:1}.visit-thank-you-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(220px,.5fr) minmax(0,1fr);align-items:center;gap:clamp(40px,8vw,100px)}.visit-thank-you-word{color:var(--gold);font-family:var(--font-heading);font-size:clamp(3.6rem,8vw,7.4rem);font-weight:700;letter-spacing:.06em}.visit-thank-you-section h2{color:#fff}.visit-thank-you-section .lead{color:#cbd6e1}.home-visit-strip{border-block:1px solid rgba(200,155,75,.24);background:linear-gradient(135deg,#fff,#f8f3e8)}.home-visit-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(35px,6vw,75px)}.home-visit-grid h2{font-size:clamp(2rem,3.4vw,3.25rem)}.home-visit-grid p{margin-bottom:0;color:var(--muted)}.home-visit-points{display:grid;gap:10px}.home-visit-points a{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:13px;align-items:center;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(7,17,31,.05);transition:transform .18s,border-color .18s}.home-visit-points a:hover{transform:translateX(4px);border-color:rgba(170,116,31,.45)}.home-visit-points span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--ink);background:var(--gold);font-size:.62rem;font-weight:900}.home-visit-points strong{color:var(--ink);font-size:.86rem}.home-visit-points small{color:var(--muted);font-size:.76rem}.contact-visit-banner{padding-bottom:0;background:var(--mist)}.contact-visit-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:35px;padding:25px 28px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.contact-visit-inner h2{margin-bottom:7px;font-size:clamp(1.75rem,3vw,2.6rem)}.contact-visit-inner p{margin:0;color:var(--muted)}
@media(max-width:900px){.visit-flow-grid{grid-template-columns:1fr}.visit-story-note{grid-template-columns:60px 1fr}.visit-story-note .text-link{grid-column:2}.visit-thank-you-inner,.home-visit-grid{grid-template-columns:1fr}.visit-thank-you-word{font-size:4.2rem}.contact-visit-inner{grid-template-columns:1fr}.contact-visit-inner .button{width:max-content}}
@media(max-width:700px){.visit-option-grid{grid-template-columns:1fr}.visit-option-grid-large .visit-option-card{min-height:0}.visit-option-card{grid-template-columns:50px minmax(0,1fr);padding:23px}.visit-option-number{width:43px;height:43px}.visit-address-bar{align-items:flex-start;flex-direction:column}.visit-address-bar .button{width:100%}.visit-story-note{grid-template-columns:1fr;padding:24px}.visit-story-note .text-link{grid-column:auto}.visit-story-mark{font-size:3rem}.visit-guide-actions{flex-direction:column}.visit-guide-actions .button{width:100%}.contact-visit-inner .button{width:100%}}



/* Version 1.4.1: streamlined navigation + compact living hero */
:root { --header-height: 74px; }
.site-header {
  box-shadow: 0 8px 28px rgba(7,17,31,.035);
}
.header-inner { gap: 20px; }
.brand { min-width: 144px; }
.brand-main { font-size: 1.64rem; letter-spacing: .145em; }
.brand-sub { margin-top: 4px; font-size: .55rem; letter-spacing: .34em; }
.site-nav { gap: clamp(18px, 2vw, 27px); }
.site-nav a:not(.button) { font-size: .69rem; letter-spacing: .07em; }
.site-nav .button {
  min-height: 42px;
  padding: 10px 18px;
  font-size: .67rem;
  box-shadow: 0 9px 22px rgba(170,116,31,.19);
}

.hero-correction-first.hero-cinematic {
  min-height: clamp(500px, 70svh, 650px);
}
.hero-correction-first .hero-cinematic-inner {
  min-height: clamp(500px, 70svh, 650px);
  gap: 18px;
  padding-top: clamp(34px, 5vh, 54px);
  padding-bottom: 18px;
}
.hero-correction-first .hero-cinematic-copy { max-width: 690px; }
.hero-correction-first .hero-cinematic-kicker { margin-bottom: 12px; }
.hero-now-booking {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: #e7edf4;
  background: rgba(7,17,31,.35);
  backdrop-filter: blur(10px);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}
.hero-now-booking span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 0 rgba(216,171,82,.6);
  animation: valiantPulse 2.4s ease-out infinite;
}
.hero-correction-first h1 {
  max-width: 650px;
  margin-bottom: 14px;
  font-size: clamp(3.7rem, 6vw, 6rem);
  line-height: .88;
}
.hero-correction-first .hero-cinematic .lead,
.hero-correction-first .lead {
  max-width: 610px;
  margin-bottom: 18px;
  font-size: clamp(.96rem, 1.25vw, 1.08rem);
  line-height: 1.55;
}
.hero-correction-first .hero-cinematic-actions .button { min-height: 46px; }
.hero-correction-first .hero-cinematic-services {
  width: min(100%, 920px);
  border-radius: 15px;
}
.hero-correction-first .hero-cinematic-services a {
  min-height: 70px;
  padding: 11px 19px;
}
.hero-correction-first .hero-cinematic-services span { font-size: .76rem; }
.hero-correction-first .hero-cinematic-services small { font-size: .7rem; }
.hero-correction-first .hero-cinematic-media img {
  transform: scale(1.035);
  animation: valiantHeroDrift 14s ease-in-out infinite alternate;
}
.hero-correction-first::before {
  position: absolute;
  z-index: 0;
  top: -24%;
  right: 8%;
  width: 38vw;
  height: 130%;
  content: "";
  pointer-events: none;
  background: linear-gradient(105deg, transparent 0%, rgba(216,171,82,.03) 35%, rgba(255,255,255,.12) 48%, rgba(216,171,82,.04) 60%, transparent 100%);
  filter: blur(10px);
  transform: translateX(34vw) skewX(-9deg);
  animation: valiantLightSweep 9s ease-in-out infinite;
}
.hero-correction-first .hero-cinematic-inner { position: relative; z-index: 1; }
.hero-correction-first .hero-cinematic-services a { transition: background 180ms ease, transform 180ms ease; }
.hero-correction-first .hero-cinematic-services a:hover { transform: translateY(-2px); }

@keyframes valiantHeroDrift {
  0% { transform: scale(1.035) translate3d(0,0,0); }
  100% { transform: scale(1.075) translate3d(-.7%, -.45%, 0); }
}
@keyframes valiantLightSweep {
  0%, 20% { opacity: 0; transform: translateX(34vw) skewX(-9deg); }
  45% { opacity: .7; }
  70%, 100% { opacity: 0; transform: translateX(-54vw) skewX(-9deg); }
}
@keyframes valiantPulse {
  0% { box-shadow: 0 0 0 0 rgba(216,171,82,.55); }
  70%, 100% { box-shadow: 0 0 0 7px rgba(216,171,82,0); }
}

@media (max-width: 1040px) and (min-width: 861px) {
  .site-nav { gap: 17px; }
  .site-nav a:not(.button) { font-size: .65rem; }
  .site-nav .button { padding-inline: 15px; }
}

@media (max-width: 860px) {
  :root { --header-height: 68px; }
  .brand-main { font-size: 1.48rem; }
  .brand-sub { font-size: .52rem; }
  .hero-correction-first.hero-cinematic,
  .hero-correction-first .hero-cinematic-inner {
    min-height: clamp(470px, 70svh, 610px);
  }
  .hero-correction-first .hero-cinematic-inner {
    gap: 14px;
    padding-top: 24px;
    padding-bottom: 12px;
  }
  .hero-correction-first .hero-cinematic-kicker { margin-bottom: 9px; }
  .hero-now-booking { margin-bottom: 10px; padding: 5px 9px; font-size: .59rem; }
  .hero-correction-first h1 { margin-bottom: 11px; font-size: clamp(3.1rem, 10vw, 4.8rem); }
  .hero-correction-first .lead { margin-bottom: 13px; font-size: .91rem; line-height: 1.46; }
  .hero-correction-first .hero-cinematic-services a { min-height: 62px; padding: 8px 12px; }
}

@media (max-width: 640px) {
  .hero-correction-first.hero-cinematic,
  .hero-correction-first .hero-cinematic-inner {
    min-height: clamp(430px, 68svh, 570px);
  }
  .hero-correction-first .hero-cinematic-inner { padding-top: 18px; padding-bottom: 8px; }
  .hero-correction-first .hero-cinematic-kicker { margin-bottom: 7px; font-size: .57rem; }
  .hero-now-booking { margin-bottom: 8px; font-size: .54rem; }
  .hero-correction-first h1 { margin-bottom: 9px; font-size: clamp(2.75rem, 13vw, 3.8rem); }
  .hero-correction-first .lead { margin-bottom: 10px; font-size: .82rem; line-height: 1.4; }
  .hero-correction-first .hero-cinematic-actions .button { min-height: 40px; padding: 8px 8px; font-size: .57rem; }
  .hero-correction-first .hero-cinematic-services a { min-height: 52px; padding: 6px 4px; }
  .hero-correction-first .hero-cinematic-services span { font-size: .53rem; }
}

@media (max-height: 620px) and (max-width: 640px) {
  .hero-correction-first.hero-cinematic,
  .hero-correction-first .hero-cinematic-inner { min-height: 420px; }
  .hero-now-booking { display: none; }
  .hero-correction-first .hero-cinematic-kicker { display: inline-flex; }
  .hero-correction-first h1 { font-size: 2.55rem; }
  .hero-correction-first .lead { font-size: .76rem; }
}

/* Version 1.6.0 — premium full-screen hero, expanded navigation, and cleaner homepage layouts */
.site-header .container { width: min(calc(100% - 34px), 1340px); }
.site-nav { gap: clamp(13px, 1.35vw, 22px); }
.site-nav a:not(.button),
.nav-dropdown summary { color: #3e4b5d; font-size: .66rem; font-weight: 850; letter-spacing: .065em; text-transform: uppercase; }
.site-nav .button { padding-inline: 17px; }
.nav-dropdown { position: relative; }
.nav-dropdown summary { display: inline-flex; align-items: center; gap: 5px; padding: 25px 0; cursor: pointer; list-style: none; }
.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary span { color: var(--gold-dark); font-size: .78rem; transition: transform .18s ease; }
.nav-dropdown[open] summary span { transform: rotate(180deg); }
.nav-dropdown.current-menu-ancestor summary { color: var(--ink); }
.nav-dropdown-menu {
  position: absolute;
  z-index: 1100;
  top: calc(100% + 1px);
  left: 50%;
  width: 330px;
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px solid rgba(219,226,233,.92);
  border-radius: 19px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 24px 60px rgba(7,17,31,.18);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%,-8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-dropdown[open] .nav-dropdown-menu,
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.site-nav .nav-dropdown-menu a { display: grid; gap: 2px; padding: 11px 13px; border-radius: 12px; text-transform: none; }
.site-nav .nav-dropdown-menu a::after { display: none; }
.site-nav .nav-dropdown-menu a:hover { background: var(--mist); }
.nav-dropdown-menu strong { color: var(--ink); font-size: .84rem; }
.nav-dropdown-menu small { color: var(--muted); font-size: .72rem; font-weight: 550; letter-spacing: 0; }

.hero-premium {
  position: relative;
  min-height: calc(100svh - var(--header-height));
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 88% 10%, rgba(89,129,211,.33), transparent 30%),
    radial-gradient(circle at 8% 84%, rgba(216,171,82,.23), transparent 32%),
    linear-gradient(135deg, #06101e 0%, #0b2340 46%, #133a60 72%, #1d2942 100%);
  isolation: isolate;
}
.hero-premium::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(to bottom,rgba(0,0,0,.75),transparent 86%);
}
.hero-premium-orb { position: absolute; z-index: -1; border-radius: 50%; filter: blur(24px); pointer-events: none; }
.hero-premium-orb-gold { left: -9rem; bottom: -12rem; width: 34rem; height: 34rem; background: rgba(216,171,82,.17); }
.hero-premium-orb-blue { right: -10rem; top: -11rem; width: 38rem; height: 38rem; background: rgba(73,111,199,.2); }
.hero-premium-grid {
  display: grid;
  grid-template-columns: minmax(0,.94fr) minmax(440px,1.06fr);
  align-items: center;
  gap: clamp(42px,6vw,88px);
  padding-top: clamp(38px,6vh,72px);
  padding-bottom: clamp(112px,15vh,150px);
}
.hero-premium-copy { position: relative; z-index: 3; max-width: 720px; }
.hero-premium-kicker { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 19px; }
.hero-premium-kicker span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: #d8e4ef; background: rgba(255,255,255,.055); backdrop-filter: blur(10px); font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hero-premium-kicker span:last-child { color: var(--gold); border-color: rgba(216,171,82,.28); background: rgba(216,171,82,.08); }
.hero-premium h1 { max-width: 760px; margin-bottom: 22px; color: #fff; font-size: clamp(4rem,6.4vw,6.6rem); line-height: .86; text-shadow: 0 16px 45px rgba(0,0,0,.22); }
.hero-premium h1 span { color: #f0c870; }
.hero-premium .lead { max-width: 650px; margin-bottom: 25px; color: #d8e3ed; font-size: clamp(1rem,1.4vw,1.13rem); line-height: 1.65; }
.hero-premium-actions { margin-bottom: 22px; }
.hero-button-light { color: #fff; border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.075); backdrop-filter: blur(10px); }
.hero-button-light:hover { border-color: var(--gold); background: rgba(255,255,255,.13); }
.hero-location-card { width: min(100%,610px); display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; color: #fff; background: rgba(5,15,27,.48); box-shadow: 0 16px 40px rgba(0,0,0,.16); backdrop-filter: blur(14px); transition: transform .18s ease, border-color .18s ease; }
.hero-location-card:hover { transform: translateY(-2px); border-color: rgba(216,171,82,.5); }
.hero-location-pin { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: var(--ink); background: var(--gold); font-size: 1.05rem; font-weight: 900; }
.hero-location-card strong,.hero-location-card small { display: block; }
.hero-location-card strong { margin-bottom: 2px; font-size: .84rem; }
.hero-location-card small { color: #bfcdda; font-size: .74rem; line-height: 1.4; }
.hero-location-arrow { color: var(--gold); font-size: 1.2rem; }
.hero-premium-visual { position: relative; min-height: clamp(450px,62vh,650px); }
.hero-premium-main-photo { position: absolute; inset: 0 18px 0 78px; overflow: hidden; border: 1px solid rgba(255,255,255,.23); border-radius: 40px; box-shadow: 0 38px 100px rgba(0,0,0,.38); }
.hero-premium-main-photo::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg,transparent 52%,rgba(5,14,25,.42)); }
.hero-premium-main-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 54% 45%; transform: scale(1.02); animation: valiantPremiumDrift 16s ease-in-out infinite alternate; }
.hero-premium-mini { position: absolute; overflow: hidden; border: 7px solid rgba(255,255,255,.94); border-radius: 23px; background: #fff; box-shadow: 0 22px 58px rgba(0,0,0,.31); }
.hero-premium-mini img { width: 100%; height: 100%; object-fit: cover; }
.hero-premium-mini-top { top: 28px; left: 0; width: 160px; height: 215px; transform: rotate(-3.5deg); }
.hero-premium-mini-bottom { right: 0; bottom: 32px; width: 205px; height: 145px; transform: rotate(2.5deg); }
.hero-inspection-chip { position: absolute; left: 48px; bottom: 27px; max-width: 310px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(7,17,31,.84); box-shadow: 0 18px 45px rgba(0,0,0,.24); backdrop-filter: blur(14px); }
.hero-inspection-chip span,.hero-inspection-chip strong { display: block; }
.hero-inspection-chip span { margin-bottom: 3px; color: var(--gold); font-size: .6rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero-inspection-chip strong { color: #fff; font-size: .77rem; line-height: 1.45; }
.hero-premium-booking { position: absolute; z-index: 5; right: 0; bottom: 24px; left: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 19px; background: rgba(5,15,28,.76); box-shadow: 0 22px 58px rgba(0,0,0,.25); backdrop-filter: blur(18px); }
.hero-premium-booking a { min-height: 90px; display: flex; flex-direction: column; justify-content: center; padding: 16px 22px; border-right: 1px solid rgba(255,255,255,.13); transition: background .18s ease, transform .18s ease; }
.hero-premium-booking a:last-child { border-right: 0; }
.hero-premium-booking a:hover { background: rgba(255,255,255,.08); }
.hero-premium-booking span,.hero-premium-booking strong,.hero-premium-booking small { display: block; }
.hero-premium-booking span { margin-bottom: 3px; color: var(--gold); font-size: .59rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.hero-premium-booking strong { color: #fff; font-size: .88rem; }
.hero-premium-booking small { margin-top: 2px; color: #b8c6d3; font-size: .71rem; }
@keyframes valiantPremiumDrift { from { transform: scale(1.02) translate3d(0,0,0); } to { transform: scale(1.07) translate3d(-1%,-.5%,0); } }

.booking-price-line { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin: 4px 0 18px; padding: 13px 15px; border: 1px solid rgba(216,171,82,.23); border-radius: 13px; background: rgba(216,171,82,.075); }
.booking-price-line span { color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.booking-price-line strong { color: var(--ink); font-family: var(--display-font); font-size: 1.55rem; }
.enid-local-section .split-copy .button-row { margin-top: 30px; }
.local-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 20px; }
.local-service-grid a { min-height: 135px; display: flex; flex-direction: column; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(7,17,31,.045); transition: transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.local-service-grid a:hover { transform: translateY(-3px); border-color: rgba(170,116,31,.42); box-shadow: var(--shadow-sm); }
.local-service-grid span { margin-bottom: 13px; color: var(--gold-dark); font-size: .62rem; font-weight: 900; letter-spacing: .12em; }
.local-service-grid strong { margin-bottom: 5px; color: var(--ink); font-size: .92rem; }
.local-service-grid small { color: var(--muted); font-size: .76rem; line-height: 1.45; }
.home-story-visual { justify-content: space-between; }
.story-word { position: relative; top: auto; left: auto; margin-bottom: 58px; color: var(--gold); font-family: var(--display-font); font-size: clamp(3rem,5.3vw,5rem); font-weight: 700; letter-spacing: .03em; line-height: .9; }
.story-visual-copy blockquote { margin: 0 0 18px; color: #fff; font-family: var(--display-font); font-size: clamp(1.65rem,3vw,2.7rem); line-height: 1.1; }
.story-visual-copy>span { color: #aebccc; font-size: .84rem; letter-spacing: .05em; }

@media (max-width: 1120px) and (min-width: 861px) {
  .menu-toggle { display: grid; }
  .site-nav { position: fixed; top: var(--header-height); right: 0; left: 0; max-height: calc(100svh - var(--header-height)); display: none; flex-direction: column; align-items: stretch; gap: 0; overflow-y: auto; padding: 18px 24px 28px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.99); box-shadow: 0 22px 55px rgba(7,17,31,.17); }
  .site-nav[data-open="true"] { display: flex; }
  .site-nav>a:not(.button),.nav-dropdown summary { padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: .8rem; }
  .site-nav>a:not(.button)::after { display: none; }
  .site-nav .button { width: 100%; margin-top: 17px; }
  .nav-dropdown summary { justify-content: space-between; }
  .nav-dropdown-menu { position: static; width: 100%; display: none; padding: 8px; border: 0; border-radius: 14px; background: var(--mist); box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .nav-dropdown[open] .nav-dropdown-menu { display: grid; }
  .nav-dropdown:hover .nav-dropdown-menu:not(:where(.nav-dropdown[open] *)) { display: none; }
}
@media (max-width: 900px) {
  .hero-premium-grid { grid-template-columns: 1fr; padding-top: 38px; padding-bottom: 120px; }
  .hero-premium-copy { max-width: 690px; }
  .hero-premium-visual { position: absolute; inset: 0; z-index: -1; min-height: 0; opacity: .42; }
  .hero-premium-main-photo { inset: 0; border: 0; border-radius: 0; }
  .hero-premium-main-photo::after { background: linear-gradient(90deg,rgba(5,14,25,.96) 0%,rgba(5,14,25,.78) 58%,rgba(5,14,25,.35) 100%),linear-gradient(0deg,rgba(5,14,25,.86),transparent 50%); }
  .hero-premium-mini,.hero-inspection-chip { display: none; }
}
@media (max-width: 700px) {
  .hero-premium { min-height: calc(100svh - var(--header-height)); }
  .hero-premium-grid { padding-top: 28px; padding-bottom: 108px; }
  .hero-premium h1 { margin-bottom: 16px; font-size: clamp(3rem,13vw,4.45rem); }
  .hero-premium .lead { margin-bottom: 18px; font-size: .91rem; line-height: 1.5; }
  .hero-premium-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .hero-premium-actions .button { min-width: 0; padding: 10px 8px; font-size: .59rem; }
  .hero-location-card { padding: 11px 12px; }
  .hero-location-card small { font-size: .67rem; }
  .hero-premium-booking { bottom: 12px; border-radius: 14px; }
  .hero-premium-booking a { min-height: 75px; padding: 10px 8px; text-align: center; }
  .hero-premium-booking span { font-size: .5rem; }
  .hero-premium-booking strong { font-size: .67rem; }
  .hero-premium-booking small { font-size: .58rem; }
  .local-service-grid { grid-template-columns: 1fr; }
  .local-service-grid a { min-height: 0; }
  .story-word { margin-bottom: 38px; }
}
@media (max-height: 670px) and (min-width: 901px) {
  .hero-premium-grid { padding-top: 24px; padding-bottom: 100px; }
  .hero-premium h1 { font-size: clamp(3.6rem,5.5vw,5.2rem); }
  .hero-premium .lead { margin-bottom: 16px; font-size: .96rem; }
  .hero-premium-visual { min-height: 430px; }
  .hero-premium-booking a { min-height: 78px; padding-block: 11px; }
}
@media (max-width: 380px) {
  .hero-premium-kicker span:first-child { display: none; }
  .hero-premium h1 { font-size: 2.75rem; }
  .hero-location-pin { display: none; }
  .hero-location-card { grid-template-columns: minmax(0,1fr) auto; }
  .hero-premium-booking strong { font-size: .61rem; }
  .hero-premium-booking small { display: none; }
}


/* Small polish fixes for v1.6.0 */
.site-nav .button[aria-current="page"] { color: var(--ink); }
@media (max-width: 700px) {
  .hero-premium { min-height: calc(100svh - var(--header-height) - 64px); }
  .hero-premium-grid { padding-bottom: 106px; }
}
@media (max-width: 700px) and (max-height: 680px) {
  .hero-premium {
    min-height: calc(100svh - var(--header-height) - 64px);
  }
  .hero-premium-grid {
    padding-top: 12px;
    padding-bottom: 82px;
  }
  .hero-premium-kicker { margin-bottom: 8px; }
  .hero-premium-kicker span:first-child { display: none; }
  .hero-premium-kicker span { padding: 5px 8px; font-size: .53rem; }
  .hero-premium h1 { margin-bottom: 8px; font-size: clamp(2.2rem, 10.5vw, 2.75rem); line-height: .88; }
  .hero-premium .lead { margin-bottom: 9px; font-size: .75rem; line-height: 1.34; }
  .hero-premium-actions { margin-bottom: 9px; }
  .hero-premium-actions .button { min-height: 36px; padding: 7px 6px; font-size: .51rem; }
  .hero-location-card { grid-template-columns: 32px minmax(0,1fr) auto; gap: 9px; padding: 8px 10px; border-radius: 13px; }
  .hero-location-pin { width: 30px; height: 30px; font-size: .8rem; }
  .hero-location-card strong { font-size: .71rem; }
  .hero-location-card small { font-size: .58rem; line-height: 1.25; }
  .hero-premium-booking { bottom: 7px; }
  .hero-premium-booking a { min-height: 56px; padding: 6px 4px; }
  .hero-premium-booking span { margin-bottom: 1px; font-size: .43rem; }
  .hero-premium-booking strong { font-size: .55rem; }
  .hero-premium-booking small { display: none; }
}

/* Version 1.6.0 — quieter premium hero and simplified homepage sections */
.hero-atelier {
  position: relative;
  min-height: calc(100svh - var(--header-height));
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  background: #050d18;
  isolation: isolate;
}
.hero-atelier-media,
.hero-atelier-overlay {
  position: absolute;
  inset: 0;
}
.hero-atelier-media { z-index: -4; }
.hero-atelier-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 61% 45%;
  filter: saturate(.82) contrast(1.08) brightness(.78);
  transform: scale(1.025);
  animation: valiantAtelierDrift 18s ease-in-out infinite alternate;
}
.hero-atelier-overlay {
  z-index: -3;
  background:
    linear-gradient(90deg,rgba(4,12,22,.99) 0%,rgba(5,15,28,.96) 31%,rgba(7,20,36,.79) 51%,rgba(7,20,36,.34) 73%,rgba(5,13,24,.18) 100%),
    linear-gradient(0deg,rgba(4,12,22,.96) 0%,rgba(4,12,22,.08) 49%,rgba(4,12,22,.48) 100%);
}
.hero-atelier::after {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to right,#000 0%,rgba(0,0,0,.72) 55%,transparent 100%);
}
.hero-atelier-glow {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(28px);
}
.hero-atelier-glow-one {
  top: -16rem;
  left: 28%;
  width: 34rem;
  height: 34rem;
  background: rgba(72,112,164,.24);
}
.hero-atelier-glow-two {
  right: -13rem;
  bottom: -16rem;
  width: 37rem;
  height: 37rem;
  background: rgba(86,80,139,.16);
}
.hero-atelier-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(310px,.54fr);
  align-items: center;
  gap: clamp(52px,8vw,120px);
  padding-top: clamp(52px,8vh,92px);
  padding-bottom: clamp(132px,16vh,164px);
}
.hero-atelier-copy { max-width: 760px; }
.hero-atelier-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  color: #b6c8da;
  font-size: .65rem;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.hero-atelier-kicker span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #e8eef4;
}
.hero-atelier-kicker span:first-child::before {
  width: 38px;
  height: 1px;
  content: "";
  background: #9eb5ca;
}
.hero-atelier-kicker span:last-child {
  padding-left: 12px;
  border-left: 1px solid rgba(255,255,255,.22);
}
.hero-atelier h1 {
  max-width: 820px;
  margin-bottom: 24px;
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(4.2rem,6.7vw,7.15rem);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: .84;
  text-shadow: 0 18px 52px rgba(0,0,0,.28);
}
.hero-atelier h1 span {
  color: #b7c9da;
  font-style: italic;
  font-weight: 520;
}
.hero-atelier .lead {
  max-width: 655px;
  margin-bottom: 28px;
  color: #d0dae4;
  font-size: clamp(1rem,1.45vw,1.15rem);
  line-height: 1.68;
}
.hero-atelier-actions { margin-bottom: 24px; }
.button-champagne {
  color: #07111f;
  border-color: #c9b88f;
  background: #c9b88f;
  box-shadow: 0 15px 35px rgba(0,0,0,.24);
}
.button-champagne:hover {
  border-color: #ddcfad;
  background: #ddcfad;
}
.hero-button-silver {
  color: #f5f8fb;
  border-color: rgba(185,205,224,.48);
  background: rgba(129,157,184,.09);
  backdrop-filter: blur(12px);
}
.hero-button-silver:hover {
  border-color: #a9bfd3;
  background: rgba(153,180,205,.17);
}
.hero-atelier-location {
  width: min(100%,620px);
  display: grid;
  grid-template-columns: 44px minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  border: 1px solid rgba(180,201,220,.2);
  border-radius: 16px;
  color: #fff;
  background: rgba(6,17,31,.62);
  box-shadow: 0 18px 48px rgba(0,0,0,.18);
  backdrop-filter: blur(15px);
  transition: transform .18s ease,border-color .18s ease,background .18s ease;
}
.hero-atelier-location:hover {
  transform: translateY(-2px);
  border-color: rgba(169,191,211,.54);
  background: rgba(9,25,44,.75);
}
.hero-atelier-location-mark {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(197,214,229,.45);
  border-radius: 50%;
  color: #d8e4ef;
  font-family: var(--display-font);
  font-size: 1rem;
}
.hero-atelier-location strong,
.hero-atelier-location small { display: block; }
.hero-atelier-location strong { margin-bottom: 2px; font-size: .84rem; }
.hero-atelier-location small { color: #acbccb; font-size: .74rem; line-height: 1.42; }
.hero-atelier-location-arrow { color: #a9bfd3; font-size: 1.08rem; }
.hero-atelier-panel {
  position: relative;
  align-self: center;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(195,212,228,.23);
  border-radius: 27px;
  background: linear-gradient(155deg,rgba(18,39,61,.76),rgba(5,14,26,.76));
  box-shadow: 0 34px 90px rgba(0,0,0,.34);
  backdrop-filter: blur(18px);
}
.hero-atelier-panel::before {
  position: absolute;
  top: 0;
  right: 12%;
  left: 12%;
  height: 1px;
  content: "";
  background: linear-gradient(90deg,transparent,#a6bed4,transparent);
}
.hero-atelier-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 2px 2px 15px;
}
.hero-atelier-panel-heading span,
.hero-atelier-panel-heading small { display: block; }
.hero-atelier-panel-heading span {
  color: #fff;
  font-family: var(--display-font);
  font-size: 1.02rem;
}
.hero-atelier-panel-heading small {
  max-width: 145px;
  color: #9eafbf;
  font-size: .66rem;
  line-height: 1.45;
  text-align: right;
}
.hero-atelier-panel-image {
  position: relative;
  overflow: hidden;
  height: clamp(220px,30vh,310px);
  border-radius: 18px;
  background: #07111f;
}
.hero-atelier-panel-image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg,transparent 55%,rgba(4,12,22,.55));
}
.hero-atelier-panel-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% 48%;
  filter: saturate(.82) contrast(1.08);
  transition: transform .8s cubic-bezier(.22,1,.36,1);
}
.hero-atelier-panel:hover .hero-atelier-panel-image img { transform: scale(1.035); }
.hero-atelier-process {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: 15px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.hero-atelier-process div { padding: 15px 10px 3px; border-right: 1px solid rgba(255,255,255,.1); }
.hero-atelier-process div:last-child { border-right: 0; }
.hero-atelier-process span,
.hero-atelier-process strong,
.hero-atelier-process small { display: block; }
.hero-atelier-process span { margin-bottom: 4px; color: #8aa5bf; font-size: .57rem; font-weight: 900; letter-spacing: .12em; }
.hero-atelier-process strong { margin-bottom: 2px; color: #fff; font-size: .78rem; }
.hero-atelier-process small { color: #91a3b4; font-size: .61rem; line-height: 1.35; }
.hero-atelier-booking {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 24px;
  left: 0;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  overflow: hidden;
  border: 1px solid rgba(177,197,216,.18);
  border-radius: 18px;
  background: rgba(4,13,24,.82);
  box-shadow: 0 24px 58px rgba(0,0,0,.28);
  backdrop-filter: blur(20px);
}
.hero-atelier-booking a {
  min-height: 88px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 22px;
  border-right: 1px solid rgba(255,255,255,.1);
  transition: background .18s ease,transform .18s ease;
}
.hero-atelier-booking a:last-child { border-right: 0; }
.hero-atelier-booking a:hover { background: rgba(129,157,184,.12); }
.hero-atelier-booking span,
.hero-atelier-booking strong,
.hero-atelier-booking small { display: block; }
.hero-atelier-booking span { margin-bottom: 4px; color: #9fb7cc; font-size: .58rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero-atelier-booking strong { color: #fff; font-size: .88rem; }
.hero-atelier-booking small { margin-top: 2px; color: #aebdca; font-size: .7rem; }
@keyframes valiantAtelierDrift {
  from { transform: scale(1.025) translate3d(0,0,0); }
  to { transform: scale(1.075) translate3d(-1.1%,-.5%,0); }
}
.results-intro-quiet {
  max-width: 770px;
  margin-bottom: 40px;
}
.results-intro-quiet .eyebrow { margin-bottom: 12px; }
.results-intro-quiet .lead { margin-bottom: 0; }
.enid-local-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(290px,.42fr);
  align-items: center;
  gap: clamp(48px,8vw,100px);
}
.enid-local-copy { max-width: 820px; }
.enid-local-list { margin-bottom: 0; }
.enid-local-actions { margin-top: 38px!important; }
.enid-local-address-card {
  padding: 30px;
  border: 1px solid rgba(77,109,140,.2);
  border-radius: 24px;
  background: linear-gradient(145deg,#fff,#edf3f8);
  box-shadow: 0 18px 50px rgba(7,17,31,.08);
}
.enid-local-address-card span,
.enid-local-address-card strong,
.enid-local-address-card small,
.enid-local-address-card a { display: block; }
.enid-local-address-card span { margin-bottom: 12px; color: #5d7894; font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.enid-local-address-card strong { margin-bottom: 9px; color: var(--ink); font-family: var(--display-font); font-size: clamp(1.6rem,2.6vw,2.25rem); line-height: 1.06; }
.enid-local-address-card small { margin-bottom: 23px; color: var(--muted); font-size: .84rem; line-height: 1.55; }
.enid-local-address-card a { color: #466582; font-size: .73rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }

@media (max-width: 980px) {
  .hero-atelier-inner { grid-template-columns: minmax(0,1fr) minmax(270px,.46fr); gap: 38px; }
  .hero-atelier-panel { padding: 14px; }
  .hero-atelier-panel-heading small { display: none; }
  .enid-local-inner { grid-template-columns: 1fr; }
  .enid-local-address-card { max-width: 620px; }
}
@media (max-width: 860px) {
  .hero-atelier-media img { object-position: 63% 46%; }
  .hero-atelier-overlay {
    background:
      linear-gradient(90deg,rgba(4,12,22,.97) 0%,rgba(5,15,28,.88) 58%,rgba(5,15,28,.48) 100%),
      linear-gradient(0deg,rgba(4,12,22,.96) 0%,rgba(4,12,22,.2) 55%,rgba(4,12,22,.58) 100%);
  }
  .hero-atelier-inner { grid-template-columns: 1fr; padding-top: 45px; padding-bottom: 126px; }
  .hero-atelier-copy { max-width: 710px; }
  .hero-atelier-panel { display: none; }
}
@media (max-width: 700px) {
  .hero-atelier { min-height: calc(100svh - var(--header-height) - 64px); }
  .hero-atelier-inner { min-height: calc(100svh - var(--header-height) - 64px); justify-content: center; padding-top: 24px; padding-bottom: 108px; }
  .hero-atelier-media img { object-position: 62% 48%; filter: saturate(.75) contrast(1.08) brightness(.67); }
  .hero-atelier-overlay {
    background:
      linear-gradient(180deg,rgba(4,12,22,.91) 0%,rgba(4,12,22,.66) 46%,rgba(4,12,22,.98) 100%),
      linear-gradient(90deg,rgba(4,12,22,.78),rgba(4,12,22,.2));
  }
  .hero-atelier-kicker { margin-bottom: 14px; font-size: .56rem; }
  .hero-atelier-kicker span:first-child::before { width: 24px; }
  .hero-atelier h1 { margin-bottom: 16px; font-size: clamp(3.1rem,14vw,4.7rem); line-height: .88; }
  .hero-atelier .lead { margin-bottom: 17px; font-size: .88rem; line-height: 1.5; }
  .hero-atelier-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 15px; }
  .hero-atelier-actions .button { min-width: 0; padding: 10px 7px; font-size: .58rem; }
  .hero-atelier-location { padding: 10px 12px; grid-template-columns: 36px minmax(0,1fr) auto; }
  .hero-atelier-location-mark { width: 32px; height: 32px; font-size: .82rem; }
  .hero-atelier-location strong { font-size: .76rem; }
  .hero-atelier-location small { font-size: .64rem; }
  .hero-atelier-booking { bottom: 10px; border-radius: 13px; }
  .hero-atelier-booking a { min-height: 75px; padding: 9px 6px; text-align: center; }
  .hero-atelier-booking span { font-size: .48rem; }
  .hero-atelier-booking strong { font-size: .65rem; }
  .hero-atelier-booking small { font-size: .56rem; }
  .enid-local-actions { margin-top: 32px!important; }
}
@media (max-width: 380px) {
  .hero-atelier-kicker span:last-child { display: none; }
  .hero-atelier h1 { font-size: 2.82rem; }
  .hero-atelier-location-mark { display: none; }
  .hero-atelier-location { grid-template-columns: minmax(0,1fr) auto; }
  .hero-atelier-booking small { display: none; }
}
@media (max-height: 680px) and (min-width: 861px) {
  .hero-atelier-inner { padding-top: 25px; padding-bottom: 104px; }
  .hero-atelier h1 { margin-bottom: 15px; font-size: clamp(3.7rem,5.7vw,5.65rem); }
  .hero-atelier .lead { margin-bottom: 17px; font-size: .94rem; line-height: 1.5; }
  .hero-atelier-panel-image { height: 210px; }
  .hero-atelier-booking a { min-height: 76px; padding-block: 10px; }
}
@media (max-height: 650px) and (max-width: 700px) {
  .hero-atelier-inner { padding-top: 12px; padding-bottom: 91px; }
  .hero-atelier-kicker { display: none; }
  .hero-atelier h1 { margin-bottom: 9px; font-size: 2.55rem; }
  .hero-atelier .lead { margin-bottom: 10px; font-size: .76rem; line-height: 1.34; }
  .hero-atelier-actions { margin-bottom: 8px; }
  .hero-atelier-actions .button { min-height: 38px; padding-block: 7px; font-size: .53rem; }
  .hero-atelier-location { padding-block: 7px; }
  .hero-atelier-location small { display: none; }
  .hero-atelier-booking a { min-height: 58px; padding: 6px 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-atelier-media img { animation: none!important; }
  .hero-atelier-panel-image img { transition: none!important; }
}

/* --------------------------------------------------------------------------
   Valiant Detailing 1.7 — colorful homepage, compact internal intros,
   full-width service storytelling, and topic-specific visual layouts.
   -------------------------------------------------------------------------- */

:root {
  --cobalt: #1769d2;
  --cyan: #22b8d6;
  --violet: #6f4bd8;
  --plum: #7d315f;
  --copper: #d58b54;
  --ink-blue: #071426;
}

/* Compact introductions replace oversized internal-page heroes. */
.page-intro,
.service-intro {
  position: relative;
  overflow: hidden;
  padding: clamp(44px, 6vw, 76px) 0;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 90% 0%, rgba(23, 105, 210, .08), transparent 34%),
    linear-gradient(135deg, #ffffff 0%, #f6f8fb 100%);
}
.page-intro::after,
.service-intro::after {
  position: absolute;
  right: -120px;
  bottom: -170px;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(23, 105, 210, .13);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.page-intro-grid,
.service-intro-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
  align-items: center;
  gap: clamp(32px, 7vw, 90px);
}
.page-intro h1,
.service-intro h1 {
  max-width: 900px;
  margin-bottom: 18px;
  font-size: clamp(2.65rem, 5.1vw, 5rem);
  line-height: .96;
}
.page-intro .lead,
.service-intro .lead { margin-bottom: 24px; }
.page-intro-media,
.page-intro .page-hero-media { display: none !important; }
.intro-price-card,
.service-intro-card {
  display: grid;
  gap: 7px;
  padding: 25px;
  border: 1px solid rgba(23, 105, 210, .17);
  border-radius: 20px;
  background: rgba(255,255,255,.88);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(14px);
}
.intro-price-card span,
.service-intro-card span {
  color: var(--gold-dark);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.intro-price-card strong,
.service-intro-card strong {
  color: var(--ink);
  font-family: var(--display-font);
  font-size: clamp(1.85rem, 3vw, 2.8rem);
  line-height: 1;
}
.intro-price-card small,
.service-intro-card small { color: var(--muted); line-height: 1.55; }

/* Full-screen color-rich homepage hero. */
.hero-spectrum {
  position: relative;
  min-height: calc(100svh - var(--header-height));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  color: #fff;
  background: #061326;
  isolation: isolate;
}
.hero-spectrum-media,
.hero-spectrum-wash,
.hero-spectrum-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-spectrum-media { z-index: -4; }
.hero-spectrum-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% 45%;
  filter: brightness(.62) contrast(1.11) saturate(1.18);
  transform: scale(1.03);
  animation: heroSpectrumDrift 16s ease-in-out infinite alternate;
}
.hero-spectrum-wash {
  z-index: -3;
  background:
    linear-gradient(90deg, rgba(5,15,31,.98) 0%, rgba(7,21,42,.93) 39%, rgba(7,18,35,.56) 62%, rgba(7,18,35,.18) 100%),
    linear-gradient(0deg, rgba(4,12,25,.96) 0%, transparent 43%);
}
.hero-spectrum-glow { z-index: -2; mix-blend-mode: screen; filter: blur(8px); opacity: .72; }
.hero-spectrum-glow-cyan {
  inset: auto -8% 10% 46%;
  height: 55%;
  background: radial-gradient(circle, rgba(13, 190, 223, .46), transparent 64%);
}
.hero-spectrum-glow-violet {
  inset: -14% 34% auto auto;
  width: 48%;
  height: 68%;
  background: radial-gradient(circle, rgba(108, 62, 207, .43), transparent 66%);
}
.hero-spectrum-glow-copper {
  inset: auto auto -24% -10%;
  width: 52%;
  height: 58%;
  background: radial-gradient(circle, rgba(208, 92, 67, .24), transparent 67%);
}
.hero-spectrum-grid {
  position: relative;
  z-index: 2;
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(370px, .95fr);
  align-items: center;
  gap: clamp(42px, 6vw, 90px);
  padding-top: clamp(42px, 7vh, 92px);
  padding-bottom: clamp(32px, 5vh, 64px);
}
.hero-spectrum-copy { max-width: 760px; }
.hero-spectrum-kicker {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 20px;
  padding: 7px 11px 7px 7px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  color: #d7e5f4;
  background: rgba(5,16,34,.42);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
}
.hero-spectrum-kicker strong {
  padding: 7px 10px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #1769d2, #6f4bd8 58%, #a4426c);
  box-shadow: 0 7px 24px rgba(46,94,220,.3);
}
.hero-spectrum h1 {
  max-width: 820px;
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(4.2rem, 7.2vw, 7.4rem);
  line-height: .86;
  text-shadow: 0 20px 55px rgba(0,0,0,.28);
}
.hero-spectrum h1 span {
  color: transparent;
  background: linear-gradient(90deg, #9ee9ff 0%, #91b8ff 36%, #c6a8ff 68%, #efb9d4 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.hero-spectrum .lead {
  max-width: 690px;
  margin-bottom: 27px;
  color: #d5dfeb;
  font-size: clamp(1rem, 1.5vw, 1.16rem);
  line-height: 1.65;
}
.hero-spectrum-actions { margin-bottom: 23px; }
.button-spectrum {
  color: #fff;
  background: linear-gradient(135deg, #1769d2, #5a4bd5 57%, #8b3e74);
  box-shadow: 0 16px 36px rgba(40, 82, 210, .34);
}
.button-spectrum:hover { background: linear-gradient(135deg, #2278e5, #6a59e6 57%, #9d4b84); }
.hero-button-glass {
  color: #fff;
  border-color: rgba(255,255,255,.39);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(13px);
}
.hero-button-glass:hover { border-color: rgba(151,223,255,.85); background: rgba(255,255,255,.14); }
.hero-spectrum-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 20px;
  margin-bottom: 25px;
  color: #c9d5e2;
  font-size: .75rem;
  font-weight: 750;
}
.hero-spectrum-proof span { display: flex; align-items: center; gap: 8px; }
.hero-spectrum-proof span::before { width: 7px; height: 7px; border-radius: 50%; content: ""; background: #55caee; box-shadow: 0 0 0 4px rgba(85,202,238,.13); }
.hero-spectrum-location {
  max-width: 520px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 13px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 17px;
  background: rgba(5,16,34,.54);
  backdrop-filter: blur(17px);
  transition: transform .18s, border-color .18s, background .18s;
}
.hero-spectrum-location:hover { transform: translateY(-2px); border-color: rgba(111,211,241,.68); background: rgba(6,20,42,.7); }
.hero-spectrum-location .location-symbol {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #061426;
  background: linear-gradient(135deg,#a0e9ff,#bca6ff);
  font-family: var(--display-font);
  font-size: 1.35rem;
  font-weight: 800;
}
.hero-spectrum-location strong,
.hero-spectrum-location small { display: block; }
.hero-spectrum-location strong { color: #fff; font-size: .82rem; }
.hero-spectrum-location small { margin-top: 2px; color: #aebdd0; font-size: .71rem; line-height: 1.45; }
.hero-spectrum-stage { position: relative; min-height: 540px; }
.hero-spectrum-main {
  position: absolute;
  inset: 0 0 24px 56px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 38px 38px 105px 38px;
  box-shadow: 0 40px 95px rgba(0,0,0,.4);
}
.hero-spectrum-main::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, transparent 48%, rgba(4,12,25,.78));
}
.hero-spectrum-main img { width: 100%; height: 100%; object-fit: cover; object-position: center 38%; }
.hero-spectrum-main figcaption {
  position: absolute;
  right: 26px;
  bottom: 22px;
  left: 26px;
  z-index: 2;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}
.hero-spectrum-main figcaption strong { color: #fff; font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.hero-spectrum-main figcaption span { color: #afc0d1; font-size: .72rem; }
.hero-spectrum-inset {
  position: absolute;
  top: 42px;
  left: 0;
  z-index: 3;
  width: 172px;
  height: 216px;
  margin: 0;
  overflow: hidden;
  border: 7px solid rgba(6,17,35,.92);
  border-radius: 24px;
  box-shadow: 0 25px 55px rgba(0,0,0,.42);
  transform: rotate(-3deg);
}
.hero-spectrum-inset img { width: 100%; height: 100%; object-fit: cover; }
.hero-spectrum-note {
  position: absolute;
  right: -18px;
  bottom: 0;
  z-index: 4;
  min-width: 215px;
  padding: 17px 19px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(14,42,78,.92), rgba(62,38,96,.91));
  box-shadow: 0 22px 50px rgba(0,0,0,.34);
  backdrop-filter: blur(16px);
}
.hero-spectrum-note small,
.hero-spectrum-note span { display: block; color: #c0d0df; font-size: .68rem; }
.hero-spectrum-note strong { display: block; margin: 3px 0 4px; color: #fff; font-family: var(--display-font); font-size: 2.15rem; line-height: 1; }
.hero-spectrum-booking {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px;
  background: rgba(4,14,30,.72);
  box-shadow: 0 22px 55px rgba(0,0,0,.25);
  backdrop-filter: blur(18px);
}
.hero-spectrum-booking a {
  min-height: 94px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 17px 23px;
  border-right: 1px solid rgba(255,255,255,.12);
  transition: background .18s;
}
.hero-spectrum-booking a:last-child { border-right: 0; }
.hero-spectrum-booking a:hover { background: rgba(255,255,255,.08); }
.hero-spectrum-booking .featured { background: linear-gradient(135deg, rgba(23,105,210,.25), rgba(111,75,216,.22)); }
.hero-spectrum-booking span { color: #80daf4; font-size: .64rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hero-spectrum-booking strong { margin: 4px 0 2px; color: #fff; font-size: .9rem; }
.hero-spectrum-booking small { color: #aebdcd; font-size: .7rem; line-height: 1.4; }
@keyframes heroSpectrumDrift { from { transform: scale(1.03) translate3d(0,0,0); } to { transform: scale(1.075) translate3d(-1.2%,.8%,0); } }

/* Reusable visual storytelling. */
.service-collage-section { padding-top: 58px; padding-bottom: 84px; }
.service-collage {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: var(--shadow);
}
.service-collage img { width: 100%; height: clamp(430px, 60vw, 670px); object-fit: cover; }
.service-collage figcaption,
.paint-gallery figcaption,
.ceramic-gallery figcaption,
.service-photo-grid figcaption,
.odor-gallery figcaption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  padding: 14px 16px;
  border-radius: 14px;
  color: #fff;
  background: rgba(6,17,33,.76);
  backdrop-filter: blur(12px);
}
.service-collage figcaption { right: auto; max-width: 560px; }
.service-collage figcaption strong,
.service-collage figcaption span { display: block; }
.service-collage figcaption strong { font-family: var(--display-font); font-size: 1.75rem; }
.service-collage figcaption span { color: #c5d1dc; font-size: .83rem; }

.service-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.service-detail-card {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 20px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-sm);
  transition: transform .18s, box-shadow .18s, border-color .18s;
}
.service-detail-card:hover { transform: translateY(-4px); border-color: rgba(23,105,210,.35); box-shadow: var(--shadow); }
.service-detail-card.priority { grid-column: 1 / -1; color: #fff; border-color: transparent; background: linear-gradient(125deg,#0b203d,#153f6c 55%,#47386f); }
.service-detail-card.priority h3 { color: #fff; }
.service-detail-card.priority p,
.service-detail-card.priority li { color: #c9d6e2; }
.service-detail-number { color: rgba(23,105,210,.28); font-family: var(--display-font); font-size: 3.1rem; font-weight: 800; line-height: 1; }
.priority .service-detail-number { color: rgba(145,211,255,.45); }
.service-detail-copy > span { color: var(--gold-dark); font-size: .66rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.priority .service-detail-copy > span { color: #8ee6ff; }
.service-detail-copy h3 { margin: 8px 0; font-family: var(--display-font); font-size: 2rem; }
.service-detail-copy p { color: var(--muted); }
.service-detail-copy ul { margin: 0 0 18px; padding-left: 19px; color: #48566a; font-size: .86rem; }
.service-detail-copy > strong { color: var(--gold-dark); font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.priority .service-detail-copy > strong { color: #8ee6ff; }
.premium-decision-grid article { min-height: 245px; }

.paint-gallery-section,
.ceramic-gallery-section,
.service-photo-story,
.interior-gallery-section,
.odor-gallery-section { padding: 56px 0 84px; }
.paint-gallery,
.ceramic-gallery,
.service-photo-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  grid-template-rows: repeat(2, 280px);
  gap: 16px;
}
.paint-gallery figure,
.ceramic-gallery figure,
.service-photo-grid figure,
.odor-gallery figure,
.interior-gallery figure { position: relative; margin: 0; overflow: hidden; border-radius: 22px; background: var(--ink); box-shadow: var(--shadow-sm); }
.paint-gallery-main,
.ceramic-gallery-main,
.service-photo-large { grid-row: 1 / 3; }
.paint-gallery img,
.ceramic-gallery img,
.service-photo-grid img,
.odor-gallery img,
.interior-gallery img { width: 100%; height: 100%; object-fit: cover; }
.paint-gallery figure:not(.paint-gallery-main) figcaption,
.ceramic-gallery figure:not(.ceramic-gallery-main) figcaption,
.service-photo-grid figure:not(.service-photo-large) figcaption { right: 12px; bottom: 12px; left: 12px; padding: 10px 12px; font-size: .75rem; }
.paint-gallery figcaption strong,
.paint-gallery figcaption span,
.ceramic-gallery figcaption strong,
.ceramic-gallery figcaption span { display: block; }
.paint-gallery figcaption span,
.ceramic-gallery figcaption span { color: #c5d2de; font-size: .75rem; }

.explain-grid,
.benefit-grid,
.odor-source-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.explain-grid article,
.benefit-grid article,
.odor-source-grid article {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.explain-grid article > span,
.benefit-grid article > span,
.odor-source-grid article > span { color: var(--cobalt); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.explain-grid h3,
.benefit-grid h3,
.odor-source-grid h3 { margin-top: 18px; font-family: var(--display-font); font-size: 1.65rem; }
.explain-grid p,
.benefit-grid p,
.odor-source-grid p { margin-bottom: 0; color: var(--muted); font-size: .9rem; }
.odor-source-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }

.paint-problem-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 19px; }
.paint-problem-card { overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.paint-problem-image { height: 300px; overflow: hidden; }
.paint-problem-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.paint-problem-card:hover img { transform: scale(1.04); }
.paint-problem-card > div:last-child { padding: 25px; }
.paint-problem-card span { color: var(--cobalt); font-size: .67rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.paint-problem-card h3 { margin-top: 10px; font-family: var(--display-font); font-size: 1.7rem; }
.paint-problem-card p { color: var(--muted); font-size: .9rem; }

.paint-diagnostics-section,
.sealant-feature-section,
.ozone-feature-section {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 85% 10%, rgba(23,105,210,.28), transparent 32%),
    radial-gradient(circle at 0 100%, rgba(111,75,216,.22), transparent 32%),
    #071426;
}
.paint-diagnostics-section h2,
.paint-diagnostics-section h3,
.sealant-feature-section h2,
.ozone-feature-section h2 { color: #fff; }
.paint-diagnostics-grid,
.sealant-feature-grid,
.ozone-feature-grid {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr);
  align-items: center;
  gap: clamp(42px,7vw,92px);
}
.paint-diagnostics-grid figure,
.sealant-feature-grid figure,
.ozone-feature-grid figure { margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 28px; background: #07111f; box-shadow: 0 30px 70px rgba(0,0,0,.3); }
.paint-diagnostics-grid figure img,
.sealant-feature-grid figure img,
.ozone-feature-grid figure img { width: 100%; max-height: 610px; object-fit: cover; }
.paint-diagnostics-grid figcaption,
.sealant-feature-grid figcaption,
.ozone-feature-grid figcaption { padding: 17px 19px; color: #b9c6d3; font-size: .8rem; }
.diagnostic-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 28px; }
.diagnostic-list article { padding: 20px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.05); }
.diagnostic-list span { color: #7bdbf5; font-size: .63rem; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.diagnostic-list h3 { margin: 12px 0 8px; font-family: var(--display-font); font-size: 1.35rem; }
.diagnostic-list p { margin: 0; color: #b9c7d4; font-size: .8rem; }
.light-list li { color: #d4dce5; }
.dark-box { border-color: rgba(255,255,255,.13); color: #d2dbe5; background: rgba(255,255,255,.06); }
.dark-box strong { color: #fff; }

.correction-package-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 19px; }
.correction-package { display: flex; flex-direction: column; padding: 28px; border: 1px solid rgba(7,17,31,.13); border-radius: 23px; background: #fff; box-shadow: var(--shadow-sm); }
.correction-package.featured { border: 2px solid rgba(23,105,210,.55); box-shadow: var(--shadow); }
.correction-package > span { color: var(--cobalt); font-size: .65rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.correction-package h3 { min-height: 58px; margin-top: 14px; font-family: var(--display-font); font-size: 1.65rem; }
.correction-package .amount { margin: 9px 0 16px; color: var(--ink); font-family: var(--display-font); font-size: 2.65rem; font-weight: 800; line-height: 1; }
.correction-package .amount-text { font-size: 1.75rem; }
.correction-package p { color: var(--muted); font-size: .88rem; }
.correction-package ul { margin: 0 0 24px; padding-left: 18px; color: #48566a; font-size: .82rem; }
.correction-package .button { margin-top: auto; }
.pricing-disclaimer { max-width: 900px; margin: 27px auto 0; color: var(--muted); font-size: .8rem; text-align: center; }

.service-photo-grid { grid-template-rows: repeat(2, 250px); }
.included-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.included-grid article { padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.included-grid article > span { color: var(--cobalt); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.included-grid h3 { margin-top: 12px; font-family: var(--display-font); font-size: 2rem; }
.upgrade-mini-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.upgrade-mini-grid a { padding: 25px; border: 1px solid rgba(7,17,31,.12); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); transition: transform .18s, box-shadow .18s; }
.upgrade-mini-grid a:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.upgrade-mini-grid span { color: var(--cobalt); font-size: .67rem; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.upgrade-mini-grid h3 { margin-top: 12px; font-family: var(--display-font); font-size: 1.55rem; }
.upgrade-mini-grid p { margin: 0; color: var(--muted); font-size: .87rem; }

.interior-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.interior-gallery figure { min-height: 330px; }
.interior-gallery figcaption { position: absolute; right: 14px; bottom: 14px; padding: 9px 12px; border-radius: 999px; color: #fff; background: rgba(5,15,31,.76); font-size: .71rem; font-weight: 800; backdrop-filter: blur(10px); }
.interior-zone-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 17px; }
.interior-zone-grid article { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); }
.interior-zone-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.interior-zone-grid article > div { padding: 20px; }
.interior-zone-grid span { color: var(--cobalt); font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.interior-zone-grid p { margin: 10px 0 0; color: var(--muted); font-size: .83rem; }

.ceramic-gallery { grid-template-rows: repeat(2, 250px); }
.benefit-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.odor-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.odor-gallery figure { min-height: 340px; }
.odor-source-grid article { min-height: 230px; }

.upgrade-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.upgrade-detail-card { overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: var(--shadow-sm); }
.upgrade-detail-card > img { width: 100%; height: 310px; object-fit: cover; }
.upgrade-detail-card > div { padding: 28px; }
.upgrade-detail-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.upgrade-detail-top span { color: var(--cobalt); font-size: .66rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.upgrade-detail-top strong { color: var(--ink); font-family: var(--display-font); font-size: 1.75rem; }
.upgrade-detail-card h2 { margin-top: 15px; font-size: 2.35rem; }
.upgrade-detail-card p { color: var(--muted); }
.upgrade-detail-card ul { padding-left: 19px; color: #465569; font-size: .87rem; }

/* Internal pages no longer show large image-led heroes. */
body:not(.home) .page-intro { min-height: 0; }
body:not(.home) .page-intro-grid { max-width: 1020px; grid-template-columns: 1fr; }
body:not(.home) .page-intro .button-row { margin-top: 18px; }

@media (max-width: 1060px) {
  .hero-spectrum-grid { grid-template-columns: minmax(0,1fr) minmax(330px,.76fr); gap: 34px; }
  .hero-spectrum h1 { font-size: clamp(3.9rem,6.8vw,6rem); }
  .hero-spectrum-stage { min-height: 480px; }
  .service-detail-grid,.upgrade-detail-grid { grid-template-columns: 1fr; }
  .service-detail-card.priority { grid-column: auto; }
  .interior-zone-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .odor-source-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 860px) {
  .page-intro-grid,.service-intro-grid,.paint-diagnostics-grid,.sealant-feature-grid,.ozone-feature-grid { grid-template-columns: 1fr; }
  .intro-price-card,.service-intro-card { max-width: 520px; }
  .hero-spectrum { min-height: calc(100svh - var(--header-height)); }
  .hero-spectrum-grid { grid-template-columns: 1fr; padding-top: 52px; padding-bottom: 34px; }
  .hero-spectrum-copy { max-width: 720px; }
  .hero-spectrum-stage { display: none; }
  .hero-spectrum-wash { background: linear-gradient(90deg,rgba(5,15,31,.96),rgba(7,21,42,.78) 68%,rgba(7,18,35,.38)),linear-gradient(0deg,rgba(4,12,25,.97),transparent 50%); }
  .hero-spectrum-media img { object-position: 57% 43%; }
  .hero-spectrum h1 { max-width: 700px; font-size: clamp(3.5rem,10vw,5.8rem); }
  .hero-spectrum-booking { margin-top: auto; }
  .paint-gallery,.ceramic-gallery,.service-photo-grid { grid-template-rows: repeat(2,230px); }
  .explain-grid,.benefit-grid,.paint-problem-grid,.correction-package-grid,.upgrade-mini-grid { grid-template-columns: 1fr; }
  .diagnostic-list { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .page-intro,.service-intro { padding: 40px 0 46px; }
  .page-intro h1,.service-intro h1 { font-size: clamp(2.5rem,11vw,3.6rem); }
  .hero-spectrum { min-height: calc(100svh - var(--header-height) - 64px); }
  .hero-spectrum-grid { padding-top: 28px; padding-bottom: 18px; }
  .hero-spectrum-kicker { gap: 7px; margin-bottom: 13px; font-size: .55rem; }
  .hero-spectrum-kicker strong { padding: 6px 8px; }
  .hero-spectrum h1 { margin-bottom: 12px; font-size: clamp(2.8rem,14vw,4.15rem); line-height: .88; }
  .hero-spectrum .lead { margin-bottom: 14px; font-size: .86rem; line-height: 1.47; }
  .hero-spectrum-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 13px; }
  .hero-spectrum-actions .button { min-height: 42px; padding-inline: 8px; font-size: .58rem; }
  .hero-spectrum-proof { display: none; }
  .hero-spectrum-location { grid-template-columns: 36px 1fr auto; padding: 10px 11px; border-radius: 13px; }
  .hero-spectrum-location .location-symbol { width: 36px; height: 36px; border-radius: 10px; font-size: 1.05rem; }
  .hero-spectrum-location strong { font-size: .72rem; }
  .hero-spectrum-location small { font-size: .62rem; }
  .hero-spectrum-booking { grid-template-columns: 1fr; margin-bottom: 10px; border-radius: 14px; }
  .hero-spectrum-booking a { min-height: 58px; padding: 9px 12px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.1); }
  .hero-spectrum-booking a:last-child { border-bottom: 0; }
  .hero-spectrum-booking span { font-size: .55rem; }
  .hero-spectrum-booking strong { margin: 1px 0; font-size: .76rem; }
  .hero-spectrum-booking small { font-size: .59rem; }
  .paint-gallery,.ceramic-gallery,.service-photo-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .paint-gallery-main,.ceramic-gallery-main,.service-photo-large { grid-row: auto; }
  .paint-gallery figure,.ceramic-gallery figure,.service-photo-grid figure { min-height: 300px; }
  .interior-gallery,.odor-gallery,.included-grid,.interior-zone-grid { grid-template-columns: 1fr; }
  .interior-gallery figure,.odor-gallery figure { min-height: 270px; }
  .service-detail-card { grid-template-columns: 48px 1fr; padding: 22px; }
  .service-detail-number { font-size: 2.3rem; }
  .upgrade-detail-card > img { height: 250px; }
  .upgrade-detail-card > div { padding: 22px; }
  .upgrade-detail-card h2 { font-size: 2rem; }
}

@media (max-width: 390px), (max-height: 650px) and (max-width: 640px) {
  .hero-spectrum-grid { padding-top: 15px; padding-bottom: 10px; }
  .hero-spectrum-kicker { margin-bottom: 8px; }
  .hero-spectrum h1 { margin-bottom: 8px; font-size: 2.55rem; }
  .hero-spectrum .lead { margin-bottom: 9px; font-size: .75rem; line-height: 1.35; }
  .hero-spectrum-location { display: none; }
  .hero-spectrum-booking a { min-height: 48px; padding-block: 6px; }
  .hero-spectrum-booking small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-spectrum-media img { animation: none !important; }
}

/* Version 1.7.1 — richer hero color and clearer appointment windows. */
.hero-spectrum-glow-azure {
  inset: 18% auto auto 28%;
  width: 42%;
  height: 48%;
  background: radial-gradient(circle, rgba(0, 126, 255, .38), rgba(55, 210, 236, .13) 40%, transparent 70%);
}
.hero-spectrum-prism {
  position: absolute;
  z-index: -1;
  top: -34%;
  right: -13%;
  width: min(70vw, 980px);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  opacity: .5;
  background: conic-gradient(from 215deg, transparent 0 18%, rgba(57, 206, 244, .3) 24%, rgba(78, 111, 239, .28) 34%, rgba(159, 83, 219, .3) 45%, rgba(226, 85, 143, .22) 56%, transparent 68% 100%);
  filter: blur(44px);
  animation: heroPrismFloat 13s ease-in-out infinite alternate;
}
.hero-spectrum::after {
  position: absolute;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  content: "";
  background: linear-gradient(90deg, #3ed7f3, #3679e9 29%, #815edc 57%, #cf579a 78%, #ef7b65);
  box-shadow: 0 0 22px rgba(83, 172, 245, .42);
}
.hero-spectrum-main { border-color: rgba(126, 219, 244, .32); }
.hero-spectrum-inset { border-color: rgba(9, 29, 58, .94); box-shadow: 0 25px 55px rgba(0,0,0,.42), 0 0 0 1px rgba(126,219,244,.3); }
.hero-spectrum-booking a:nth-child(2) { background: linear-gradient(135deg, rgba(17, 113, 154, .17), rgba(30, 69, 135, .16)); }
.hero-spectrum-booking a:nth-child(3) { background: linear-gradient(135deg, rgba(89, 55, 153, .16), rgba(163, 61, 125, .12)); }
.hero-time-pills { display: flex; flex-wrap: wrap; gap: 5px; margin: 3px 0 4px; }
.hero-time-pills i { padding: 4px 7px; border: 1px solid rgba(126, 218, 244, .22); border-radius: 999px; color: #dceef7; background: rgba(255,255,255,.055); font-size: .59rem; font-style: normal; font-weight: 800; letter-spacing: .035em; }
@keyframes heroPrismFloat { from { transform: translate3d(0,0,0) rotate(-5deg); } to { transform: translate3d(-3%,3%,0) rotate(8deg); } }

/* Paint-correction page uses the full content width and stronger visual hierarchy. */
.paint-service-intro { background: linear-gradient(135deg, #f7fbff 0%, #eef5fc 54%, #f5effd 100%); }
.paint-service-intro .service-intro-grid { grid-template-columns: minmax(0, 1.25fr) 300px; }
.paint-service-intro h1 { max-width: 900px; }
.paint-gallery-section { padding-top: 38px; background: linear-gradient(180deg, #f5f9fd 0%, #fff 100%); }
.paint-gallery { width: 100%; }
.paint-gallery-main { min-height: 620px; }
.paint-problem-card { border-color: rgba(29, 101, 184, .16); }
.paint-problem-card:nth-child(1) { box-shadow: 0 22px 54px rgba(24, 91, 164, .12); }
.paint-problem-card:nth-child(2) { box-shadow: 0 22px 54px rgba(76, 68, 169, .1); }
.paint-problem-card:nth-child(3) { box-shadow: 0 22px 54px rgba(156, 63, 119, .09); }

/* Add-on cards use their imagery as a stronger part of the sales explanation. */
.upgrade-detail-card > img[src$="engine-bay-detailing-illustration.svg"] { object-fit: cover; background: #071426; }
.upgrade-detail-card .text-link { margin-top: 16px; }

@media (max-width: 860px) {
  .paint-service-intro .service-intro-grid { grid-template-columns: 1fr; }
  .hero-spectrum-prism { top: -6%; right: -52%; width: 150vw; opacity: .42; }
  .hero-time-pills { justify-content: center; }
}
@media (max-width: 640px) {
  .hero-spectrum h1 { font-size: clamp(3.15rem, 14.2vw, 4.5rem); }
  .hero-spectrum-booking a { text-align: center; }
  .hero-time-pills { gap: 4px; }
  .hero-time-pills i { font-size: .54rem; padding: 3px 6px; }
  .paint-gallery-main { min-height: 420px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-spectrum-prism { animation: none; }
}

/* Keep the full-screen hero complete within the available viewport. */
@media (min-width: 861px) {
  .hero-spectrum {
    height: calc(100svh - var(--header-height));
    min-height: 620px;
    max-height: 930px;
  }
  .hero-spectrum-grid {
    min-height: 0;
    padding-top: clamp(24px, 4vh, 58px);
    padding-bottom: clamp(18px, 3vh, 36px);
  }
  .hero-spectrum-stage { min-height: clamp(400px, 52vh, 500px); }
  .hero-spectrum-booking { flex: 0 0 auto; margin-bottom: 16px; }
  .hero-spectrum-booking a { min-height: 86px; padding-top: 13px; padding-bottom: 13px; }
}

@media (min-width: 861px) and (max-height: 720px) {
  .hero-spectrum { height: calc(100svh - var(--header-height)); min-height: 0; }
  .hero-spectrum-grid { gap: 24px; padding-top: 14px; padding-bottom: 10px; }
  .hero-spectrum-kicker { margin-bottom: 10px; padding-block: 4px; font-size: .56rem; }
  .hero-spectrum-kicker strong { padding: 5px 8px; }
  .hero-spectrum h1 { margin-bottom: 10px; font-size: clamp(3.3rem, 5.4vw, 4.35rem); line-height: .86; }
  .hero-spectrum .lead { margin-bottom: 12px; font-size: .79rem; line-height: 1.42; }
  .hero-spectrum-actions { margin-bottom: 9px; }
  .hero-spectrum-actions .button { min-height: 40px; padding: 9px 14px; font-size: .59rem; }
  .hero-spectrum-proof { display: none; }
  .hero-spectrum-location { padding: 8px 10px; }
  .hero-spectrum-location .location-symbol { width: 34px; height: 34px; }
  .hero-spectrum-location strong { font-size: .69rem; }
  .hero-spectrum-location small { font-size: .58rem; }
  .hero-spectrum-stage { min-height: 300px; }
  .hero-spectrum-inset { width: 122px; height: 150px; top: 24px; }
  .hero-spectrum-note { right: -8px; min-width: 175px; padding: 11px 13px; }
  .hero-spectrum-note strong { font-size: 1.55rem; }
  .hero-spectrum-booking { margin-bottom: 8px; }
  .hero-spectrum-booking a { min-height: 62px; padding: 7px 13px; }
  .hero-spectrum-booking strong { font-size: .72rem; }
  .hero-spectrum-booking small { display: none; }
  .hero-time-pills i { padding: 2px 5px; font-size: .49rem; }
}

@media (max-width: 640px) and (max-height: 650px) {
  .hero-spectrum { height: calc(100svh - var(--header-height) - 64px); min-height: 0; }
  .hero-spectrum-grid { min-height: 0; padding-top: 11px; padding-bottom: 7px; }
  .hero-spectrum .lead,
  .hero-spectrum-actions a:nth-child(2),
  .hero-spectrum-location,
  .hero-time-pills { display: none; }
  .hero-spectrum-actions { display: block; margin-bottom: 6px; }
  .hero-spectrum-actions .button { width: 100%; min-height: 37px; }
  .hero-spectrum h1 { margin-bottom: 8px; font-size: clamp(2.35rem, 12vw, 3rem); }
  .hero-spectrum-booking { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 5px; }
  .hero-spectrum-booking a { min-height: 58px; padding: 6px 3px; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 0; }
  .hero-spectrum-booking a:last-child { border-right: 0; }
  .hero-spectrum-booking span { font-size: .43rem; }
  .hero-spectrum-booking strong { font-size: .55rem; line-height: 1.15; }
  .hero-spectrum-booking small { display: none; }
}

/* ================================================================
   V1.8 — FORGED / TIMELESS LAYOUT, UNIFORM SERVICES, NATIVE BOOKING
   ================================================================ */
:root {
  --steel: #1d5b86;
  --steel-bright: #3286bd;
  --cobalt: #163f68;
  --ember: #b95d35;
  --bronze: #b48a49;
  --charcoal: #101722;
}

/* Center the descriptor directly beneath the Valiant wordmark. */
.site-header .brand,
.footer-brand .brand {
  align-items: center;
  text-align: center;
}
.site-header .brand-main,
.site-header .brand-sub,
.footer-brand .brand-main,
.footer-brand .brand-sub {
  display: block;
  width: max-content;
  margin-inline: auto;
  align-self: center;
  text-align: center;
}
.brand-sub {
  padding-left: 0;
  transform: none;
}

/* Internal pages use compact title bars—not full hero sections. */
.internal-titlebar,
.page-intro,
.service-intro,
.article-hero,
.contact-hero {
  min-height: 0 !important;
  padding: 52px 0 56px !important;
  overflow: hidden;
  color: var(--text);
  background:
    linear-gradient(120deg, rgba(29,91,134,.08), transparent 36%),
    linear-gradient(180deg, #f8fafc 0%, #f1f5f8 100%) !important;
}
.internal-titlebar-grid,
.page-intro-grid,
.page-intro-inner,
.service-intro-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(250px,330px);
  align-items: end;
  gap: 50px;
}
.page-intro-inner { grid-template-columns: 1fr; }
.internal-titlebar h1,
.page-intro h1,
.service-intro h1,
.article-hero h1,
.contact-hero h1 {
  max-width: 880px;
  margin-bottom: 15px;
  font-size: clamp(2.55rem, 5vw, 4.55rem) !important;
  line-height: .98 !important;
}
.internal-titlebar .lead,
.page-intro .lead,
.service-intro .lead,
.article-hero .lead,
.contact-hero .lead { margin-bottom: 21px; }
.internal-titlebar-note,
.service-intro-card,
.intro-price-card {
  display: flex;
  min-height: 150px;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
  border: 1px solid rgba(29,91,134,.18);
  border-left: 4px solid var(--steel);
  border-radius: 4px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 16px 40px rgba(7,17,31,.08);
}
.internal-titlebar-note span,
.internal-titlebar-note small,
.service-intro-card span,
.service-intro-card small,
.intro-price-card span,
.intro-price-card small { color: var(--muted); }
.internal-titlebar-note > span,
.service-intro-card > span,
.intro-price-card > span {
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.internal-titlebar-note strong,
.service-intro-card strong,
.intro-price-card strong {
  margin: 6px 0;
  color: var(--ink);
  font-family: var(--display-font);
  font-size: clamp(1.8rem,3vw,2.7rem);
  line-height: 1;
}

/* Full-width forged homepage hero. */
.hero-forged {
  position: relative;
  width: 100%;
  min-height: calc(100svh - var(--header-height));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  color: #fff;
  background: #06101b;
  isolation: isolate;
}
.hero-forged-media,
.hero-forged-overlay,
.hero-forged-linework {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.hero-forged-media { z-index: -3; }
.hero-forged-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 56% 43%;
  filter: saturate(.86) contrast(1.13) brightness(.69);
  transform: scale(1.02);
}
.hero-forged-overlay {
  z-index: -2;
  background:
    radial-gradient(circle at 78% 30%, rgba(50,134,189,.33), transparent 28%),
    radial-gradient(circle at 90% 82%, rgba(185,93,53,.19), transparent 24%),
    linear-gradient(90deg, rgba(5,13,24,.985) 0%, rgba(5,14,26,.95) 36%, rgba(5,15,29,.71) 58%, rgba(5,15,28,.28) 82%, rgba(5,15,28,.18) 100%),
    linear-gradient(0deg, rgba(5,13,23,.96) 0%, transparent 40%);
}
.hero-forged-linework {
  z-index: -1;
  opacity: .5;
  background:
    linear-gradient(120deg, transparent 0 59%, rgba(75,153,205,.15) 59% 59.15%, transparent 59.15%),
    linear-gradient(120deg, transparent 0 72%, rgba(185,93,53,.12) 72% 72.12%, transparent 72.12%);
}
.hero-forged::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  content: "";
  background: linear-gradient(90deg, var(--steel-bright), #b7d6ea 48%, var(--ember));
}
.hero-forged-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1.12fr) minmax(330px,.65fr);
  align-items: center;
  gap: clamp(44px,7vw,100px);
  padding-top: clamp(54px,8vh,98px);
  padding-bottom: 34px;
}
.hero-forged-copy { max-width: 800px; }
.hero-forged-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hero-forged-kicker strong {
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.32);
  color: #fff;
  background: rgba(255,255,255,.08);
}
.hero-forged-kicker span { color: #9fc9e4; }
.hero-forged h1 {
  max-width: 820px;
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(4.25rem,7.2vw,7.4rem);
  line-height: .84;
  letter-spacing: -.055em;
  text-shadow: 0 16px 50px rgba(0,0,0,.35);
}
.hero-forged h1 span {
  color: #a8d2e9;
  text-shadow: 0 0 34px rgba(50,134,189,.25);
}
.hero-forged .lead {
  max-width: 680px;
  margin-bottom: 27px;
  color: #d5dee7;
  font-size: clamp(1rem,1.5vw,1.16rem);
  line-height: 1.67;
}
.hero-forged-actions { margin-bottom: 25px; }
.button-forged-primary {
  color: #06101b;
  background: #f4f7fa;
  box-shadow: 0 15px 34px rgba(0,0,0,.24);
}
.button-forged-primary:hover { background: #fff; }
.button-forged-secondary {
  color: #fff;
  border-color: rgba(166,210,235,.48);
  background: rgba(22,63,104,.32);
  backdrop-filter: blur(10px);
}
.button-forged-secondary:hover { border-color: #b9d9eb; background: rgba(40,94,139,.48); }
.hero-forged-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-bottom: 22px;
  color: #c3cfda;
  font-size: .74rem;
  font-weight: 750;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.hero-forged-proof span { display: inline-flex; align-items: center; gap: 7px; }
.hero-forged-proof b { color: #6fb6df; font-size: .62rem; }
.hero-forged-location {
  width: min(100%,570px);
  display: grid;
  grid-template-columns: 43px 1fr auto;
  align-items: center;
  gap: 13px;
  padding: 12px 15px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(5,14,25,.62);
  backdrop-filter: blur(15px);
}
.hero-forged-location .location-symbol {
  width: 43px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(112,183,223,.42);
  color: #a8d2e9;
  font-family: var(--display-font);
  font-size: 1.25rem;
}
.hero-forged-location strong,
.hero-forged-location small { display: block; }
.hero-forged-location strong { color: #fff; font-size: .78rem; }
.hero-forged-location small { margin-top: 2px; color: #aab9c7; font-size: .69rem; }
.hero-forged-location i { color: #7fb9da; font-style: normal; }
.hero-forged-panel {
  position: relative;
  align-self: center;
  width: min(100%,390px);
  justify-self: end;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.17);
  background: rgba(5,14,25,.76);
  box-shadow: 0 28px 75px rgba(0,0,0,.38);
  backdrop-filter: blur(17px);
}
.hero-panel-label {
  margin-bottom: 12px;
  color: #8fc7e5;
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hero-forged-panel figure { position: relative; margin: 0 0 17px; aspect-ratio: 4/4.45; overflow: hidden; }
.hero-forged-panel figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.hero-forged-panel figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 17px;
  background: linear-gradient(0deg, rgba(4,12,22,.92), transparent);
}
.hero-forged-panel figcaption span,
.hero-forged-panel figcaption strong { display: block; }
.hero-forged-panel figcaption span { color: #91c9e6; font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.hero-forged-panel figcaption strong { color: #fff; font-size: .86rem; }
.hero-panel-price { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.hero-panel-price span { color: #9bacbb; font-size: .72rem; }
.hero-panel-price strong { color: #fff; font-family: var(--display-font); font-size: 2rem; }
.hero-forged-panel > p { margin: 6px 0 14px; color: #aebcc8; font-size: .78rem; }
.hero-forged-panel > a { display: flex; justify-content: space-between; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.13); color: #a8d2e9; font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.hero-forged-booking {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-bottom: 24px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(5,14,24,.78);
  box-shadow: 0 18px 50px rgba(0,0,0,.25);
  backdrop-filter: blur(17px);
}
.hero-forged-booking a {
  min-height: 96px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 22px;
  border-right: 1px solid rgba(255,255,255,.13);
  transition: background .18s ease;
}
.hero-forged-booking a:last-child { border-right: 0; }
.hero-forged-booking a:hover { background: rgba(50,134,189,.14); }
.hero-forged-booking span,
.hero-forged-booking strong,
.hero-forged-booking small { display: block; }
.hero-forged-booking span { color: #78b9dc; font-size: .6rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.hero-forged-booking strong { margin: 4px 0 2px; color: #fff; font-size: .84rem; }
.hero-forged-booking small { color: #a9b7c4; font-size: .69rem; }
.hero-forged-booking .featured { box-shadow: inset 0 3px 0 var(--steel-bright); }

/* Uniform service guide. */
.service-guide-section { background: linear-gradient(180deg,#fff 0%,#f4f7f9 100%); }
.service-guide-list { display: grid; gap: 24px; }
.service-guide-row {
  display: grid;
  grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr);
  min-height: 360px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 17px 45px rgba(7,17,31,.075);
}
.service-guide-row.featured { border-color: rgba(29,91,134,.42); box-shadow: 0 22px 58px rgba(22,63,104,.13); }
.service-guide-row figure { margin: 0; min-height: 100%; overflow: hidden; background: #0a1928; }
.service-guide-row figure img { width: 100%; height: 100%; min-height: 360px; object-fit: cover; object-position: center; }
.service-guide-row figure.service-guide-illustration img { object-fit: cover; }
.service-guide-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px,4vw,48px); }
.service-guide-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.service-guide-meta span { color: var(--steel); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.service-guide-meta strong { color: var(--ink); font-size: .86rem; }
.service-guide-copy h3 { font-family: var(--display-font); font-size: clamp(2rem,3.5vw,3.25rem); line-height: 1; }
.service-guide-copy > p { max-width: 720px; color: var(--muted); }
.service-guide-copy ul { display: grid; gap: 6px; margin: 5px 0 24px; padding: 0; list-style: none; }
.service-guide-copy li { position: relative; padding-left: 20px; color: #455468; font-size: .86rem; }
.service-guide-copy li::before { position: absolute; top: .68em; left: 0; width: 6px; height: 6px; border-radius: 50%; content: ""; background: var(--steel); }

/* Shared service page layouts. */
.service-opening-section { padding-top: 74px; }
.service-opening-grid,
.paint-premium-grid {
  display: grid;
  grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr);
  align-items: center;
  gap: clamp(44px,7vw,88px);
}
.service-opening-image,
.paint-feature-image { position: relative; margin: 0; overflow: hidden; border-radius: 6px; background: var(--ink); box-shadow: var(--shadow); }
.service-opening-image { aspect-ratio: 3/2; }
.paint-feature-image { aspect-ratio: 4/5; }
.service-opening-image img,
.paint-feature-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.service-opening-image.illustration img { object-fit: cover; }
.paint-feature-image figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 24px;
  color: #fff;
  background: linear-gradient(0deg,rgba(4,12,22,.94),transparent);
}
.paint-feature-image figcaption strong,
.paint-feature-image figcaption span { display: block; }
.paint-feature-image figcaption span { color: #b8c8d6; font-size: .78rem; }
.service-fact-grid,
.paint-definition-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 28px 0; }
.service-fact-grid article,
.paint-definition-grid article { padding: 20px; border: 1px solid var(--line); background: #fff; }
.service-fact-grid strong,
.service-fact-grid span,
.paint-definition-grid span,
.paint-definition-grid strong { display: block; }
.service-fact-grid strong { color: var(--ink); font-family: var(--display-font); font-size: 1.5rem; }
.service-fact-grid span,
.paint-definition-grid span { color: var(--steel); font-size: .64rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.paint-definition-grid strong { margin: 5px 0; color: var(--ink); }
.paint-definition-grid p { margin: 0; color: var(--muted); font-size: .81rem; }
.no-shortcuts-line { display: flex; align-items: center; gap: 13px; margin-top: 26px; padding: 15px 17px; border-left: 4px solid var(--ember); background: #f2f5f7; }
.no-shortcuts-line strong { flex: 0 0 auto; color: var(--ink); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.no-shortcuts-line span { color: var(--muted); font-size: .84rem; }

.premium-included-grid { gap: 25px; }
.premium-included-grid article { padding: 34px; border-radius: 6px; }
.proof-image-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.proof-image-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.proof-image-grid figure { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow-sm); }
.proof-image-grid img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.proof-image-grid figcaption { padding: 18px; }
.proof-image-grid figcaption strong,
.proof-image-grid figcaption span { display: block; }
.proof-image-grid figcaption span { margin-top: 4px; color: var(--muted); font-size: .82rem; }
.interior-scope-grid,
.odor-source-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.interior-scope-grid article,
.odor-source-grid article { padding: 26px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow-sm); }
.interior-scope-grid > article > span,
.odor-source-grid > article > span { color: var(--steel); font-size: .68rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.interior-scope-grid p,
.odor-source-grid p { margin-bottom: 0; color: var(--muted); font-size: .86rem; }
.upgrade-inline-list { display: grid; gap: 16px; }
.upgrade-inline-list article { display: grid; grid-template-columns: 135px 1fr; gap: 19px; padding: 14px; border: 1px solid var(--line); background: #fff; }
.upgrade-inline-list img { width: 135px; height: 118px; object-fit: cover; }
.upgrade-inline-list p { margin-bottom: 7px; color: var(--muted); font-size: .82rem; }
.upgrade-inline-list strong { color: var(--steel); }
.limits-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.limits-grid article { padding: 30px; border: 1px solid var(--line); border-top: 4px solid var(--danger); background: #fff; }
.limits-grid article.good { border-top-color: var(--success); }
.limits-grid ul { margin-bottom: 0; }

/* Paint correction full-width content. */
.paint-premium-opening { background: linear-gradient(180deg,#fff,#f5f8fa); }
.paint-opening-copy h2 { max-width: 720px; }
.paint-problem-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.paint-problem-grid article { display: grid; grid-template-columns: 190px 1fr; min-height: 260px; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow-sm); }
.paint-problem-grid article > div:last-child { align-self: center; padding: 26px; }
.paint-problem-visual { position: relative; min-height: 100%; overflow: hidden; background: linear-gradient(145deg,#06101b,#164d79 58%,#7fb4d0); }
.paint-problem-visual > span { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 5px 8px; color: #fff; background: rgba(6,16,27,.72); font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.swirl-visual i { position: absolute; border: 1px solid rgba(255,255,255,.48); border-radius: 50%; transform: rotate(-22deg); }
.swirl-visual i:nth-of-type(1) { inset: 32px -60px 28px 18px; }
.swirl-visual i:nth-of-type(2) { inset: 62px -20px 58px -35px; }
.swirl-visual i:nth-of-type(3) { inset: 90px -60px 86px 12px; }
.haze-visual::before { position: absolute; inset: 18%; content: ""; border-radius: 50%; background: rgba(231,240,245,.55); filter: blur(27px); }
.scratch-visual b { position: absolute; left: 15%; width: 82%; height: 2px; background: rgba(255,255,255,.72); transform: rotate(-28deg); box-shadow: 0 0 9px #fff; }
.scratch-visual b:first-of-type { top: 45%; }
.scratch-visual b:last-of-type { top: 58%; left: 31%; width: 64%; }
.clarity-visual { background: linear-gradient(145deg,#02070c,#0b466f 48%,#41a4d1 62%,#06111c 64%); }
.clarity-visual::after { position: absolute; inset: 14% 20%; content: ""; border: 1px solid rgba(255,255,255,.6); transform: skewX(-18deg); box-shadow: 0 0 24px rgba(255,255,255,.2); }
.problem-label { color: var(--steel); font-size: .64rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.paint-problem-grid h3 { margin-top: 6px; }
.paint-problem-grid p { color: var(--muted); font-size: .84rem; }
.paint-inspection-section { color: #fff; background: linear-gradient(125deg,#07111f,#0e2d4b 64%,#163f68); }
.paint-inspection-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; }
.paint-inspection-section h2,
.paint-inspection-section h3 { color: #fff; }
.paint-inspection-section .lead { color: #c5d2de; }
.paint-inspection-section figure { margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: #06101b; }
.paint-inspection-section figure img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.paint-inspection-section figcaption { padding: 18px; color: #afbdc9; font-size: .8rem; }
.premium-step-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.premium-step-list li { display: grid; grid-template-columns: 46px 1fr; gap: 15px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.premium-step-list li > span { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(120,185,219,.5); color: #8fc8e6; font-size: .67rem; font-weight: 850; }
.premium-step-list h3 { margin-bottom: 4px; }
.premium-step-list p { margin: 0; color: #afbdc9; font-size: .83rem; }
.process-gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.process-gallery-grid article { padding-bottom: 24px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow-sm); }
.process-gallery-grid figure { margin: 0 0 22px; overflow: hidden; aspect-ratio: 4/3; background: var(--ink); }
.process-gallery-grid img { width: 100%; height: 100%; object-fit: cover; }
.process-gallery-grid article > span,
.process-gallery-grid h3,
.process-gallery-grid p { margin-right: 24px; margin-left: 24px; }
.process-gallery-grid article > span { color: var(--steel); font-size: .67rem; font-weight: 850; letter-spacing: .1em; }
.process-gallery-grid p { margin-bottom: 0; color: var(--muted); font-size: .84rem; }
.paint-pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.paint-pricing-grid article { display: flex; flex-direction: column; padding: 29px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow-sm); }
.paint-pricing-grid article.featured { color: #fff; border-color: var(--ink); background: var(--ink); }
.paint-pricing-grid article > span { color: var(--steel); font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.paint-pricing-grid .featured > span { color: #8fc8e6; }
.paint-pricing-grid .featured h3 { color: #fff; }
.paint-pricing-grid .featured p,
.paint-pricing-grid .featured li { color: #b9c6d2; }
.paint-pricing-grid h3 { margin-top: 10px; font-family: var(--display-font); font-size: 2rem; }
.paint-pricing-grid .price { margin-bottom: 15px; color: var(--ink); font-family: var(--display-font); font-size: 2.35rem; font-weight: 700; }
.paint-pricing-grid .featured .price { color: #fff; }
.paint-pricing-grid ul { flex: 1; padding-left: 20px; color: var(--muted); font-size: .84rem; }
.paint-pricing-grid .button { width: 100%; margin-top: 16px; }

/* Odor and coating feature sections. */
.odor-process-layout { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: 70px; }
.odor-process-layout .premium-step-list li { border-color: var(--line); }
.odor-process-layout .premium-step-list h3 { color: var(--ink); }
.odor-process-layout .premium-step-list p { color: var(--muted); }
.odor-process-image { margin: 0; overflow: hidden; border-radius: 6px; background: var(--ink); box-shadow: var(--shadow); }
.odor-process-image img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.odor-process-image figcaption { padding: 16px; color: #c4d1dc; background: var(--ink); font-size: .78rem; }
.ozone-safety-section,
.coating-ownership-section,
.story-thankyou-section { color: #fff; background: linear-gradient(125deg,#07111f,#0f2d4b 65%,#163f68); }
.ozone-safety-grid { display: grid; grid-template-columns: 1fr 300px; align-items: center; gap: 70px; }
.ozone-safety-section h2,
.coating-ownership-section h2,
.story-thankyou-section h2 { color: #fff; }
.ozone-safety-section .lead,
.coating-ownership-section .lead,
.story-thankyou-section .lead { color: #c5d1dc; }
.ozone-safety-grid aside { padding: 30px; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.07); }
.ozone-safety-grid aside strong,
.ozone-safety-grid aside span { display: block; }
.ozone-safety-grid aside strong { color: #fff; font-family: var(--display-font); font-size: 3rem; }
.ozone-safety-grid aside span { color: #91c9e6; font-size: .69rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ozone-safety-grid aside p { margin: 12px 0 0; color: #b6c3ce; font-size: .84rem; }
.coating-ownership-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 70px; }
.coating-ownership-grid figure { margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.15); }
.coating-ownership-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }

/* Upgrade rows with matched imagery. */
.upgrade-detail-list { display: grid; gap: 28px; }
.upgrade-detail-row { display: grid; grid-template-columns: minmax(300px,.85fr) minmax(0,1.15fr); overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow-sm); }
.upgrade-detail-row.reverse { grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); }
.upgrade-detail-row.reverse figure { order: 2; }
.upgrade-detail-row figure { margin: 0; min-height: 390px; overflow: hidden; background: var(--ink); }
.upgrade-detail-row figure img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; object-position: center; }
.upgrade-detail-row figure.illustration img { object-fit: cover; }
.upgrade-detail-row > div { align-self: center; padding: clamp(30px,4.4vw,54px); }
.upgrade-detail-meta { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 12px; }
.upgrade-detail-meta span { color: var(--steel); font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.upgrade-detail-meta strong { color: var(--ink); }
.upgrade-detail-row h2 { font-size: clamp(2rem,3.8vw,3.35rem); }
.upgrade-detail-row > div > p { color: var(--muted); }
.upgrade-limit { margin-top: 20px; padding: 15px 17px; border-left: 4px solid var(--steel); color: var(--muted); background: var(--mist); font-size: .82rem; }

/* Story page. */
.story-name-grid { display: grid; grid-template-columns: minmax(290px,.72fr) minmax(0,1.28fr); align-items: center; gap: 76px; }
.story-name-mark { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 15px; padding: 38px; border: 1px solid var(--line); background: var(--ink); box-shadow: var(--shadow); }
.story-name-mark span { color: #fff; font-family: var(--display-font); font-size: clamp(2.2rem,5vw,4rem); text-align: center; }
.story-name-mark i { color: #72b6dd; font-size: 1.5rem; font-style: normal; }
.story-name-mark strong { grid-column: 1/-1; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); color: #9bcce5; font-size: .75rem; letter-spacing: .28em; text-align: center; }
.story-principles-section { background: var(--mist); }
.story-principle-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.story-principle-grid article { padding: 27px; border: 1px solid var(--line); border-top: 4px solid var(--steel); background: #fff; }
.story-principle-grid article > span { color: var(--steel); font-size: .65rem; font-weight: 850; }
.story-principle-grid p { margin-bottom: 0; color: var(--muted); font-size: .84rem; }
.letter-section { background: linear-gradient(180deg,#f8fafc,#edf2f5); }
.letter-layout { display: grid; grid-template-columns: 180px 1fr; align-items: start; gap: 50px; max-width: 1050px; }
.letter-side { position: sticky; top: 110px; text-align: center; }
.story-word-vertical { color: rgba(7,17,31,.11); font-family: var(--display-font); font-size: 5.8rem; font-weight: 700; letter-spacing: -.05em; line-height: .8; writing-mode: vertical-rl; transform: rotate(180deg); }
.letter-side p { margin-top: 18px; color: var(--steel); font-size: .65rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.letter-card { padding: clamp(34px,6vw,74px); border: 1px solid #d7dfe5; background: #fff; box-shadow: 0 28px 70px rgba(7,17,31,.1); }
.letter-card h2 { font-size: clamp(2.2rem,4.5vw,4rem); }
.letter-card p { font-size: 1.02rem; line-height: 1.88; }
.letter-close { margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line); }
.story-work-grid { display: grid; grid-template-columns: 1fr .85fr; align-items: center; gap: 70px; }
.story-work-images { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.story-work-images figure { margin: 0; overflow: hidden; border: 1px solid var(--line); background: #fff; }
.story-work-images img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.story-work-images figcaption { padding: 14px; color: var(--muted); font-size: .76rem; }
.story-thankyou-inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 50px; }

/* Native booking engine. */
.booking-alert-section { padding-top: 22px; }
.booking-alert { display: flex; gap: 10px; padding: 16px 18px; border-left: 4px solid var(--danger); color: #733b36; background: #fff1ef; }
.booking-alert strong { color: var(--danger); }
.booking-confirmation-section { background: var(--mist); }
.booking-confirmation-card { display: grid; grid-template-columns: 82px 1fr; gap: 26px; max-width: 930px; margin: 0 auto; padding: clamp(30px,5vw,55px); border: 1px solid rgba(29,118,89,.24); background: #fff; box-shadow: var(--shadow); }
.confirmation-mark { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--success); font-size: 2rem; }
.booking-engine-section { background: linear-gradient(180deg,#fff,#f3f6f8); }
.booking-engine-layout { display: grid; grid-template-columns: minmax(0,1fr) 350px; align-items: start; gap: 46px; }
.native-booking-form { display: grid; gap: 22px; }
.booking-honeypot { position: absolute!important; left: -9999px!important; }
.booking-step { margin: 0; padding: 27px; border: 1px solid var(--line); border-radius: 6px; background: #fff; box-shadow: var(--shadow-sm); }
.booking-step legend { display: flex; align-items: center; gap: 10px; padding: 0 8px; color: var(--ink); font-size: .78rem; font-weight: 850; letter-spacing: .065em; text-transform: uppercase; }
.booking-step legend span { width: 30px; height: 30px; display: grid; place-items: center; color: #fff; background: var(--steel); font-size: .62rem; }
.booking-service-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.booking-service-choice { position: relative; display: flex; min-height: 215px; flex-direction: column; padding: 21px; border: 1px solid var(--line); cursor: pointer; transition: border-color .18s, box-shadow .18s, transform .18s; }
.booking-service-choice:hover { transform: translateY(-2px); border-color: rgba(29,91,134,.5); }
.booking-service-choice.selected { border-color: var(--steel); box-shadow: inset 0 0 0 2px var(--steel); background: #f4f8fb; }
.booking-service-choice input { position: absolute; opacity: 0; pointer-events: none; }
.booking-service-check { width: 18px; height: 18px; display: block; margin-bottom: 17px; border: 1px solid #9babb8; border-radius: 50%; }
.booking-service-choice.selected .booking-service-check { border: 5px solid var(--steel); }
.booking-service-choice strong { color: var(--ink); }
.booking-service-choice small { flex: 1; margin: 8px 0 14px; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.booking-service-choice b { color: var(--steel); font-size: .74rem; }
.booking-date-time-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 22px; }
.field-label { display: block; margin-bottom: 7px; color: var(--ink); font-size: .72rem; font-weight: 800; }
.booking-step input[type="date"],
.booking-contact-grid input,
.booking-contact-grid textarea { width: 100%; padding: 13px 14px; border: 1px solid #cbd5dd; border-radius: 3px; color: var(--ink); background: #fbfcfd; }
.booking-field-help,
.booking-submit-note { margin: 9px 0 0; color: var(--muted); font-size: .75rem; }
.booking-slot-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; min-height: 49px; }
.booking-slot-button { min-height: 45px; padding: 8px; border: 1px solid #c8d2db; border-radius: 3px; color: var(--ink); background: #fff; font-size: .75rem; font-weight: 800; cursor: pointer; }
.booking-slot-button:hover { border-color: var(--steel); }
.booking-slot-button.selected { color: #fff; border-color: var(--steel); background: var(--steel); }
.booking-slot-message { grid-column: 1/-1; margin: 0; padding: 12px; color: var(--muted); background: var(--mist); font-size: .78rem; }
.booking-slot-error { color: var(--danger); background: #fff1ef; }
.booking-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.booking-contact-grid label { display: grid; gap: 7px; color: var(--ink); font-size: .74rem; font-weight: 800; }
.booking-contact-grid .full { grid-column: 1/-1; }
.booking-agreement { grid-template-columns: 18px 1fr!important; align-items: start; font-weight: 600!important; color: var(--muted)!important; }
.booking-agreement input { width: 18px!important; margin-top: 4px; }
.button-booking-submit { width: 100%; min-height: 58px; color: #fff; background: linear-gradient(90deg,var(--cobalt),var(--steel)); box-shadow: 0 16px 36px rgba(22,63,104,.2); }
.booking-expectation-card { position: sticky; top: 105px; padding: 31px; color: #fff; background: var(--ink); box-shadow: var(--shadow); }
.booking-expectation-card h2 { color: #fff; font-size: 2.3rem; }
.booking-expectation-card ol { display: grid; gap: 0; margin: 24px 0 0; padding: 0; list-style: none; }
.booking-expectation-card li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 17px 0; border-bottom: 1px solid rgba(255,255,255,.12); }
.booking-expectation-card li > span { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(132,194,227,.5); color: #8fc8e6; font-size: .65rem; }
.booking-expectation-card li strong { color: #fff; }
.booking-expectation-card li p { margin: 4px 0 0; color: #aebbc7; font-size: .76rem; }
.no-shortcuts-seal { margin-top: 24px; padding: 17px; border: 1px solid rgba(255,255,255,.14); border-left: 4px solid var(--ember); background: rgba(255,255,255,.05); }
.no-shortcuts-seal strong,
.no-shortcuts-seal span { display: block; }
.no-shortcuts-seal strong { color: #fff; font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; }
.no-shortcuts-seal span { margin-top: 3px; color: #aebbc7; font-size: .73rem; }

/* Compact all remaining legacy intro blocks. */
.page-intro .container,
.service-intro .container,
.article-hero .container,
.contact-hero .container { position: relative; z-index: 1; }
.page-intro .button-row,
.service-intro .button-row { margin-top: 18px; }

@media (max-width: 1080px) {
  .hero-forged-inner { grid-template-columns: 1fr 330px; gap: 35px; }
  .hero-forged h1 { font-size: clamp(3.8rem,7vw,6rem); }
  .story-principle-grid { grid-template-columns: repeat(2,1fr); }
  .interior-scope-grid,.odor-source-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 860px) {
  .internal-titlebar-grid,.page-intro-grid,.service-intro-grid { grid-template-columns: 1fr; gap: 25px; }
  .internal-titlebar-note,.service-intro-card,.intro-price-card { min-height: 0; }
  .hero-forged { min-height: calc(100svh - var(--header-height) - 64px); }
  .hero-forged-inner { grid-template-columns: 1fr; padding-top: 45px; }
  .hero-forged-panel { display: none; }
  .hero-forged-copy { max-width: 690px; }
  .hero-forged-overlay { background: linear-gradient(90deg,rgba(5,13,24,.97),rgba(5,14,26,.82) 68%,rgba(5,14,26,.45)),linear-gradient(0deg,rgba(5,13,23,.95),transparent 50%); }
  .hero-forged-media img { object-position: 62% 44%; }
  .hero-forged-booking { margin-top: 5px; }
  .service-guide-row,.service-guide-row.reverse,.upgrade-detail-row,.upgrade-detail-row.reverse { grid-template-columns: 1fr; }
  .service-guide-row figure img { min-height: 320px; aspect-ratio: 16/9; }
  .upgrade-detail-row.reverse figure { order: 0; }
  .upgrade-detail-row figure,.upgrade-detail-row figure img { min-height: 340px; }
  .service-opening-grid,.paint-premium-grid,.paint-inspection-grid,.odor-process-layout,.coating-ownership-grid,.story-name-grid,.story-work-grid { grid-template-columns: 1fr; }
  .paint-feature-image { max-height: 690px; }
  .process-gallery-grid,.paint-pricing-grid { grid-template-columns: 1fr; }
  .booking-engine-layout { grid-template-columns: 1fr; }
  .booking-expectation-card { position: static; }
  .letter-layout { grid-template-columns: 1fr; }
  .letter-side { display: none; }
  .story-thankyou-inner { grid-template-columns: 1fr; }
  .ozone-safety-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .internal-titlebar,.page-intro,.service-intro,.article-hero,.contact-hero { padding: 38px 0 42px!important; }
  .internal-titlebar h1,.page-intro h1,.service-intro h1,.article-hero h1,.contact-hero h1 { font-size: 2.55rem!important; }
  .hero-forged { min-height: calc(100svh - var(--header-height) - 64px); }
  .hero-forged-inner { padding-top: 28px; padding-bottom: 16px; }
  .hero-forged-kicker { margin-bottom: 13px; font-size: .58rem; }
  .hero-forged h1 { margin-bottom: 14px; font-size: clamp(3rem,14vw,4.25rem); }
  .hero-forged .lead { margin-bottom: 16px; font-size: .88rem; line-height: 1.5; }
  .hero-forged-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px; }
  .hero-forged-actions .button { min-height: 43px; padding: 8px; font-size: .58rem; }
  .hero-forged-proof { display: none; }
  .hero-forged-location { padding: 9px 10px; }
  .hero-forged-location .location-symbol { width: 34px; }
  .hero-forged-location strong { font-size: .65rem; }
  .hero-forged-location small { font-size: .57rem; }
  .hero-forged-booking { grid-template-columns: repeat(3,1fr); margin-bottom: 8px; }
  .hero-forged-booking a { min-height: 67px; align-items: center; padding: 8px 4px; text-align: center; }
  .hero-forged-booking span { font-size: .47rem; }
  .hero-forged-booking strong { font-size: .58rem; }
  .hero-forged-booking small { display: none; }
  .service-guide-row figure img { min-height: 240px; }
  .service-guide-copy { padding: 25px 21px; }
  .service-guide-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
  .service-fact-grid,.paint-definition-grid,.booking-service-options { grid-template-columns: 1fr; }
  .paint-problem-grid { grid-template-columns: 1fr; }
  .paint-problem-grid article { grid-template-columns: 130px 1fr; min-height: 230px; }
  .proof-image-grid,.proof-image-grid.three,.limits-grid,.interior-scope-grid,.odor-source-grid,.story-principle-grid { grid-template-columns: 1fr; }
  .upgrade-inline-list article { grid-template-columns: 95px 1fr; }
  .upgrade-inline-list img { width: 95px; height: 95px; }
  .upgrade-detail-row figure,.upgrade-detail-row figure img { min-height: 250px; }
  .story-work-images { grid-template-columns: 1fr 1fr; }
  .booking-date-time-grid,.booking-contact-grid { grid-template-columns: 1fr; }
  .booking-contact-grid .full { grid-column: auto; }
  .booking-slot-grid { grid-template-columns: repeat(2,1fr); }
  .booking-confirmation-card { grid-template-columns: 1fr; }
}
@media (max-width: 380px) {
  .hero-forged h1 { font-size: 2.8rem; }
  .hero-forged .lead { font-size: .8rem; }
  .hero-forged-location { display: none; }
  .hero-forged-booking a { min-height: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-forged-media img { transform: none; }
}

/* Static preview confirmation; only shown when the preview renderer enables it. */
.booking-preview-confirmation {
  display: grid;
  gap: 4px;
  margin-bottom: 22px;
  padding: 18px 20px;
  border: 1px solid rgba(29,91,134,.28);
  border-left: 4px solid var(--steel);
  border-radius: 4px;
  background: #edf6fb;
  color: var(--ink);
}
.booking-preview-confirmation strong { font-size: 1rem; }
.booking-preview-confirmation span { font-weight: 750; }
.booking-preview-confirmation small { color: var(--muted); line-height: 1.5; }

/* V1.8.1: keep every internal-page introduction clearly smaller than the homepage hero. */
.internal-titlebar,
.page-intro,
.service-intro,
.article-hero,
.contact-hero {
  padding: 34px 0 38px !important;
}
.internal-titlebar h1,
.page-intro h1,
.service-intro h1,
.article-hero h1,
.contact-hero h1 {
  max-width: 820px;
  margin-bottom: 12px;
  font-size: clamp(2.15rem, 3.9vw, 3.55rem) !important;
  line-height: 1 !important;
}
.internal-titlebar .lead,
.page-intro .lead,
.service-intro .lead,
.article-hero .lead,
.contact-hero .lead {
  max-width: 760px;
  margin-bottom: 16px;
  font-size: 1rem;
  line-height: 1.62;
}
.internal-titlebar-grid,
.page-intro-grid,
.page-intro-inner,
.service-intro-grid {
  gap: 38px;
}
.internal-titlebar-note,
.service-intro-card,
.intro-price-card {
  min-height: 112px;
  padding: 19px 22px;
}
.internal-titlebar-note strong,
.service-intro-card strong,
.intro-price-card strong {
  font-size: clamp(1.55rem, 2.4vw, 2.25rem);
}
@media (max-width: 760px) {
  .internal-titlebar,
  .page-intro,
  .service-intro,
  .article-hero,
  .contact-hero { padding: 27px 0 31px !important; }
  .internal-titlebar h1,
  .page-intro h1,
  .service-intro h1,
  .article-hero h1,
  .contact-hero h1 { font-size: clamp(2rem, 10vw, 2.8rem) !important; }
  .internal-titlebar-grid,
  .page-intro-grid,
  .service-intro-grid { gap: 20px; }
  .internal-titlebar-note,
  .service-intro-card,
  .intro-price-card { min-height: 0; }
}

@media (max-width: 760px) {
  .internal-titlebar-grid,
  .page-intro-grid,
  .service-intro-grid { display: block; }
  .internal-titlebar-note,
  .service-intro-card,
  .intro-price-card { display: none; }
  .internal-titlebar h1,
  .page-intro h1,
  .service-intro h1,
  .article-hero h1,
  .contact-hero h1 {
    max-width: 100%;
    margin-bottom: 10px;
    font-size: clamp(2rem, 10.5vw, 2.55rem) !important;
    line-height: 1.02 !important;
  }
  .internal-titlebar .lead,
  .page-intro .lead,
  .service-intro .lead,
  .article-hero .lead,
  .contact-hero .lead {
    margin-bottom: 13px;
    font-size: .91rem;
    line-height: 1.5;
  }
  .internal-titlebar .button-row,
  .page-intro .button-row,
  .service-intro .button-row,
  .article-hero .button-row,
  .contact-hero .button-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .internal-titlebar .button-row .button,
  .page-intro .button-row .button,
  .service-intro .button-row .button,
  .article-hero .button-row .button,
  .contact-hero .button-row .button {
    width: 100%;
    min-height: 43px;
    padding: 9px 8px;
    font-size: .61rem;
  }
}
@media (max-width: 360px) {
  .internal-titlebar .button-row,
  .page-intro .button-row,
  .service-intro .button-row,
  .article-hero .button-row,
  .contact-hero .button-row { grid-template-columns: 1fr; }
}

/* =====================================================================
   V1.9 — RICHER HERO, EDITORIAL PRICING, READABLE BOOKING, UNIQUE PAGES
   ===================================================================== */

/* Homepage hero: stronger Valiant color system without losing the forged tone. */
.hero-forged-v2 .hero-forged-overlay {
  background:
    radial-gradient(circle at 80% 23%, rgba(50,134,189,.48), transparent 28%),
    radial-gradient(circle at 92% 72%, rgba(185,93,53,.28), transparent 24%),
    radial-gradient(circle at 58% 105%, rgba(180,138,73,.25), transparent 32%),
    linear-gradient(90deg, rgba(4,12,22,.99) 0%, rgba(6,17,31,.95) 34%, rgba(10,32,54,.72) 61%, rgba(11,35,58,.3) 83%, rgba(10,31,52,.18) 100%),
    linear-gradient(0deg, rgba(4,12,22,.97) 0%, transparent 46%);
}
.hero-forged-v2 .hero-forged-linework {
  opacity: .75;
  background:
    linear-gradient(116deg, transparent 0 56%, rgba(92,177,226,.21) 56% 56.14%, transparent 56.14%),
    linear-gradient(116deg, transparent 0 68%, rgba(180,138,73,.2) 68% 68.14%, transparent 68.14%),
    linear-gradient(116deg, transparent 0 78%, rgba(185,93,53,.18) 78% 78.12%, transparent 78.12%);
}
.hero-forged-spectrum {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.hero-forged-spectrum span { position: absolute; display: block; filter: blur(1px); opacity: .78; }
.hero-forged-spectrum span:nth-child(1) { top: 0; right: 18%; width: 2px; height: 44%; background: linear-gradient(180deg,transparent,#5db3e0,transparent); transform: rotate(21deg); }
.hero-forged-spectrum span:nth-child(2) { top: 8%; right: 9%; width: 8px; height: 58%; background: linear-gradient(180deg,transparent,rgba(180,138,73,.72),transparent); transform: rotate(21deg); }
.hero-forged-spectrum span:nth-child(3) { right: 34%; bottom: 9%; width: 190px; height: 190px; border: 1px solid rgba(84,164,211,.25); border-radius: 50%; box-shadow: 0 0 0 45px rgba(35,100,145,.04),0 0 0 90px rgba(185,93,53,.025); }
.hero-forged-spectrum span:nth-child(4) { right: -8%; bottom: -14%; width: 48%; height: 32%; background: radial-gradient(ellipse,rgba(185,93,53,.24),transparent 67%); }
.hero-forged-v2 .hero-forged-kicker { color: #9fc9e4; }
.hero-forged-v2 .hero-forged-kicker i { width: 36px; height: 2px; display: block; background: linear-gradient(90deg,var(--steel-bright),var(--bronze),var(--ember)); }
.hero-forged-v2 .hero-forged-kicker span { color: #c7d7e3; }
.hero-forged-v2 .hero-word-white { color: #fff; }
.hero-forged-v2 .hero-word-spectrum {
  color: transparent;
  background: linear-gradient(90deg,#89c9eb 0%,#d9e7ef 30%,#c4a363 62%,#c56e49 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: none;
}
.hero-forged-v2 .hero-forged-panel { border-top: 3px solid var(--steel-bright); }
.hero-panel-color-key { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin: -3px 0 15px; }
.hero-panel-color-key span { padding: 7px 5px; color: #dce8f0; background: rgba(255,255,255,.055); font-size: .56rem; font-weight: 850; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.hero-panel-color-key span:nth-child(1) { border-top: 2px solid var(--steel-bright); }
.hero-panel-color-key span:nth-child(2) { border-top: 2px solid var(--bronze); }
.hero-panel-color-key span:nth-child(3) { border-top: 2px solid var(--ember); }
.hero-forged-v2 .hero-forged-booking a:nth-child(1) { box-shadow: inset 0 3px 0 var(--steel-bright); }
.hero-forged-v2 .hero-forged-booking a:nth-child(2) { box-shadow: inset 0 3px 0 var(--bronze); }
.hero-forged-v2 .hero-forged-booking a:nth-child(3) { box-shadow: inset 0 3px 0 var(--ember); }

/* Full Detail protection value — intentionally prominent. */
.home-sealant-value,
.full-detail-value-v2 {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%,rgba(50,134,189,.28),transparent 26%),
    radial-gradient(circle at 6% 90%,rgba(180,138,73,.18),transparent 30%),
    linear-gradient(135deg,#07111f 0%,#0c233a 56%,#163f68 100%);
}
.home-sealant-value::after,
.full-detail-value-v2::after { position: absolute; right: -10vw; bottom: -22vw; width: 45vw; height: 45vw; border: 1px solid rgba(255,255,255,.07); border-radius: 50%; content: ""; box-shadow: 0 0 0 70px rgba(255,255,255,.02),0 0 0 140px rgba(255,255,255,.012); }
.home-sealant-value-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 150px minmax(0,1fr) minmax(300px,.75fr); align-items: center; gap: clamp(35px,5vw,72px); }
.home-sealant-number { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding-right: 28px; border-right: 1px solid rgba(255,255,255,.15); }
.home-sealant-number span { color: #8fc8e6; font-size: .67rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.home-sealant-number strong { color: #fff; font-family: var(--display-font); font-size: clamp(6rem,10vw,9rem); line-height: .82; }
.home-sealant-number em { margin-top: 11px; color: #c0ccd7; font-size: .74rem; font-style: normal; line-height: 1.45; text-transform: uppercase; }
.home-sealant-copy h2,
.full-detail-value-copy h2 { color: #fff; }
.home-sealant-copy .lead,
.full-detail-value-copy .lead { color: #d0dbe4; }
.home-sealant-benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 22px; margin: 27px 0; }
.home-sealant-benefits article { padding: 13px 0; border-top: 1px solid rgba(255,255,255,.13); }
.home-sealant-benefits strong,.home-sealant-benefits span { display: block; }
.home-sealant-benefits strong { color: #fff; font-size: .82rem; }
.home-sealant-benefits span { margin-top: 4px; color: #aebdca; font-size: .74rem; line-height: 1.5; }
.home-sealant-fineprint { margin: 20px 0 0; color: #95a8b8; font-size: .71rem; line-height: 1.5; }
.home-sealant-image { position: relative; z-index: 1; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.15); box-shadow: 0 25px 65px rgba(0,0,0,.28); }
.home-sealant-image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.home-sealant-image figcaption { padding: 14px 16px; color: #c5d2dd; background: rgba(3,11,20,.78); font-size: .72rem; }

.full-detail-value-v2-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.04fr) minmax(340px,.82fr); align-items: center; gap: clamp(45px,7vw,88px); }
.full-detail-value-copy .light-list li { color: #d5dee6; }
.full-detail-value-price { display: grid; max-width: 420px; margin: 25px 0; padding: 18px 20px; border: 1px solid rgba(143,200,230,.28); border-left: 4px solid var(--steel-bright); background: rgba(255,255,255,.06); }
.full-detail-value-price span,.full-detail-value-price strong,.full-detail-value-price small { display: block; }
.full-detail-value-price span { color: #8fc8e6; font-size: .62rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.full-detail-value-price strong { margin: 4px 0; color: #fff; font-size: 1.35rem; }
.full-detail-value-price small { color: #aebdca; }
.full-detail-value-statement { margin: 24px 0; padding: 18px 20px; border-left: 3px solid var(--bronze); color: #cbd6df; background: rgba(255,255,255,.05); }
.full-detail-value-statement strong { color: #fff; }
.full-detail-value-v2 figure { position: relative; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 25px 70px rgba(0,0,0,.3); }
.full-detail-value-v2 figure img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.full-detail-value-v2 figcaption { padding: 18px; background: rgba(3,11,20,.88); }
.full-detail-value-v2 figcaption strong,.full-detail-value-v2 figcaption span { display: block; }
.full-detail-value-v2 figcaption strong { color: #fff; }
.full-detail-value-v2 figcaption span { margin-top: 4px; color: #9fb0be; font-size: .75rem; }
.full-detail-value-bar { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 46px; border: 1px solid rgba(255,255,255,.13); background: rgba(4,13,24,.42); }
.full-detail-value-bar article { padding: 17px 20px; border-right: 1px solid rgba(255,255,255,.12); }
.full-detail-value-bar article:last-child { border-right: 0; }
.full-detail-value-bar strong,.full-detail-value-bar span { display: block; }
.full-detail-value-bar strong { color: #fff; font-size: .78rem; }
.full-detail-value-bar span { margin-top: 3px; color: #9fb0be; font-size: .68rem; }

/* Editorial pricing page — fewer repeated cards, clearer comparison. */
.pricing-editorial-intro { padding-top: 58px; padding-bottom: 72px; }
.pricing-editorial-grid { display: grid; grid-template-columns: minmax(0,1fr) 355px; align-items: center; gap: clamp(45px,7vw,90px); }
.pricing-editorial-grid h1 { max-width: 850px; font-size: clamp(3rem,5.4vw,5.2rem); line-height: .95; }
.pricing-promise-panel { padding: 30px; color: #fff; background: linear-gradient(145deg,var(--ink),#123452); box-shadow: var(--shadow); }
.pricing-promise-panel > span { color: #8fc8e6; font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.pricing-promise-panel > strong { display: block; margin: 10px 0; font-family: var(--display-font); font-size: 2.2rem; line-height: 1; }
.pricing-promise-panel p { color: #c0ccd6; }
.pricing-promise-panel div { display: flex; flex-wrap: wrap; gap: 7px; }
.pricing-promise-panel b { padding: 7px 9px; border: 1px solid rgba(255,255,255,.15); color: #dce6ed; font-size: .61rem; letter-spacing: .07em; text-transform: uppercase; }
.pricing-signature-section { color: #fff; background: #07111f; }
.pricing-signature-grid { display: grid; grid-template-columns: minmax(320px,.8fr) minmax(0,1.2fr); align-items: stretch; }
.pricing-signature-image { position: relative; margin: 0; min-height: 580px; overflow: hidden; }
.pricing-signature-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.pricing-signature-image figcaption { position: absolute; right: 20px; bottom: 20px; left: 20px; padding: 13px 15px; color: #d8e3eb; background: rgba(3,11,20,.78); font-size: .72rem; backdrop-filter: blur(10px); }
.pricing-signature-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px,6vw,80px); background: radial-gradient(circle at 100% 0,rgba(50,134,189,.22),transparent 35%),linear-gradient(135deg,#0a1b2d,#123c61); }
.pricing-label { color: #8fc8e6; font-size: .66rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.pricing-name-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 12px 0 20px; }
.pricing-name-row h2 { margin: 0; color: #fff; font-size: clamp(2.8rem,5vw,5rem); }
.pricing-name-row > strong { color: #fff; font-family: var(--display-font); font-size: clamp(2rem,4vw,3.6rem); white-space: nowrap; }
.pricing-signature-card .lead { color: #d0dbe4; }
.pricing-signature-card > p:not(.lead) { color: #aebcc8; }
.pricing-includes-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; margin: 24px 0; }
.pricing-includes-grid span { padding: 12px 14px; border: 1px solid rgba(255,255,255,.13); color: #dce6ed; background: rgba(255,255,255,.045); font-size: .72rem; font-weight: 750; }
.pricing-bookable-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.pricing-bookable-card { display: grid; grid-template-columns: minmax(180px,.72fr) minmax(0,1.28fr); overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow-sm); }
.pricing-bookable-card figure { margin: 0; min-height: 100%; background: linear-gradient(145deg,#eaf2f7,#fff); }
.pricing-bookable-card figure img { width: 100%; height: 100%; min-height: 430px; object-fit: contain; padding: 20px; }
.pricing-bookable-card > div { padding: 32px; }
.pricing-bookable-card > div > span { color: var(--steel); font-size: .65rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.pricing-bookable-card h2 { margin: 8px 0 3px; font-size: 2.45rem; }
.pricing-bookable-price { color: var(--ink); font-family: var(--display-font); font-size: 2rem; font-weight: 700; }
.pricing-bookable-card p { color: var(--muted); }
.pricing-bookable-card ul { margin: 18px 0 24px; padding-left: 1.1rem; color: #4a596b; font-size: .84rem; }
.pricing-specialty-heading { display: grid; grid-template-columns: 1fr .75fr; align-items: end; gap: 50px; margin-bottom: 34px; }
.pricing-specialty-heading p { margin: 0; color: var(--muted); }
.pricing-specialty-ledger { display: grid; border-top: 1px solid var(--line); }
.pricing-specialty-ledger article { display: grid; grid-template-columns: 180px minmax(0,1fr) auto auto; align-items: center; gap: 28px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.pricing-specialty-ledger figure { margin: 0; overflow: hidden; aspect-ratio: 4/3; background: var(--mist); }
.pricing-specialty-ledger figure img { width: 100%; height: 100%; object-fit: cover; }
.pricing-specialty-ledger figure.illustration img { object-fit: contain; padding: 8px; }
.pricing-specialty-ledger span { color: var(--steel); font-size: .63rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.pricing-specialty-ledger h3 { margin: 5px 0; font-size: 1.7rem; }
.pricing-specialty-ledger p { margin: 0; color: var(--muted); font-size: .84rem; }
.pricing-specialty-ledger article > strong { color: var(--ink); font-family: var(--display-font); font-size: 1.65rem; white-space: nowrap; }
.pricing-specialty-ledger article > a { color: var(--steel); font-size: .7rem; font-weight: 900; letter-spacing: .06em; white-space: nowrap; text-transform: uppercase; }
.pricing-upgrade-ledger { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(7,17,31,.16); }
.pricing-upgrade-ledger a { display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; padding: 19px 20px; border-right: 1px solid rgba(7,17,31,.12); border-bottom: 1px solid rgba(7,17,31,.12); transition: background .18s,transform .18s; }
.pricing-upgrade-ledger a:nth-child(2n) { border-right: 0; }
.pricing-upgrade-ledger a:hover { background: #fff; transform: translateX(3px); }
.pricing-upgrade-ledger span { color: var(--ink); font-weight: 800; }
.pricing-upgrade-ledger small { color: var(--muted); }
.pricing-upgrade-ledger strong { grid-column: 2; grid-row: 1/3; align-self: center; color: var(--steel); font-family: var(--display-font); font-size: 1.35rem; }
.pricing-factor-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.pricing-factor-grid article { min-height: 230px; padding: 27px; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow-sm); }
.pricing-factor-grid article > span { color: var(--steel); font-family: var(--display-font); font-size: 2rem; }
.pricing-factor-grid h3 { margin: 28px 0 8px; }
.pricing-factor-grid p { margin: 0; color: var(--muted); font-size: .85rem; }

/* Upgrades page — a single editorial introduction, then the actual options. */
.upgrades-opening-v2 { padding-top: 58px; background: linear-gradient(180deg,#fff,#f4f7f9); }
.upgrades-opening-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,.85fr); align-items: center; gap: clamp(45px,7vw,90px); }
.upgrades-opening-copy h1 { max-width: 780px; font-size: clamp(3rem,5.5vw,5.25rem); line-height: .95; }
.upgrades-opening-facts { display: flex; flex-wrap: wrap; gap: 12px; margin: 25px 0; }
.upgrades-opening-facts > span { min-width: 190px; padding: 14px 16px; border-left: 3px solid var(--steel); background: #fff; box-shadow: var(--shadow-sm); }
.upgrades-opening-facts strong,.upgrades-opening-facts small { display: block; }
.upgrades-opening-facts strong { color: var(--ink); }
.upgrades-opening-facts small { margin-top: 3px; color: var(--muted); font-size: .72rem; }
.upgrades-opening-image { margin: 0; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); }
.upgrades-opening-image img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.upgrades-opening-image figcaption { padding: 15px 17px; color: var(--muted); background: #fff; font-size: .76rem; }
.upgrade-detail-row figure { overflow: hidden; }
.upgrade-detail-row figure img { width: 100%; height: 100%; aspect-ratio: 4/3; object-fit: cover; }
.upgrade-detail-row figure.illustration img { object-fit: contain; padding: 24px; background: linear-gradient(145deg,#eaf2f7,#fff); }
.upgrade-booking-band { color: #fff; background: linear-gradient(135deg,#07111f,#123b60); }
.upgrade-booking-heading { display: grid; grid-template-columns: 1fr .8fr; align-items: end; gap: 50px; margin-bottom: 30px; }
.upgrade-booking-heading h2 { color: #fff; }
.upgrade-booking-heading p { margin: 0; color: #c5d1dc; }
.upgrade-booking-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 30px; }
.upgrade-booking-steps article { padding: 24px; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.05); }
.upgrade-booking-steps span { display: block; margin-bottom: 24px; color: #8fc8e6; font-family: var(--display-font); font-size: 1.7rem; }
.upgrade-booking-steps strong { color: #fff; }
.upgrade-booking-steps p { margin: 7px 0 0; color: #aebdca; font-size: .82rem; }

/* Story: purpose shown through real detail work, with natural image proportions. */
.story-purpose-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(350px,.88fr); align-items: center; gap: clamp(45px,7vw,90px); }
.story-purpose-points { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 28px; }
.story-purpose-points article { display: grid; grid-template-columns: 38px 1fr; gap: 12px; padding: 18px; border: 1px solid var(--line); background: #fff; }
.story-purpose-points article > span { color: var(--steel); font-family: var(--display-font); font-size: 1.2rem; }
.story-purpose-points h3 { margin: 0 0 5px; font-size: 1rem; }
.story-purpose-points p { margin: 0; color: var(--muted); font-size: .78rem; }
.story-purpose-gallery { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.story-purpose-gallery figure { margin: 0; overflow: hidden; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow-sm); }
.story-purpose-gallery figure:nth-child(2) { transform: translateY(38px); }
.story-purpose-gallery img { width: 100%; aspect-ratio: 1/1; object-fit: cover; }
.story-purpose-gallery figcaption { padding: 16px; }
.story-purpose-gallery strong,.story-purpose-gallery span { display: block; }
.story-purpose-gallery strong { color: var(--ink); }
.story-purpose-gallery span { margin-top: 4px; color: var(--muted); font-size: .74rem; }

/* Booking: full-width form, then a readable full-width visit guide. */
.booking-page-intro-v2 { padding: 52px 0 60px; background: linear-gradient(135deg,#f8fafc,#eef4f8); }
.booking-page-intro-grid { display: grid; grid-template-columns: minmax(0,1fr) 360px; align-items: center; gap: clamp(45px,7vw,85px); }
.booking-page-intro-grid h1 { max-width: 850px; font-size: clamp(3rem,5.4vw,5.2rem); line-height: .95; }
.booking-page-intro-grid aside { padding: 27px; color: #fff; background: linear-gradient(145deg,var(--ink),#143b5f); box-shadow: var(--shadow); }
.booking-page-intro-grid aside > span { color: #8fc8e6; font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.booking-page-intro-grid aside > strong,.booking-page-intro-grid aside > small { display: block; }
.booking-page-intro-grid aside > strong { margin: 8px 0 4px; font-size: 1.2rem; }
.booking-page-intro-grid aside > small { color: #b7c5d1; }
.booking-page-intro-grid aside div { display: flex; gap: 8px; margin-top: 18px; }
.booking-page-intro-grid aside b { padding: 7px 9px; border: 1px solid rgba(255,255,255,.14); font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; }
.booking-engine-v2 { background: #fff; }
.booking-engine-full { width: min(100%,1120px); margin-inline: auto; }
.booking-engine-full .native-booking-form { width: 100%; }
.booking-engine-full .booking-step { border-radius: 0; }
.booking-journey-section { color: #fff; background: linear-gradient(135deg,#07111f 0%,#0e2d4b 58%,#184b73 100%); }
.booking-journey-heading { display: grid; grid-template-columns: 1fr .8fr; align-items: end; gap: 50px; margin-bottom: 34px; }
.booking-journey-heading h2 { color: #fff; }
.booking-journey-heading p { margin: 0; color: #c5d2dd; }
.booking-journey-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.booking-journey-grid article { min-height: 255px; padding: 25px; color: var(--text); background: #fff; box-shadow: 0 18px 45px rgba(0,0,0,.18); }
.booking-journey-grid article > span { display: inline-grid; width: 38px; height: 38px; place-items: center; margin-bottom: 40px; color: #fff; background: var(--steel); font-size: .65rem; font-weight: 900; }
.booking-journey-grid h3 { font-size: 1.18rem; }
.booking-journey-grid p { margin: 0; color: var(--muted); font-size: .83rem; }
.booking-journey-grid .booking-wait-card { background: linear-gradient(145deg,#eef7fc,#fff); box-shadow: inset 0 4px 0 var(--steel-bright),0 18px 45px rgba(0,0,0,.18); }
.booking-journey-grid .booking-wait-card > span { background: var(--ember); }
.booking-location-band { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 22px; padding: 22px 25px; border: 1px solid rgba(255,255,255,.14); background: rgba(3,11,20,.42); }
.booking-location-band span,.booking-location-band strong,.booking-location-band small { display: block; }
.booking-location-band span { color: #8fc8e6; font-size: .62rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.booking-location-band strong { margin: 4px 0; color: #fff; }
.booking-location-band small { color: #aebdca; }
.booking-story-thanks { background: var(--cream); }
.booking-story-thanks-inner { display: grid; grid-template-columns: 65px 1fr auto; align-items: center; gap: 22px; }
.booking-story-thanks-inner h2 { margin-bottom: 4px; font-size: 2rem; }
.booking-story-thanks-inner p { margin: 0; color: var(--muted); }

/* Paint correction: full-width editorial opening and accurate inspection layout. */
.paint-editorial-opening { padding-top: 58px; background: #fff; }
.paint-editorial-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.82fr); align-items: center; gap: clamp(48px,7vw,92px); }
.paint-editorial-copy h1 { max-width: 900px; font-size: clamp(3.1rem,5.5vw,5.4rem); line-height: .94; }
.paint-editorial-facts { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin: 26px 0; }
.paint-editorial-facts > span { padding: 14px 15px; border-top: 3px solid var(--steel); background: var(--mist); }
.paint-editorial-facts > span:nth-child(2) { border-top-color: var(--bronze); }
.paint-editorial-facts > span:nth-child(3) { border-top-color: var(--ember); }
.paint-editorial-facts strong,.paint-editorial-facts small { display: block; }
.paint-editorial-facts strong { color: var(--ink); }
.paint-editorial-facts small { margin-top: 3px; color: var(--muted); font-size: .69rem; }
.paint-editorial-image { position: relative; margin: 0; overflow: hidden; box-shadow: var(--shadow); }
.paint-editorial-image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center 49%; }
.paint-editorial-image figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 20px; color: #fff; background: linear-gradient(0deg,rgba(3,11,20,.92),transparent); }
.paint-editorial-image strong,.paint-editorial-image span { display: block; }
.paint-editorial-image span { margin-top: 4px; color: #9fc9e4; font-size: .69rem; letter-spacing: .07em; text-transform: uppercase; }
.paint-definition-band { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 54px; border-block: 1px solid var(--line); }
.paint-definition-band article { padding: 22px 25px; border-right: 1px solid var(--line); }
.paint-definition-band article:last-child { border-right: 0; }
.paint-definition-band span,.paint-definition-band strong { display: block; }
.paint-definition-band span { color: var(--steel); font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.paint-definition-band strong { margin: 5px 0; color: var(--ink); }
.paint-definition-band p { margin: 0; color: var(--muted); font-size: .78rem; }
.paint-inspection-v2 { color: #fff; background: linear-gradient(135deg,#07111f,#0d2c49 62%,#16466c); }
.paint-inspection-v2-heading { display: grid; grid-template-columns: 1fr .72fr; align-items: end; gap: 55px; margin-bottom: 36px; }
.paint-inspection-v2-heading h2 { color: #fff; }
.paint-inspection-v2-heading > p { margin: 0; color: #c1ced8; }
.paint-inspection-v2-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); align-items: stretch; gap: 28px; }
.paint-inspection-visuals { display: grid; grid-template-columns: 1.25fr .75fr; gap: 12px; }
.paint-inspection-visuals figure { position: relative; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: #06101b; }
.paint-inspection-visuals img { width: 100%; height: 100%; display: block; }
.paint-inspection-illustration img { aspect-ratio: 3/2; object-fit: contain; }
.paint-testspot-photo img { aspect-ratio: 3/2; object-fit: cover; object-position: center 45%; }
.paint-inspection-visuals figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 14px; color: #d8e3eb; background: linear-gradient(0deg,rgba(3,11,20,.92),transparent); font-size: .7rem; }
.paint-inspection-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 11px; margin: 0; padding: 0; list-style: none; }
.paint-inspection-cards li { display: grid; grid-template-columns: 37px 1fr; gap: 12px; padding: 20px; color: var(--text); background: #fff; }
.paint-inspection-cards li > span { color: var(--steel); font-family: var(--display-font); font-size: 1.35rem; }
.paint-inspection-cards h3 { margin: 0 0 5px; font-size: .98rem; }
.paint-inspection-cards p { margin: 0; color: var(--muted); font-size: .75rem; }
.paint-gauge-note { display: grid; grid-template-columns: 220px 1fr; gap: 22px; margin-top: 22px; padding: 20px 22px; border: 1px solid rgba(255,255,255,.14); border-left: 4px solid var(--bronze); background: rgba(255,255,255,.05); }
.paint-gauge-note strong { color: #fff; }
.paint-gauge-note span { color: #bdcad5; }

/* Ensure new editorial image treatments preserve aspect ratio. */
.pricing-signature-image img,
.pricing-specialty-ledger img,
.pricing-bookable-card img,
.upgrades-opening-image img,
.upgrade-detail-row img,
.story-purpose-gallery img,
.paint-editorial-image img,
.paint-inspection-visuals img,
.home-sealant-image img,
.full-detail-value-v2 img { max-width: 100%; }

@media (max-width: 1080px) {
  .home-sealant-value-grid { grid-template-columns: 115px 1fr; }
  .home-sealant-image { grid-column: 1/-1; width: min(100%,760px); justify-self: center; }
  .pricing-bookable-card { grid-template-columns: 160px 1fr; }
  .pricing-bookable-card figure img { min-height: 390px; }
  .booking-journey-grid { grid-template-columns: repeat(2,1fr); }
  .paint-inspection-v2-grid { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .pricing-editorial-grid,.upgrades-opening-grid,.booking-page-intro-grid,.paint-editorial-grid,.full-detail-value-v2-grid,.story-purpose-grid { grid-template-columns: 1fr; }
  .pricing-promise-panel,.booking-page-intro-grid aside { max-width: 620px; }
  .pricing-signature-grid { grid-template-columns: 1fr; }
  .pricing-signature-image { min-height: 430px; }
  .pricing-bookable-grid { grid-template-columns: 1fr; }
  .pricing-specialty-heading,.upgrade-booking-heading,.booking-journey-heading,.paint-inspection-v2-heading { grid-template-columns: 1fr; gap: 15px; }
  .pricing-specialty-ledger article { grid-template-columns: 145px 1fr auto; }
  .pricing-specialty-ledger article > a { grid-column: 2/-1; }
  .pricing-factor-grid { grid-template-columns: repeat(2,1fr); }
  .upgrade-booking-steps { grid-template-columns: 1fr; }
  .story-purpose-gallery { max-width: 620px; }
  .story-purpose-gallery figure:nth-child(2) { transform: translateY(22px); }
  .paint-editorial-image { max-width: 650px; }
  .paint-definition-band { margin-top: 40px; }
  .full-detail-value-bar { grid-template-columns: repeat(2,1fr); }
  .full-detail-value-bar article:nth-child(2) { border-right: 0; }
  .full-detail-value-bar article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
}
@media (max-width: 640px) {
  .hero-forged-v2 .hero-forged-kicker i { width: 22px; }
  .hero-panel-color-key { display: none; }
  .home-sealant-value-grid { grid-template-columns: 1fr; }
  .home-sealant-number { min-height: 0; display: grid; grid-template-columns: auto auto 1fr; align-items: end; gap: 10px; padding: 0 0 22px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .home-sealant-number strong { font-size: 5rem; }
  .home-sealant-number em { align-self: center; margin: 0; }
  .home-sealant-benefits { grid-template-columns: 1fr; }
  .pricing-editorial-grid h1,.upgrades-opening-copy h1,.booking-page-intro-grid h1,.paint-editorial-copy h1 { font-size: 2.75rem; }
  .pricing-name-row { align-items: flex-start; flex-direction: column; }
  .pricing-bookable-card { grid-template-columns: 1fr; }
  .pricing-bookable-card figure img { min-height: 250px; max-height: 310px; }
  .pricing-specialty-ledger article { grid-template-columns: 100px 1fr; gap: 15px; }
  .pricing-specialty-ledger article > strong,.pricing-specialty-ledger article > a { grid-column: 2; }
  .pricing-upgrade-ledger { grid-template-columns: 1fr; }
  .pricing-upgrade-ledger a { border-right: 0; }
  .pricing-factor-grid { grid-template-columns: 1fr; }
  .story-purpose-points,.story-purpose-gallery { grid-template-columns: 1fr; }
  .story-purpose-gallery figure:nth-child(2) { transform: none; }
  .booking-journey-grid { grid-template-columns: 1fr; }
  .booking-journey-grid article { min-height: 0; }
  .booking-journey-grid article > span { margin-bottom: 20px; }
  .booking-location-band { align-items: flex-start; flex-direction: column; }
  .booking-location-band .button { width: 100%; }
  .booking-story-thanks-inner { grid-template-columns: 1fr; }
  .paint-editorial-facts,.paint-definition-band { grid-template-columns: 1fr; }
  .paint-definition-band article { border-right: 0; border-bottom: 1px solid var(--line); }
  .paint-definition-band article:last-child { border-bottom: 0; }
  .paint-inspection-visuals { grid-template-columns: 1fr; }
  .paint-inspection-cards { grid-template-columns: 1fr; }
  .paint-gauge-note { grid-template-columns: 1fr; }
  .full-detail-value-bar { grid-template-columns: 1fr; }
  .full-detail-value-bar article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .full-detail-value-bar article:last-child { border-bottom: 0; }
}

/* Version 1.9.0 customer waiting option */
.visit-steps-five{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1080px){.visit-steps-five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.visit-steps-five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.visit-steps-five{grid-template-columns:1fr}}

/* =====================================================================
   V1.9.2 — COOL LIGHT PREMIUM HOMEPAGE HERO
   All other site sections and page templates remain unchanged.
   ===================================================================== */
.hero-luxe-light {
  position: relative;
  overflow: hidden;
  padding: clamp(58px, 7vw, 94px) 0 34px;
  color: var(--text);
  background:
    radial-gradient(circle at 88% 10%, rgba(45,91,135,.14), transparent 28%),
    radial-gradient(circle at 76% 92%, rgba(216,171,82,.07), transparent 30%),
    linear-gradient(135deg,#ffffff 0%,#f8fafc 52%,#edf2f7 100%);
  isolation: isolate;
}
.hero-luxe-light::before {
  position: absolute;
  top: -11vw;
  right: -2vw;
  z-index: -2;
  color: rgba(7,17,31,.032);
  content: "V";
  font-family: var(--display-font);
  font-size: min(48vw,690px);
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}
.hero-luxe-light::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  content: "";
  background: linear-gradient(90deg,var(--ink) 0 34%,var(--gold) 34% 71%,var(--gold-dark) 71% 100%);
}
.hero-luxe-texture {
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: .32;
  background-image: url("assets/valiant-hero-paper-texture.svg");
  background-size: 260px 260px;
  mix-blend-mode: multiply;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 37%,#000 100%);
  mask-image: linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 37%,#000 100%);
}
.hero-luxe-linework {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.hero-luxe-linework span {
  position: absolute;
  display: block;
  border: 1px solid rgba(11,29,50,.105);
  transform: rotate(-17deg);
}
.hero-luxe-linework span:nth-child(1) { top: -19%; right: 11%; width: 440px; height: 980px; border-color: rgba(11,29,50,.11); }
.hero-luxe-linework span:nth-child(2) { top: -16%; right: -8%; width: 470px; height: 1020px; border-color: rgba(216,171,82,.09); }
.hero-luxe-linework span:nth-child(3) { right: 27%; bottom: -34%; width: 420px; height: 420px; border-radius: 50%; border-color: rgba(11,29,50,.08); box-shadow: 0 0 0 64px rgba(45,91,135,.025),0 0 0 128px rgba(7,17,31,.016); transform: none; }
.hero-luxe-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0,1.04fr) minmax(430px,.96fr);
  align-items: center;
  gap: clamp(48px,6vw,86px);
}
.hero-luxe-copy { min-width: 0; max-width: 690px; }
.hero-luxe-kicker {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 22px;
  color: var(--navy-2);
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1.45;
  text-transform: uppercase;
}
.hero-luxe-kicker i {
  width: 39px;
  height: 3px;
  flex: 0 0 auto;
  display: block;
  background: linear-gradient(90deg,var(--gold-dark),var(--gold),#efd088);
}
.hero-luxe-light h1 {
  max-width: 760px;
  margin-bottom: 25px;
  font-size: clamp(4.4rem,7.15vw,7.35rem);
  line-height: .84;
  letter-spacing: -.057em;
  text-wrap: balance;
}
.hero-luxe-light h1 span { display: block; }
.hero-luxe-navy { color: var(--ink); }
.hero-luxe-gold {
  color: #c9932e;
  text-shadow: 0 14px 38px rgba(170,116,31,.09);
}
.hero-luxe-light .lead {
  max-width: 650px;
  margin-bottom: 28px;
  color: #405064;
  font-size: clamp(1rem,1.4vw,1.13rem);
  line-height: 1.72;
}
.hero-luxe-actions { margin-bottom: 24px; }
.hero-luxe-actions .button {
  min-height: 54px;
  padding-inline: 24px;
  border-radius: 7px;
}
.hero-luxe-actions .button > span { font-size: 1rem; line-height: 1; transition: transform .18s ease; }
.hero-luxe-actions .button:hover > span { transform: translateX(3px); }
.hero-luxe-primary {
  color: #fff;
  background: linear-gradient(135deg,var(--ink),var(--navy-2));
  box-shadow: 0 16px 34px rgba(7,17,31,.2);
}
.hero-luxe-primary:hover { color: #fff; background: linear-gradient(135deg,var(--navy-2),#19456e); }
.hero-luxe-secondary {
  color: var(--ink);
  border-color: rgba(170,116,31,.52);
  background: rgba(255,255,255,.82);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.5);
  backdrop-filter: blur(9px);
}
.hero-luxe-secondary:hover { color: var(--ink); border-color: var(--gold-dark); background: #f7fafc; }
.hero-luxe-proof {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
  margin-bottom: 18px;
}
.hero-luxe-proof span {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 8px 10px;
  border-top: 2px solid rgba(216,171,82,.75);
  background: rgba(255,255,255,.76);
}
.hero-luxe-proof b { color: var(--gold-dark); font-size: .6rem; letter-spacing: .08em; }
.hero-luxe-proof strong { color: var(--navy); font-size: .66rem; letter-spacing: .035em; line-height: 1.25; text-transform: uppercase; }
.hero-luxe-location {
  width: min(100%,590px);
  display: grid;
  grid-template-columns: 46px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 13px 15px;
  border: 1px solid rgba(11,29,50,.16);
  border-radius: 8px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 15px 38px rgba(7,17,31,.08);
  backdrop-filter: blur(11px);
  transition: border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.hero-luxe-location:hover { border-color: var(--gold-dark); box-shadow: 0 18px 44px rgba(7,17,31,.11); transform: translateY(-2px); }
.hero-luxe-location-icon {
  width: 46px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gold-dark);
  background: var(--ink);
}
.hero-luxe-location-icon svg { width: 22px; height: 22px; }
.hero-luxe-location strong,
.hero-luxe-location small { display: block; }
.hero-luxe-location strong { color: var(--ink); font-size: .83rem; }
.hero-luxe-location small { margin-top: 2px; color: var(--muted); font-size: .72rem; }
.hero-luxe-location > i { color: var(--gold-dark); font-size: 1.15rem; font-style: normal; }
.hero-luxe-visual {
  position: relative;
  width: min(100%,550px);
  min-height: 630px;
  justify-self: end;
}
.hero-luxe-monogram {
  position: absolute;
  top: 2%;
  right: -2%;
  z-index: -1;
  color: rgba(170,116,31,.11);
  font-family: var(--display-font);
  font-size: 16rem;
  font-weight: 700;
  line-height: .8;
}
.hero-luxe-main-image {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - 44px);
  height: 596px;
  margin: 0;
  overflow: hidden;
  border: 8px solid rgba(255,255,255,.95);
  border-radius: 30px;
  background: var(--ink);
  box-shadow: 0 32px 80px rgba(7,17,31,.23);
}
.hero-luxe-main-image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg,transparent 48%,rgba(4,12,22,.82) 100%);
  pointer-events: none;
}
.hero-luxe-main-image img { width: 100%; height: 100%; object-fit: cover; object-position: 53% 42%; filter: saturate(.9) contrast(1.05); }
.hero-luxe-main-image figcaption {
  position: absolute;
  right: 28px;
  bottom: 24px;
  z-index: 2;
  left: 28px;
  display: grid;
  color: #fff;
}
.hero-luxe-main-image figcaption span { color: #efc56f; font-size: .61rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.hero-luxe-main-image figcaption strong { margin: 3px 0 1px; font-family: var(--display-font); font-size: 1.7rem; line-height: 1.05; }
.hero-luxe-main-image figcaption small { color: #d3dde6; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.hero-luxe-inset-image {
  position: absolute;
  bottom: 5px;
  left: 0;
  z-index: 3;
  width: 188px;
  height: 234px;
  margin: 0;
  overflow: hidden;
  border: 7px solid #f4f7fa;
  border-radius: 22px;
  background: var(--ink);
  box-shadow: 0 24px 55px rgba(7,17,31,.25);
  transform: rotate(-2deg);
}
.hero-luxe-inset-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.hero-luxe-price-card {
  position: absolute;
  top: 48px;
  right: -11px;
  z-index: 4;
  width: 214px;
  padding: 16px 18px;
  border: 1px solid rgba(11,29,50,.14);
  border-left: 4px solid var(--gold);
  border-radius: 9px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 20px 52px rgba(7,17,31,.17);
  backdrop-filter: blur(12px);
}
.hero-luxe-price-card > span,
.hero-luxe-price-card > strong,
.hero-luxe-price-card > a { display: block; }
.hero-luxe-price-card > span { color: var(--muted); font-size: .63rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.hero-luxe-price-card > strong { margin: 3px 0 9px; color: var(--ink); font-family: var(--display-font); font-size: 2.35rem; line-height: 1; }
.hero-luxe-price-card > a { padding-top: 9px; border-top: 1px solid var(--line); color: var(--gold-dark); font-size: .63rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.hero-luxe-price-card i { float: right; font-style: normal; }
.hero-luxe-booking {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: 52px;
  overflow: hidden;
  border: 1px solid rgba(11,29,50,.15);
  border-radius: 12px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 22px 58px rgba(7,17,31,.12);
  backdrop-filter: blur(15px);
}
.hero-luxe-booking > a {
  position: relative;
  min-height: 112px;
  display: grid;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 15px;
  padding: 18px 20px;
  border-right: 1px solid rgba(11,29,50,.12);
  transition: background .18s ease,transform .18s ease;
}
.hero-luxe-booking > a::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  content: "";
  background: var(--navy-2);
}
.hero-luxe-booking > a:nth-child(1)::before,
.hero-luxe-booking > a:nth-child(3)::before { background: linear-gradient(90deg,var(--gold-dark),var(--gold)); }
.hero-luxe-booking > a:last-child { border-right: 0; }
.hero-luxe-booking > a:hover { background: #f5f8fb; }
.hero-luxe-booking-icon {
  width: 48px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(170,116,31,.33);
  border-radius: 50%;
  color: var(--gold-dark);
  background: rgba(45,91,135,.055);
}
.hero-luxe-booking-icon svg { width: 25px; height: 25px; }
.hero-luxe-booking-copy,
.hero-luxe-booking-copy > span,
.hero-luxe-booking-copy > strong,
.hero-luxe-booking-copy > small { display: block; min-width: 0; }
.hero-luxe-booking-copy > span { color: var(--gold-dark); font-size: .59rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.hero-luxe-booking-copy > strong { margin: 3px 0 1px; color: var(--ink); font-size: .82rem; line-height: 1.35; }
.hero-luxe-booking-copy > small { color: var(--muted); font-size: .67rem; line-height: 1.4; }
.hero-luxe-booking > a > i { color: var(--gold-dark); font-size: 1rem; font-style: normal; transition: transform .18s ease; }
.hero-luxe-booking > a:hover > i { transform: translateX(3px); }

@media (max-width: 1120px) {
  .hero-luxe-grid { grid-template-columns: minmax(0,1fr) minmax(390px,.82fr); gap: 42px; }
  .hero-luxe-light h1 { font-size: clamp(4rem,7.2vw,6rem); }
  .hero-luxe-visual { min-height: 580px; }
  .hero-luxe-main-image { height: 548px; }
  .hero-luxe-inset-image { width: 172px; height: 214px; }
  .hero-luxe-price-card { right: -4px; }
  .hero-luxe-booking > a { grid-template-columns: 43px 1fr auto; gap: 12px; padding-inline: 15px; }
  .hero-luxe-booking-icon { width: 43px; }
}
@media (max-width: 900px) {
  .hero-luxe-light { padding-top: 54px; }
  .hero-luxe-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero-luxe-copy { max-width: 760px; }
  .hero-luxe-light h1 { max-width: 720px; font-size: clamp(4.3rem,10vw,6.6rem); }
  .hero-luxe-visual { width: min(100%,720px); min-height: 535px; justify-self: center; }
  .hero-luxe-main-image { width: calc(100% - 58px); height: 505px; }
  .hero-luxe-inset-image { width: 178px; height: 210px; }
  .hero-luxe-monogram { right: 4%; }
  .hero-luxe-booking { margin-top: 42px; }
  .hero-luxe-booking > a { grid-template-columns: 40px 1fr auto; gap: 10px; padding: 15px 12px; }
  .hero-luxe-booking-icon { width: 40px; }
  .hero-luxe-booking-copy > small { display: none; }
}
@media (max-width: 680px) {
  .hero-luxe-light { padding: 36px 0 25px; }
  .hero-luxe-light::before { top: 12%; right: -10%; font-size: 112vw; }
  .hero-luxe-texture { opacity: .27; -webkit-mask-image: linear-gradient(180deg,transparent,#000 26%,#000 100%); mask-image: linear-gradient(180deg,transparent,#000 26%,#000 100%); }
  .hero-luxe-linework span:nth-child(1) { right: -48%; }
  .hero-luxe-linework span:nth-child(2) { display: none; }
  .hero-luxe-grid { gap: 32px; }
  .hero-luxe-kicker { gap: 9px; margin-bottom: 17px; font-size: .6rem; letter-spacing: .11em; }
  .hero-luxe-kicker i { width: 24px; }
  .hero-luxe-light h1 { margin-bottom: 19px; font-size: clamp(3.35rem,15.5vw,4.75rem); line-height: .88; }
  .hero-luxe-light .lead { margin-bottom: 22px; font-size: .96rem; line-height: 1.61; }
  .hero-luxe-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-bottom: 17px; }
  .hero-luxe-actions .button { width: 100%; min-height: 51px; }
  .hero-luxe-proof { display: none; }
  .hero-luxe-location { grid-template-columns: 41px 1fr auto; gap: 11px; padding: 11px 12px; }
  .hero-luxe-location-icon { width: 41px; }
  .hero-luxe-location strong { font-size: .72rem; }
  .hero-luxe-location small { font-size: .63rem; line-height: 1.35; }
  .hero-luxe-visual { min-height: 344px; }
  .hero-luxe-main-image { width: 100%; height: 330px; border-width: 5px; border-radius: 23px; }
  .hero-luxe-main-image img { object-position: 51% 39%; }
  .hero-luxe-main-image figcaption { right: 17px; bottom: 16px; left: 17px; }
  .hero-luxe-main-image figcaption span { font-size: .54rem; }
  .hero-luxe-main-image figcaption strong { font-size: 1.35rem; }
  .hero-luxe-main-image figcaption small { font-size: .62rem; }
  .hero-luxe-inset-image { display: none; }
  .hero-luxe-price-card { top: 13px; right: 13px; width: 164px; padding: 12px 13px; }
  .hero-luxe-price-card > span { font-size: .52rem; }
  .hero-luxe-price-card > strong { margin-bottom: 7px; font-size: 1.8rem; }
  .hero-luxe-price-card > a { font-size: .52rem; }
  .hero-luxe-booking { grid-template-columns: 1fr; margin-top: 24px; border-radius: 10px; }
  .hero-luxe-booking > a { min-height: 79px; grid-template-columns: 40px 1fr auto; padding: 12px 14px; border-right: 0; border-bottom: 1px solid rgba(11,29,50,.12); }
  .hero-luxe-booking > a:last-child { border-bottom: 0; }
  .hero-luxe-booking > a::before { top: 0; right: auto; bottom: 0; width: 3px; height: auto; }
  .hero-luxe-booking-copy > span { font-size: .55rem; }
  .hero-luxe-booking-copy > strong { font-size: .76rem; }
}
@media (max-width: 390px) {
  .hero-luxe-light h1 { font-size: 3.2rem; }
  .hero-luxe-kicker { font-size: .55rem; }
  .hero-luxe-light .lead { font-size: .9rem; }
  .hero-luxe-visual { min-height: 314px; }
  .hero-luxe-main-image { height: 300px; }
  .hero-luxe-main-image figcaption small { display: none; }
  .hero-luxe-price-card { width: 151px; }
  .hero-luxe-location small { display: none; }
  .hero-luxe-booking > a { min-height: 74px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-luxe-actions .button,
  .hero-luxe-location,
  .hero-luxe-booking > a,
  .hero-luxe-booking > a > i { transition: none; }
}


/* ==========================================================
   VALIANT PREMIUM SEO V2 - conversion, motion, exterior wash
   ========================================================== */
.header-inner .brand { min-width: 205px; }
.header-inner .brand img { width: 205px; height: auto; max-height: 58px; object-fit: contain; object-position: left center; }
.hero-luxe-manifesto { display: flex; align-items: center; gap: 12px; margin: -5px 0 22px; color: var(--ink); font-family: var(--display-font); font-size: 1.02rem; letter-spacing: .08em; text-transform: uppercase; }
.hero-luxe-manifesto::before { width: 34px; height: 1px; content: ""; background: var(--gold-dark); }
.hero-luxe-manifesto strong { font-weight: 700; }
.hero-luxe-manifesto span { color: var(--gold-dark); }
.hero-luxe-booking { grid-template-columns: repeat(4,minmax(0,1fr)); }
.hero-luxe-booking > a:nth-child(2)::before,
.hero-luxe-booking > a:nth-child(4)::before { background: linear-gradient(90deg,var(--gold-dark),var(--gold)); }
.hero-luxe-booking > a.featured { background: linear-gradient(145deg,rgba(216,171,82,.08),rgba(255,255,255,.97)); }
.booking-card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.booking-card { min-height: 510px; }
.booking-card.exterior-wash-card { background: linear-gradient(160deg,#fff 0%,#fff 62%,rgba(45,91,135,.075) 100%); }
.booking-card.full-detail-card { border: 2px solid var(--gold); background: linear-gradient(155deg,#fff 0%,#fff 66%,rgba(216,171,82,.10) 100%); }
.booking-card .booking-card-art { margin: -29px -29px 23px; height: 165px; overflow: hidden; border-radius: calc(var(--radius) - 2px) calc(var(--radius) - 2px) 0 0; background: var(--navy); }
.booking-card .booking-card-art img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.04); transition: transform .45s ease; }
.booking-card:hover .booking-card-art img { transform: scale(1.035); }
.premium-booking-ribbon { margin-top: 28px; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 22px 24px; border: 1px solid rgba(170,116,31,.28); border-radius: 18px; background: linear-gradient(110deg,#fff 0%,#faf7f0 100%); box-shadow: var(--shadow-sm); }
.premium-booking-ribbon strong { display: block; color: var(--ink); font-family: var(--display-font); font-size: 1.45rem; }
.premium-booking-ribbon span { color: var(--muted); font-size: .86rem; }
.premium-booking-ribbon .button { white-space: nowrap; }
.booking-service-options { grid-template-columns: repeat(4,minmax(0,1fr)); }
.booking-service-choice { min-height: 235px; overflow: hidden; border-radius: 16px; background: #fff; }
.booking-service-choice::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; content: ""; background: var(--navy-2); opacity: .75; }
.booking-service-choice.selected::before { background: linear-gradient(90deg,var(--gold-dark),var(--gold)); opacity: 1; }
.booking-service-badge { position: absolute; top: 13px; right: 13px; padding: 5px 8px; border-radius: 999px; color: var(--ink); background: var(--gold); font-size: .52rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.booking-service-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; }
.booking-service-meta b { color: var(--steel); font-size: .74rem; }
.booking-service-meta em { color: var(--muted); font-size: .68rem; font-style: normal; font-weight: 750; }
.booking-step { border-radius: 19px; background: #fff; box-shadow: 0 16px 44px rgba(7,17,31,.065); }
.booking-slot-button { border-radius: 12px; }
.pricing-bookable-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pricing-bookable-card.exterior-card figure img { object-fit: cover; }
.exterior-hero-visual { position: relative; overflow: hidden; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.exterior-hero-visual img { width: 100%; min-height: 460px; height: 100%; object-fit: cover; }
.exterior-hero-visual::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg,transparent 52%,rgba(7,17,31,.72)); }
.exterior-hero-caption { position: absolute; z-index: 2; right: 24px; bottom: 22px; left: 24px; color: #fff; }
.exterior-hero-caption span { color: var(--gold); font-size: .65rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.exterior-hero-caption strong { display: block; margin-top: 5px; font-family: var(--display-font); font-size: 1.85rem; line-height: 1; }
.exterior-process-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
.exterior-process-grid article { min-height: 220px; padding: 22px 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); }
.exterior-process-grid article span { display: block; margin-bottom: 34px; color: var(--gold-dark); font-family: var(--display-font); font-size: 2.4rem; }
.exterior-process-grid article h3 { font-size: 1rem; }
.exterior-process-grid article p { margin-bottom: 0; color: var(--muted); font-size: .82rem; }
.premium-service-note { padding: 28px; border: 1px solid rgba(216,171,82,.32); border-radius: 20px; background: linear-gradient(135deg,#fff,#faf6ec); box-shadow: var(--shadow-sm); }
.premium-service-note strong { display: block; margin-bottom: 7px; color: var(--ink); font-family: var(--display-font); font-size: 1.6rem; }
.premium-service-note p { margin-bottom: 0; color: var(--muted); }
.location-premium-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 34px; align-items: stretch; }
.location-premium-card { min-height: 100%; padding: 32px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: var(--shadow-sm); }
.location-premium-card strong { display: block; color: var(--ink); font-family: var(--display-font); font-size: 2rem; line-height: 1.05; }
.location-premium-card small { display: block; margin-top: 10px; color: var(--muted); }
.seo-context-line { margin: 18px 0 0; color: #69778a; font-size: .78rem; font-weight: 650; letter-spacing: .02em; }
.site-header { transition: box-shadow .25s ease, background .25s ease; }
body.scrolled .site-header { background: rgba(255,255,255,.98); box-shadow: 0 12px 34px rgba(7,17,31,.08); }
@keyframes valiantFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes valiantGoldPulse { 0%,100% { box-shadow: 0 12px 26px rgba(170,116,31,.23); } 50% { box-shadow: 0 18px 42px rgba(170,116,31,.38); } }
@media (prefers-reduced-motion: no-preference) {
  .hero-luxe-price-card { animation: valiantFloat 5.5s ease-in-out infinite; }
  .site-nav .button-gold { animation: valiantGoldPulse 3.8s ease-in-out infinite; }
}
@media (max-width: 1120px) {
  .hero-luxe-booking { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hero-luxe-booking > a { border-bottom: 1px solid rgba(11,29,50,.12); }
  .hero-luxe-booking > a:nth-child(2n) { border-right: 0; }
  .booking-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .booking-service-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .exterior-process-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .pricing-bookable-grid { grid-template-columns: 1fr; }
  .location-premium-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .header-inner .brand { min-width: 162px; }
  .header-inner .brand img { width: 162px; }
  .hero-luxe-manifesto { font-size: .76rem; }
  .hero-luxe-booking { grid-template-columns: 1fr; }
  .hero-luxe-booking > a { border-right: 0; }
  .booking-card-grid, .booking-service-options { grid-template-columns: 1fr; }
  .booking-card .booking-card-art { margin: -25px -25px 21px; }
  .premium-booking-ribbon { grid-template-columns: 1fr; }
  .premium-booking-ribbon .button { width: 100%; }
  .exterior-process-grid { grid-template-columns: 1fr; }
  .exterior-process-grid article { min-height: 0; }
  .exterior-process-grid article span { margin-bottom: 15px; }
}

/* ==========================================================
   VALIANT PREMIUM SEO V3 - booking, ceramic, community care
   ========================================================== */
[hidden] { display: none !important; }

/* Success states and five-card quote shortcuts. */
.booking-alert-success {
  border-left-color: var(--success);
  color: #185c47;
  background: #eef9f4;
}
.booking-alert-success strong { color: var(--success); }
.quick-book-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.quick-book-grid a {
  position: relative;
  overflow: hidden;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.quick-book-grid a::after {
  position: absolute;
  right: 16px;
  bottom: 12px;
  content: "→";
  color: var(--gold-dark);
  font-size: 1.1rem;
  transition: transform .18s ease;
}
.quick-book-grid a:hover {
  transform: translateY(-3px);
  border-color: rgba(170,116,31,.42);
  box-shadow: var(--shadow);
}
.quick-book-grid a:hover::after { transform: translateX(4px); }

/* Booking upgrade requests. */
.booking-addon-step { overflow: hidden; }
.booking-addon-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 21px;
}
.booking-addon-choice {
  position: relative;
  min-height: 96px;
  display: grid;
  grid-template-columns: 22px 1fr;
  align-items: start;
  gap: 12px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--ink);
  background: #fbfcfd;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.booking-addon-choice:hover {
  transform: translateY(-2px);
  border-color: rgba(29,91,134,.45);
  background: #fff;
  box-shadow: 0 10px 24px rgba(7,17,31,.06);
}
.booking-addon-choice:has(input:checked) {
  border-color: var(--steel);
  background: #f1f7fb;
  box-shadow: inset 0 0 0 1px var(--steel);
}
.booking-addon-choice input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--steel);
}
.booking-addon-choice span { display: grid; gap: 4px; }
.booking-addon-choice strong { color: var(--ink); font-size: .83rem; }
.booking-addon-choice small { color: var(--muted); font-size: .71rem; }
.booking-addon-empty {
  margin: 16px 0 20px;
  padding: 15px 17px;
  border-left: 3px solid var(--gold);
  color: var(--muted);
  background: var(--cream);
  font-size: .79rem;
}

/* Complete ceramic packages. */
.coating-packages-section { overflow: hidden; }
.coating-package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
  margin-top: 34px;
}
.coating-package-grid > article {
  position: relative;
  min-height: 520px;
  display: flex;
  flex-direction: column;
  padding: clamp(27px, 3.4vw, 40px);
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-sm);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.coating-package-grid > article:hover {
  transform: translateY(-5px);
  border-color: rgba(170,116,31,.38);
  box-shadow: var(--shadow);
}
.coating-package-grid > article.featured {
  border: 2px solid var(--gold);
  background: linear-gradient(155deg, #fff 0%, #fff 68%, rgba(216,171,82,.12) 100%);
}
.coating-package-term {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 25px;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--ink);
  background: var(--cream);
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.coating-package-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--ink);
  background: var(--gold);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.coating-package-grid h3 {
  margin-bottom: 12px;
  font-size: clamp(1.8rem, 2.6vw, 2.55rem);
  line-height: 1;
}
.coating-package-price {
  margin: 3px 0 16px;
  color: var(--gold-dark);
  font-family: var(--display-font);
  font-size: clamp(2.4rem, 4vw, 3.8rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1;
}
.coating-package-grid > article > p { color: var(--muted); font-size: .88rem; }
.coating-package-grid .check-list { margin: 8px 0 26px; }
.coating-package-grid .button { width: 100%; margin-top: auto; }
.pricing-coating-grid > article { min-height: 430px; }

/* Community headlight program. */
.headlight-titlebar {
  background:
    radial-gradient(circle at 88% 18%, rgba(216,171,82,.18), transparent 28%),
    linear-gradient(135deg, #fff 0%, #f6f1e8 100%);
}
.headlight-community-section {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(126deg, #07111f 0%, #0b2945 62%, #16476f 100%);
}
.headlight-community-section::after {
  position: absolute;
  right: -170px;
  bottom: -250px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(216,171,82,.22);
  border-radius: 50%;
  content: "";
}
.headlight-community-section .container { position: relative; z-index: 1; }
.headlight-community-section h2 { color: #fff; }
.headlight-community-section .check-list li { border-bottom-color: rgba(255,255,255,.13); }

.home-headlight-community {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 92% 10%, rgba(216,171,82,.18), transparent 29%),
    linear-gradient(125deg, #07111f 0%, #0d2b48 65%, #16476f 100%);
}
.home-headlight-community::before {
  position: absolute;
  top: -110px;
  right: -110px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 50%;
  content: "";
}
.home-headlight-community-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(38px, 6vw, 84px);
}
.home-headlight-community figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  background: rgba(255,255,255,.05);
  box-shadow: 0 28px 70px rgba(0,0,0,.26);
}
.home-headlight-community figure img { width: 100%; height: auto; display: block; }
.home-headlight-community h2 { color: #fff; font-size: clamp(2.35rem, 4.7vw, 4.8rem); }
.home-headlight-community .lead { color: #c8d5df; }
.home-headlight-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 25px 0 28px;
}
.home-headlight-facts > span {
  min-height: 90px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 15px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 13px;
  background: rgba(255,255,255,.055);
}
.home-headlight-facts strong { color: var(--gold); font-family: var(--display-font); font-size: 1.55rem; }
.home-headlight-facts small { color: #c7d2dc; font-size: .67rem; }

/* Pricing specialty rows now support two full-width services. */
.pricing-specialty-single { grid-template-columns: 1fr; }
.pricing-specialty-single article {
  grid-template-columns: minmax(150px, .28fr) minmax(0, 1fr) auto auto;
}

/* Booking page refinements for a larger service catalog. */
.booking-service-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.booking-service-choice { min-height: 245px; }
.booking-engine-full { max-width: 1180px; }
.booking-contact-step textarea { resize: vertical; }
.booking-agreement a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; }
.native-booking-form button[disabled],
#quote-form button[disabled] { opacity: .66; cursor: wait; }

@media (max-width: 1180px) {
  .quick-book-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quick-book-grid > :nth-last-child(-n+2) { grid-column: auto; }
  .booking-service-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .coating-package-grid { grid-template-columns: 1fr; }
  .coating-package-grid > article,
  .pricing-coating-grid > article { min-height: 0; }
  .home-headlight-community-grid { grid-template-columns: 1fr; }
  .home-headlight-community figure { max-width: 680px; }
  .booking-addon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-specialty-single article { grid-template-columns: 130px minmax(0,1fr) auto; }
  .pricing-specialty-single article > a { grid-column: 2 / -1; }
}
@media (max-width: 720px) {
  .quick-book-grid,
  .booking-addon-grid,
  .booking-service-options,
  .home-headlight-facts { grid-template-columns: 1fr; }
  .booking-service-choice { min-height: 0; }
  .coating-package-grid > article { padding: 27px 23px; }
  .coating-package-badge { position: static; width: fit-content; margin: 0 0 10px; }
  .pricing-specialty-single article { grid-template-columns: 1fr; }
  .pricing-specialty-single article > a { grid-column: auto; }
  .pricing-specialty-single article figure { min-height: 230px; }
  .booking-alert { flex-direction: column; }
}


/* ==========================================================
   VALIANT PREMIUM SEO V3.1 - story and conversion refinements
   ========================================================== */

/* Homepage hero: one confident primary image without the smaller inset. */
.hero-luxe-main-image { width: 100%; }
.hero-luxe-inset-image { display: none !important; }
@media (max-width: 900px) {
  .hero-luxe-main-image { width: 100%; }
}

/* Paint-correction opening: a controlled landscape-height visual. */
.paint-editorial-image {
  overflow: hidden;
  border-radius: 26px;
  background: var(--ink);
}
.paint-editorial-image img {
  width: 100%;
  height: clamp(410px, 40vw, 515px);
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center 47%;
}
@media (max-width: 900px) {
  .paint-editorial-image { max-width: 720px; }
  .paint-editorial-image img { height: 420px; }
}
@media (max-width: 640px) {
  .paint-editorial-image { border-radius: 20px; }
  .paint-editorial-image img { height: 315px; }
  .paint-editorial-image figcaption { padding: 17px; }
}

/* A warmer and more personal letter without weakening the premium layout. */
.letter-opening {
  margin-bottom: 24px;
  color: var(--ink);
  font-family: var(--display-font);
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  line-height: 1.2 !important;
}
.letter-name-line {
  margin: 28px 0;
  padding: 21px 23px;
  border-left: 4px solid var(--gold);
  color: var(--ink);
  background: linear-gradient(105deg, var(--cream), #fff);
  font-size: 1.08rem !important;
  line-height: 1.65 !important;
}
.letter-heart {
  margin: 31px 0;
  padding: 26px 28px;
  border: 1px solid rgba(170,116,31,.32);
  border-radius: 18px;
  color: var(--ink);
  background:
    radial-gradient(circle at 100% 0%, rgba(216,171,82,.13), transparent 36%),
    #fffdf9;
  font-family: var(--display-font);
  font-size: clamp(1.35rem, 2.3vw, 1.9rem) !important;
  font-weight: 700;
  line-height: 1.45 !important;
}
@media (max-width: 640px) {
  .letter-name-line,
  .letter-heart { padding: 19px 18px; }
  .letter-card p { font-size: .96rem; line-height: 1.78; }
}

/* Pricing page: concise, image-free comparison cards built around booking. */
.pricing-standard-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 0%, rgba(45,91,135,.09), transparent 27%),
    radial-gradient(circle at 96% 86%, rgba(216,171,82,.10), transparent 29%),
    linear-gradient(180deg, #f5f8fa 0%, #edf2f6 100%);
}
.pricing-standard-section::before {
  position: absolute;
  top: -210px;
  right: -210px;
  width: 470px;
  height: 470px;
  border: 1px solid rgba(11,29,50,.08);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(11,29,50,.018), 0 0 0 140px rgba(216,171,82,.018);
  content: "";
  pointer-events: none;
}
.pricing-standard-section .container { position: relative; z-index: 1; }
.pricing-standard-header {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(360px,.72fr);
  align-items: end;
  gap: clamp(34px,6vw,78px);
  margin-bottom: 38px;
}
.pricing-standard-header .section-heading { margin-bottom: 0; }
.pricing-standard-header .section-heading h2 { max-width: 790px; }
.pricing-standard-steps {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  overflow: hidden;
  border: 1px solid rgba(11,29,50,.13);
  border-radius: 17px;
  background: rgba(255,255,255,.86);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(12px);
}
.pricing-standard-steps span {
  min-height: 98px;
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 15px 13px;
  border-right: 1px solid rgba(11,29,50,.1);
}
.pricing-standard-steps span:last-child { border-right: 0; }
.pricing-standard-steps b {
  color: var(--gold-dark);
  font-family: var(--display-font);
  font-size: 1.35rem;
  line-height: 1;
}
.pricing-standard-steps strong {
  color: var(--ink);
  font-size: .66rem;
  letter-spacing: .04em;
  line-height: 1.35;
  text-transform: uppercase;
}
.pricing-standard-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: stretch;
  gap: 20px;
}
.pricing-standard-card {
  position: relative;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(27px,3vw,35px);
  border: 1px solid rgba(11,29,50,.13);
  border-radius: 26px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 48px rgba(7,17,31,.085);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.pricing-standard-card::before {
  position: absolute;
  top: 0;
  right: 30px;
  left: 30px;
  height: 4px;
  border-radius: 0 0 5px 5px;
  content: "";
  background: linear-gradient(90deg,var(--navy-2),var(--steel,#47718e));
}
.pricing-standard-card:hover {
  border-color: rgba(170,116,31,.34);
  box-shadow: 0 26px 66px rgba(7,17,31,.13);
  transform: translateY(-5px);
}
.pricing-standard-card.featured {
  color: #fff;
  border-color: rgba(216,171,82,.58);
  background:
    radial-gradient(circle at 100% 0%, rgba(216,171,82,.17), transparent 35%),
    linear-gradient(145deg,#07111f 0%,#0b2139 68%,#113456 100%);
  box-shadow: 0 28px 75px rgba(7,17,31,.24);
  transform: translateY(-10px);
}
.pricing-standard-card.featured:hover { transform: translateY(-15px); }
.pricing-standard-card.featured::before { background: linear-gradient(90deg,var(--gold-dark),var(--gold),#efd088); }
.pricing-standard-badge {
  position: absolute;
  top: -14px;
  right: 24px;
  padding: 7px 11px;
  border-radius: 999px;
  color: var(--ink);
  background: linear-gradient(135deg,var(--gold),#edc66f);
  box-shadow: 0 10px 24px rgba(170,116,31,.25);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.pricing-standard-topline {
  min-height: 27px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 23px;
  padding-top: 4px;
}
.pricing-standard-topline span {
  color: var(--gold-dark);
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.pricing-standard-topline small {
  color: var(--muted);
  font-size: .65rem;
  font-weight: 750;
}
.pricing-standard-card.featured .pricing-standard-topline span { color: var(--gold); }
.pricing-standard-card.featured .pricing-standard-topline small { color: #cbd7e1; }
.pricing-standard-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  border: 1px solid rgba(170,116,31,.25);
  border-radius: 18px;
  color: var(--gold-dark);
  background: linear-gradient(145deg,#fff,#f5efe2);
}
.pricing-standard-icon svg { width: 38px; height: 38px; }
.pricing-standard-card.featured .pricing-standard-icon {
  color: var(--gold);
  border-color: rgba(216,171,82,.29);
  background: rgba(255,255,255,.07);
}
.pricing-standard-card h3 {
  margin-bottom: 14px;
  color: var(--ink);
  font-size: clamp(2rem,2.9vw,2.75rem);
  line-height: .98;
}
.pricing-standard-card.featured h3 { color: #fff; }
.pricing-standard-price {
  display: flex;
  align-items: end;
  gap: 10px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(11,29,50,.1);
}
.pricing-standard-price strong {
  color: var(--ink);
  font-family: var(--display-font);
  font-size: 3.15rem;
  letter-spacing: -.04em;
  line-height: .85;
}
.pricing-standard-price span {
  color: var(--muted);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}
.pricing-standard-card.featured .pricing-standard-price { border-bottom-color: rgba(255,255,255,.13); }
.pricing-standard-card.featured .pricing-standard-price strong { color: var(--gold); }
.pricing-standard-card.featured .pricing-standard-price span { color: #cbd7e1; }
.pricing-standard-summary {
  min-height: 108px;
  margin-bottom: 20px;
  color: var(--muted);
  font-size: .88rem;
  line-height: 1.7;
}
.pricing-standard-card.featured .pricing-standard-summary { color: #d0dbe5; }
.pricing-standard-best {
  margin-bottom: 20px;
  padding: 15px 16px;
  border-left: 3px solid var(--gold);
  background: var(--cream);
}
.pricing-standard-best span,
.pricing-standard-best strong { display: block; }
.pricing-standard-best span {
  margin-bottom: 3px;
  color: var(--gold-dark);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.pricing-standard-best strong { color: var(--ink); font-size: .77rem; line-height: 1.45; }
.pricing-standard-card.featured .pricing-standard-best { background: rgba(255,255,255,.075); }
.pricing-standard-card.featured .pricing-standard-best span { color: var(--gold); }
.pricing-standard-card.featured .pricing-standard-best strong { color: #fff; }
.pricing-standard-list {
  margin: 0 0 27px;
  padding: 0;
  list-style: none;
}
.pricing-standard-list li {
  position: relative;
  padding: 9px 0 9px 25px;
  border-bottom: 1px solid rgba(11,29,50,.08);
  color: #46566a;
  font-size: .78rem;
  line-height: 1.45;
}
.pricing-standard-list li::before {
  position: absolute;
  top: 11px;
  left: 0;
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink);
  content: "✓";
  background: var(--gold);
  font-size: .61rem;
  font-weight: 900;
}
.pricing-standard-card.featured .pricing-standard-list li { color: #d4dfe8; border-bottom-color: rgba(255,255,255,.1); }
.pricing-standard-actions {
  display: grid;
  gap: 14px;
  margin-top: auto;
}
.pricing-standard-actions .button { width: 100%; min-height: 51px; }
.pricing-standard-detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--gold-dark);
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.pricing-standard-detail-link span { font-size: .92rem; transition: transform .18s ease; }
.pricing-standard-detail-link:hover span { transform: translateX(3px); }
.pricing-standard-card.featured .pricing-standard-detail-link { color: #f1cf82; }
.pricing-standard-assurance {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  margin-top: 32px;
  overflow: hidden;
  border: 1px solid rgba(11,29,50,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.84);
  box-shadow: var(--shadow-sm);
}
.pricing-standard-assurance span {
  min-height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 13px 16px;
  border-right: 1px solid rgba(11,29,50,.1);
  color: var(--ink);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .025em;
  text-align: center;
}
.pricing-standard-assurance span:last-child { border-right: 0; }
.pricing-standard-assurance i {
  width: 23px;
  height: 23px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink);
  background: var(--gold);
  font-size: .7rem;
  font-style: normal;
  font-weight: 900;
}
@media (max-width: 1050px) {
  .pricing-standard-header { grid-template-columns: 1fr; }
  .pricing-standard-steps { max-width: 690px; }
  .pricing-standard-grid { grid-template-columns: 1fr; max-width: 760px; margin-inline: auto; }
  .pricing-standard-card.featured,
  .pricing-standard-card.featured:hover { transform: none; }
  .pricing-standard-summary { min-height: 0; }
}
@media (max-width: 700px) {
  .pricing-standard-header { margin-bottom: 29px; }
  .pricing-standard-steps { grid-template-columns: 1fr; }
  .pricing-standard-steps span { min-height: 67px; grid-template-columns: 42px 1fr; align-items: center; align-content: center; }
  .pricing-standard-steps span { border-right: 0; border-bottom: 1px solid rgba(11,29,50,.1); }
  .pricing-standard-steps span:last-child { border-bottom: 0; }
  .pricing-standard-card { padding: 27px 22px; border-radius: 21px; }
  .pricing-standard-card h3 { font-size: 2.2rem; }
  .pricing-standard-price strong { font-size: 2.85rem; }
  .pricing-standard-assurance { grid-template-columns: 1fr; }
  .pricing-standard-assurance span { justify-content: flex-start; border-right: 0; border-bottom: 1px solid rgba(11,29,50,.1); text-align: left; }
  .pricing-standard-assurance span:last-child { border-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-standard-card,
  .pricing-standard-detail-link span { transition: none; }
}

/* ==========================================================
   VALIANT PREMIUM SEO V3.2 - emotionally connected story page
   ========================================================== */

.story-hero-v3 {
  position: relative;
  min-height: 760px;
  display: grid;
  align-items: center;
  overflow: hidden;
  padding: clamp(76px, 9vw, 128px) 0;
  color: #fff;
  background:
    radial-gradient(circle at 12% 13%, rgba(216,171,82,.18), transparent 28%),
    radial-gradient(circle at 88% 86%, rgba(62,145,196,.16), transparent 30%),
    linear-gradient(132deg, #06101d 0%, #0a1c30 51%, #102f4e 100%);
}
.story-hero-v3::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .16;
  background-image: url("assets/valiant-hero-paper-texture.svg");
  background-size: 760px;
  mix-blend-mode: soft-light;
}
.story-hero-v3::after {
  position: absolute;
  top: -260px;
  right: -180px;
  width: 620px;
  height: 620px;
  border: 1px solid rgba(216,171,82,.2);
  border-radius: 50%;
  content: "";
}
.story-hero-v3-word {
  position: absolute;
  right: -35px;
  bottom: -58px;
  color: rgba(255,255,255,.035);
  font-family: var(--display-font);
  font-size: clamp(9rem, 20vw, 21rem);
  font-weight: 700;
  letter-spacing: -.07em;
  line-height: .72;
  white-space: nowrap;
  pointer-events: none;
}
.story-hero-v3-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(380px, .86fr);
  align-items: center;
  gap: clamp(48px, 7vw, 96px);
}
.story-hero-v3-copy h1 {
  max-width: 760px;
  margin-bottom: 27px;
  color: #fff;
  font-size: clamp(3.8rem, 6.8vw, 6.75rem);
  line-height: .91;
}
.story-hero-v3-copy .lead {
  max-width: 690px;
  margin-bottom: 30px;
  color: #c8d3de;
  font-size: clamp(1.05rem, 1.45vw, 1.23rem);
}
.story-hero-equation {
  max-width: 720px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1.55fr);
  align-items: stretch;
  gap: 10px;
  margin: 0 0 30px;
}
.story-hero-equation > span {
  min-height: 81px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 13px;
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(10px);
}
.story-hero-equation > i {
  align-self: center;
  color: var(--gold);
  font-family: var(--display-font);
  font-size: 1.45rem;
  font-style: normal;
}
.story-hero-equation strong,
.story-hero-equation small { display: block; }
.story-hero-equation strong {
  color: #fff;
  font-family: var(--display-font);
  font-size: 1.65rem;
  letter-spacing: .05em;
  line-height: 1;
}
.story-hero-equation small {
  margin-top: 7px;
  color: #9fb2c3;
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .1em;
  line-height: 1.35;
  text-transform: uppercase;
}
.story-hero-equation .result {
  border-color: rgba(216,171,82,.35);
  background: linear-gradient(135deg, rgba(216,171,82,.15), rgba(255,255,255,.055));
}
.story-hero-equation .result strong { color: #f0ca78; }
.story-hero-v3-visual {
  position: relative;
  width: min(100%, 480px);
  justify-self: end;
  margin: 0;
}
.story-hero-v3-visual::before {
  position: absolute;
  top: -17px;
  right: -17px;
  width: 68%;
  height: 54%;
  border: 1px solid rgba(216,171,82,.44);
  border-radius: 30px;
  content: "";
}
.story-hero-v3-visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: clamp(520px, 55vw, 660px);
  object-fit: cover;
  object-position: center 48%;
  border-radius: 30px;
  box-shadow: 0 38px 95px rgba(0,0,0,.4);
}
.story-hero-v3-visual figcaption {
  position: absolute;
  z-index: 3;
  right: -28px;
  bottom: 28px;
  width: min(330px, 86%);
  padding: 22px 23px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 17px;
  background: rgba(5,14,25,.94);
  box-shadow: 0 20px 55px rgba(0,0,0,.34);
  backdrop-filter: blur(15px);
}
.story-hero-v3-visual figcaption span,
.story-hero-v3-visual figcaption strong { display: block; }
.story-hero-v3-visual figcaption span {
  margin-bottom: 8px;
  color: var(--gold);
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.story-hero-v3-visual figcaption strong {
  color: #fff;
  font-family: var(--display-font);
  font-size: 1.15rem;
  line-height: 1.45;
}

.story-beginning-v3 {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 4%, rgba(216,171,82,.09), transparent 25%),
    #fff;
}
.story-beginning-v3-grid {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr);
  align-items: start;
  gap: clamp(55px, 8vw, 105px);
}
.story-beginning-v3-copy h2 { max-width: 700px; }
.story-beginning-v3-copy > p:not(.lead) { max-width: 690px; color: #4c5b6d; }
.story-origin-quote {
  position: relative;
  max-width: 720px;
  margin: 34px 0 0;
  padding: 28px 32px 28px 40px;
  border: 0;
  border-left: 5px solid var(--gold);
  color: var(--ink);
  background: linear-gradient(110deg, var(--cream), #fff);
  box-shadow: var(--shadow-sm);
}
.story-origin-quote::before {
  position: absolute;
  top: 1px;
  left: 12px;
  color: rgba(170,116,31,.25);
  content: "\201C";
  font-family: Georgia, serif;
  font-size: 4.6rem;
  line-height: 1;
}
.story-origin-quote p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: var(--display-font);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  font-weight: 700;
  line-height: 1.35;
}
.story-journey-v3 {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 25px;
  background: var(--line);
  box-shadow: var(--shadow-sm);
}
.story-journey-v3 article {
  min-height: 137px;
  display: grid;
  grid-template-columns: 55px 1fr;
  align-items: start;
  gap: 18px;
  padding: 27px 29px;
  background: #f9fbfc;
  transition: background .18s ease, transform .18s ease;
}
.story-journey-v3 article:hover { background: #fff; }
.story-journey-v3 article > span {
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink);
  background: var(--gold);
  font-family: var(--display-font);
  font-size: 1rem;
  font-weight: 700;
}
.story-journey-v3 h3 { margin: 2px 0 6px; font-size: 1.12rem; }
.story-journey-v3 p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.58; }

.story-name-v3 {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(216,171,82,.07) 1px, transparent 1px),
    linear-gradient(rgba(216,171,82,.07) 1px, transparent 1px),
    var(--cream);
  background-size: 48px 48px;
}
.story-name-v3::before {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(246,241,232,.92), rgba(246,241,232,.72), rgba(246,241,232,.92));
}
.story-name-v3 .container { position: relative; z-index: 1; }
.story-name-v3-heading {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(330px,.8fr);
  align-items: end;
  gap: 65px;
  margin-bottom: 45px;
}
.story-name-v3-heading .lead { margin: 0; }
.story-name-v3-heading .lead strong { color: var(--ink); }
.story-name-v3-equation {
  display: grid;
  grid-template-columns: minmax(0,.8fr) auto minmax(0,.8fr) auto minmax(0,1.45fr);
  align-items: stretch;
  gap: 13px;
}
.story-name-v3-equation article {
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 27px;
  border: 1px solid rgba(7,17,31,.12);
  border-radius: 21px;
  background: rgba(255,255,255,.76);
  box-shadow: var(--shadow-sm);
}
.story-name-v3-equation > i {
  align-self: center;
  color: var(--gold-dark);
  font-family: var(--display-font);
  font-size: 2rem;
  font-style: normal;
}
.story-name-v3-equation small,
.story-name-v3-equation strong,
.story-name-v3-equation span { display: block; }
.story-name-v3-equation small {
  color: var(--gold-dark);
  font-size: .61rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.story-name-v3-equation strong {
  margin: 8px 0 4px;
  color: var(--ink);
  font-family: var(--display-font);
  font-size: clamp(2.7rem, 5vw, 4.7rem);
  letter-spacing: -.04em;
  line-height: .92;
}
.story-name-v3-equation span { color: var(--muted); font-size: .79rem; }
.story-name-v3-equation .result {
  color: #fff;
  border-color: var(--ink);
  background:
    radial-gradient(circle at 100% 0%, rgba(216,171,82,.19), transparent 34%),
    linear-gradient(135deg, #07111f, #102e4b);
  box-shadow: 0 28px 65px rgba(7,17,31,.22);
}
.story-name-v3-equation .result small { color: #efc66f; }
.story-name-v3-equation .result strong { color: #fff; }
.story-name-v3-equation .result span { color: #c3ced8; }
.story-name-v3-promise {
  max-width: 920px;
  margin: 43px auto 0;
  color: var(--ink);
  font-family: var(--display-font);
  font-size: clamp(1.55rem, 2.7vw, 2.25rem);
  font-weight: 700;
  line-height: 1.38;
  text-align: center;
}

.story-remember-v3 { background: #fff; }
.story-remember-v3-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}
.story-remember-v3-grid article {
  position: relative;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(45,91,135,.09), transparent 40%),
    #f8fafb;
  box-shadow: var(--shadow-sm);
}
.story-remember-v3-grid article::before {
  position: absolute;
  top: -40px;
  right: -12px;
  color: rgba(7,17,31,.045);
  content: attr(data-number);
  font-family: var(--display-font);
  font-size: 10rem;
  font-weight: 700;
  line-height: 1;
}
.story-remember-v3-grid article > span {
  position: absolute;
  top: 28px;
  left: 31px;
  color: var(--steel);
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .12em;
}
.story-remember-v3-grid h3 {
  max-width: 330px;
  margin-bottom: 16px;
  font-family: var(--display-font);
  font-size: clamp(1.75rem, 2.5vw, 2.3rem);
  line-height: 1.08;
}
.story-remember-v3-grid p { margin: 0; color: var(--muted); font-size: .88rem; }
.story-remember-v3-grid article.featured {
  color: #fff;
  border-color: var(--ink);
  background:
    radial-gradient(circle at 90% 0%, rgba(216,171,82,.2), transparent 36%),
    linear-gradient(135deg, #07111f, #123454);
  transform: translateY(-18px);
}
.story-remember-v3-grid article.featured > span { color: var(--gold); }
.story-remember-v3-grid article.featured h3 { color: #fff; }
.story-remember-v3-grid article.featured p { color: #c9d4dd; }

.story-letter-v3 {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 6%, rgba(216,171,82,.11), transparent 25%),
    linear-gradient(180deg,#f6f8fa,#e9eff3);
}
.story-letter-v3::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 38%;
  height: 100%;
  content: "";
  opacity: .38;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.8));
}
.story-letter-v3-layout { position: relative; z-index: 1; max-width: 1120px; }
.story-letter-v3-side span {
  display: block;
  margin-top: 22px;
  color: var(--muted);
  font-family: var(--display-font);
  font-size: .95rem;
  line-height: 1.5;
}
.story-letter-v3-card {
  position: relative;
  overflow: hidden;
  padding: clamp(42px, 6.8vw, 86px);
  border-radius: 4px;
  background:
    linear-gradient(90deg, rgba(7,17,31,.025) 1px, transparent 1px),
    linear-gradient(#fffdf9, #fff);
  background-size: 39px 100%;
  box-shadow: 0 34px 90px rgba(7,17,31,.14);
}
.story-letter-v3-card::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 7px;
  height: 100%;
  content: "";
  background: linear-gradient(var(--gold), #bb822c);
}
.letter-paper-mark {
  position: absolute;
  top: 19px;
  right: 30px;
  color: rgba(170,116,31,.08);
  font-family: var(--display-font);
  font-size: 9rem;
  font-weight: 700;
  line-height: 1;
}
.story-letter-v3-card h2 { position: relative; z-index: 1; }
.story-letter-v3-card p { position: relative; z-index: 1; max-width: 760px; }
.story-letter-v3-card .letter-opening { max-width: 780px; }
.story-letter-v3-card .letter-name-line {
  max-width: 790px;
  border-radius: 0 15px 15px 0;
  box-shadow: inset 0 0 0 1px rgba(216,171,82,.12);
}
.story-letter-v3-card .letter-heart {
  max-width: 790px;
  border-width: 1px 1px 1px 5px;
  border-left-color: var(--gold);
  border-radius: 5px 22px 22px 5px;
}
.story-letter-v3-card .letter-close {
  max-width: 790px;
  color: var(--ink);
  font-size: 1rem;
}
.story-letter-v3-card .letter-close strong {
  display: inline-block;
  margin-top: 9px;
  color: var(--gold-dark);
  font-family: var(--display-font);
  font-size: 1.45rem;
}

.story-standard-v3 {
  background:
    radial-gradient(circle at 96% 8%, rgba(216,171,82,.08), transparent 27%),
    #fff;
}
.story-standard-v3-grid {
  display: grid;
  grid-template-columns: minmax(350px,.82fr) minmax(0,1.18fr);
  align-items: center;
  gap: clamp(55px, 8vw, 105px);
}
.story-standard-v3-visual {
  position: relative;
  margin: 0;
}
.story-standard-v3-visual::before {
  position: absolute;
  top: -15px;
  left: -15px;
  width: 66%;
  height: 58%;
  border: 1px solid rgba(170,116,31,.34);
  border-radius: 25px;
  content: "";
}
.story-standard-v3-visual img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 640px;
  object-fit: cover;
  object-position: center 48%;
  border-radius: 25px;
  box-shadow: var(--shadow);
}
.story-standard-v3-visual figcaption {
  position: absolute;
  z-index: 2;
  right: -23px;
  bottom: 27px;
  width: min(315px, 84%);
  padding: 20px 22px;
  border-radius: 15px;
  color: #fff;
  background: rgba(7,17,31,.94);
  box-shadow: var(--shadow-sm);
}
.story-standard-v3-visual strong,
.story-standard-v3-visual span { display: block; }
.story-standard-v3-visual strong { font-family: var(--display-font); font-size: 1.2rem; }
.story-standard-v3-visual span { margin-top: 5px; color: #b9c6d1; font-size: .72rem; }
.story-standard-v3-copy h2 { max-width: 710px; }
.story-standard-v3-list { display: grid; gap: 12px; margin-top: 30px; }
.story-standard-v3-list article {
  display: grid;
  grid-template-columns: 47px 1fr;
  gap: 16px;
  padding: 20px 21px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f9fbfc;
}
.story-standard-v3-list article > span {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink);
  background: var(--gold);
  font-family: var(--display-font);
  font-size: .92rem;
  font-weight: 700;
}
.story-standard-v3-list h3 { margin: 0 0 5px; }
.story-standard-v3-list p { margin: 0; color: var(--muted); font-size: .82rem; }
.story-standard-v3-line { margin-top: 24px; }

.story-customer-v3 {
  position: relative;
  overflow: hidden;
  padding: clamp(86px, 9vw, 125px) 0;
  color: #fff;
  background:
    radial-gradient(circle at 0% 0%, rgba(216,171,82,.2), transparent 30%),
    radial-gradient(circle at 100% 100%, rgba(68,151,198,.18), transparent 32%),
    linear-gradient(130deg,#07111f,#102f4e);
}
.story-customer-v3::after {
  position: absolute;
  right: -110px;
  bottom: -190px;
  width: 500px;
  height: 500px;
  border: 1px solid rgba(216,171,82,.18);
  border-radius: 50%;
  content: "";
}
.story-customer-v3-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.14fr) minmax(350px,.86fr);
  align-items: center;
  gap: 70px;
}
.story-customer-v3 h2 { max-width: 700px; color: #fff; }
.story-customer-v3 .lead { max-width: 760px; color: #c8d3dd; }
.story-customer-v3-actions { display: grid; gap: 24px; }
.story-customer-v3-proof {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(10px);
}
.story-customer-v3-proof span {
  position: relative;
  min-height: 63px;
  display: flex;
  align-items: center;
  padding: 14px 18px 14px 52px;
  border-bottom: 1px solid rgba(255,255,255,.11);
  color: #e9eef3;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .035em;
}
.story-customer-v3-proof span:last-child { border-bottom: 0; }
.story-customer-v3-proof span::before {
  position: absolute;
  left: 18px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--ink);
  content: "\2713";
  background: var(--gold);
  font-size: .64rem;
  font-weight: 900;
}

@media (max-width: 1080px) {
  .story-hero-v3-grid { grid-template-columns: minmax(0,1fr) minmax(330px,.72fr); gap: 48px; }
  .story-hero-v3-copy h1 { font-size: clamp(3.45rem, 7vw, 5.7rem); }
  .story-hero-equation { grid-template-columns: 1fr auto 1fr; }
  .story-hero-equation > i:nth-of-type(2) { display: none; }
  .story-hero-equation .result { grid-column: 1 / -1; }
  .story-name-v3-equation { grid-template-columns: 1fr auto 1fr; }
  .story-name-v3-equation > i:nth-of-type(2) { display: none; }
  .story-name-v3-equation .result { grid-column: 1 / -1; min-height: 160px; }
  .story-name-v3-equation .result strong { font-size: 4.4rem; }
}

@media (max-width: 900px) {
  .story-hero-v3 { min-height: auto; padding-top: 78px; }
  .story-hero-v3-grid,
  .story-beginning-v3-grid,
  .story-name-v3-heading,
  .story-standard-v3-grid,
  .story-customer-v3-grid { grid-template-columns: 1fr; }
  .story-hero-v3-copy h1 { max-width: 790px; }
  .story-hero-v3-visual { width: min(100%, 690px); justify-self: start; margin-top: 10px; }
  .story-hero-v3-visual img { height: 610px; }
  .story-hero-v3-visual figcaption { right: 22px; }
  .story-beginning-v3-grid { gap: 48px; }
  .story-journey-v3 { max-width: 760px; }
  .story-name-v3-heading { gap: 12px; }
  .story-name-v3-heading .lead { max-width: 760px; }
  .story-remember-v3-grid { grid-template-columns: 1fr; max-width: 760px; margin-inline: auto; }
  .story-remember-v3-grid article { min-height: 260px; }
  .story-remember-v3-grid article.featured { transform: none; }
  .story-standard-v3-visual { width: min(100%, 670px); }
  .story-standard-v3-visual img { height: 580px; }
  .story-standard-v3-copy { max-width: 760px; }
  .story-customer-v3-grid { gap: 42px; }
  .story-customer-v3-actions { max-width: 620px; }
}

@media (max-width: 700px) {
  .story-hero-v3 { padding: 64px 0 72px; }
  .story-hero-v3-word { right: -20px; bottom: -20px; font-size: 8rem; }
  .story-hero-v3-copy h1 { font-size: clamp(3.1rem, 14vw, 4.55rem); line-height: .94; }
  .story-hero-equation { grid-template-columns: 1fr; gap: 8px; }
  .story-hero-equation > i { display: none; }
  .story-hero-equation .result { grid-column: auto; }
  .story-hero-equation > span { min-height: 70px; }
  .story-hero-v3-visual::before { top: -10px; right: -10px; border-radius: 22px; }
  .story-hero-v3-visual img { height: 470px; border-radius: 22px; }
  .story-hero-v3-visual figcaption { right: 12px; bottom: 14px; width: calc(100% - 24px); padding: 18px; }
  .story-origin-quote { padding: 25px 23px 25px 31px; }
  .story-journey-v3 article { min-height: 0; grid-template-columns: 45px 1fr; padding: 22px 19px; }
  .story-journey-v3 article > span { width: 39px; height: 39px; }
  .story-name-v3-equation { grid-template-columns: 1fr; }
  .story-name-v3-equation > i { display: none; }
  .story-name-v3-equation .result { grid-column: auto; }
  .story-name-v3-equation article { min-height: 150px; }
  .story-name-v3-equation .result strong { font-size: clamp(3rem, 14vw, 4.1rem); }
  .story-name-v3-promise { text-align: left; }
  .story-remember-v3-grid article { min-height: 290px; padding: 28px 25px; }
  .story-letter-v3-card { padding: 40px 25px 44px 30px; }
  .letter-paper-mark { right: 12px; font-size: 6.5rem; }
  .story-letter-v3-card .letter-opening { font-size: clamp(1.5rem, 8vw, 2.1rem) !important; }
  .story-letter-v3-card .letter-name-line,
  .story-letter-v3-card .letter-heart { padding: 20px 18px; }
  .story-standard-v3-visual img { height: 470px; border-radius: 20px; }
  .story-standard-v3-visual::before { border-radius: 20px; }
  .story-standard-v3-visual figcaption { right: 12px; bottom: 14px; width: calc(100% - 24px); }
  .story-standard-v3-list article { grid-template-columns: 42px 1fr; padding: 18px 16px; }
  .story-customer-v3 { padding: 78px 0; }
  .story-customer-v3 .button-row .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .story-journey-v3 article { transition: none; }
}

/* --------------------------------------------------------------------------
   Valiant 3.4.0 - premium interactive homepage foundation
   -------------------------------------------------------------------------- */

.home .site-header {
  border-bottom-color: rgba(7, 17, 31, .08);
}

.v4-hero {
  --v4-pointer-x: 72%;
  --v4-pointer-y: 38%;
  position: relative;
  isolation: isolate;
  min-height: min(820px, calc(100svh - var(--header-height)));
  overflow: hidden;
  color: #fff;
  background: #07111f;
}

.v4-hero-media,
.v4-hero-wash,
.v4-hero-spotlight,
.v4-hero-linework {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.v4-hero-media {
  z-index: -4;
  left: 42%;
  overflow: hidden;
}

.v4-hero-media::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, #07111f 0%, rgba(7, 17, 31, .92) 10%, rgba(7, 17, 31, .28) 50%, rgba(7, 17, 31, .2) 100%),
    linear-gradient(180deg, rgba(7, 17, 31, .05), rgba(7, 17, 31, .52));
}

.v4-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 42%;
  filter: saturate(.78) contrast(1.08) brightness(.82);
  transform: scale(1.025);
  transition: transform 10s cubic-bezier(.2, .8, .2, 1);
}

.v4-hero.is-visible .v4-hero-media img { transform: scale(1); }

.v4-hero-wash {
  z-index: -3;
  background:
    linear-gradient(90deg, #07111f 0 47%, rgba(7, 17, 31, .9) 57%, rgba(7, 17, 31, .2) 100%),
    linear-gradient(180deg, rgba(7, 17, 31, .08), rgba(7, 17, 31, .64));
}

.v4-hero-spotlight {
  z-index: -2;
  opacity: .48;
  background: radial-gradient(circle 330px at var(--v4-pointer-x) var(--v4-pointer-y), rgba(216, 171, 82, .2), transparent 68%);
  transition: opacity .25s ease;
}

.v4-hero-linework { z-index: -1; }
.v4-hero-linework span {
  position: absolute;
  display: block;
  border: 1px solid rgba(216, 171, 82, .15);
  border-radius: 50%;
}
.v4-hero-linework span:nth-child(1) { top: -340px; right: -180px; width: 780px; height: 780px; }
.v4-hero-linework span:nth-child(2) { top: -255px; right: -95px; width: 610px; height: 610px; border-color: rgba(255, 255, 255, .07); }
.v4-hero-linework span:nth-child(3) { right: 29%; bottom: -300px; width: 520px; height: 520px; border-color: rgba(255, 255, 255, .055); }

.v4-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(350px, .65fr);
  align-items: center;
  gap: clamp(64px, 8vw, 136px);
  min-height: min(820px, calc(100svh - var(--header-height)));
  padding-block: clamp(82px, 10vw, 138px) 112px;
}

.v4-hero-copy { max-width: 760px; }
.v4-kicker {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 24px;
  color: #efc56f;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .19em;
  line-height: 1.4;
  text-transform: uppercase;
}
.v4-kicker > span { width: 42px; height: 1px; flex: 0 0 auto; background: currentColor; }
.v4-kicker-dark { color: var(--gold-dark); }

.v4-hero h1 {
  max-width: 760px;
  margin: 0 0 29px;
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(4.9rem, 7.8vw, 8.35rem);
  font-weight: 600;
  letter-spacing: -.065em;
  line-height: .82;
}
.v4-hero h1 span,
.v4-hero h1 em { display: block; }
.v4-hero h1 em {
  margin-top: .14em;
  color: #dfb65f;
  font-size: .68em;
  font-style: italic;
  font-weight: 500;
  letter-spacing: -.045em;
}

.v4-hero-copy > p {
  max-width: 650px;
  margin: 0 0 34px;
  color: rgba(230, 237, 244, .82);
  font-size: clamp(1rem, 1.25vw, 1.14rem);
  line-height: 1.72;
}

.v4-hero-actions,
.v4-location-actions,
.v4-final-cta-inner > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.v4-button {
  position: relative;
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  overflow: hidden;
  padding: 14px 22px;
  border: 1px solid transparent;
  border-radius: 2px;
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: .12em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease, color .24s ease;
}
.v4-button::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -130%;
  width: 70%;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .34), transparent);
  transform: skewX(-20deg);
  transition: left .65s cubic-bezier(.22, 1, .36, 1);
}
.v4-button:hover::before { left: 150%; }
.v4-button:hover { transform: translateY(-2px); }
.v4-button-gold {
  color: #07111f;
  background: linear-gradient(135deg, #efc56f, #d7a640);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .22), inset 0 1px rgba(255, 255, 255, .45);
}
.v4-button-gold:hover { box-shadow: 0 22px 54px rgba(0, 0, 0, .28), 0 0 0 1px rgba(239, 197, 111, .35); }
.v4-button-dark { color: #fff; background: var(--ink); box-shadow: 0 14px 34px rgba(7, 17, 31, .16); }
.v4-button-dark:hover { background: #102741; box-shadow: 0 18px 42px rgba(7, 17, 31, .22); }
.v4-button-ghost { color: #fff; border-color: rgba(255, 255, 255, .34); background: rgba(255, 255, 255, .045); backdrop-filter: blur(12px); }
.v4-button-ghost:hover { border-color: rgba(239, 197, 111, .72); background: rgba(255, 255, 255, .08); }

.v4-hero-promise {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 720px;
  margin-top: 52px;
  border-top: 1px solid rgba(255, 255, 255, .15);
}
.v4-hero-promise span { min-width: 0; padding: 18px 18px 0 0; }
.v4-hero-promise span + span { padding-left: 18px; border-left: 1px solid rgba(255, 255, 255, .12); }
.v4-hero-promise strong,
.v4-hero-promise small { display: block; }
.v4-hero-promise strong { margin-bottom: 4px; color: #fff; font-family: var(--display-font); font-size: 1.12rem; }
.v4-hero-promise small { color: rgba(209, 221, 232, .67); font-size: .68rem; line-height: 1.45; }

.v4-hero-reserve {
  position: relative;
  align-self: center;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 22px;
  background: rgba(5, 16, 29, .69);
  box-shadow: 0 36px 90px rgba(0, 0, 0, .38);
  backdrop-filter: blur(22px) saturate(1.2);
}
.v4-hero-reserve::before {
  position: absolute;
  inset: -1px;
  z-index: -1;
  border-radius: inherit;
  content: "";
  background: linear-gradient(145deg, rgba(239, 197, 111, .35), transparent 28%, transparent 70%, rgba(255, 255, 255, .1));
}
.v4-reserve-top { padding: 24px 22px 19px; }
.v4-reserve-top > div { display: flex; align-items: center; gap: 8px; margin-bottom: 13px; }
.v4-live-dot { width: 8px; height: 8px; border-radius: 50%; background: #75d3a8; box-shadow: 0 0 0 6px rgba(117, 211, 168, .1); animation: v4Pulse 2.3s ease-in-out infinite; }
.v4-reserve-top small { color: #a8c8bb; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.v4-reserve-top > strong { display: block; color: #fff; font-family: var(--display-font); font-size: 2.15rem; line-height: 1.02; }
.v4-reserve-top p { margin: 9px 0 0; color: #aebccb; font-size: .78rem; line-height: 1.55; }

.v4-reserve-list { overflow: hidden; border: 1px solid rgba(255, 255, 255, .105); border-radius: 14px; }
.v4-reserve-list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  min-height: 75px;
  padding: 13px 16px;
  color: #fff;
  background: rgba(255, 255, 255, .035);
  transition: background .2s ease, padding .2s ease;
}
.v4-reserve-list a + a { border-top: 1px solid rgba(255, 255, 255, .09); }
.v4-reserve-list a:hover { padding-left: 20px; background: rgba(239, 197, 111, .1); }
.v4-reserve-list span,
.v4-reserve-list small,
.v4-reserve-list strong { display: block; }
.v4-reserve-list small { margin-bottom: 2px; color: #cfad67; font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.v4-reserve-list strong { font-size: .84rem; }
.v4-reserve-list b { color: #fff; font-family: var(--display-font); font-size: 1.05rem; font-weight: 600; }
.v4-reserve-list i { color: #e8bd68; font-size: 1.1rem; font-style: normal; transition: transform .2s ease; }
.v4-reserve-list a:hover i { transform: translateX(4px); }

.v4-reserve-location {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 14px;
  margin-top: 10px;
  padding: 14px 15px;
  border-radius: 12px;
  color: #fff;
  background: rgba(255, 255, 255, .055);
}
.v4-reserve-location span { font-size: .75rem; font-weight: 800; }
.v4-reserve-location small { grid-column: 1; color: #a8b7c5; font-size: .62rem; }
.v4-reserve-location i { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: #efc56f; font-style: normal; }

.v4-scroll-cue {
  position: absolute;
  bottom: 24px;
  left: 50%;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, .68);
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  transform: translateX(-50%);
}
.v4-scroll-cue i { position: relative; display: block; width: 1px; height: 32px; overflow: hidden; background: rgba(255, 255, 255, .22); }
.v4-scroll-cue i::after { position: absolute; top: -100%; left: 0; width: 100%; height: 70%; content: ""; background: #efc56f; animation: v4ScrollLine 2s ease-in-out infinite; }

@keyframes v4Pulse { 50% { box-shadow: 0 0 0 10px rgba(117, 211, 168, 0); } }
@keyframes v4ScrollLine { 0% { top: -100%; } 55%, 100% { top: 120%; } }

.v4-standard-rail { overflow: hidden; color: #fff; background: #d5a544; }
.v4-standard-track { display: flex; width: max-content; animation: v4Marquee 28s linear infinite; }
.v4-standard-group { display: flex; align-items: center; gap: 28px; min-width: max-content; padding: 16px 28px; }
.v4-standard-group span { color: #07111f; font-size: .61rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.v4-standard-group i { width: 5px; height: 5px; border-radius: 50%; background: rgba(7, 17, 31, .42); }
.v4-standard-rail:hover .v4-standard-track { animation-play-state: paused; }
@keyframes v4Marquee { to { transform: translateX(-50%); } }

.v4-service-explorer { position: relative; overflow: hidden; padding-block: clamp(92px, 11vw, 152px); background: #f4f6f8; }
.v4-service-explorer::before { position: absolute; top: -380px; right: -270px; width: 760px; height: 760px; border: 1px solid rgba(170, 116, 31, .12); border-radius: 50%; content: ""; box-shadow: 0 0 0 90px rgba(170, 116, 31, .025), 0 0 0 180px rgba(7, 17, 31, .02); }

.v4-section-heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .62fr);
  align-items: end;
  gap: 60px;
  margin-bottom: clamp(42px, 6vw, 72px);
}
.v4-section-heading h2 {
  max-width: 780px;
  margin: 0;
  color: var(--ink);
  font-family: var(--display-font);
  font-size: clamp(3.25rem, 5vw, 5.6rem);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .92;
}
.v4-section-heading > p { margin: 0 0 4px; color: var(--muted); font-size: .98rem; line-height: 1.72; }
.v4-section-heading-light h2 { color: #fff; }
.v4-section-heading-light > p { color: #afbdca; }

.v4-service-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(250px, .36fr) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgba(7, 17, 31, .11);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 34px 90px rgba(7, 17, 31, .13);
}
.v4-service-tabs { display: flex; flex-direction: column; padding: 14px; border-right: 1px solid rgba(7, 17, 31, .1); background: #0a1a2d; }
.v4-service-tabs button {
  position: relative;
  display: grid;
  grid-template-columns: 35px 1fr;
  gap: 2px 14px;
  width: 100%;
  min-height: 96px;
  align-content: center;
  padding: 16px 15px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, transform .2s ease;
}
.v4-service-tabs button + button { margin-top: 5px; }
.v4-service-tabs button::after { position: absolute; top: 50%; right: 13px; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; content: ""; opacity: .5; transform: translateY(-50%) rotate(45deg); }
.v4-service-tabs button:hover { background: rgba(255, 255, 255, .055); }
.v4-service-tabs button[aria-selected="true"] { color: #07111f; background: linear-gradient(135deg, #efc56f, #d6a23a); box-shadow: 0 14px 30px rgba(0, 0, 0, .22); transform: translateX(4px); }
.v4-service-tabs button > span { grid-row: 1 / span 2; align-self: center; color: currentColor; font-family: var(--display-font); font-size: 1.15rem; opacity: .72; }
.v4-service-tabs button strong { font-size: .79rem; letter-spacing: .035em; }
.v4-service-tabs button small { color: currentColor; font-size: .63rem; opacity: .64; }

.v4-service-stage { display: grid; min-width: 0; background: #fff; }
.v4-service-panel {
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .8fr);
  min-width: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .36s ease, visibility .36s ease, transform .36s ease;
  pointer-events: none;
}
.v4-service-panel.is-active { z-index: 2; opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.v4-service-panel figure { position: relative; min-height: 600px; margin: 0; overflow: hidden; background: #07111f; }
.v4-service-panel figure::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 52%, rgba(7, 17, 31, .82)); }
.v4-service-panel figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 1.1s cubic-bezier(.22, 1, .36, 1), filter .5s ease; }
.v4-service-panel.is-active figure img { transform: scale(1.025); }
.v4-service-panel figure:hover img { transform: scale(1.055); filter: saturate(1.05); }
.v4-service-panel figcaption { position: absolute; right: 28px; bottom: 25px; left: 28px; z-index: 2; color: #fff; }
.v4-service-panel figcaption span,
.v4-service-panel figcaption strong { display: block; }
.v4-service-panel figcaption span { margin-bottom: 6px; color: #efc56f; font-size: .6rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.v4-service-panel figcaption strong { font-family: var(--display-font); font-size: clamp(1.65rem, 2.7vw, 2.65rem); line-height: 1; }

.v4-service-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(34px, 4vw, 58px); }
.v4-service-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 28px; padding-bottom: 19px; border-bottom: 1px solid var(--line); }
.v4-service-meta span { color: var(--gold-dark); font-size: .61rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.v4-service-meta strong { color: var(--ink); font-family: var(--display-font); font-size: 1.12rem; }
.v4-service-copy h3 { margin: 0 0 18px; color: var(--ink); font-family: var(--display-font); font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.035em; line-height: 1.03; }
.v4-service-copy > p { margin: 0; color: var(--muted); font-size: .91rem; line-height: 1.7; }
.v4-service-copy ul { display: grid; gap: 10px; margin: 26px 0 30px; padding: 0; list-style: none; }
.v4-service-copy li { position: relative; padding-left: 24px; color: #34465b; font-size: .79rem; font-weight: 650; }
.v4-service-copy li::before { position: absolute; top: .68em; left: 0; width: 11px; height: 1px; content: ""; background: var(--gold-dark); }
.v4-service-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 19px; }
.v4-text-link { display: inline-flex; align-items: center; color: var(--gold-dark); font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.v4-text-link-light { color: #efc56f; }

.v4-results-section { overflow: hidden; padding-block: clamp(94px, 10vw, 144px); color: #fff; background: linear-gradient(135deg, #07111f, #102b46); }
.v4-results-grid { display: grid; grid-template-columns: minmax(300px, .64fr) minmax(0, 1.1fr); align-items: center; gap: clamp(50px, 8vw, 112px); }
.v4-results-copy h2 { margin: 0 0 25px; color: #fff; font-family: var(--display-font); font-size: clamp(3.15rem, 5.1vw, 5.5rem); letter-spacing: -.055em; line-height: .91; }
.v4-results-copy > p { color: #b8c5d2; line-height: 1.75; }
.v4-results-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 31px 0 22px; }
.v4-results-notes span { padding: 16px 0; border-top: 1px solid rgba(255, 255, 255, .16); color: #aab9c7; font-size: .72rem; line-height: 1.5; }
.v4-results-notes strong { display: block; margin-bottom: 4px; color: #fff; font-family: var(--display-font); font-size: 1.15rem; }
.v4-results-disclaimer { font-size: .68rem; opacity: .72; }

.v4-compare {
  position: relative;
  min-width: 0;
  aspect-ratio: .92 / 1;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 26px;
  background: #111a25;
  box-shadow: 0 38px 95px rgba(0, 0, 0, .34);
  user-select: none;
  touch-action: pan-y;
}
.v4-compare::before { position: absolute; inset: 12px; z-index: 4; border: 1px solid rgba(255, 255, 255, .12); border-radius: 17px; content: ""; pointer-events: none; }
.v4-compare-after,
.v4-compare-before,
.v4-compare-before img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v4-compare-after { object-position: center; }
.v4-compare-before { z-index: 2; width: 100%; overflow: hidden; clip-path: inset(0 calc(100% - var(--v4-position)) 0 0); }
.v4-compare-before img { width: 100%; max-width: none; object-position: center; }
.v4-compare-divider { position: absolute; top: 0; bottom: 0; left: var(--v4-position); z-index: 5; width: 2px; background: #fff; transform: translateX(-50%); pointer-events: none; }
.v4-compare-divider span { position: absolute; top: 50%; left: 50%; display: flex; width: 58px; height: 58px; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgba(255, 255, 255, .7); border-radius: 50%; background: rgba(7, 17, 31, .72); box-shadow: 0 12px 36px rgba(0, 0, 0, .32); backdrop-filter: blur(10px); transform: translate(-50%, -50%); }
.v4-compare-divider i { width: 8px; height: 8px; border-top: 2px solid #fff; border-left: 2px solid #fff; }
.v4-compare-divider i:first-child { transform: rotate(-45deg); }
.v4-compare-divider i:last-child { transform: rotate(135deg); }
.v4-compare-label { position: absolute; top: 26px; z-index: 6; padding: 9px 12px; border-radius: 999px; color: #fff; background: rgba(7, 17, 31, .72); font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(10px); pointer-events: none; }
.v4-before-label { left: 26px; }
.v4-after-label { right: 26px; }
.v4-compare input { position: absolute; inset: 0; z-index: 10; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }

.v4-process-section { padding-block: clamp(95px, 11vw, 160px); background: #fff; }
.v4-process-grid { display: grid; grid-template-columns: minmax(320px, .75fr) minmax(0, 1fr); align-items: center; gap: clamp(58px, 9vw, 130px); }
.v4-process-visual figure { position: relative; margin: 0; }
.v4-process-visual figure::before { position: absolute; top: -18px; right: -18px; bottom: 18px; left: 18px; border: 1px solid rgba(170, 116, 31, .32); content: ""; }
.v4-process-visual img { position: relative; width: 100%; max-height: 710px; object-fit: cover; box-shadow: 0 32px 80px rgba(7, 17, 31, .17); }
.v4-process-visual figcaption { position: absolute; right: -28px; bottom: 34px; width: min(300px, 78%); padding: 22px 24px; color: #fff; background: rgba(7, 17, 31, .92); box-shadow: 0 18px 50px rgba(7, 17, 31, .25); backdrop-filter: blur(12px); }
.v4-process-visual figcaption small,
.v4-process-visual figcaption strong { display: block; }
.v4-process-visual figcaption small { margin-bottom: 6px; color: #efc56f; font-size: .58rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v4-process-visual figcaption strong { font-family: var(--display-font); font-size: 1.65rem; line-height: 1.05; }
.v4-process-copy h2 { margin: 0 0 23px; color: var(--ink); font-family: var(--display-font); font-size: clamp(3rem, 4.8vw, 5rem); letter-spacing: -.055em; line-height: .94; }
.v4-process-copy > .lead { color: var(--muted); }
.v4-process-steps { margin: 35px 0 34px; border-top: 1px solid var(--line); }
.v4-process-steps details { border-bottom: 1px solid var(--line); }
.v4-process-steps summary { display: grid; grid-template-columns: 42px 1fr 20px; align-items: center; gap: 12px; padding: 22px 0; cursor: pointer; list-style: none; }
.v4-process-steps summary::-webkit-details-marker { display: none; }
.v4-process-steps summary span { color: var(--gold-dark); font-family: var(--display-font); font-size: 1rem; }
.v4-process-steps summary strong { color: var(--ink); font-size: .87rem; }
.v4-process-steps summary i { position: relative; width: 16px; height: 16px; }
.v4-process-steps summary i::before,
.v4-process-steps summary i::after { position: absolute; top: 50%; left: 50%; width: 14px; height: 1px; content: ""; background: var(--ink); transform: translate(-50%, -50%); transition: transform .2s ease; }
.v4-process-steps summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.v4-process-steps details[open] summary i::after { transform: translate(-50%, -50%) rotate(0deg); }
.v4-process-steps details > div { overflow: hidden; }
.v4-process-steps details p { margin: -3px 0 23px 54px; color: var(--muted); font-size: .82rem; line-height: 1.66; }

.v4-booking-section { position: relative; overflow: hidden; padding-block: clamp(96px, 10vw, 150px); color: #fff; background: #07111f; }
.v4-booking-section::before { position: absolute; top: -220px; left: -180px; width: 600px; height: 600px; border: 1px solid rgba(216, 171, 82, .16); border-radius: 50%; content: ""; box-shadow: 0 0 0 80px rgba(216, 171, 82, .025), 0 0 0 160px rgba(255, 255, 255, .015); }
.v4-booking-grid { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.v4-booking-card {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto 22px;
  align-items: center;
  gap: 20px;
  min-height: 155px;
  overflow: hidden;
  padding: 25px 25px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 18px;
  color: #fff;
  background: rgba(255, 255, 255, .035);
  transition: transform .26s ease, border-color .26s ease, background .26s ease, box-shadow .26s ease;
}
.v4-booking-card::before { position: absolute; inset: 0; content: ""; opacity: 0; background: radial-gradient(circle 280px at var(--card-x, 50%) var(--card-y, 50%), rgba(239, 197, 111, .2), transparent 70%); transition: opacity .2s ease; }
.v4-booking-card:hover { z-index: 2; border-color: rgba(239, 197, 111, .48); background: rgba(255, 255, 255, .065); box-shadow: 0 22px 58px rgba(0, 0, 0, .24); transform: translateY(-5px); }
.v4-booking-card:hover::before { opacity: 1; }
.v4-booking-card.is-featured { border-color: rgba(239, 197, 111, .4); background: linear-gradient(135deg, rgba(216, 171, 82, .16), rgba(255, 255, 255, .035)); }
.v4-booking-card > * { position: relative; z-index: 1; }
.v4-booking-index { color: #efc56f; font-family: var(--display-font); font-size: 1.5rem; }
.v4-booking-card small { display: block; margin-bottom: 5px; color: #bdcad6; font-size: .58rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.v4-booking-card h3 { margin: 0 0 7px; color: #fff; font-family: var(--display-font); font-size: 1.75rem; line-height: 1; }
.v4-booking-card p { margin: 0; color: #9faebc; font-size: .72rem; line-height: 1.5; }
.v4-booking-card > strong { color: #fff; font-family: var(--display-font); font-size: 1.45rem; white-space: nowrap; }
.v4-booking-card > i { color: #efc56f; font-size: 1.15rem; font-style: normal; transition: transform .2s ease; }
.v4-booking-card:hover > i { transform: translate(4px, -4px); }
.v4-booking-footer { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 24px; padding: 20px 0 0; border-top: 1px solid rgba(255, 255, 255, .12); color: #acbbc8; font-size: .77rem; }
.v4-booking-footer a { color: #efc56f; font-weight: 800; }

.v4-community-section { padding-block: clamp(92px, 10vw, 145px); background: #f5f2ec; }
.v4-community-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(340px, .85fr); align-items: center; gap: clamp(56px, 8vw, 112px); }
.v4-community-visual { position: relative; min-width: 0; }
.v4-community-visual::before { position: absolute; inset: -17px 18px 18px -17px; border: 1px solid rgba(170, 116, 31, .3); content: ""; }
.v4-community-visual img { position: relative; width: 100%; min-height: 460px; object-fit: cover; box-shadow: 0 30px 74px rgba(7, 17, 31, .16); }
.v4-community-visual > span { position: absolute; right: -20px; bottom: 30px; padding: 14px 18px; color: #07111f; background: #e2b355; font-size: .63rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; box-shadow: 0 15px 35px rgba(7, 17, 31, .18); }
.v4-community-copy h2 { margin: 0 0 23px; color: var(--ink); font-family: var(--display-font); font-size: clamp(3.1rem, 5vw, 5.4rem); letter-spacing: -.055em; line-height: .92; }
.v4-community-copy .lead { color: var(--muted); }
.v4-community-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 31px 0 32px; }
.v4-community-facts span { padding-top: 15px; border-top: 1px solid rgba(7, 17, 31, .15); }
.v4-community-facts strong,
.v4-community-facts small { display: block; }
.v4-community-facts strong { color: var(--ink); font-family: var(--display-font); font-size: 2rem; line-height: 1; }
.v4-community-facts small { margin-top: 5px; color: var(--muted); font-size: .63rem; }

.v4-location-section { padding-block: clamp(88px, 9vw, 132px); color: #fff; background: linear-gradient(135deg, #102b46, #07111f); }
.v4-location-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .58fr); align-items: center; gap: clamp(55px, 8vw, 115px); }
.v4-location-grid h2 { max-width: 760px; margin: 0 0 23px; color: #fff; font-family: var(--display-font); font-size: clamp(3.1rem, 5vw, 5.35rem); letter-spacing: -.055em; line-height: .92; }
.v4-location-grid p { max-width: 700px; color: #b8c5d2; line-height: 1.75; }
.v4-location-actions { margin-top: 30px; }
.v4-location-card { position: relative; padding: 36px; border: 1px solid rgba(255, 255, 255, .17); border-radius: 22px; background: rgba(255, 255, 255, .055); box-shadow: 0 26px 70px rgba(0, 0, 0, .24); backdrop-filter: blur(14px); }
.v4-location-card::before { position: absolute; top: 0; left: 36px; width: 58px; height: 3px; content: ""; background: #e2b355; }
.v4-location-card > small,
.v4-location-card > strong,
.v4-location-card > span { display: block; }
.v4-location-card > small { color: #efc56f; font-size: .61rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.v4-location-card > strong { margin: 18px 0 12px; color: #fff; font-family: var(--display-font); font-size: 2.35rem; line-height: 1.03; }
.v4-location-card > span { color: #aebdca; font-size: .82rem; line-height: 1.65; }
.v4-location-card > div { display: flex; justify-content: space-between; gap: 18px; margin-top: 26px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: .75rem; }
.v4-location-card b { color: #aebdca; }
.v4-location-card a { color: #efc56f; font-weight: 850; }

.v4-story-section { position: relative; overflow: hidden; padding-block: clamp(100px, 11vw, 160px); color: #fff; background: #07111f; }
.v4-story-section::after { position: absolute; right: -.08em; bottom: -.28em; content: "V"; color: rgba(255, 255, 255, .025); font-family: var(--display-font); font-size: 42vw; line-height: 1; pointer-events: none; }
.v4-story-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(340px, .78fr) minmax(0, 1fr); align-items: center; gap: clamp(65px, 9vw, 135px); }
.v4-story-mark { display: grid; grid-template-columns: 1fr auto; gap: 14px 18px; align-items: center; padding: 42px; border: 1px solid rgba(255, 255, 255, .15); border-radius: 24px; background: rgba(255, 255, 255, .045); box-shadow: 0 30px 80px rgba(0, 0, 0, .25); }
.v4-story-mark span { color: #fff; font-family: var(--display-font); font-size: clamp(3.1rem, 6vw, 6rem); line-height: .8; }
.v4-story-mark i,
.v4-story-mark b { justify-self: end; color: #dcb059; font-family: var(--display-font); font-size: 1.4rem; font-style: normal; }
.v4-story-mark strong { grid-column: 1 / -1; margin-top: 18px; padding-top: 27px; border-top: 1px solid rgba(255, 255, 255, .14); color: #dcb059; font-family: var(--display-font); font-size: clamp(3.8rem, 7vw, 7rem); letter-spacing: -.04em; line-height: .82; }
.v4-story-copy h2 { margin: 0 0 25px; color: #fff; font-family: var(--display-font); font-size: clamp(3.15rem, 5vw, 5.5rem); letter-spacing: -.055em; line-height: .92; }
.v4-story-copy .lead { color: #b7c4d0; }
.v4-story-copy blockquote { margin: 30px 0 33px; padding-left: 24px; border-left: 2px solid #dcb059; color: #fff; font-family: var(--display-font); font-size: clamp(1.45rem, 2.4vw, 2.25rem); line-height: 1.18; }

.v4-faq-section { padding-block: clamp(92px, 10vw, 142px); background: #f4f6f8; }
.v4-faq-grid { display: grid; grid-template-columns: minmax(300px, .68fr) minmax(0, 1fr); align-items: start; gap: clamp(55px, 8vw, 120px); }
.v4-faq-grid h2 { margin: 0 0 22px; color: var(--ink); font-family: var(--display-font); font-size: clamp(3rem, 4.8vw, 5rem); letter-spacing: -.055em; line-height: .92; }
.v4-faq-grid > div:first-child > p { color: var(--muted); }
.v4-faq-list { border-top: 1px solid rgba(7, 17, 31, .16); }
.v4-faq-list details { border-bottom: 1px solid rgba(7, 17, 31, .16); }
.v4-faq-list summary { display: grid; grid-template-columns: 1fr 22px; align-items: center; gap: 18px; padding: 25px 0; color: var(--ink); font-family: var(--display-font); font-size: 1.32rem; cursor: pointer; list-style: none; }
.v4-faq-list summary::-webkit-details-marker { display: none; }
.v4-faq-list summary i { position: relative; width: 18px; height: 18px; }
.v4-faq-list summary i::before,
.v4-faq-list summary i::after { position: absolute; top: 50%; left: 50%; width: 16px; height: 1px; content: ""; background: var(--gold-dark); transform: translate(-50%, -50%); transition: transform .2s ease; }
.v4-faq-list summary i::after { transform: translate(-50%, -50%) rotate(90deg); }
.v4-faq-list details[open] summary i::after { transform: translate(-50%, -50%); }
.v4-faq-list details > div { padding: 0 46px 22px 0; }
.v4-faq-list p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.7; }

.v4-final-cta { padding-block: 65px; color: #fff; background: linear-gradient(110deg, #0b1d32, #123653); }
.v4-final-cta-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 50px; }
.v4-final-cta small { display: block; margin-bottom: 8px; color: #efc56f; font-size: .62rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v4-final-cta h2 { max-width: 850px; margin: 0; color: #fff; font-family: var(--display-font); font-size: clamp(2.45rem, 4vw, 4.3rem); letter-spacing: -.045em; line-height: .96; }

.v4-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .72s cubic-bezier(.22, 1, .36, 1), transform .72s cubic-bezier(.22, 1, .36, 1);
}
.v4-reveal.v4-reveal-in { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .v4-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, .58fr); gap: 48px; }
  .v4-hero h1 { font-size: clamp(4.5rem, 8.2vw, 7rem); }
  .v4-service-panel { grid-template-columns: minmax(0, 1fr) minmax(285px, .82fr); }
  .v4-booking-card { grid-template-columns: 40px 1fr auto 18px; gap: 14px; padding-inline: 20px; }
}

@media (max-width: 940px) {
  .v4-hero { min-height: auto; }
  .v4-hero-media { left: 0; }
  .v4-hero-media::after { background: linear-gradient(90deg, rgba(7, 17, 31, .94), rgba(7, 17, 31, .65)), linear-gradient(180deg, rgba(7, 17, 31, .1), #07111f 96%); }
  .v4-hero-wash { background: linear-gradient(180deg, rgba(7, 17, 31, .15), rgba(7, 17, 31, .92) 74%, #07111f); }
  .v4-hero-grid { grid-template-columns: 1fr; min-height: auto; padding-block: 92px 88px; }
  .v4-hero-copy { max-width: 760px; }
  .v4-hero-reserve { width: min(100%, 680px); }
  .v4-scroll-cue { display: none; }
  .v4-section-heading,
  .v4-results-grid,
  .v4-process-grid,
  .v4-community-grid,
  .v4-location-grid,
  .v4-story-grid,
  .v4-faq-grid,
  .v4-final-cta-inner { grid-template-columns: 1fr; }
  .v4-section-heading { gap: 20px; }
  .v4-service-shell { grid-template-columns: 1fr; }
  .v4-service-tabs { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); overflow-x: auto; border-right: 0; border-bottom: 1px solid rgba(7, 17, 31, .12); scrollbar-width: thin; }
  .v4-service-tabs button { min-width: 160px; min-height: 84px; }
  .v4-service-tabs button[aria-selected="true"] { transform: none; }
  .v4-service-panel { grid-template-columns: 1fr; }
  .v4-service-panel figure { min-height: 470px; }
  .v4-results-copy { max-width: 730px; }
  .v4-compare { width: min(100%, 720px); justify-self: center; }
  .v4-process-visual { width: min(100%, 680px); justify-self: center; }
  .v4-process-visual img { max-height: 620px; }
  .v4-booking-grid { grid-template-columns: 1fr; }
  .v4-community-visual { width: min(100%, 720px); }
  .v4-location-card { width: min(100%, 620px); }
  .v4-story-mark { width: min(100%, 620px); }
  .v4-final-cta-inner { gap: 30px; }
}

@media (max-width: 680px) {
  .v4-hero-grid { gap: 38px; padding-block: 62px 58px; }
  .v4-hero h1 { font-size: clamp(3.45rem, 16vw, 5.2rem); line-height: .86; }
  .v4-hero h1 em { font-size: .66em; }
  .v4-hero-copy > p { font-size: .94rem; }
  .v4-hero-actions,
  .v4-location-actions,
  .v4-service-actions,
  .v4-final-cta-inner > div:last-child { display: grid; grid-template-columns: 1fr; }
  .v4-button { width: 100%; }
  .v4-hero-promise { grid-template-columns: 1fr; margin-top: 37px; }
  .v4-hero-promise span { padding: 13px 0; }
  .v4-hero-promise span + span { padding-left: 0; border-top: 1px solid rgba(255, 255, 255, .1); border-left: 0; }
  .v4-reserve-top { padding: 18px 16px 15px; }
  .v4-reserve-top > strong { font-size: 1.75rem; }
  .v4-reserve-list a { grid-template-columns: 1fr auto auto; min-height: 70px; padding-inline: 13px; }
  .v4-reserve-location { padding-inline: 12px; }
  .v4-standard-group { gap: 20px; padding-inline: 20px; }
  .v4-section-heading h2,
  .v4-results-copy h2,
  .v4-process-copy h2,
  .v4-community-copy h2,
  .v4-location-grid h2,
  .v4-story-copy h2,
  .v4-faq-grid h2 { font-size: clamp(2.75rem, 13vw, 4rem); }
  .v4-service-tabs { grid-template-columns: repeat(4, 145px); padding: 9px; }
  .v4-service-tabs button { min-width: 145px; min-height: 78px; padding: 12px 10px; }
  .v4-service-panel figure { min-height: 370px; }
  .v4-service-copy { padding: 30px 24px 34px; }
  .v4-service-meta { display: block; }
  .v4-service-meta strong { display: block; margin-top: 6px; }
  .v4-service-copy h3 { font-size: 2.25rem; }
  .v4-results-notes { grid-template-columns: 1fr; }
  .v4-compare { aspect-ratio: .91 / 1.08; border-radius: 18px; }
  .v4-compare-label { top: 18px; }
  .v4-before-label { left: 18px; }
  .v4-after-label { right: 18px; }
  .v4-compare-divider span { width: 48px; height: 48px; }
  .v4-process-visual figure::before { display: none; }
  .v4-process-visual figcaption { right: 12px; bottom: 12px; left: 12px; width: auto; }
  .v4-process-steps details p { margin-left: 0; }
  .v4-booking-card { grid-template-columns: 34px 1fr auto; min-height: 0; padding: 21px 18px; }
  .v4-booking-card > strong { grid-column: 2; justify-self: start; margin-top: 4px; }
  .v4-booking-card > i { grid-row: 1 / span 2; grid-column: 3; }
  .v4-booking-footer { display: block; }
  .v4-booking-footer a { display: inline-block; margin-top: 8px; }
  .v4-community-visual img { min-height: 330px; }
  .v4-community-visual > span { right: 10px; bottom: 10px; }
  .v4-community-facts { gap: 8px; }
  .v4-community-facts strong { font-size: 1.55rem; }
  .v4-location-card { padding: 29px 24px; }
  .v4-location-card > strong { font-size: 1.9rem; }
  .v4-location-card > div { display: block; }
  .v4-location-card a { display: block; margin-top: 4px; }
  .v4-story-mark { padding: 28px 24px; }
  .v4-story-mark span { font-size: 3.3rem; }
  .v4-story-mark strong { font-size: 3.6rem; }
  .v4-faq-list summary { font-size: 1.15rem; }
  .v4-final-cta { padding-block: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .v4-hero-media img,
  .v4-button,
  .v4-button::before,
  .v4-service-panel,
  .v4-service-panel figure img,
  .v4-booking-card,
  .v4-reveal { transition: none !important; }
  .v4-live-dot,
  .v4-scroll-cue i::after,
  .v4-standard-track { animation: none !important; }
  .v4-standard-track { width: auto; }
  .v4-standard-group[aria-hidden="true"] { display: none; }
  .v4-reveal { opacity: 1 !important; transform: none !important; }
}

/* Premium global navigation finishing details. */
.site-header {
  isolation: isolate;
  border-bottom-color: rgba(9, 26, 44, .09);
  background: rgba(250, 250, 248, .9);
  box-shadow: 0 1px 0 rgba(255,255,255,.75) inset;
  transition: height .28s ease, background .28s ease, box-shadow .28s ease;
}
.site-scroll-progress {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  overflow: hidden;
  pointer-events: none;
}
.site-scroll-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #d9ab52, #efc96f);
  transform: scaleX(var(--valiant-scroll, 0));
  transform-origin: left center;
  will-change: transform;
}
body.scrolled .site-header {
  background: rgba(255,255,255,.97);
  box-shadow: 0 16px 50px rgba(7,17,31,.09);
}

/* Result selector for the interactive comparison. */
.v4-result-switcher {
  display: inline-flex;
  gap: 6px;
  margin: 24px 0 2px;
  padding: 5px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  background: rgba(255,255,255,.055);
}
.v4-result-switcher button {
  min-height: 39px;
  padding: 9px 16px;
  border: 0;
  border-radius: 999px;
  color: #b8c5d2;
  background: transparent;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, box-shadow .2s ease;
}
.v4-result-switcher button:hover { color: #fff; }
.v4-result-switcher button.is-active {
  color: #07111f;
  background: linear-gradient(135deg, #efc56f, #d6a23a);
  box-shadow: 0 8px 24px rgba(0,0,0,.22);
}
.v4-compare.is-switching img { opacity: .25; }
.v4-compare img { transition: opacity .22s ease; }

@media (max-width: 680px) {
  .v4-result-switcher { display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; }
  .v4-result-switcher button { width: 100%; padding-inline: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .v4-result-switcher button,
  .v4-compare img { transition: none !important; }
}
.v4-results-notes em {
  display: block;
  color: inherit;
  font-style: normal;
  font-weight: 400;
}

/* Floating glass navigation on the redesigned homepage. */
@media (min-width: 941px) {
  body.home { --header-height: 94px; }
  body.home .site-header {
    height: 94px;
    border-bottom: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }
  body.home .header-inner {
    height: 70px;
    margin-top: 12px;
    padding: 0 16px 0 22px;
    border: 1px solid rgba(7,17,31,.09);
    border-radius: 18px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 16px 45px rgba(7,17,31,.09);
    backdrop-filter: blur(24px) saturate(1.18);
    transition: height .28s ease, margin .28s ease, border-radius .28s ease, box-shadow .28s ease, background .28s ease;
  }
  body.home.scrolled .site-header { height: 78px; }
  body.home.scrolled .header-inner {
    height: 60px;
    margin-top: 8px;
    border-radius: 14px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 14px 40px rgba(7,17,31,.12);
  }
}

/* --------------------------------------------------------------------------
   Valiant 3.5.0 - light luxury interactive refinement
   -------------------------------------------------------------------------- */

:root {
  --ink: #0b1a2b;
  --navy: #10263e;
  --navy-2: #183a59;
  --gold: #c6a15d;
  --gold-dark: #976a28;
  --cream: #f7f3eb;
  --paper: #fdfcf9;
  --mist: #f5f6f7;
  --text: #2d3948;
  --muted: #687483;
  --line: #e3e1dc;
  --shadow-sm: 0 12px 36px rgba(11, 26, 43, .07);
  --shadow: 0 28px 82px rgba(11, 26, 43, .12);
}

body,
body.home {
  background: var(--paper);
}

.home .site-header {
  border-bottom-color: rgba(11, 26, 43, .07);
}

.v4-hero {
  --v4-pointer-x: 76%;
  --v4-pointer-y: 34%;
  min-height: min(840px, calc(100svh - var(--header-height)));
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 10%, rgba(198, 161, 93, .14), transparent 28%),
    linear-gradient(112deg, #fbfaf7 0%, #fdfcf9 54%, #f2eee7 100%);
}
.v4-hero::before {
  position: absolute;
  inset: 0;
  z-index: -5;
  content: "";
  background-image:
    linear-gradient(rgba(11, 26, 43, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 26, 43, .025) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(90deg, #000, transparent 54%);
  pointer-events: none;
}

.v4-hero-media {
  top: clamp(42px, 5vw, 72px);
  right: clamp(20px, 4vw, 70px);
  bottom: clamp(48px, 6vw, 82px);
  left: 53%;
  overflow: hidden;
  border: 1px solid rgba(151, 106, 40, .23);
  border-radius: 46px 6px 46px 6px;
  background: #e7e5e0;
  box-shadow: 0 34px 95px rgba(11, 26, 43, .16);
}
.v4-hero-media::before {
  position: absolute;
  inset: 13px;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, .52);
  border-radius: 35px 3px 35px 3px;
  content: "";
  pointer-events: none;
}
.v4-hero-media::after {
  background:
    linear-gradient(90deg, rgba(253, 252, 249, .52), transparent 32%),
    linear-gradient(180deg, transparent 57%, rgba(11, 26, 43, .32));
}
.v4-hero-media img {
  filter: saturate(.82) contrast(1.02) brightness(1.07);
  object-position: 49% 42%;
}
.v4-hero-wash {
  background:
    linear-gradient(90deg, #fdfcf9 0 41%, rgba(253, 252, 249, .98) 48%, rgba(253, 252, 249, .72) 56%, rgba(253, 252, 249, .08) 74%, transparent 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(11, 26, 43, .03));
}
.v4-hero-spotlight {
  opacity: .7;
  background: radial-gradient(circle 380px at var(--v4-pointer-x) var(--v4-pointer-y), rgba(198, 161, 93, .24), transparent 69%);
}
.v4-hero-linework span {
  border-color: rgba(151, 106, 40, .18);
}
.v4-hero-linework span:nth-child(2) {
  border-color: rgba(11, 26, 43, .07);
}
.v4-hero-linework span:nth-child(3) {
  border-color: rgba(11, 26, 43, .055);
}
.v4-hero-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .62fr);
  gap: clamp(54px, 7vw, 110px);
  min-height: min(840px, calc(100svh - var(--header-height)));
  padding-block: clamp(86px, 10vw, 138px) 112px;
}
.v4-hero-copy {
  max-width: 730px;
}
.v4-kicker {
  color: var(--gold-dark);
}
.v4-hero h1 {
  max-width: 715px;
  color: var(--ink);
  font-size: clamp(4.55rem, 7.15vw, 7.65rem);
  font-weight: 600;
  line-height: .84;
}
.v4-hero h1 em {
  color: #a57a36;
}
.v4-hero-copy > p {
  max-width: 625px;
  color: #5b6878;
}
.v4-button-gold {
  color: #0b1a2b;
  background: linear-gradient(135deg, #dbc184, #bd9147);
  box-shadow: 0 16px 38px rgba(108, 76, 27, .18), inset 0 1px rgba(255, 255, 255, .62);
}
.v4-button-gold:hover {
  box-shadow: 0 20px 48px rgba(108, 76, 27, .22), 0 0 0 1px rgba(151, 106, 40, .18);
}
.v4-button-ghost {
  color: var(--ink);
  border-color: rgba(11, 26, 43, .24);
  background: rgba(255, 255, 255, .68);
  box-shadow: 0 10px 28px rgba(11, 26, 43, .055);
  backdrop-filter: blur(16px);
}
.v4-button-ghost:hover {
  color: var(--ink);
  border-color: rgba(151, 106, 40, .55);
  background: #fff;
}
.v4-hero-promise {
  border-top-color: rgba(11, 26, 43, .13);
}
.v4-hero-promise span + span {
  border-left-color: rgba(11, 26, 43, .1);
}
.v4-hero-promise strong {
  color: var(--ink);
}
.v4-hero-promise small {
  color: #6d7886;
}
.v4-hero-reserve {
  border-color: rgba(151, 106, 40, .28);
  border-radius: 24px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 30px 80px rgba(11, 26, 43, .17);
  backdrop-filter: blur(24px) saturate(1.08);
}
.v4-hero-reserve::before {
  background: linear-gradient(145deg, rgba(198, 161, 93, .34), transparent 30%, transparent 72%, rgba(11, 26, 43, .06));
}
.v4-live-dot {
  background: #4f9d7d;
  box-shadow: 0 0 0 6px rgba(79, 157, 125, .11);
}
.v4-reserve-top small {
  color: #39785f;
}
.v4-reserve-top > strong {
  color: var(--ink);
}
.v4-reserve-top p {
  color: #697686;
}
.v4-reserve-list {
  border-color: rgba(11, 26, 43, .09);
  background: rgba(255, 255, 255, .72);
}
.v4-reserve-list a {
  color: var(--ink);
  background: rgba(255, 255, 255, .56);
}
.v4-reserve-list a + a {
  border-top-color: rgba(11, 26, 43, .08);
}
.v4-reserve-list a:hover {
  background: #f8f4ec;
}
.v4-reserve-list small {
  color: var(--gold-dark);
}
.v4-reserve-list b {
  color: var(--ink);
}
.v4-reserve-list i {
  color: var(--gold-dark);
}
.v4-reserve-location {
  color: var(--ink);
  background: #f6f3ed;
}
.v4-reserve-location small {
  color: #6c7887;
}
.v4-reserve-location i {
  color: var(--gold-dark);
}
.v4-scroll-cue {
  color: rgba(11, 26, 43, .62);
}
.v4-scroll-cue i {
  background: rgba(11, 26, 43, .18);
}
.v4-scroll-cue i::after {
  background: var(--gold-dark);
}

.v4-standard-rail {
  color: #fff;
  background: #10263e;
  border-block: 1px solid rgba(255, 255, 255, .06);
}
.v4-standard-group {
  padding-block: 14px;
}
.v4-standard-group span {
  color: #f7f3eb;
  letter-spacing: .16em;
}
.v4-standard-group i {
  background: #c6a15d;
}

.v4-service-explorer {
  background:
    radial-gradient(circle at 92% 8%, rgba(198, 161, 93, .09), transparent 26%),
    #f7f5f0;
}
.v4-service-explorer::before {
  border-color: rgba(151, 106, 40, .11);
  box-shadow: 0 0 0 90px rgba(151, 106, 40, .018), 0 0 0 180px rgba(11, 26, 43, .015);
}
.v4-service-shell {
  border-color: rgba(11, 26, 43, .09);
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 30px 88px rgba(11, 26, 43, .1);
}
.v4-service-tabs {
  border-right-color: rgba(11, 26, 43, .08);
  background: #f4f0e8;
}
.v4-service-tabs button {
  color: var(--ink);
}
.v4-service-tabs button:hover {
  background: rgba(255, 255, 255, .72);
}
.v4-service-tabs button[aria-selected="true"] {
  color: var(--ink);
  border: 1px solid rgba(151, 106, 40, .26);
  background: #fff;
  box-shadow: 0 14px 34px rgba(11, 26, 43, .1);
}
.v4-service-tabs button[aria-selected="true"]::before {
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 0;
  width: 3px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(#d9bd7c, #a8772e);
}
.v4-service-tabs button > span {
  color: var(--gold-dark);
  opacity: 1;
}
.v4-service-tabs button small {
  color: #6d7886;
  opacity: 1;
}
.v4-service-tabs button[aria-selected="true"] small {
  color: #697686;
}
.v4-service-stage {
  background: #fff;
}
.v4-service-panel figure {
  min-height: 580px;
  margin: 14px 0 14px 14px;
  border-radius: 22px;
  background: #e8e6e1;
}
.v4-service-panel figure::after {
  background: linear-gradient(180deg, transparent 50%, rgba(11, 26, 43, .24));
}
.v4-service-panel figcaption {
  right: 20px;
  bottom: 20px;
  left: 20px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 14px;
  color: var(--ink);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 16px 38px rgba(11, 26, 43, .14);
  backdrop-filter: blur(16px);
}
.v4-service-panel figcaption span {
  color: var(--gold-dark);
}
.v4-service-panel figcaption strong {
  color: var(--ink);
}
.v4-service-copy {
  padding-inline: clamp(36px, 4.5vw, 64px);
}

.v4-results-section {
  position: relative;
  color: var(--ink);
  background:
    radial-gradient(circle at 7% 86%, rgba(198, 161, 93, .09), transparent 28%),
    linear-gradient(135deg, #ffffff, #f7f4ed);
}
.v4-results-section::before {
  position: absolute;
  top: -220px;
  left: -230px;
  width: 560px;
  height: 560px;
  border: 1px solid rgba(151, 106, 40, .1);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 80px rgba(151, 106, 40, .018);
  pointer-events: none;
}
.v4-results-grid {
  position: relative;
  z-index: 1;
}
.v4-results-section .v4-kicker {
  color: var(--gold-dark);
}
.v4-results-copy h2 {
  color: var(--ink);
}
.v4-results-copy > p {
  color: var(--muted);
}
.v4-result-switcher {
  border-color: rgba(11, 26, 43, .1);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 8px 26px rgba(11, 26, 43, .05);
}
.v4-result-switcher button {
  color: #677483;
}
.v4-result-switcher button:hover {
  color: var(--ink);
}
.v4-result-switcher button.is-active {
  color: #fff;
  background: #10263e;
  box-shadow: 0 8px 22px rgba(11, 26, 43, .16);
}
.v4-results-notes span {
  border-top-color: rgba(11, 26, 43, .13);
  color: #697686;
}
.v4-results-notes strong {
  color: var(--ink);
}
.v4-results-disclaimer {
  color: #74808e;
}
.v4-text-link-light {
  color: var(--gold-dark);
}
.v4-compare {
  border: 10px solid #fff;
  border-radius: 30px;
  background: #e9e7e2;
  box-shadow: 0 32px 86px rgba(11, 26, 43, .17), 0 0 0 1px rgba(151, 106, 40, .16);
}
.v4-compare::before {
  border-color: rgba(255, 255, 255, .44);
}
.v4-compare-divider span {
  border-color: rgba(11, 26, 43, .14);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 12px 34px rgba(11, 26, 43, .18);
}
.v4-compare-divider i {
  border-color: var(--ink);
}
.v4-compare-label {
  color: var(--ink);
  border: 1px solid rgba(11, 26, 43, .09);
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 8px 24px rgba(11, 26, 43, .1);
}

.v4-process-section {
  background: #fdfcf9;
}
.v4-process-visual figure::before {
  border-color: rgba(151, 106, 40, .28);
}
.v4-process-visual img {
  border-radius: 28px 5px 28px 5px;
  box-shadow: 0 28px 72px rgba(11, 26, 43, .13);
}
.v4-process-visual figcaption {
  color: var(--ink);
  border: 1px solid rgba(151, 106, 40, .2);
  border-radius: 16px;
  background: rgba(255, 255, 255, .91);
  box-shadow: 0 18px 48px rgba(11, 26, 43, .14);
}
.v4-process-visual figcaption small {
  color: var(--gold-dark);
}
.v4-process-visual figcaption strong {
  color: var(--ink);
}

.v4-booking-section {
  color: var(--ink);
  background:
    radial-gradient(circle at 4% 20%, rgba(198, 161, 93, .11), transparent 24%),
    #f3efe7;
}
.v4-booking-section::before {
  border-color: rgba(151, 106, 40, .11);
  box-shadow: 0 0 0 80px rgba(151, 106, 40, .018), 0 0 0 160px rgba(11, 26, 43, .012);
}
.v4-booking-section .v4-section-heading-light h2 {
  color: var(--ink);
}
.v4-booking-section .v4-section-heading-light > p {
  color: var(--muted);
}
.v4-booking-section .v4-kicker {
  color: var(--gold-dark);
}
.v4-booking-card {
  color: var(--ink);
  border-color: rgba(11, 26, 43, .09);
  background: rgba(255, 255, 255, .83);
  box-shadow: 0 12px 34px rgba(11, 26, 43, .055);
  backdrop-filter: blur(12px);
}
.v4-booking-card::before {
  background: radial-gradient(circle 280px at var(--card-x, 50%) var(--card-y, 50%), rgba(198, 161, 93, .18), transparent 72%);
}
.v4-booking-card:hover {
  border-color: rgba(151, 106, 40, .34);
  background: #fff;
  box-shadow: 0 22px 58px rgba(11, 26, 43, .11);
}
.v4-booking-card.is-featured {
  border-color: rgba(151, 106, 40, .28);
  background: linear-gradient(135deg, rgba(221, 198, 148, .3), rgba(255, 255, 255, .92));
}
.v4-booking-index {
  color: var(--gold-dark);
}
.v4-booking-card small {
  color: var(--gold-dark);
}
.v4-booking-card h3,
.v4-booking-card > strong {
  color: var(--ink);
}
.v4-booking-card p {
  color: #6b7786;
}
.v4-booking-card > i {
  color: var(--gold-dark);
}
.v4-booking-footer {
  border-top-color: rgba(11, 26, 43, .11);
  color: #687483;
}
.v4-booking-footer a {
  color: var(--gold-dark);
}

.v4-community-section {
  background: #fff;
}
.v4-community-visual::before {
  border-color: rgba(151, 106, 40, .25);
}
.v4-community-visual img {
  border-radius: 28px 5px 28px 5px;
  box-shadow: 0 26px 70px rgba(11, 26, 43, .12);
}
.v4-community-visual > span {
  color: var(--ink);
  background: #d8bd81;
  box-shadow: 0 14px 32px rgba(11, 26, 43, .12);
}

.v4-location-section {
  color: var(--ink);
  background:
    radial-gradient(circle at 88% 18%, rgba(198, 161, 93, .11), transparent 26%),
    linear-gradient(135deg, #f7f4ed, #fcfbf8);
}
.v4-location-section .v4-kicker {
  color: var(--gold-dark);
}
.v4-location-grid h2 {
  color: var(--ink);
}
.v4-location-grid p {
  color: var(--muted);
}
.v4-location-card {
  border-color: rgba(11, 26, 43, .09);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 24px 68px rgba(11, 26, 43, .1);
}
.v4-location-card::before {
  background: #c6a15d;
}
.v4-location-card > small,
.v4-location-card a {
  color: var(--gold-dark);
}
.v4-location-card > strong {
  color: var(--ink);
}
.v4-location-card > span,
.v4-location-card b {
  color: #687483;
}
.v4-location-card > div {
  border-top-color: rgba(11, 26, 43, .1);
}

.v4-story-section {
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 18%, rgba(198, 161, 93, .1), transparent 28%),
    linear-gradient(135deg, #f7f3eb, #fff);
}
.v4-story-section::after {
  color: rgba(11, 26, 43, .025);
}
.v4-story-section .v4-kicker {
  color: var(--gold-dark);
}
.v4-story-mark {
  border-color: rgba(151, 106, 40, .2);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 26px 72px rgba(11, 26, 43, .09);
}
.v4-story-mark span {
  color: var(--ink);
}
.v4-story-mark i,
.v4-story-mark b,
.v4-story-mark strong {
  color: #a77a34;
}
.v4-story-mark strong {
  border-top-color: rgba(11, 26, 43, .11);
}
.v4-story-copy h2 {
  color: var(--ink);
}
.v4-story-copy .lead {
  color: var(--muted);
}
.v4-story-copy blockquote {
  color: var(--ink);
  border-left-color: #b78c45;
}

.v4-faq-section {
  background: #f8f6f1;
}

.v4-final-cta {
  color: var(--ink);
  border-top: 1px solid rgba(11, 26, 43, .08);
  border-bottom: 1px solid rgba(11, 26, 43, .08);
  background:
    radial-gradient(circle at 82% 20%, rgba(198, 161, 93, .14), transparent 28%),
    linear-gradient(110deg, #f3eee4, #fff);
}
.v4-final-cta small {
  color: var(--gold-dark);
}
.v4-final-cta h2 {
  color: var(--ink);
}

@media (min-width: 941px) {
  body.home .header-inner {
    border-color: rgba(11, 26, 43, .08);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 14px 42px rgba(11, 26, 43, .075);
  }
  body.home.scrolled .header-inner {
    box-shadow: 0 13px 38px rgba(11, 26, 43, .1);
  }
}

@media (max-width: 1120px) {
  .v4-hero h1 {
    font-size: clamp(4.15rem, 7.8vw, 6.65rem);
  }
}

@media (max-width: 940px) {
  .v4-hero {
    background:
      radial-gradient(circle at 8% 8%, rgba(198, 161, 93, .14), transparent 26%),
      #fbfaf7;
  }
  .v4-hero-media {
    top: 31%;
    right: 18px;
    bottom: 30px;
    left: 18px;
    border-radius: 34px 5px 34px 5px;
    opacity: .24;
    box-shadow: 0 22px 60px rgba(11, 26, 43, .09);
  }
  .v4-hero-media::after {
    background:
      linear-gradient(180deg, #fbfaf7 0%, rgba(251, 250, 247, .75) 26%, rgba(251, 250, 247, .3) 54%, #fbfaf7 100%),
      linear-gradient(90deg, rgba(251, 250, 247, .6), transparent);
  }
  .v4-hero-wash {
    background: linear-gradient(180deg, rgba(251, 250, 247, .25), rgba(251, 250, 247, .9) 72%, #fbfaf7);
  }
  .v4-hero-grid {
    padding-block: 92px 82px;
  }
  .v4-hero-reserve {
    width: min(100%, 680px);
    background: rgba(255, 255, 255, .94);
  }
  .v4-service-tabs {
    border-right: 0;
    border-bottom-color: rgba(11, 26, 43, .08);
  }
  .v4-service-tabs button[aria-selected="true"] {
    transform: none;
  }
  .v4-service-tabs button[aria-selected="true"]::before {
    top: auto;
    right: 18px;
    bottom: 0;
    left: 18px;
    width: auto;
    height: 3px;
  }
  .v4-service-panel figure {
    margin: 12px 12px 0;
  }
}

@media (max-width: 680px) {
  .v4-hero-grid {
    padding-block: 58px 58px;
  }
  .v4-hero h1 {
    font-size: clamp(3.35rem, 15.5vw, 4.9rem);
    line-height: .88;
  }
  .v4-hero-promise span + span {
    border-top-color: rgba(11, 26, 43, .1);
  }
  .v4-hero-media {
    top: 34%;
    right: 10px;
    bottom: 18px;
    left: 10px;
    opacity: .19;
  }
  .v4-service-tabs {
    background: #f2eee6;
  }
  .v4-service-panel figure {
    min-height: 350px;
    margin: 10px 10px 0;
  }
  .v4-service-panel figcaption {
    right: 12px;
    bottom: 12px;
    left: 12px;
    padding: 13px 14px;
  }
  .v4-compare {
    border-width: 7px;
    border-radius: 22px;
  }
  .v4-process-visual figcaption {
    background: rgba(255, 255, 255, .93);
  }
  .v4-story-mark {
    background: rgba(255, 255, 255, .9);
  }
}

/* v3.5 responsive correction: the later light-luxury desktop grid must collapse
   after the original responsive rules. */
@media (max-width: 940px) {
  .v4-hero-grid {
    grid-template-columns: minmax(0, 1fr);
    min-height: auto;
    gap: 42px;
  }
  .v4-hero-copy {
    width: 100%;
    max-width: 760px;
  }
  .v4-hero-copy > p {
    width: 100%;
    max-width: 650px;
  }
  .v4-hero-reserve {
    justify-self: start;
  }
}

/* v3.5.0 responsive release fix: keep the late light-theme desktop grid from
   overriding the earlier single-column mobile layout. */
@media (max-width: 940px) {
  .v4-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .v4-hero-copy { width: 100%; max-width: 760px; }
  .v4-hero-copy > p { width: 100%; max-width: 650px; }
}
@media (max-width: 680px) {
  .v4-hero-copy { max-width: none; }
  .v4-hero-copy > p { max-width: none; }
}

/* Light editorial footer and mobile conversion bar. */
.site-footer {
  color: #657184;
  border-top: 1px solid rgba(11, 26, 43, .08);
  background: #f3f0e9;
}
.footer-brand .brand-main,
.footer-title { color: #0b1a2b; }
.footer-brand p { color: #6b7687; }
.footer-links a:hover,
.footer-contact a:hover { color: #976a28; }
.footer-bottom {
  color: #7c8592;
  border-top-color: rgba(11, 26, 43, .12);
}
.mobile-call-bar {
  border-top: 1px solid rgba(11, 26, 43, .12);
  background: rgba(255, 255, 252, .97);
  box-shadow: 0 -10px 32px rgba(11, 26, 43, .08);
}
.mobile-call-bar .call { color: #fff; background: #0b1a2b; }
.mobile-call-bar .quote { color: #0b1a2b; background: linear-gradient(135deg, #dbc184, #bd9147); }

/* --------------------------------------------------------------------------
   Valiant 3.6.0 - signature navy, cool white, and gold refinement
   Keeps the light high-class layout while restoring the stronger Valiant
   palette used on the live site: cool white, deep navy, and richer gold.
   -------------------------------------------------------------------------- */

:root {
  --ink: #071426;
  --navy: #0b223b;
  --navy-2: #123b61;
  --gold: #d4a33d;
  --gold-dark: #a76f17;
  --cream: #f1f4f7;
  --paper: #ffffff;
  --mist: #edf2f6;
  --text: #26364a;
  --muted: #617085;
  --line: #d7e0e8;
  --shadow-sm: 0 12px 36px rgba(7, 20, 38, .08);
  --shadow: 0 30px 86px rgba(7, 20, 38, .16);
}

body,
body.home {
  color: var(--text);
  background: #fff;
}

.home .site-header {
  border-bottom-color: rgba(7, 20, 38, .1);
  background: rgba(255, 255, 255, .96);
}

/* A cool, polished hero rather than the muted cream treatment. */
.v4-hero {
  --v4-pointer-x: 77%;
  --v4-pointer-y: 34%;
  color: var(--ink);
  background:
    radial-gradient(circle at 7% 8%, rgba(212, 163, 61, .13), transparent 25%),
    radial-gradient(circle at 86% 18%, rgba(18, 59, 97, .13), transparent 30%),
    linear-gradient(112deg, #ffffff 0%, #f7f9fb 49%, #e7eef5 100%);
}
.v4-hero::before {
  background-image:
    linear-gradient(rgba(11, 34, 59, .03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 34, 59, .03) 1px, transparent 1px);
  mask-image: linear-gradient(90deg, #000, transparent 62%);
}
.v4-hero-media {
  border-color: rgba(212, 163, 61, .52);
  background: #081626;
  box-shadow: 0 38px 100px rgba(7, 20, 38, .28), 0 0 0 8px rgba(255, 255, 255, .72);
}
.v4-hero-media::before {
  border-color: rgba(255, 255, 255, .38);
}
.v4-hero-media::after {
  background:
    linear-gradient(90deg, rgba(247, 249, 251, .18), transparent 30%),
    linear-gradient(180deg, transparent 48%, rgba(7, 20, 38, .62));
}
.v4-hero-media img {
  filter: saturate(.9) contrast(1.09) brightness(.88);
}
.v4-hero-wash {
  background:
    linear-gradient(90deg, #fff 0 39%, rgba(255, 255, 255, .98) 46%, rgba(247, 249, 251, .78) 56%, rgba(231, 238, 245, .08) 76%, transparent 100%),
    linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(11, 34, 59, .035));
}
.v4-hero-spotlight {
  opacity: .72;
  background: radial-gradient(circle 390px at var(--v4-pointer-x) var(--v4-pointer-y), rgba(212, 163, 61, .26), transparent 70%);
}
.v4-hero-linework span {
  border-color: rgba(167, 111, 23, .22);
}
.v4-hero-linework span:nth-child(2) {
  border-color: rgba(11, 34, 59, .11);
}
.v4-hero-linework span:nth-child(3) {
  border-color: rgba(11, 34, 59, .08);
}
.v4-kicker,
.v4-kicker-dark {
  color: var(--gold-dark);
}
.v4-hero h1 {
  color: var(--ink);
  text-shadow: 0 1px 0 rgba(255, 255, 255, .55);
}
.v4-hero h1 em {
  color: #c58e24;
}
.v4-hero-copy > p {
  color: #4f6074;
}
.v4-button-gold {
  color: #071426;
  background: linear-gradient(135deg, #e3b856, #c98c1f);
  box-shadow: 0 17px 40px rgba(123, 82, 17, .25), inset 0 1px rgba(255, 255, 255, .55);
}
.v4-button-gold:hover {
  background: linear-gradient(135deg, #e8c36e, #cf952b);
  box-shadow: 0 22px 52px rgba(123, 82, 17, .31), 0 0 0 1px rgba(167, 111, 23, .22);
}
.v4-button-ghost {
  color: var(--ink);
  border-color: rgba(7, 20, 38, .28);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 11px 30px rgba(7, 20, 38, .08);
}
.v4-button-ghost:hover {
  color: #fff;
  border-color: var(--navy);
  background: var(--navy);
}
.v4-hero-promise {
  border-top-color: rgba(7, 20, 38, .17);
}
.v4-hero-promise span + span {
  border-left-color: rgba(7, 20, 38, .12);
}
.v4-hero-promise strong {
  color: var(--ink);
}
.v4-hero-promise small {
  color: #627186;
}

/* The booking panel supplies the strong navy weight missing from v3.5. */
.v4-hero-reserve {
  color: #fff;
  border-color: rgba(212, 163, 61, .45);
  background: linear-gradient(145deg, rgba(7, 20, 38, .97), rgba(13, 44, 73, .95));
  box-shadow: 0 34px 88px rgba(7, 20, 38, .35);
  backdrop-filter: blur(24px) saturate(1.12);
}
.v4-hero-reserve::before {
  background: linear-gradient(145deg, rgba(227, 184, 86, .38), transparent 28%, transparent 72%, rgba(255, 255, 255, .08));
}
.v4-reserve-top small {
  color: #86d4b5;
}
.v4-reserve-top > strong {
  color: #fff;
}
.v4-reserve-top p {
  color: #b8c6d4;
}
.v4-reserve-list {
  border-color: rgba(255, 255, 255, .13);
  background: rgba(255, 255, 255, .035);
}
.v4-reserve-list a {
  color: #fff;
  background: rgba(255, 255, 255, .025);
}
.v4-reserve-list a + a {
  border-top-color: rgba(255, 255, 255, .1);
}
.v4-reserve-list a:hover {
  background: rgba(255, 255, 255, .09);
}
.v4-reserve-list small,
.v4-reserve-list i {
  color: #e3b856;
}
.v4-reserve-list b {
  color: #fff;
}
.v4-reserve-location {
  color: #fff;
  background: rgba(255, 255, 255, .08);
}
.v4-reserve-location small {
  color: #adbdcb;
}
.v4-reserve-location i {
  color: #e3b856;
}
.v4-scroll-cue {
  color: rgba(7, 20, 38, .66);
}
.v4-scroll-cue i {
  background: rgba(7, 20, 38, .2);
}
.v4-scroll-cue i::after {
  background: var(--gold-dark);
}

.v4-standard-rail {
  color: #fff;
  border-block-color: rgba(255, 255, 255, .08);
  background: linear-gradient(90deg, #071426, #0e2e4e 50%, #071426);
}
.v4-standard-group span {
  color: #f7f9fb;
}
.v4-standard-group i {
  background: #d4a33d;
}

/* Cool blue-white service explorer with stronger selected states. */
.v4-service-explorer {
  background:
    radial-gradient(circle at 92% 8%, rgba(212, 163, 61, .11), transparent 27%),
    #edf2f6;
}
.v4-service-explorer::before {
  border-color: rgba(167, 111, 23, .15);
  box-shadow: 0 0 0 90px rgba(167, 111, 23, .02), 0 0 0 180px rgba(11, 34, 59, .025);
}
.v4-service-shell {
  border-color: rgba(7, 20, 38, .12);
  background: #fff;
  box-shadow: 0 32px 90px rgba(7, 20, 38, .14);
}
.v4-service-tabs {
  border-right-color: rgba(7, 20, 38, .11);
  background: #e5ecf2;
}
.v4-service-tabs button {
  color: var(--ink);
}
.v4-service-tabs button:hover {
  background: rgba(255, 255, 255, .78);
}
.v4-service-tabs button[aria-selected="true"] {
  color: #fff;
  border-color: rgba(212, 163, 61, .42);
  background: linear-gradient(135deg, #0a2139, #113a5f);
  box-shadow: 0 16px 38px rgba(7, 20, 38, .24);
}
.v4-service-tabs button[aria-selected="true"]::before {
  background: linear-gradient(#e2b658, #c98c1f);
}
.v4-service-tabs button[aria-selected="true"] > span,
.v4-service-tabs button[aria-selected="true"] small {
  color: #e8c36e;
}
.v4-service-tabs button small {
  color: #66758a;
}
.v4-service-stage {
  background: #fff;
}
.v4-service-panel figure {
  background: #dfe7ee;
  box-shadow: inset 0 0 0 1px rgba(7, 20, 38, .05);
}
.v4-service-panel figcaption {
  color: #fff;
  border-color: rgba(255, 255, 255, .18);
  background: rgba(7, 20, 38, .84);
  box-shadow: 0 18px 42px rgba(7, 20, 38, .26);
}
.v4-service-panel figcaption span {
  color: #e4b85a;
}
.v4-service-panel figcaption strong {
  color: #fff;
}

/* Strong navy result section: high contrast without making the whole site dark. */
.v4-results-section {
  color: #fff;
  background:
    radial-gradient(circle at 8% 88%, rgba(212, 163, 61, .12), transparent 29%),
    linear-gradient(135deg, #071426, #0e3152);
}
.v4-results-section::before {
  border-color: rgba(212, 163, 61, .13);
  box-shadow: 0 0 0 80px rgba(212, 163, 61, .025);
}
.v4-results-section .v4-kicker {
  color: #e4b85a;
}
.v4-results-copy h2 {
  color: #fff;
}
.v4-results-copy > p {
  color: #bdcad6;
}
.v4-result-switcher {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .055);
  box-shadow: none;
}
.v4-result-switcher button {
  color: #afbdca;
}
.v4-result-switcher button:hover {
  color: #fff;
}
.v4-result-switcher button.is-active {
  color: #071426;
  background: linear-gradient(135deg, #e2b658, #c98c1f);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
}
.v4-results-notes span {
  color: #aebdcb;
  border-top-color: rgba(255, 255, 255, .17);
}
.v4-results-notes strong {
  color: #fff;
}
.v4-results-disclaimer {
  color: #9cabb9;
}
.v4-text-link-light {
  color: #e4b85a;
}
.v4-compare {
  border-color: #fff;
  background: #081522;
  box-shadow: 0 36px 94px rgba(0, 0, 0, .34), 0 0 0 1px rgba(212, 163, 61, .2);
}
.v4-compare-divider span {
  border-color: rgba(255, 255, 255, .68);
  background: rgba(7, 20, 38, .78);
}
.v4-compare-divider i {
  border-color: #fff;
}
.v4-compare-label {
  color: #fff;
  border-color: rgba(255, 255, 255, .15);
  background: rgba(7, 20, 38, .78);
}

.v4-process-section {
  background: #fff;
}
.v4-process-visual figcaption {
  color: #fff;
  border-color: rgba(212, 163, 61, .3);
  background: rgba(7, 20, 38, .93);
}
.v4-process-visual figcaption small {
  color: #e4b85a;
}
.v4-process-visual figcaption strong {
  color: #fff;
}

/* Booking becomes a signature navy conversion block again. */
.v4-booking-section {
  color: #fff;
  background:
    radial-gradient(circle at 4% 20%, rgba(212, 163, 61, .13), transparent 25%),
    linear-gradient(135deg, #071426, #0b2946);
}
.v4-booking-section::before {
  border-color: rgba(212, 163, 61, .15);
  box-shadow: 0 0 0 80px rgba(212, 163, 61, .025), 0 0 0 160px rgba(255, 255, 255, .015);
}
.v4-booking-section .v4-section-heading-light h2 {
  color: #fff;
}
.v4-booking-section .v4-section-heading-light > p {
  color: #bdcad6;
}
.v4-booking-section .v4-kicker {
  color: #e4b85a;
}
.v4-booking-card {
  color: #fff;
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .045);
  box-shadow: none;
}
.v4-booking-card::before {
  background: radial-gradient(circle 280px at var(--card-x, 50%) var(--card-y, 50%), rgba(228, 184, 90, .24), transparent 72%);
}
.v4-booking-card:hover {
  border-color: rgba(228, 184, 90, .52);
  background: rgba(255, 255, 255, .08);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
}
.v4-booking-card.is-featured {
  border-color: rgba(228, 184, 90, .46);
  background: linear-gradient(135deg, rgba(212, 163, 61, .2), rgba(255, 255, 255, .045));
}
.v4-booking-index,
.v4-booking-card small,
.v4-booking-card > i {
  color: #e4b85a;
}
.v4-booking-card h3,
.v4-booking-card > strong {
  color: #fff;
}
.v4-booking-card p {
  color: #aebdca;
}
.v4-booking-footer {
  color: #b1bfcc;
  border-top-color: rgba(255, 255, 255, .13);
}
.v4-booking-footer a {
  color: #e4b85a;
}

.v4-community-section {
  background:
    radial-gradient(circle at 94% 13%, rgba(18, 59, 97, .08), transparent 24%),
    #f6f8fa;
}
.v4-community-visual::before {
  border-color: rgba(167, 111, 23, .32);
}
.v4-community-visual > span {
  color: #071426;
  background: linear-gradient(135deg, #e3b856, #c98c1f);
}

.v4-location-section {
  color: #fff;
  background:
    radial-gradient(circle at 88% 18%, rgba(212, 163, 61, .12), transparent 28%),
    linear-gradient(135deg, #10385d, #071426);
}
.v4-location-section .v4-kicker {
  color: #e4b85a;
}
.v4-location-grid h2 {
  color: #fff;
}
.v4-location-grid p {
  color: #bdcad6;
}
.v4-location-card {
  border-color: rgba(255, 255, 255, .17);
  background: rgba(255, 255, 255, .06);
  box-shadow: 0 28px 74px rgba(0, 0, 0, .25);
}
.v4-location-card::before {
  background: #e3b856;
}
.v4-location-card > small,
.v4-location-card a {
  color: #e4b85a;
}
.v4-location-card > strong {
  color: #fff;
}
.v4-location-card > span,
.v4-location-card b {
  color: #adbdcb;
}
.v4-location-card > div {
  border-top-color: rgba(255, 255, 255, .13);
}
.v4-location-section .v4-button-ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, .36);
  background: rgba(255, 255, 255, .055);
  box-shadow: none;
}
.v4-location-section .v4-button-ghost:hover {
  color: #071426;
  border-color: #e4b85a;
  background: #e4b85a;
}

/* Story remains bright, but the name mark carries a strong navy field. */
.v4-story-section {
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 18%, rgba(212, 163, 61, .11), transparent 28%),
    linear-gradient(135deg, #edf2f6, #fff 72%);
}
.v4-story-section::after {
  color: rgba(7, 20, 38, .035);
}
.v4-story-section .v4-kicker {
  color: var(--gold-dark);
}
.v4-story-mark {
  color: #fff;
  border-color: rgba(212, 163, 61, .42);
  background: linear-gradient(145deg, #071426, #10385d);
  box-shadow: 0 30px 82px rgba(7, 20, 38, .24);
}
.v4-story-mark span {
  color: #fff;
}
.v4-story-mark i,
.v4-story-mark b,
.v4-story-mark strong {
  color: #e4b85a;
}
.v4-story-mark strong {
  border-top-color: rgba(255, 255, 255, .15);
}
.v4-story-copy h2 {
  color: var(--ink);
}
.v4-story-copy .lead {
  color: var(--muted);
}
.v4-story-copy blockquote {
  color: var(--ink);
  border-left-color: #c98c1f;
}

.v4-faq-section {
  background: #eef3f7;
}

.v4-final-cta {
  color: #fff;
  border-top-color: rgba(255, 255, 255, .08);
  border-bottom-color: rgba(255, 255, 255, .08);
  background:
    radial-gradient(circle at 84% 18%, rgba(212, 163, 61, .15), transparent 28%),
    linear-gradient(110deg, #071426, #123b61);
}
.v4-final-cta small {
  color: #e4b85a;
}
.v4-final-cta h2 {
  color: #fff;
}
.v4-final-cta .v4-button-ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, .34);
  background: rgba(255, 255, 255, .055);
  box-shadow: none;
}
.v4-final-cta .v4-button-ghost:hover {
  color: #071426;
  border-color: #e4b85a;
  background: #e4b85a;
}

/* Return the footer to the established Valiant navy instead of beige. */
.site-footer {
  color: #aebdca;
  border-top-color: rgba(255, 255, 255, .08);
  background: #071426;
}
.footer-brand .brand-main,
.footer-title {
  color: #fff;
}
.footer-brand .brand-sub,
.footer-links a:hover,
.footer-contact a:hover {
  color: #e4b85a;
}
.footer-brand p {
  color: #aebdca;
}
.footer-bottom {
  color: #8293a5;
  border-top-color: rgba(255, 255, 255, .11);
}
.mobile-call-bar {
  border-top-color: rgba(7, 20, 38, .16);
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 -10px 34px rgba(7, 20, 38, .13);
}
.mobile-call-bar .call {
  color: #fff;
  background: #071426;
}
.mobile-call-bar .quote {
  color: #071426;
  background: linear-gradient(135deg, #e3b856, #c98c1f);
}

@media (min-width: 941px) {
  body.home .header-inner {
    border-color: rgba(7, 20, 38, .1);
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 14px 44px rgba(7, 20, 38, .11);
  }
  body.home.scrolled .header-inner {
    box-shadow: 0 15px 42px rgba(7, 20, 38, .15);
  }
}

@media (max-width: 940px) {
  .v4-hero {
    background:
      radial-gradient(circle at 8% 7%, rgba(212, 163, 61, .14), transparent 25%),
      linear-gradient(145deg, #fff, #edf3f8);
  }
  .v4-hero-media {
    border-color: rgba(212, 163, 61, .34);
    background: #071426;
    opacity: .32;
    box-shadow: 0 24px 64px rgba(7, 20, 38, .18);
  }
  .v4-hero-media::after {
    background:
      linear-gradient(180deg, #f7f9fb 0%, rgba(247, 249, 251, .76) 28%, rgba(247, 249, 251, .28) 56%, #eef3f7 100%),
      linear-gradient(90deg, rgba(247, 249, 251, .6), transparent);
  }
  .v4-hero-wash {
    background: linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(238, 243, 247, .94) 72%, #eef3f7);
  }
  .v4-hero-reserve {
    color: #fff;
    background: linear-gradient(145deg, rgba(7, 20, 38, .98), rgba(13, 44, 73, .97));
  }
  .v4-service-tabs {
    border-bottom-color: rgba(7, 20, 38, .11);
  }
  .v4-service-tabs button[aria-selected="true"] {
    color: #fff;
    background: linear-gradient(135deg, #0a2139, #113a5f);
  }
  .v4-service-tabs button[aria-selected="true"]::before {
    background: linear-gradient(90deg, #e2b658, #c98c1f);
  }
}

@media (max-width: 680px) {
  .v4-hero-media {
    opacity: .23;
  }
  .v4-service-tabs {
    background: #e4ebf1;
  }
  .v4-process-visual figcaption {
    color: #fff;
    background: rgba(7, 20, 38, .94);
  }
  .v4-story-mark {
    background: linear-gradient(145deg, #071426, #10385d);
  }
}

/* Mobile signature-color balance: introduce navy before the first scroll ends. */
@media (max-width: 680px) {
  .v4-hero-promise {
    margin-top: 34px;
    padding: 7px 18px 14px;
    border: 1px solid rgba(212, 163, 61, .4);
    border-radius: 18px;
    background: linear-gradient(145deg, #071426, #10385d);
    box-shadow: 0 22px 52px rgba(7, 20, 38, .22);
  }
  .v4-hero-promise span {
    padding: 13px 0;
  }
  .v4-hero-promise span + span {
    border-top-color: rgba(255, 255, 255, .12);
  }
  .v4-hero-promise strong {
    color: #fff;
  }
  .v4-hero-promise small {
    color: #b8c6d4;
  }
}


/* =========================================================
   Valiant 3.7.0 - cohesive service positioning
   ========================================================= */
.v4-service-tabs button {
  grid-template-columns: 1fr;
  gap: 4px;
  padding-inline: 19px 34px;
}
.v4-service-tabs button > span {
  grid-row: auto;
  align-self: auto;
  color: var(--gold-dark);
  font-family: inherit;
  font-size: .55rem;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: .19em;
  text-transform: uppercase;
  opacity: 1;
}
.v4-service-tabs button strong {
  font-size: .82rem;
  letter-spacing: .025em;
}
.v4-service-tabs button small {
  font-size: .64rem;
}
.v4-service-tabs button[aria-selected="true"] > span {
  color: #e8c36e;
}
@media (max-width: 1040px) {
  .v4-service-tabs button {
    padding-inline: 15px 28px;
  }
}
@media (max-width: 680px) {
  .v4-service-tabs button {
    min-width: 156px;
    padding: 12px 27px 12px 13px;
  }
  .v4-service-tabs button > span {
    font-size: .51rem;
    letter-spacing: .15em;
  }
}

/* =========================================================
   Valiant 3.8.1 - premium editorial hero and booking concierge
   ========================================================= */

@media (min-width: 941px) {
  body.home .header-inner {
    height: 68px;
    padding-inline: 24px 18px;
    border-color: rgba(7, 20, 38, .11);
    border-radius: 14px 14px 4px 4px;
    background: rgba(255, 255, 255, .965);
    box-shadow: 0 18px 52px rgba(7, 20, 38, .12);
  }
  body.home.scrolled .header-inner {
    border-radius: 10px 10px 3px 3px;
  }
}

.v38-hero {
  position: relative;
  isolation: isolate;
  min-height: min(850px, calc(100svh - 92px));
  overflow: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 10% 8%, rgba(212, 163, 61, .11), transparent 25%),
    linear-gradient(112deg, #ffffff 0%, #f7f9fb 57%, #edf2f6 100%);
}
.v38-hero::before {
  position: absolute;
  inset: 0 0 0 57%;
  z-index: -4;
  content: "";
  background:
    radial-gradient(circle at 82% 14%, rgba(212, 163, 61, .2), transparent 28%),
    linear-gradient(145deg, #071426 0%, #0b2948 58%, #123d63 100%);
}
.v38-hero::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(57% - 1px);
  z-index: -2;
  width: 1px;
  content: "";
  background: linear-gradient(transparent 5%, rgba(228, 184, 90, .72) 22%, rgba(228, 184, 90, .26) 76%, transparent 96%);
}
.v38-hero-architecture {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.v38-hero-monogram {
  position: absolute;
  top: 50%;
  left: -1.5vw;
  color: rgba(7, 20, 38, .028);
  font-family: var(--display-font);
  font-size: min(43vw, 660px);
  font-weight: 600;
  line-height: .7;
  transform: translateY(-46%);
}
.v38-hero-rule {
  position: absolute;
  display: block;
  border: 1px solid rgba(212, 163, 61, .15);
  border-radius: 50%;
}
.v38-hero-rule-one { top: -310px; right: -180px; width: 720px; height: 720px; }
.v38-hero-rule-two { right: 24%; bottom: -300px; width: 540px; height: 540px; border-color: rgba(255, 255, 255, .075); }

.v38-hero-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(510px, 1.06fr);
  align-items: center;
  gap: clamp(64px, 7vw, 112px);
  min-height: min(850px, calc(100svh - 92px));
  padding-block: clamp(76px, 8vw, 118px) 90px;
}
.v38-hero-copy {
  position: relative;
  z-index: 3;
  max-width: 670px;
  padding-left: clamp(0px, 1vw, 16px);
}
.v38-kicker {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 25px;
  color: var(--gold-dark);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .18em;
  line-height: 1.5;
  text-transform: uppercase;
}
.v38-kicker > span { width: 42px; height: 1px; flex: 0 0 auto; background: currentColor; }
.v38-kicker-light { color: #e6bd67; }
.v38-hero h1 {
  max-width: 690px;
  margin: 0 0 30px;
  color: var(--ink);
  font-family: var(--display-font);
  font-size: clamp(4.45rem, 6.9vw, 7.35rem);
  font-weight: 600;
  letter-spacing: -.065em;
  line-height: .84;
}
.v38-hero h1 span,
.v38-hero h1 em { display: block; }
.v38-hero h1 em {
  max-width: 640px;
  margin-top: .13em;
  color: #b77811;
  font-size: .78em;
  font-style: italic;
  font-weight: 500;
  letter-spacing: -.05em;
}
.v38-hero-lead {
  max-width: 605px;
  margin: 0 0 34px;
  color: #536378;
  font-size: clamp(1rem, 1.15vw, 1.12rem);
  line-height: 1.75;
}
.v38-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 20px;
}
.v38-outline-link {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  gap: 16px;
  padding: 12px 2px;
  color: var(--ink);
  border-bottom: 1px solid rgba(7, 20, 38, .28);
  font-size: .67rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
  transition: color .22s ease, border-color .22s ease, gap .22s ease;
}
.v38-outline-link:hover { gap: 22px; color: var(--gold-dark); border-color: var(--gold-dark); }
.v38-signature-line {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 31px;
  color: var(--ink);
  font-family: var(--display-font);
  font-size: 1rem;
  letter-spacing: .025em;
}
.v38-signature-line i { width: 32px; height: 1px; background: #c98c1f; }
.v38-signature-line b { color: #b77811; font-weight: 600; }
.v38-hero-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 660px;
  margin-top: 44px;
  padding-top: 18px;
  border-top: 1px solid rgba(7, 20, 38, .14);
}
.v38-hero-proof > span { min-width: 0; padding-right: 17px; }
.v38-hero-proof > span + span { padding-left: 17px; border-left: 1px solid rgba(7, 20, 38, .11); }
.v38-hero-proof strong,
.v38-hero-proof small { display: block; }
.v38-hero-proof strong { margin-bottom: 3px; color: var(--ink); font-family: var(--display-font); font-size: 1rem; font-weight: 650; }
.v38-hero-proof small { color: #66758a; font-size: .65rem; line-height: 1.45; }

.v38-hero-visual {
  position: relative;
  width: min(100%, 610px);
  height: min(690px, 72vh);
  min-height: 560px;
  justify-self: end;
  margin: 0;
}
.v38-hero-image-frame {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border: 1px solid rgba(228, 184, 90, .48);
  border-radius: 4px 34px 4px 34px;
  background: #06111e;
  box-shadow: 0 42px 110px rgba(0, 0, 0, .37), 0 0 0 10px rgba(255, 255, 255, .09);
}
.v38-hero-image-frame::before {
  position: absolute;
  inset: 14px;
  z-index: 3;
  border: 1px solid rgba(255, 255, 255, .23);
  border-radius: 2px 24px 2px 24px;
  content: "";
  pointer-events: none;
}
.v38-hero-image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 51% 42%;
  filter: saturate(.84) contrast(1.09) brightness(.82);
  transform: scale(1.035);
  transition: transform 9s cubic-bezier(.2, .8, .2, 1), filter .5s ease;
}
.v38-hero.is-visible .v38-hero-image-frame img { transform: scale(1); }
.v38-hero-visual:hover .v38-hero-image-frame img { filter: saturate(.94) contrast(1.08) brightness(.87); }
.v38-hero-image-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 20, 38, .04) 32%, rgba(7, 20, 38, .78) 100%),
    linear-gradient(90deg, rgba(7, 20, 38, .12), transparent 52%);
}
.v38-hero-caption {
  position: absolute;
  right: 34px;
  bottom: 34px;
  left: 34px;
  z-index: 4;
  color: #fff;
}
.v38-hero-caption small,
.v38-hero-caption strong,
.v38-hero-caption span { display: block; }
.v38-hero-caption small { margin-bottom: 7px; color: #e7be67; font-size: .58rem; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.v38-hero-caption strong { max-width: 420px; font-family: var(--display-font); font-size: clamp(2.25rem, 3.2vw, 3.6rem); font-weight: 600; line-height: .93; }
.v38-hero-caption span { margin-top: 9px; color: rgba(228, 236, 243, .76); font-size: .64rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.v38-hero-booking-card {
  position: absolute;
  z-index: 5;
  bottom: 62px;
  left: -84px;
  width: min(310px, 78%);
  padding: 22px 24px 21px;
  border: 1px solid rgba(167, 111, 23, .32);
  border-left: 4px solid #d4a33d;
  border-radius: 3px 18px 3px 18px;
  color: var(--ink);
  background: rgba(255, 255, 255, .965);
  box-shadow: 0 26px 68px rgba(4, 13, 24, .29);
  backdrop-filter: blur(18px) saturate(1.12);
}
.v38-hero-booking-card > div { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; }
.v38-live-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #53bc8d; box-shadow: 0 0 0 6px rgba(83, 188, 141, .12); animation: v4Pulse 2.3s ease-in-out infinite; }
.v38-hero-booking-card small { color: #4a7665; font-size: .56rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.v38-hero-booking-card > strong { display: block; color: var(--ink); font-family: var(--display-font); font-size: 1.55rem; font-weight: 650; line-height: 1.03; }
.v38-hero-booking-card p { margin: 9px 0 14px; color: #617085; font-size: .72rem; line-height: 1.55; }
.v38-hero-booking-card > a { display: inline-flex; align-items: center; gap: 10px; color: #9a6514; font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.v38-hero-booking-card > a:hover { gap: 15px; color: var(--ink); }
.v38-scroll-cue {
  position: absolute;
  bottom: 21px;
  left: 50%;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255, 255, 255, .66);
  font-size: .54rem;
  font-weight: 850;
  letter-spacing: .2em;
  text-transform: uppercase;
  transform: translateX(-50%);
}
.v38-scroll-cue i { position: relative; width: 1px; height: 31px; overflow: hidden; background: rgba(255, 255, 255, .22); }
.v38-scroll-cue i::after { position: absolute; top: -100%; left: 0; width: 100%; height: 100%; content: ""; background: #e4b85a; animation: v4ScrollCue 2.2s ease-in-out infinite; }

.v38-brand-rail {
  position: relative;
  z-index: 3;
  color: #fff;
  border-top: 1px solid rgba(228, 184, 90, .42);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  background: linear-gradient(90deg, #06111f, #0a2744 54%, #071426);
}
.v38-brand-rail-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr) minmax(210px, .95fr);
  min-height: 86px;
  padding-inline: 0;
}
.v38-brand-rail-inner > span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  padding: 17px 23px;
  border-right: 1px solid rgba(255, 255, 255, .09);
}
.v38-brand-rail-inner > span:first-child { padding-left: 0; }
.v38-brand-rail-inner > span:last-child { border-right: 0; }
.v38-brand-rail-inner small { color: #d9ad4e; font-size: .55rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v38-brand-rail-inner strong { color: #f5f8fb; font-size: .66rem; font-weight: 760; letter-spacing: .095em; text-transform: uppercase; }
.v38-brand-location { flex-direction: column; align-items: flex-start !important; justify-content: center; gap: 1px !important; background: rgba(255, 255, 255, .035); }
.v38-brand-location small { color: #9eafbf; }
.v38-brand-location strong { font-family: var(--display-font); font-size: .98rem; letter-spacing: 0; text-transform: none; }

.v4-service-explorer { background: linear-gradient(180deg, #eef3f7 0%, #f7f9fb 100%); }
.v4-service-shell { border-radius: 3px 27px 3px 27px; box-shadow: 0 34px 100px rgba(7, 20, 38, .16); }
.v4-service-tabs { background: linear-gradient(180deg, #e2eaf1, #edf2f6); }
.v4-service-tabs button[aria-selected="true"] { border-radius: 2px 14px 2px 14px; }
.v4-service-panel figure { border-radius: 2px 24px 2px 24px; }
.v4-service-panel figcaption { border-radius: 2px 14px 2px 14px; }

.v38-booking-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(102px, 10vw, 158px);
  color: #fff;
  background:
    radial-gradient(circle at 8% 22%, rgba(212, 163, 61, .15), transparent 26%),
    radial-gradient(circle at 92% 82%, rgba(24, 80, 127, .36), transparent 34%),
    linear-gradient(132deg, #050f1c 0%, #071a2e 45%, #0c3152 100%);
}
.v38-booking-section::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  background-image:
    linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .025) 1px, transparent 1px);
  background-size: 78px 78px;
  mask-image: linear-gradient(90deg, #000, transparent 68%);
}
.v38-booking-section::after {
  position: absolute;
  top: -260px;
  left: -240px;
  z-index: -1;
  width: 720px;
  height: 720px;
  border: 1px solid rgba(228, 184, 90, .12);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 90px rgba(228, 184, 90, .02), 0 0 0 180px rgba(255, 255, 255, .012);
}
.v38-booking-watermark {
  position: absolute;
  right: -1vw;
  bottom: -6vw;
  z-index: -1;
  color: rgba(255, 255, 255, .025);
  font-family: var(--display-font);
  font-size: clamp(9rem, 21vw, 22rem);
  font-weight: 600;
  letter-spacing: -.08em;
  line-height: .72;
  pointer-events: none;
}
.v38-booking-layout {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(570px, 1.28fr);
  align-items: start;
  gap: clamp(54px, 7vw, 110px);
}
.v38-booking-intro { position: sticky; top: 110px; }
.v38-booking-intro h2 {
  max-width: 520px;
  margin-bottom: 24px;
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(3.35rem, 5.1vw, 5.65rem);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .9;
}
.v38-booking-intro > p { max-width: 500px; margin-bottom: 34px; color: #b9c7d4; font-size: .98rem; line-height: 1.78; }
.v38-booking-assurances { margin-bottom: 32px; border-top: 1px solid rgba(255, 255, 255, .14); }
.v38-booking-assurances > span {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 3px 13px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.v38-booking-assurances i { grid-row: 1 / span 2; color: #dcae4c; font-family: var(--display-font); font-size: 1.02rem; font-style: normal; }
.v38-booking-assurances strong { color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.v38-booking-assurances small { color: #879aad; font-size: .67rem; }
.v38-booking-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.v38-phone-link { display: flex; flex-direction: column; }
.v38-phone-link small { color: #8ea0b2; font-size: .57rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.v38-phone-link strong { color: #fff; font-family: var(--display-font); font-size: 1.18rem; font-weight: 600; }
.v38-phone-link:hover strong { color: #e6bd67; }

.v38-booking-menu {
  overflow: hidden;
  border: 1px solid rgba(228, 184, 90, .26);
  border-radius: 3px 28px 3px 28px;
  background: rgba(255, 255, 255, .055);
  box-shadow: 0 38px 100px rgba(0, 0, 0, .31);
  backdrop-filter: blur(20px) saturate(1.08);
}
.v38-booking-menu-head {
  display: flex;
  min-height: 100px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 24px 28px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .035);
}
.v38-booking-menu-head small,
.v38-booking-menu-head strong { display: block; }
.v38-booking-menu-head small { margin-bottom: 4px; color: #dcae4c; font-size: .57rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.v38-booking-menu-head strong { color: #fff; font-family: var(--display-font); font-size: 1.85rem; font-weight: 600; }
.v38-booking-menu-head > span { display: flex; align-items: center; gap: 10px; color: #a9b8c6; font-size: .59rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.v38-booking-menu-list { display: block; }
.v38-booking-row {
  position: relative;
  display: grid;
  grid-template-columns: 4px minmax(0, 1fr) auto 28px;
  align-items: center;
  gap: 20px;
  min-height: 128px;
  padding: 21px 27px 21px 0;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .105);
  transition: background .24s ease, padding-left .24s ease, border-color .24s ease;
}
.v38-booking-row:hover { padding-left: 8px; border-color: rgba(228, 184, 90, .32); background: rgba(228, 184, 90, .085); }
.v38-booking-row.is-featured { background: linear-gradient(90deg, rgba(212, 163, 61, .12), rgba(255, 255, 255, .018)); }
.v38-row-mark { align-self: stretch; background: rgba(255, 255, 255, .12); transition: background .24s ease; }
.v38-booking-row.is-featured .v38-row-mark,
.v38-booking-row:hover .v38-row-mark { background: linear-gradient(#e6bd67, #b77811); }
.v38-row-copy small,
.v38-row-copy strong,
.v38-row-copy em { display: block; }
.v38-row-copy small { margin-bottom: 5px; color: #dcb257; font-size: .55rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.v38-row-copy strong { color: #fff; font-family: var(--display-font); font-size: 1.62rem; font-weight: 600; line-height: 1.05; }
.v38-row-copy em { margin-top: 7px; color: #aebdca; font-size: .69rem; font-style: normal; line-height: 1.5; }
.v38-row-price { min-width: 92px; text-align: right; }
.v38-row-price small,
.v38-row-price strong { display: block; }
.v38-row-price small { color: #8396a8; font-size: .53rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.v38-row-price strong { color: #fff; font-family: var(--display-font); font-size: 1.55rem; font-weight: 600; }
.v38-row-arrow { color: #e0b55c; font-size: 1.18rem; font-style: normal; transition: transform .22s ease; }
.v38-booking-row:hover .v38-row-arrow { transform: translateX(5px); }
.v38-booking-menu-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 21px 28px;
  color: #92a4b5;
  background: rgba(3, 11, 20, .28);
  font-size: .69rem;
}
.v38-booking-menu-footer a { display: inline-flex; align-items: center; gap: 9px; color: #e1b65d; font-size: .58rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.v38-booking-menu-footer a:hover { color: #fff; }

@media (max-width: 1120px) {
  .v38-hero-grid { grid-template-columns: minmax(0, .88fr) minmax(460px, 1.12fr); gap: 54px; }
  .v38-hero h1 { font-size: clamp(4rem, 6.6vw, 6.3rem); }
  .v38-hero-booking-card { left: -46px; }
  .v38-booking-layout { grid-template-columns: minmax(280px, .68fr) minmax(520px, 1.32fr); gap: 52px; }
}

@media (max-width: 940px) {
  .v38-hero { min-height: auto; padding-bottom: 0; }
  .v38-hero::before { inset: 53% 0 0; }
  .v38-hero::after { top: 53%; right: 0; bottom: auto; left: 0; width: auto; height: 1px; }
  .v38-hero-monogram { top: 10%; left: -7vw; font-size: 78vw; transform: none; }
  .v38-hero-grid { grid-template-columns: 1fr; gap: 54px; min-height: 0; padding-block: 70px 88px; }
  .v38-hero-copy { max-width: 760px; padding-left: 0; }
  .v38-hero h1 { max-width: 760px; font-size: clamp(4.35rem, 10.5vw, 6.6rem); }
  .v38-hero-visual { width: min(100%, 720px); height: 660px; justify-self: center; }
  .v38-hero-booking-card { bottom: 34px; left: 26px; width: min(330px, calc(100% - 52px)); }
  .v38-scroll-cue { display: none; }
  .v38-brand-rail-inner { grid-template-columns: repeat(2, 1fr); }
  .v38-brand-rail-inner > span:nth-child(2) { border-right: 0; }
  .v38-brand-rail-inner > span:nth-child(-n+2) { border-bottom: 1px solid rgba(255, 255, 255, .09); }
  .v38-brand-rail-inner > span:first-child { padding-left: 23px; }
  .v38-booking-layout { grid-template-columns: 1fr; gap: 50px; }
  .v38-booking-intro { position: static; }
  .v38-booking-intro h2 { max-width: 740px; }
  .v38-booking-intro > p { max-width: 680px; }
  .v38-booking-assurances { display: grid; grid-template-columns: repeat(3, 1fr); }
  .v38-booking-assurances > span { border-right: 1px solid rgba(255, 255, 255, .1); }
  .v38-booking-assurances > span:last-child { border-right: 0; }
}

@media (max-width: 680px) {
  .v38-hero { background: linear-gradient(180deg, #fff 0%, #eef3f7 50%, #071a2e 50%, #0c3152 100%); }
  .v38-hero::before { display: none; }
  .v38-hero::after { top: 50%; }
  .v38-hero-rule-one { top: 46%; right: -260px; width: 540px; height: 540px; }
  .v38-hero-rule-two { display: none; }
  .v38-hero-grid { gap: 42px; padding-block: 48px 66px; }
  .v38-kicker { align-items: flex-start; margin-bottom: 20px; font-size: .57rem; letter-spacing: .15em; }
  .v38-kicker > span { width: 27px; margin-top: .42em; }
  .v38-hero h1 { margin-bottom: 23px; font-size: clamp(3.35rem, 15vw, 4.6rem); line-height: .88; }
  .v38-hero h1 em { font-size: .74em; }
  .v38-hero-lead { margin-bottom: 27px; font-size: .94rem; line-height: 1.7; }
  .v38-hero-actions { align-items: stretch; }
  .v38-hero-actions .v4-button { width: 100%; }
  .v38-outline-link { justify-content: space-between; width: 100%; min-height: 48px; }
  .v38-signature-line { margin-top: 25px; font-size: .92rem; }
  .v38-hero-proof { grid-template-columns: 1fr; margin-top: 29px; padding: 6px 17px; border: 1px solid rgba(7, 20, 38, .12); border-radius: 2px 16px 2px 16px; background: rgba(255, 255, 255, .68); }
  .v38-hero-proof > span { padding: 12px 0; }
  .v38-hero-proof > span + span { padding-left: 0; border-top: 1px solid rgba(7, 20, 38, .1); border-left: 0; }
  .v38-hero-visual { height: 515px; min-height: 0; }
  .v38-hero-image-frame { border-radius: 2px 24px 2px 24px; box-shadow: 0 28px 75px rgba(0, 0, 0, .31), 0 0 0 7px rgba(255, 255, 255, .08); }
  .v38-hero-image-frame::before { inset: 9px; border-radius: 1px 17px 1px 17px; }
  .v38-hero-caption { top: 23px; right: 21px; bottom: auto; left: 21px; }
  .v38-hero-caption strong { font-size: 2.15rem; }
  .v38-hero-caption span { font-size: .56rem; }
  .v38-hero-booking-card { right: 16px; bottom: 17px; left: 16px; width: auto; padding: 18px 19px; }
  .v38-hero-booking-card > strong { font-size: 1.35rem; }
  .v38-brand-rail { overflow-x: auto; scrollbar-width: none; }
  .v38-brand-rail::-webkit-scrollbar { display: none; }
  .v38-brand-rail-inner { display: flex; width: max-content; min-width: 100%; min-height: 74px; }
  .v38-brand-rail-inner > span { min-width: 190px; padding: 15px 18px; border-bottom: 0 !important; }
  .v38-brand-rail-inner > span:first-child { padding-left: 20px; }
  .v38-brand-location { min-width: 220px !important; }
  .v4-service-shell { border-radius: 2px 20px 2px 20px; }
  .v38-booking-section { padding-block: 84px; }
  .v38-booking-intro h2 { font-size: clamp(3rem, 13.5vw, 4.1rem); }
  .v38-booking-intro > p { font-size: .92rem; }
  .v38-booking-assurances { grid-template-columns: 1fr; }
  .v38-booking-assurances > span { border-right: 0; }
  .v38-booking-actions .v4-button { width: 100%; }
  .v38-phone-link { width: 100%; text-align: center; }
  .v38-booking-menu { border-radius: 2px 22px 2px 22px; }
  .v38-booking-menu-head { min-height: 88px; padding: 20px 19px; }
  .v38-booking-menu-head strong { font-size: 1.5rem; }
  .v38-booking-menu-head > span { font-size: .51rem; }
  .v38-booking-row { grid-template-columns: 3px minmax(0, 1fr) auto; gap: 14px; min-height: 121px; padding: 18px 18px 18px 0; }
  .v38-row-copy strong { font-size: 1.4rem; }
  .v38-row-copy em { max-width: 240px; font-size: .63rem; }
  .v38-row-price { min-width: 70px; }
  .v38-row-price strong { font-size: 1.32rem; }
  .v38-row-arrow { display: none; }
  .v38-booking-menu-footer { align-items: flex-start; flex-direction: column; padding: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  .v38-hero-image-frame img,
  .v38-live-dot,
  .v38-scroll-cue i::after { animation: none !important; transition: none !important; }
}

/* ================================================================
   Valiant 3.9 — Midnight Gallery hero and booking reliability states
   ================================================================ */
.booking-slot-warning {
  grid-column: 1 / -1;
  border: 1px solid rgba(170, 116, 31, .28);
  color: #6f4c0a;
  background: #fff8e8;
}

.v39-hero {
  --v39-pointer-x: var(--v4-pointer-x, 72%);
  --v39-pointer-y: var(--v4-pointer-y, 28%);
  position: relative;
  isolation: isolate;
  min-height: 800px;
  overflow: hidden;
  color: #fff;
  background: #061729;
}
.v39-hero::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at var(--v39-pointer-x) var(--v39-pointer-y), rgba(236, 196, 106, .15), transparent 25%),
    linear-gradient(90deg, rgba(5, 18, 33, .06), transparent 42%, rgba(5, 17, 29, .08));
  mix-blend-mode: screen;
  opacity: .9;
}
.v39-hero::after {
  content: "";
  position: absolute;
  z-index: 5;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232, 190, 98, .92) 22%, rgba(232, 190, 98, .92) 78%, transparent);
}
.v39-hero-media {
  position: absolute;
  z-index: 0;
  inset: 0 0 0 38%;
  overflow: hidden;
}
.v39-hero-media::before,
.v39-hero-media::after {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.v39-hero-media::before {
  inset: 0;
  border-left: 1px solid rgba(227, 184, 88, .26);
  background: linear-gradient(180deg, rgba(3, 12, 22, .04), rgba(3, 12, 22, .42));
}
.v39-hero-media::after {
  top: 42px;
  right: 42px;
  bottom: 100px;
  left: 42px;
  border: 1px solid rgba(231, 191, 103, .34);
  border-radius: 1px 30px 1px 30px;
  box-shadow: inset 0 0 0 8px rgba(6, 23, 41, .12);
}
.v39-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% 42%;
  transform: scale(1.035);
  filter: saturate(.82) contrast(1.06) brightness(.9);
  transition: transform 1.2s cubic-bezier(.2, .72, .16, 1), filter .8s ease;
}
.v39-hero:hover .v39-hero-media img {
  transform: scale(1.055);
  filter: saturate(.9) contrast(1.07) brightness(.94);
}
.v39-hero-shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, #061729 0%, #071a2e 42%, rgba(7, 26, 46, .96) 50%, rgba(7, 26, 46, .52) 67%, rgba(5, 16, 29, .18) 100%),
    linear-gradient(180deg, rgba(3, 12, 23, .18), rgba(3, 12, 23, .08) 58%, rgba(3, 12, 23, .78));
}
.v39-hero-architecture {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.v39-monogram {
  position: absolute;
  top: 51%;
  left: -4.5vw;
  color: transparent;
  font-family: var(--display-font);
  font-size: clamp(400px, 48vw, 760px);
  font-weight: 500;
  line-height: .65;
  -webkit-text-stroke: 1px rgba(221, 178, 83, .105);
  transform: translateY(-50%);
  opacity: .92;
}
.v39-gold-orbit {
  position: absolute;
  border: 1px solid rgba(225, 182, 88, .15);
  border-radius: 50%;
}
.v39-gold-orbit-one {
  top: -330px;
  left: 25%;
  width: 780px;
  height: 780px;
}
.v39-gold-orbit-two {
  right: -250px;
  bottom: -520px;
  width: 980px;
  height: 980px;
  border-color: rgba(225, 182, 88, .12);
}
.v39-hero-inner {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(310px, .58fr);
  gap: clamp(52px, 7vw, 108px);
  min-height: 800px;
  align-items: end;
  padding-block: clamp(92px, 9vw, 128px) 108px;
}
.v39-hero-copy {
  align-self: center;
  max-width: 700px;
  padding-bottom: 18px;
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .8s ease .08s, transform .9s cubic-bezier(.2, .75, .2, 1) .08s;
}
.v39-hero.is-visible .v39-hero-copy {
  opacity: 1;
  transform: none;
}
.v39-eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 27px;
  color: #e4b85a;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.v39-eyebrow i {
  width: 44px;
  height: 1px;
  background: linear-gradient(90deg, #e5ba60, rgba(229, 186, 96, .12));
}
.v39-eyebrow small {
  color: rgba(232, 240, 247, .72);
  font-size: inherit;
  font-weight: inherit;
}
.v39-hero h1 {
  max-width: 750px;
  margin: 0 0 27px;
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(4.4rem, 6.75vw, 7rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .86;
  text-wrap: balance;
}
.v39-hero h1 em {
  display: block;
  margin-top: .08em;
  color: #e4b85a;
  font-size: .79em;
  font-weight: 500;
  letter-spacing: -.045em;
}
.v39-hero-lead {
  max-width: 645px;
  margin: 0 0 31px;
  color: rgba(231, 239, 247, .78);
  font-size: clamp(.96rem, 1.25vw, 1.1rem);
  line-height: 1.78;
}
.v39-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 13px;
}
.v39-button-primary,
.v39-button-secondary {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 22px;
  border: 1px solid transparent;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}
.v39-button-primary {
  min-width: 250px;
  color: #08192a;
  border-color: #e6bd67;
  background: linear-gradient(135deg, #f2d184, #d49c32 72%, #bc7b16);
  box-shadow: 0 18px 48px rgba(1, 9, 17, .28), 0 0 0 1px rgba(255, 239, 200, .19) inset;
}
.v39-button-secondary {
  min-width: 246px;
  color: #f4f7fa;
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .035);
  backdrop-filter: blur(12px);
}
.v39-button-primary i,
.v39-button-secondary i {
  font-size: 1.03rem;
  font-style: normal;
  letter-spacing: 0;
  transition: transform .22s ease;
}
.v39-button-primary:hover,
.v39-button-secondary:hover {
  transform: translateY(-2px);
}
.v39-button-primary:hover {
  color: #05111e;
  box-shadow: 0 23px 60px rgba(1, 9, 17, .38), 0 0 0 1px rgba(255, 239, 200, .22) inset;
}
.v39-button-secondary:hover {
  color: #fff;
  border-color: rgba(230, 189, 103, .7);
  background: rgba(230, 189, 103, .09);
}
.v39-button-primary:hover i { transform: translateX(4px); }
.v39-button-secondary:hover i { transform: translateY(3px); }
.v39-brand-promise {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-top: 31px;
}
.v39-brand-promise > span {
  width: 42px;
  height: 1px;
  flex: 0 0 auto;
  background: #d9a94b;
}
.v39-brand-promise p {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 11px;
  margin: 0;
}
.v39-brand-promise strong,
.v39-brand-promise em {
  font-family: var(--display-font);
  font-size: 1.08rem;
  font-weight: 500;
  font-style: normal;
}
.v39-brand-promise strong { color: #fff; }
.v39-brand-promise em { color: #d9a94b; }
.v39-method {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 660px;
  margin-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, .14);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.v39-method > span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 10px 15px;
  border-right: 1px solid rgba(255, 255, 255, .1);
}
.v39-method > span:first-child { padding-left: 0; }
.v39-method > span:last-child { border-right: 0; }
.v39-method small {
  color: #d9aa4d;
  font-family: var(--display-font);
  font-size: .85rem;
}
.v39-method strong {
  color: rgba(241, 246, 250, .84);
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.v39-concierge {
  position: relative;
  align-self: end;
  width: min(100%, 355px);
  justify-self: end;
  margin-bottom: 26px;
  padding: 28px 28px 24px;
  overflow: hidden;
  color: #fff;
  border: 1px solid rgba(229, 186, 95, .48);
  border-radius: 2px 26px 2px 26px;
  background: linear-gradient(145deg, rgba(7, 27, 47, .94), rgba(4, 16, 29, .84));
  box-shadow: 0 38px 90px rgba(1, 8, 15, .5), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(22px) saturate(1.1);
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .8s ease .28s, transform .9s cubic-bezier(.2, .75, .2, 1) .28s;
}
.v39-hero.is-visible .v39-concierge {
  opacity: 1;
  transform: none;
}
.v39-concierge::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 102px;
  height: 3px;
  background: linear-gradient(90deg, transparent, #edc773);
}
.v39-concierge-status {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.v39-concierge-status span {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e8bd62;
  box-shadow: 0 0 0 5px rgba(232, 189, 98, .12), 0 0 17px rgba(232, 189, 98, .65);
}
.v39-concierge-status small {
  color: #e5bc66;
  font-size: .56rem;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.v39-concierge > strong {
  display: block;
  max-width: 285px;
  margin-bottom: 12px;
  color: #fff;
  font-family: var(--display-font);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.05;
}
.v39-concierge > p {
  margin: 0 0 20px;
  color: rgba(224, 234, 243, .74);
  font-size: .74rem;
  line-height: 1.65;
}
.v39-concierge > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 48px;
  padding: 0 16px;
  color: #071728;
  border: 1px solid #e5bd68;
  background: linear-gradient(135deg, #efd080, #d39d35);
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.v39-concierge > a i {
  font-size: 1rem;
  font-style: normal;
  transition: transform .2s ease;
}
.v39-concierge > a:hover { color: #05111d; }
.v39-concierge > a:hover i { transform: translateX(4px); }
.v39-concierge-location {
  display: grid;
  gap: 2px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}
.v39-concierge-location small {
  color: #ddb25a;
  font-size: .52rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.v39-concierge-location span {
  color: #fff;
  font-size: .73rem;
  font-weight: 700;
}
.v39-concierge-location em {
  color: rgba(221, 232, 241, .64);
  font-size: .62rem;
  font-style: normal;
}
.v39-signature-rail {
  position: absolute;
  z-index: 4;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 66px;
  border-top: 1px solid rgba(255, 255, 255, .11);
  background: rgba(3, 13, 24, .74);
  backdrop-filter: blur(16px);
}
.v39-signature-rail .container {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 3vw, 42px);
  color: rgba(238, 244, 249, .8);
  font-size: .57rem;
  font-weight: 820;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.v39-signature-rail i {
  width: 4px;
  height: 4px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #dbaa4d;
  box-shadow: 0 0 0 4px rgba(219, 170, 77, .09);
}

@media (max-width: 1100px) {
  .v39-hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(290px, .5fr);
    gap: 42px;
  }
  .v39-hero h1 { font-size: clamp(4.2rem, 7vw, 5.75rem); }
  .v39-concierge { width: min(100%, 330px); padding: 25px 24px 22px; }
  .v39-concierge > strong { font-size: 1.78rem; }
}

@media (max-width: 900px) {
  .v39-hero { min-height: 0; }
  .v39-hero-media { inset: 0; }
  .v39-hero-media img { object-position: 62% 43%; filter: saturate(.78) contrast(1.05) brightness(.72); }
  .v39-hero-media::after { right: 22px; bottom: 90px; left: 22px; }
  .v39-hero-shade {
    background:
      linear-gradient(90deg, rgba(5, 20, 36, .98) 0%, rgba(5, 20, 36, .91) 55%, rgba(5, 20, 36, .5) 100%),
      linear-gradient(180deg, rgba(3, 12, 22, .24), rgba(3, 12, 22, .38) 52%, rgba(3, 12, 22, .9));
  }
  .v39-hero-inner {
    grid-template-columns: 1fr;
    gap: 35px;
    min-height: 0;
    padding-block: 78px 112px;
  }
  .v39-hero-copy { max-width: 660px; padding-bottom: 0; }
  .v39-concierge { width: min(100%, 590px); justify-self: start; margin-bottom: 0; }
  .v39-concierge > strong { max-width: 500px; }
  .v39-concierge > p { max-width: 520px; }
}

@media (max-width: 620px) {
  .v39-hero::before { opacity: .45; }
  .v39-hero-media img { object-position: 66% 38%; filter: saturate(.72) contrast(1.05) brightness(.62); }
  .v39-hero-media::after { top: 16px; right: 12px; bottom: 78px; left: 12px; border-radius: 1px 20px 1px 20px; }
  .v39-hero-shade {
    background:
      linear-gradient(90deg, rgba(4, 17, 31, .98), rgba(4, 17, 31, .83)),
      linear-gradient(180deg, rgba(3, 12, 22, .15), rgba(3, 12, 22, .92));
  }
  .v39-monogram { top: 27%; left: -22vw; font-size: 125vw; opacity: .7; }
  .v39-gold-orbit-one { top: -250px; left: 10%; width: 520px; height: 520px; }
  .v39-gold-orbit-two { right: -300px; bottom: -420px; width: 700px; height: 700px; }
  .v39-hero-inner { gap: 28px; padding-block: 56px 102px; }
  .v39-eyebrow { flex-wrap: wrap; gap: 8px 11px; margin-bottom: 21px; font-size: .53rem; }
  .v39-eyebrow i { width: 29px; }
  .v39-hero h1 { margin-bottom: 21px; font-size: clamp(3.3rem, 15.5vw, 4.45rem); line-height: .88; }
  .v39-hero h1 em { font-size: .78em; }
  .v39-hero-lead { margin-bottom: 25px; font-size: .9rem; line-height: 1.7; }
  .v39-hero-actions { align-items: stretch; flex-direction: column; }
  .v39-button-primary,
  .v39-button-secondary { width: 100%; min-width: 0; min-height: 53px; }
  .v39-brand-promise { align-items: flex-start; margin-top: 25px; }
  .v39-brand-promise > span { width: 27px; margin-top: 10px; }
  .v39-brand-promise p { display: grid; gap: 2px; }
  .v39-brand-promise strong,
  .v39-brand-promise em { font-size: 1rem; }
  .v39-method { grid-template-columns: 1fr; margin-top: 22px; }
  .v39-method > span { min-height: 45px; padding: 8px 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .09); }
  .v39-method > span:last-child { border-bottom: 0; }
  .v39-concierge { padding: 23px 20px 20px; border-radius: 2px 20px 2px 20px; }
  .v39-concierge > strong { font-size: 1.68rem; }
  .v39-concierge > p { font-size: .7rem; }
  .v39-signature-rail { overflow-x: auto; scrollbar-width: none; }
  .v39-signature-rail::-webkit-scrollbar { display: none; }
  .v39-signature-rail .container { width: max-content; min-width: 100%; justify-content: flex-start; padding-inline: 20px; }
  .v39-signature-rail .container span { white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  .v39-hero-media img,
  .v39-hero-copy,
  .v39-concierge,
  .v39-button-primary,
  .v39-button-secondary { transition: none !important; }
}


/* v3.9.1 luxury refinement and reliability release */
.v39-hero-copy h1 em{background:linear-gradient(100deg,#d9b65c 0%,#f0cf78 48%,#b98318 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 16px 48px rgba(214,165,53,.12)}
.v39-concierge{box-shadow:0 32px 90px rgba(0,7,18,.44),inset 0 1px 0 rgba(255,255,255,.09);backdrop-filter:blur(18px) saturate(112%);-webkit-backdrop-filter:blur(18px) saturate(112%)}
.v39-concierge:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(132deg,rgba(255,255,255,.08),transparent 26%,transparent 68%,rgba(219,174,67,.07))}
.v39-concierge>*{position:relative;z-index:1}
.v39-hero-media:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 40%,rgba(225,185,87,.08),transparent 27%),linear-gradient(115deg,rgba(0,16,36,.98) 5%,rgba(0,20,43,.87) 46%,rgba(0,15,33,.18) 78%,rgba(0,11,25,.5) 100%)}
.v39-button-primary{box-shadow:0 18px 48px rgba(183,128,16,.22)}
.v39-method span{background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)}
.booking-protection-note{border-color:rgba(180,132,31,.34);box-shadow:0 18px 48px rgba(2,20,41,.08)}
@media (max-width:760px){.v39-hero-copy h1 em{text-shadow:none}.v39-hero-media:after{background:linear-gradient(180deg,rgba(0,18,39,.93) 0%,rgba(0,18,39,.82) 48%,rgba(0,18,39,.97) 100%)}}


/* v4.0.0 vivid signature homepage hero ----------------------------------- */
.v410-hero {
  --v410-x: 72%;
  --v410-y: 26%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(54px, 7vw, 96px) 0 34px;
  color: var(--ink);
  background:
    radial-gradient(circle at var(--v410-x) var(--v410-y), rgba(225, 177, 73, .27), transparent 22%),
    radial-gradient(circle at 88% 5%, rgba(88, 151, 205, .22), transparent 28%),
    linear-gradient(126deg, #ffffff 0%, #fbfcfd 43%, #eef4f8 73%, #e5eef5 100%);
}
.v410-hero::before {
  position: absolute;
  top: -23vw;
  right: -20vw;
  z-index: -3;
  width: 63vw;
  height: 63vw;
  border: 1px solid rgba(178, 126, 28, .22);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 5.5vw rgba(255,255,255,.2), 0 0 0 11vw rgba(13,43,73,.035);
}
.v410-hero::after {
  position: absolute;
  right: -7%;
  bottom: 4%;
  z-index: -2;
  width: 54%;
  height: 38%;
  content: "";
  background: repeating-linear-gradient(122deg, transparent 0 29px, rgba(177,126,29,.12) 30px 31px);
  clip-path: polygon(37% 0, 100% 0, 100% 100%, 0 100%);
  opacity: .72;
}
.v410-hero-light {
  position: absolute;
  inset: 0;
  z-index: -4;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.38) 52%, transparent 72%),
    linear-gradient(180deg, transparent 82%, rgba(255,255,255,.72));
}
.v410-hero-monogram {
  position: absolute;
  top: 3%;
  left: 42%;
  z-index: -2;
  color: transparent;
  -webkit-text-stroke: 1px rgba(9, 32, 57, .055);
  font-family: var(--display-font);
  font-size: clamp(22rem, 46vw, 48rem);
  line-height: .78;
  transform: rotate(-7deg);
  pointer-events: none;
  user-select: none;
}
.v410-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(470px, 1.08fr);
  align-items: center;
  gap: clamp(48px, 6.4vw, 100px);
}
.v410-hero-copy { position: relative; z-index: 3; padding-block: 18px 54px; }
.v410-eyebrow {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 27px;
  color: #a86f0d;
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.v410-eyebrow i { width: 54px; height: 1px; background: linear-gradient(90deg, #c78f25, transparent); }
.v410-eyebrow small { color: #506075; font: inherit; }
.v410-hero h1 {
  max-width: 740px;
  margin: 0 0 26px;
  color: #071b31;
  font-family: var(--display-font);
  font-size: clamp(4.4rem, 7.1vw, 7.65rem);
  font-weight: 650;
  letter-spacing: -.064em;
  line-height: .82;
}
.v410-hero h1 small {
  display: block;
  margin-bottom: 18px;
  color: #102d4b;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(.59rem, .86vw, .72rem);
  font-weight: 850;
  letter-spacing: .18em;
  line-height: 1.4;
  text-transform: uppercase;
}
.v410-hero h1 span,
.v410-hero h1 em { display: block; }
.v410-hero h1 em {
  margin-top: .08em;
  color: #be841c;
  background: linear-gradient(98deg, #a96e0e 0%, #d4a13b 44%, #efc96f 75%, #b47610 100%);
  -webkit-background-clip: text;
  background-clip: text;
  font-weight: 630;
  font-style: normal;
  text-shadow: 0 18px 45px rgba(183, 125, 18, .12);
}
.v410-hero-lead {
  max-width: 665px;
  margin: 0 0 29px;
  color: #45566b;
  font-size: clamp(.98rem, 1.25vw, 1.11rem);
  line-height: 1.78;
}
.v410-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-bottom: 32px; }
.v410-button {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: space-between;
  gap: 23px;
  padding: 0 21px;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .125em;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.v410-button:hover { transform: translateY(-2px); }
.v410-button i { font-size: 1rem; font-style: normal; transition: transform .2s ease; }
.v410-button:hover i { transform: translateX(4px); }
.v410-button-primary {
  min-width: 254px;
  color: #07192d;
  border-color: #d4a142;
  background: linear-gradient(118deg, #f1cd75, #d49b31 68%, #bd7e12);
  box-shadow: 0 18px 38px rgba(170, 112, 12, .22);
}
.v410-button-primary:hover { color: #07192d; box-shadow: 0 23px 50px rgba(170,112,12,.29); }
.v410-button-secondary { min-width: 242px; color: #0b223a; border-color: rgba(12,42,71,.2); background: rgba(255,255,255,.8); box-shadow: 0 13px 32px rgba(12,42,71,.07); backdrop-filter: blur(12px); }
.v410-button-secondary:hover { color: #0b223a; border-color: rgba(183,126,19,.55); background: #fff; }
.v410-promise {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 690px;
  border-top: 1px solid rgba(11, 39, 67, .14);
  border-bottom: 1px solid rgba(11, 39, 67, .11);
}
.v410-promise > span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 11px;
  padding: 16px 14px;
  border-right: 1px solid rgba(11,39,67,.1);
}
.v410-promise > span:first-child { padding-left: 0; }
.v410-promise > span:last-child { border-right: 0; }
.v410-promise b { grid-row: 1 / span 2; color: #b97c12; font-family: var(--display-font); font-size: 1.06rem; font-weight: 600; }
.v410-promise strong { color: #102941; font-size: .63rem; font-weight: 850; letter-spacing: .085em; text-transform: uppercase; }
.v410-promise small { color: #6a7788; font-size: .61rem; line-height: 1.35; }
.v410-hero-visual { position: relative; z-index: 2; min-height: 670px; }
.v410-image-shell {
  position: absolute;
  inset: 0 64px 42px 32px;
  overflow: hidden;
  border: 10px solid rgba(255,255,255,.98);
  border-radius: 4px 46px 4px 46px;
  background: #dce7ef;
  box-shadow: 0 38px 90px rgba(17, 49, 77, .24), 0 0 0 1px rgba(128,91,21,.24);
  transform: translateZ(0);
}
.v410-image-shell::before {
  position: absolute;
  inset: 13px;
  z-index: 3;
  border: 1px solid rgba(238, 198, 108, .72);
  border-radius: 2px 34px 2px 34px;
  content: "";
  pointer-events: none;
}
.v410-image-shell::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background:
    linear-gradient(180deg, rgba(7,24,42,.02) 44%, rgba(5,20,36,.86) 100%),
    radial-gradient(circle at 70% 26%, rgba(255, 220, 137, .16), transparent 27%);
  pointer-events: none;
}
.v410-image-shell > img { width: 100%; height: 100%; object-fit: cover; object-position: 53% 50%; filter: saturate(1.08) contrast(1.03) brightness(1.05); transition: transform .8s cubic-bezier(.2,.75,.2,1), filter .4s ease; }
.v410-image-shell:hover > img { transform: scale(1.025); filter: saturate(1.12) contrast(1.035) brightness(1.07); }
.v410-image-accent {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 4;
  width: 94px;
  height: 94px;
  background: linear-gradient(135deg, rgba(237,196,105,.96) 0 49%, transparent 50%);
  pointer-events: none;
}
.v410-image-caption {
  position: absolute;
  right: 34px;
  bottom: 118px;
  left: 34px;
  z-index: 4;
  display: grid;
  gap: 4px;
  color: #fff;
}
.v410-image-caption small { color: #efc66d; font-size: .56rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.v410-image-caption strong { font-family: var(--display-font); font-size: clamp(1.7rem, 2.2vw, 2.45rem); font-weight: 540; letter-spacing: -.035em; line-height: 1; }
.v410-price-badge {
  position: absolute;
  top: 35px;
  right: 24px;
  z-index: 5;
  display: grid;
  width: 205px;
  padding: 19px 19px 16px;
  color: #0c2845;
  border: 1px solid rgba(175,119,16,.32);
  border-radius: 2px 16px 2px 16px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 22px 52px rgba(7,28,49,.21);
  backdrop-filter: blur(17px);
}
.v410-price-badge small { color: #6d7b8e; font-size: .51rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.v410-price-badge strong { margin: 3px 0 11px; font-family: var(--display-font); font-size: 1.72rem; font-weight: 650; }
.v410-price-badge a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 10px; color: #a96f0d; border-top: 1px solid rgba(11,39,67,.1); font-size: .48rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.v410-booking-card {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 7;
  width: min(100%, 392px);
  overflow: hidden;
  border: 1px solid rgba(18,56,88,.2);
  border-radius: 4px 24px 4px 24px;
  background: rgba(255,255,255,.965);
  box-shadow: 0 34px 86px rgba(13,45,73,.25), inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter: blur(20px) saturate(1.08);
}
.v410-booking-card > header {
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 21px;
  color: #fff;
  background: linear-gradient(120deg, #0a2139, #123c60);
}
.v410-booking-card header small,
.v410-booking-card header strong { display: block; }
.v410-booking-card header small { margin-bottom: 2px; color: #edc56d; font-size: .49rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.v410-booking-card header strong { font-family: var(--display-font); font-size: 1.55rem; font-weight: 570; line-height: 1; }
.v410-booking-card header > span { display: flex; align-items: center; gap: 7px; color: #ced9e3; font-size: .48rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.v410-booking-card header > span i { width: 7px; height: 7px; border-radius: 50%; background: #e5b956; box-shadow: 0 0 0 5px rgba(229,185,86,.13), 0 0 16px rgba(229,185,86,.55); }
.v410-booking-tabs { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); padding: 8px; border-bottom: 1px solid rgba(14,46,75,.1); background: #f1f5f8; }
.v410-booking-tabs button { min-height: 40px; padding: 6px 5px; border: 0; border-right: 1px solid rgba(13,44,72,.08); color: #6b7888; background: transparent; cursor: pointer; font-size: .48rem; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; transition: color .18s ease, background .18s ease, box-shadow .18s ease; }
.v410-booking-tabs button:last-child { border-right: 0; }
.v410-booking-tabs button:hover { color: #0a263f; }
.v410-booking-tabs button.is-active { color: #0a263f; background: #fff; box-shadow: 0 5px 18px rgba(17,48,75,.1); }
.v410-booking-selection { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: center; min-height: 132px; padding: 19px 21px 17px; }
.v410-booking-selection > div small { display: block; margin-bottom: 4px; color: #b27a17; font-size: .5rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.v410-booking-selection > div strong { display: block; color: #09233c; font-family: var(--display-font); font-size: 1.55rem; font-weight: 620; line-height: 1; }
.v410-booking-selection p { max-width: 230px; margin: 7px 0 0; color: #667486; font-size: .65rem; line-height: 1.5; }
.v410-booking-selection > span { min-width: 80px; text-align: right; }
.v410-booking-selection > span small { display: block; color: #7b8797; font-size: .47rem; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.v410-booking-selection > span strong { color: #b77911; font-family: var(--display-font); font-size: 1.76rem; font-weight: 650; }
.v410-availability { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 18px; margin: 0 19px; padding: 0 16px; color: #071c31; border: 1px solid #d7a13d; background: linear-gradient(120deg, #f1cf7c, #d69f37); font-size: .54rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.v410-availability:hover { color: #071c31; }
.v410-availability i { font-size: 1rem; font-style: normal; transition: transform .2s ease; }
.v410-availability:hover i { transform: translateX(4px); }
.v410-confirmation { display: flex; align-items: center; gap: 8px; margin: 13px 19px 17px; color: #6b7888; font-size: .57rem; line-height: 1.4; }
.v410-confirmation > span { display: grid; width: 20px; height: 20px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(180,123,19,.38); border-radius: 50%; color: #aa710f; font-size: .63rem; }
.v410-convenience {
  position: relative;
  z-index: 9;
  display: grid;
  grid-template-columns: minmax(360px,1.08fr) minmax(0,.92fr);
  align-items: stretch;
  margin-top: 40px;
  overflow: hidden;
  border: 1px solid rgba(13,43,70,.13);
  border-top: 3px solid #cf9630;
  border-radius: 3px 18px 3px 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 22px 60px rgba(18,48,75,.12);
  backdrop-filter: blur(18px);
}
.v410-studio-location {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 15px;
  min-height: 92px;
  padding: 17px 22px;
  border-right: 1px solid rgba(12,41,68,.11);
}
.v410-studio-location:hover { color: inherit; background: rgba(238,246,252,.74); }
.v410-studio-location b {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(183,124,17,.34);
  border-radius: 50%;
  color: #ad7412;
  background: rgba(229,185,86,.08);
  font-family: var(--display-font);
  font-size: 1rem;
  font-weight: 620;
}
.v410-studio-location small,
.v410-studio-location strong,
.v410-studio-location em { display: block; }
.v410-studio-location small { color: #aa7212; font-size: .49rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.v410-studio-location strong { margin-top: 3px; color: #173049; font-size: .73rem; line-height: 1.35; }
.v410-studio-location em { margin-top: 3px; color: #6d7a89; font-size: .56rem; font-style: normal; line-height: 1.4; }
.v410-studio-location > i { color: #b57a14; font-size: 1rem; font-style: normal; transition: transform .2s ease; }
.v410-studio-location:hover > i { transform: translate(2px,-2px); }
.v410-visit-facts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: center;
  min-width: 0;
}
.v410-visit-facts > span {
  min-width: 0;
  padding: 18px 17px;
  border-right: 1px solid rgba(12,41,68,.09);
}
.v410-visit-facts > span:last-child { border-right: 0; }
.v410-visit-facts small,
.v410-visit-facts strong { display: block; }
.v410-visit-facts small { color: #aa7212; font-size: .45rem; font-weight: 850; letter-spacing: .095em; text-transform: uppercase; }
.v410-visit-facts strong { margin-top: 4px; color: #173049; font-size: .62rem; line-height: 1.42; }

@media (max-width: 1120px) {
  .v410-hero-grid { grid-template-columns: minmax(0,.88fr) minmax(440px,1.12fr); gap: 48px; }
  .v410-hero h1 { font-size: clamp(4.05rem, 6.8vw, 6.5rem); }
  .v410-hero-visual { min-height: 625px; }
  .v410-image-shell { inset: 0 48px 40px 20px; }
  .v410-booking-card { width: 360px; }
  .v410-convenience { grid-template-columns: 1fr; }
  .v410-studio-location { border-right: 0; border-bottom: 1px solid rgba(12,41,68,.1); }
}

@media (max-width: 940px) {
  .v410-hero { padding-top: 66px; }
  .v410-hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .v410-hero-copy { max-width: 760px; padding: 0; }
  .v410-hero h1 { max-width: 760px; font-size: clamp(4.45rem, 10.8vw, 6.8rem); }
  .v410-hero-lead { max-width: 720px; }
  .v410-promise { max-width: 760px; }
  .v410-hero-visual { width: min(100%, 760px); min-height: 720px; justify-self: center; }
  .v410-image-shell { inset: 0 48px 84px 48px; }
  .v410-booking-card { right: 0; bottom: 0; width: min(100%, 430px); }
  .v410-convenience { margin-top: 50px; }
}

@media (max-width: 680px) {
  .v410-hero { padding: 45px 0 24px; background: radial-gradient(circle at 82% 18%, rgba(225,177,73,.24), transparent 25%), linear-gradient(145deg,#fff 0%,#f3f7fa 68%,#e8f0f6 100%); }
  .v410-hero::before { top: -240px; right: -250px; width: 540px; height: 540px; box-shadow: 0 0 0 50px rgba(255,255,255,.2), 0 0 0 100px rgba(13,43,73,.025); }
  .v410-hero::after { right: -28%; bottom: 15%; width: 90%; opacity: .42; }
  .v410-hero-monogram { top: 4%; left: 26%; font-size: 118vw; }
  .v410-eyebrow { flex-wrap: wrap; gap: 8px 10px; margin-bottom: 22px; font-size: .52rem; }
  .v410-eyebrow i { width: 34px; }
  .v410-hero h1 { margin-bottom: 22px; font-size: clamp(3.28rem, 15.4vw, 4.6rem); line-height: .86; }
  .v410-hero h1 small { margin-bottom: 14px; font-size: .52rem; letter-spacing: .15em; }
  .v410-hero-lead { margin-bottom: 24px; font-size: .91rem; line-height: 1.7; }
  .v410-hero-actions { display: grid; grid-template-columns: 1fr; margin-bottom: 26px; }
  .v410-button { width: 100%; min-width: 0; min-height: 54px; }
  .v410-promise { grid-template-columns: 1fr; padding: 5px 0; }
  .v410-promise > span { padding: 11px 0; border-right: 0; border-bottom: 1px solid rgba(11,39,67,.09); }
  .v410-promise > span:last-child { border-bottom: 0; }
  .v410-hero-visual { min-height: 760px; }
  .v410-image-shell { inset: 0 0 246px; border-width: 7px; border-radius: 3px 28px 3px 28px; }
  .v410-image-shell::before { inset: 9px; border-radius: 2px 20px 2px 20px; }
  .v410-image-shell > img { object-position: 56% 50%; }
  .v410-image-caption { right: 23px; bottom: 34px; left: 23px; }
  .v410-image-caption strong { font-size: 1.65rem; }
  .v410-price-badge { top: 19px; right: 16px; width: 176px; padding: 15px; }
  .v410-price-badge strong { font-size: 1.42rem; }
  .v410-booking-card { right: 0; bottom: 0; left: 0; width: auto; border-radius: 3px 20px 3px 20px; }
  .v410-booking-card > header { min-height: 72px; padding: 15px 17px; }
  .v410-booking-card header strong { font-size: 1.35rem; }
  .v410-booking-card header > span { display: none; }
  .v410-booking-tabs { overflow-x: auto; grid-template-columns: repeat(4, minmax(84px,1fr)); scrollbar-width: none; }
  .v410-booking-tabs::-webkit-scrollbar { display: none; }
  .v410-booking-selection { min-height: 121px; padding: 17px; }
  .v410-booking-selection > div strong { font-size: 1.4rem; }
  .v410-booking-selection p { font-size: .61rem; }
  .v410-booking-selection > span strong { font-size: 1.55rem; }
  .v410-availability { margin: 0 15px; }
  .v410-confirmation { margin-inline: 15px; }
  .v410-promise { grid-template-columns: repeat(3,minmax(0,1fr)); padding: 7px 0; }
  .v410-promise > span { min-width: 0; padding: 9px 8px; border-right: 1px solid rgba(11,39,67,.09); border-bottom: 0; }
  .v410-promise > span:first-child { padding-left: 0; }
  .v410-promise > span:last-child { padding-right: 0; border-right: 0; }
  .v410-promise b { font-size: .86rem; }
  .v410-promise strong { font-size: .49rem; line-height: 1.3; }
  .v410-promise small { display: none; }
  .v410-convenience { grid-template-columns: 1fr; margin-top: 34px; }
  .v410-studio-location { min-height: 84px; padding: 14px 15px; border-right: 0; border-bottom: 1px solid rgba(12,41,68,.1); }
  .v410-studio-location b { width: 36px; height: 36px; }
  .v410-studio-location em { font-size: .53rem; }
  .v410-visit-facts { grid-template-columns: 1fr; }
  .v410-visit-facts > span { padding: 13px 16px; border-right: 0; border-bottom: 1px solid rgba(12,41,68,.08); }
  .v410-visit-facts > span:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .v410-image-shell > img,
  .v410-button,
  .v410-button i,
  .v410-availability i { transition: none !important; }
}


/* ==================================================================
   Valiant 4.1 — Current signature colors + true multi-page gateway
   Cool white, mist blue-gray, deep navy, and restrained Valiant gold.
   ================================================================== */
.v411-current-hero {
  --v410-x: 76%;
  --v410-y: 22%;
  padding-top: clamp(48px, 6vw, 84px);
  background:
    radial-gradient(circle at var(--v410-x) var(--v410-y), rgba(212, 163, 61, .17), transparent 22%),
    radial-gradient(circle at 93% 5%, rgba(55, 107, 151, .13), transparent 31%),
    linear-gradient(128deg, #ffffff 0%, #fbfcfd 48%, #edf2f6 72%, #e6edf3 100%);
}
.v411-current-hero::before { border-color: rgba(166,111,24,.18); box-shadow: 0 0 0 5.5vw rgba(255,255,255,.24), 0 0 0 11vw rgba(7,17,31,.025); }
.v411-current-hero::after { background: repeating-linear-gradient(122deg, transparent 0 31px, rgba(7,17,31,.055) 32px 33px); opacity: .7; }
.v411-current-hero .v410-hero-light { background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.66) 48%, rgba(255,255,255,.12) 72%), linear-gradient(180deg, transparent 80%, rgba(255,255,255,.66)); }
.v411-current-hero .v410-hero-monogram { color: transparent; -webkit-text-stroke-color: rgba(7,17,31,.052); }
.v411-current-hero .v410-eyebrow { color: #9f6815; }
.v411-current-hero .v410-eyebrow small { color: #435469; }
.v411-current-hero h1 { color: #07111f; font-size: clamp(4.05rem, 6.55vw, 7.05rem); line-height: .86; }
.v411-current-hero h1 small { color: #17314c; }
.v411-current-hero h1 span { color: #07111f; }
.v411-current-hero h1 em {
  margin-top: .08em;
  color: #b77b19;
  background: linear-gradient(98deg, #9e6510 0%, #c58d29 48%, #d9ad55 78%, #a66a10 100%);
  -webkit-background-clip: text;
  background-clip: text;
  text-shadow: none;
}
.v411-current-hero .v410-hero-lead { color: #46566b; }
.v411-signature-line { display: flex; align-items: center; gap: 13px; margin: -2px 0 23px; color: #07111f; font-family: var(--display-font); font-size: .98rem; letter-spacing: .015em; }
.v411-signature-line i { width: 34px; height: 1px; background: #b77b19; }
.v411-signature-line strong { font-weight: 650; }
.v411-signature-line span { color: #a66f18; }
.v411-current-hero .v410-button-primary { color: #fff; border-color: #071b31; background: linear-gradient(128deg, #07111f, #0e2b47 72%, #143c60); box-shadow: 0 18px 42px rgba(7,17,31,.2); }
.v411-current-hero .v410-button-primary:hover { color: #fff; box-shadow: 0 24px 54px rgba(7,17,31,.27); }
.v411-current-hero .v410-button-secondary { color: #071b31; border-color: rgba(166,111,24,.44); background: rgba(255,255,255,.86); }
.v411-current-hero .v410-promise { border-color: rgba(7,17,31,.13); }
.v411-current-hero .v410-promise > span { border-color: rgba(7,17,31,.09); }
.v411-current-hero .v410-promise b { color: #a66f18; }
.v411-current-hero .v410-image-shell { border-color: rgba(255,255,255,.98); background: #07111f; box-shadow: 0 38px 90px rgba(7,17,31,.27), 0 0 0 1px rgba(166,111,24,.26); }
.v411-current-hero .v410-image-shell > img { object-position: 50% 47%; filter: saturate(.98) contrast(1.05) brightness(.9); }
.v411-current-hero .v410-image-shell:hover > img { filter: saturate(1.02) contrast(1.06) brightness(.94); }
.v411-current-hero .v410-image-shell::after { background: linear-gradient(180deg, rgba(7,17,31,.01) 36%, rgba(4,13,24,.88) 100%), radial-gradient(circle at 76% 22%, rgba(212,163,61,.13), transparent 28%); }
.v411-current-hero .v410-image-accent { background: linear-gradient(135deg, rgba(212,163,61,.94) 0 49%, transparent 50%); }
.v411-current-hero .v410-price-badge { border-color: rgba(166,111,24,.34); background: rgba(255,255,255,.96); }
.v411-current-hero .v410-price-badge strong { color: #07111f; }
.v411-current-hero .v410-booking-card { border-color: rgba(7,17,31,.18); }
.v411-current-hero .v410-booking-card > header { background: linear-gradient(128deg, #07111f, #0c2945 72%, #123a5c); }
.v411-current-hero .v410-availability { color: #07111f; border-color: #c99532; background: linear-gradient(120deg, #e6bd62, #cf9630); }
.v411-current-hero .v410-studio-location:hover { background: rgba(237,242,246,.84); }
.v411-current-hero .v410-convenience { background: rgba(255,255,255,.95); border-color: rgba(7,17,31,.13); border-top-color: rgba(166,111,24,.75); }

.v411-page-rail { position: relative; z-index: 10; padding: 0 0 32px; background: linear-gradient(180deg,#e7eef4 0%,#f6f8fa 100%); }
.v411-page-rail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; border: 1px solid #d6dee6; border-top: 3px solid #b77b19; border-radius: 3px 18px 3px 18px; background: #fff; box-shadow: 0 20px 58px rgba(7,17,31,.1); }
.v411-page-rail a { position: relative; display: grid; min-height: 126px; align-content: center; gap: 4px; padding: 22px 48px 22px 22px; border-right: 1px solid #e0e6eb; transition: background .2s ease, transform .2s ease; }
.v411-page-rail a:last-child { border-right: 0; }
.v411-page-rail a:hover { color: inherit; background: #f3f6f8; }
.v411-page-rail small { color: #a66f18; font-size: .51rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v411-page-rail strong { color: #07111f; font-family: var(--display-font); font-size: 1.22rem; line-height: 1.06; }
.v411-page-rail span { color: #667486; font-size: .61rem; line-height: 1.42; }
.v411-page-rail i { position: absolute; top: 50%; right: 20px; color: #a66f18; font-size: 1rem; font-style: normal; transform: translateY(-50%); transition: transform .2s ease; }
.v411-page-rail a:hover i { transform: translate(4px,-50%); }

@media (max-width: 1080px) {
  .v411-page-rail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .v411-page-rail a:nth-child(2) { border-right: 0; }
  .v411-page-rail a:nth-child(-n+2) { border-bottom: 1px solid #e0e6eb; }
}
@media (max-width: 680px) {
  .v411-current-hero { background: radial-gradient(circle at 84% 15%, rgba(212,163,61,.17), transparent 28%), linear-gradient(145deg,#fff 0%,#f3f6f8 66%,#e7eef4 100%); }
  .v411-current-hero h1 { font-size: clamp(3.18rem, 14.7vw, 4.4rem); }
  .v411-signature-line { margin-bottom: 20px; font-size: .9rem; }
  .v411-page-rail { padding-bottom: 22px; }
  .v411-page-rail-grid { grid-template-columns: 1fr; }
  .v411-page-rail a { min-height: 104px; border-right: 0; border-bottom: 1px solid #e0e6eb; }
  .v411-page-rail a:nth-child(2) { border-bottom: 1px solid #e0e6eb; }
  .v411-page-rail a:last-child { border-bottom: 0; }
}


/* Valiant 4.1.0 dedicated results page and multi-page links ------------- */
.v411-result-links { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 10px; }
.v411-results-titlebar { background: radial-gradient(circle at 86% 12%,rgba(18,59,97,.14),transparent 32%),linear-gradient(128deg,#fff 0%,#f4f7f9 58%,#e8eef4 100%); }
.v411-results-feature { color: #fff; background: linear-gradient(132deg,#07111f 0%,#0b223b 56%,#123b61 100%); }
.v411-results-feature .v4-results-copy { color: #fff; }
.v411-results-feature .v4-results-copy h2,
.v411-results-feature .v4-results-copy p { color: #fff; }
.v411-results-feature .v4-results-disclaimer { color: rgba(255,255,255,.7); }
.v411-results-gallery { background: linear-gradient(180deg,#fff,#edf2f6); }
.v411-results-gallery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.v411-results-gallery-grid article { overflow: hidden; border: 1px solid #d7e0e8; border-radius: 3px 22px 3px 22px; background: #fff; box-shadow: 0 20px 54px rgba(7,17,31,.09); }
.v411-results-gallery-grid figure { overflow: hidden; aspect-ratio: 16/9; margin: 0; background: #07111f; }
.v411-results-gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.v411-results-gallery-grid article:hover img { transform: scale(1.025); }
.v411-results-gallery-grid article > div { padding: 24px 25px 28px; }
.v411-results-gallery-grid small { color: #a66f18; font-size: .59rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.v411-results-gallery-grid h3 { margin: 8px 0 10px; color: #07111f; font-family: var(--display-font); font-size: clamp(1.45rem,2.4vw,2.1rem); }
.v411-results-gallery-grid p { margin: 0; color: #5d6c7e; }
.v411-results-expectations { background: #fff; }
.v411-results-expectations-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(38px,7vw,95px); align-items: start; }
.v411-results-expectations-grid h2 { color: #07111f; }
.v411-results-expectations-list { display: grid; border-top: 1px solid #d7e0e8; }
.v411-results-expectations-list article { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 23px 0; border-bottom: 1px solid #d7e0e8; }
.v411-results-expectations-list span { color: #a66f18; font-family: var(--display-font); font-size: 1.15rem; }
.v411-results-expectations-list h3 { margin: 0 0 5px; color: #07111f; }
.v411-results-expectations-list p { margin: 0; color: #637186; }
@media (max-width: 860px) {
  .v411-results-gallery-grid,
  .v411-results-expectations-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .v411-result-links { display: grid; gap: 12px; }
  .v411-results-gallery-grid { gap: 14px; }
  .v411-results-gallery-grid article > div { padding: 20px; }
}


/* ==================================================================
   Valiant 4.2.0 — readable homepage + clear appointment language
   ================================================================== */
.v412-readable-hero .v410-eyebrow {
  font-size: clamp(.80rem, .92vw, .92rem);
  line-height: 1.5;
  letter-spacing: .135em;
}
.v412-readable-hero h1 small {
  font-size: clamp(.80rem, 1vw, .94rem);
  line-height: 1.55;
  letter-spacing: .145em;
}
.v412-readable-hero .v410-hero-lead {
  max-width: 710px;
  font-size: clamp(1.12rem, 1.42vw, 1.28rem);
  line-height: 1.72;
}
.v412-readable-hero .v411-signature-line { font-size: .94rem; }
.v412-readable-hero .v410-button {
  min-height: 62px;
  padding-inline: 25px;
  font-size: .76rem;
  line-height: 1.35;
  letter-spacing: .105em;
}
.v412-readable-hero .v410-promise strong { font-size: .76rem; line-height: 1.4; }
.v412-readable-hero .v410-promise small { font-size: .73rem; line-height: 1.5; }
.v412-readable-hero .v410-image-caption small { font-size: .69rem; }
.v412-readable-hero .v410-image-caption strong { font-size: 1.56rem; }
.v412-readable-hero .v410-image-caption span { font-size: .79rem; }
.v412-readable-hero .v410-price-badge small { font-size: .65rem; }
.v412-readable-hero .v410-price-badge a { font-size: .63rem; line-height: 1.4; }
.v412-readable-hero .v410-booking-card header small { font-size: .68rem; line-height: 1.4; }
.v412-readable-hero .v410-booking-card header strong { font-size: 1.78rem; line-height: 1.1; }
.v412-readable-hero .v410-booking-card header > span { font-size: .62rem; line-height: 1.4; }
.v412-readable-hero .v410-booking-tabs button { min-height: 46px; font-size: .64rem; }
.v412-readable-hero .v410-booking-selection > div small { font-size: .65rem; }
.v412-readable-hero .v410-booking-selection > div strong { font-size: 1.72rem; }
.v412-readable-hero .v410-booking-selection p { max-width: 265px; font-size: .78rem; line-height: 1.58; }
.v412-readable-hero .v410-booking-selection > span small { font-size: .61rem; }
.v412-readable-hero .v410-availability { min-height: 58px; font-size: .71rem; }
.v412-readable-hero .v410-confirmation { font-size: .70rem; line-height: 1.5; }
.v412-readable-hero .v410-studio-location small { font-size: .66rem; line-height: 1.45; }
.v412-readable-hero .v410-studio-location strong { font-size: .86rem; line-height: 1.4; }
.v412-readable-hero .v410-studio-location em { font-size: .73rem; line-height: 1.45; }
.v412-readable-hero .v410-visit-facts small { font-size: .62rem; line-height: 1.4; }
.v412-readable-hero .v410-visit-facts strong { font-size: .76rem; line-height: 1.4; }
.v411-page-rail small { font-size: .65rem; line-height: 1.4; }
.v411-page-rail span { font-size: .75rem; line-height: 1.45; }
.v4-service-explorer .v4-section-heading > p { font-size: 1.08rem; line-height: 1.75; }
.v412-headlight-visual img,
.headlight-result-image img {
  background: #edf2f6;
  object-fit: cover;
  object-position: center;
}
.pricing-result-image { overflow: hidden; }

@media (max-width: 680px) {
  .v412-readable-hero .v410-eyebrow { font-size: .72rem; line-height: 1.58; }
  .v412-readable-hero h1 small { font-size: .72rem; line-height: 1.6; letter-spacing: .125em; }
  .v412-readable-hero .v410-hero-lead { font-size: 1.04rem; line-height: 1.72; }
  .v412-readable-hero .v411-signature-line { font-size: .86rem; }
  .v412-readable-hero .v410-button { min-height: 60px; font-size: .72rem; }
  .v412-readable-hero .v410-promise { grid-template-columns: 1fr; padding-block: 4px; }
  .v412-readable-hero .v410-promise > span {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 14px 0;
    border-right: 0;
    border-bottom: 1px solid rgba(11,39,67,.10);
  }
  .v412-readable-hero .v410-promise > span:last-child { border-bottom: 0; }
  .v412-readable-hero .v410-promise b { font-size: 1rem; }
  .v412-readable-hero .v410-promise strong { font-size: .70rem; }
  .v412-readable-hero .v410-promise small { display: block; font-size: .72rem; }
  .v412-readable-hero .v410-booking-card header small { font-size: .66rem; }
  .v412-readable-hero .v410-booking-card header strong { font-size: 1.62rem; }
  .v412-readable-hero .v410-booking-card header > span { font-size: .59rem; }
  .v412-readable-hero .v410-booking-tabs button { font-size: .62rem; }
  .v412-readable-hero .v410-booking-selection p { font-size: .75rem; }
  .v412-readable-hero .v410-availability { font-size: .69rem; }
  .v412-readable-hero .v410-confirmation { font-size: .68rem; }
  .v412-readable-hero .v410-studio-location small { font-size: .64rem; }
  .v412-readable-hero .v410-studio-location strong { font-size: .84rem; }
  .v412-readable-hero .v410-studio-location em { font-size: .71rem; }
  .v412-readable-hero .v410-visit-facts small { font-size: .60rem; }
  .v412-readable-hero .v410-visit-facts strong { font-size: .74rem; }
  .v411-page-rail small { font-size: .64rem; }
  .v411-page-rail span { font-size: .75rem; }
  .v4-service-explorer .v4-section-heading > p { font-size: 1rem; }
}


/* ==================================================================
   Valiant 4.3.0 — compact hero, unified service guide, brave story
   ================================================================== */

/* Compact the first screen so service navigation appears sooner. */
.v430-compact-hero {
  padding: clamp(32px, 4.2vw, 58px) 0 18px;
}
.v430-compact-hero .v410-hero-grid {
  grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
  gap: clamp(38px, 5vw, 72px);
}
.v430-compact-hero .v410-hero-copy {
  padding-block: 0 16px;
}
.v430-compact-hero .v410-eyebrow {
  margin-bottom: 15px;
}
.v430-compact-hero .v410-hero-copy h1 {
  max-width: 650px;
  margin-bottom: 17px;
  font-size: clamp(3.7rem, 5.65vw, 6rem);
  line-height: .86;
}
.v430-compact-hero .v410-hero-copy h1 small {
  margin-bottom: 11px;
}
.v430-compact-hero .v410-hero-lead {
  max-width: 610px;
  margin-bottom: 17px;
  font-size: clamp(1rem, 1.16vw, 1.13rem);
  line-height: 1.62;
}
.v430-compact-hero .v411-signature-line {
  margin-bottom: 15px;
}
.v430-compact-hero .v410-hero-actions {
  margin-bottom: 18px;
}
.v430-compact-hero .v410-button {
  min-height: 54px;
  padding-inline: 21px;
  font-size: .7rem;
}
.v430-compact-hero .v410-promise > span {
  padding-block: 11px;
}
.v430-compact-hero .v410-promise strong {
  font-size: .69rem;
}
.v430-compact-hero .v410-promise small {
  font-size: .68rem;
}
.v430-compact-hero .v410-hero-visual {
  min-height: 525px;
}
.v430-compact-hero .v410-image-shell {
  inset: 0 54px 28px 18px;
  border-width: 8px;
  border-radius: 3px 34px 3px 34px;
}
.v430-compact-hero .v410-image-shell::before {
  inset: 10px;
  border-radius: 2px 25px 2px 25px;
}
.v430-compact-hero .v410-image-caption {
  right: 25px;
  bottom: 92px;
  left: 25px;
}
.v430-compact-hero .v410-price-badge {
  top: 24px;
  right: 19px;
  width: 184px;
  padding: 15px 16px 13px;
}
.v430-compact-hero .v410-price-badge strong {
  margin-bottom: 8px;
  font-size: 1.55rem;
}
.v430-compact-hero .v410-booking-card {
  width: min(100%, 350px);
  border-radius: 3px 20px 3px 20px;
}
.v430-compact-hero .v410-booking-card header {
  padding: 16px 18px 15px;
}
.v430-compact-hero .v410-booking-card header strong {
  font-size: 1.48rem;
}
.v430-compact-hero .v410-booking-tabs button {
  min-height: 40px;
}
.v430-compact-hero .v410-booking-selection {
  min-height: 105px;
  padding: 17px 18px;
}
.v430-compact-hero .v410-booking-selection > div strong {
  font-size: 1.48rem;
}
.v430-compact-hero .v410-booking-selection p {
  margin-top: 4px;
  line-height: 1.42;
}
.v430-compact-hero .v410-availability {
  min-height: 50px;
  margin: 0 18px 10px;
}
.v430-compact-hero .v410-confirmation {
  padding: 0 18px 12px;
}
.v430-compact-hero .v410-convenience {
  margin-top: 12px;
}
.v430-compact-hero .v410-studio-location,
.v430-compact-hero .v410-visit-facts > span {
  min-height: 78px;
}
.v430-compact-hero + .v411-page-rail {
  padding-top: 0;
  padding-bottom: 25px;
}
.v430-compact-hero + .v411-page-rail .v411-page-rail-grid {
  transform: translateY(-1px);
}
.v430-compact-hero + .v411-page-rail a {
  min-height: 108px;
}

/* A single, uniform service collection instead of four unrelated ideas. */
.v430-care-explorer {
  padding-block: clamp(78px, 8.5vw, 118px);
  background:
    radial-gradient(circle at 89% 8%, rgba(212, 163, 61, .11), transparent 26%),
    linear-gradient(180deg, #edf2f6 0%, #f8fafb 100%);
}
.v430-care-heading {
  margin-bottom: 31px;
}
.v430-care-heading h2 {
  max-width: 830px;
  font-size: clamp(3rem, 4.65vw, 5.05rem);
}
.v430-care-principles {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 18px;
  overflow: hidden;
  border: 1px solid rgba(7, 17, 31, .11);
  border-top: 3px solid #d4a33d;
  border-radius: 3px 18px 3px 18px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 50px rgba(7, 17, 31, .08);
}
.v430-care-principles > span {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 3px 12px;
  align-content: center;
  min-height: 93px;
  padding: 17px 22px;
  border-right: 1px solid #dce4eb;
}
.v430-care-principles > span:last-child {
  border-right: 0;
}
.v430-care-principles b {
  grid-row: 1 / span 2;
  color: #b97913;
  font-family: var(--display-font);
  font-size: 1.15rem;
  font-weight: 600;
}
.v430-care-principles strong {
  color: #07111f;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.v430-care-principles small {
  color: #667486;
  font-size: .73rem;
  line-height: 1.45;
}
.v430-care-explorer .v4-service-shell {
  display: block;
  overflow: hidden;
  border-top: 3px solid #0b2d4c;
  border-radius: 3px 26px 3px 26px;
  background: #fff;
  box-shadow: 0 32px 88px rgba(7, 26, 47, .14);
}
.v430-care-explorer .v4-service-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0;
  border-right: 0;
  border-bottom: 1px solid #dbe3ea;
  background: #f8fafb;
}
.v430-care-explorer .v4-service-tabs button {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  min-height: 112px;
  align-content: center;
  gap: 2px 12px;
  padding: 19px 18px;
  border-right: 1px solid #dbe3ea;
  border-radius: 0;
  color: #07111f;
  background: transparent;
  transform: none;
}
.v430-care-explorer .v4-service-tabs button:last-child {
  border-right: 0;
}
.v430-care-explorer .v4-service-tabs button + button {
  margin-top: 0;
}
.v430-care-explorer .v4-service-tabs button::after {
  right: 18px;
}
.v430-care-explorer .v4-service-tabs button::before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
  height: 3px;
  content: "";
  background: transparent;
}
.v430-care-explorer .v4-service-tabs button:hover {
  background: #fff;
}
.v430-care-explorer .v4-service-tabs button[aria-selected="true"] {
  color: #fff;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.1);
  border-radius: 0;
  background: linear-gradient(135deg, #071a2e, #103a60);
  box-shadow: inset 0 -3px 0 #d4a33d;
  transform: none;
}
.v430-care-explorer .v4-service-tabs button[aria-selected="true"]::before {
  display: none;
}
.v430-care-explorer .v4-service-tabs button > span {
  grid-row: 1 / span 2;
  align-self: center;
  color: #b77a16;
  font-size: 1.42rem;
  opacity: 1;
}
.v430-care-explorer .v4-service-tabs button strong {
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.v430-care-explorer .v4-service-tabs button small {
  color: #657488;
  font-size: .68rem;
  line-height: 1.35;
  opacity: 1;
}
.v430-care-explorer .v4-service-tabs button[aria-selected="true"] > span,
.v430-care-explorer .v4-service-tabs button[aria-selected="true"] small {
  color: #e7bd61;
}
.v430-care-explorer .v4-service-panel {
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  min-height: 520px;
}
.v430-care-explorer .v4-service-panel figure {
  min-height: 520px;
  margin: 16px 0 16px 16px;
  border-radius: 2px 20px 2px 20px;
}
.v430-care-explorer .v4-service-panel figcaption {
  right: 18px;
  bottom: 18px;
  left: 18px;
  padding: 14px 16px;
}
.v430-care-explorer .v4-service-copy {
  justify-content: center;
  padding: clamp(32px, 4vw, 54px);
}
.v430-care-explorer .v4-service-meta {
  margin-bottom: 22px;
  padding-bottom: 15px;
}
.v430-care-explorer .v4-service-copy h3 {
  margin-bottom: 14px;
  font-size: clamp(1.95rem, 2.7vw, 2.8rem);
}
.v430-care-explorer .v4-service-copy ul {
  margin: 21px 0 25px;
}

/* Make courage the emotional center of the story while keeping the brand refined. */
.story-brave-v4 .story-hero-v3 {
  background:
    radial-gradient(circle at 82% 17%, rgba(212, 163, 61, .22), transparent 28%),
    linear-gradient(135deg, #06111f 0%, #0a2845 58%, #113b61 100%);
}
.story-brave-v4 .story-hero-v3-copy h1 {
  max-width: 860px;
  font-size: clamp(3.45rem, 6vw, 6.25rem);
  line-height: .91;
}
.story-brave-v4 .story-hero-v3-copy .lead {
  max-width: 760px;
  font-size: clamp(1.08rem, 1.35vw, 1.27rem);
}
.story-brave-v4 .story-hero-v3-visual figcaption {
  border-color: rgba(212, 163, 61, .5);
  background: rgba(6, 20, 36, .91);
}
.story-brave-v4 .story-origin-quote {
  border-left: 4px solid #d4a33d;
  background: linear-gradient(135deg, #fff, #edf3f7);
  box-shadow: 0 20px 55px rgba(7,17,31,.08);
}
.story-brave-v4 .story-origin-quote p {
  color: #0b2946;
  font-size: clamp(1.55rem, 2.8vw, 2.35rem);
}
.story-brave-v4 .story-journey-v3 article {
  border-color: #d8e1e8;
  background: linear-gradient(135deg, #fff, #f7f9fb);
}
.story-brave-v4 .story-journey-v3 article:hover {
  border-color: rgba(212, 163, 61, .65);
  box-shadow: 0 18px 48px rgba(7,17,31,.09);
}
.story-brave-v4 .story-name-v3-promise {
  max-width: 980px;
  border-top: 1px solid rgba(212, 163, 61, .45);
  border-bottom: 1px solid rgba(212, 163, 61, .45);
  color: #0b2946;
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1.55;
}
.story-brave-v4 .story-remember-v3-grid article {
  border-top: 3px solid #d4a33d;
}
.story-brave-v4 .story-remember-v3-grid article.featured {
  border-top-color: #efc66d;
  background: linear-gradient(145deg, #071728, #0f385d);
}
.story-brave-v4 .story-letter-v3-card {
  border-top: 4px solid #d4a33d;
  box-shadow: 0 42px 110px rgba(4, 20, 37, .24);
}
.story-brave-v4 .story-letter-v3-card .letter-opening {
  color: #0c2b49;
  font-size: clamp(1.75rem, 3vw, 2.65rem) !important;
  line-height: 1.28;
}
.story-brave-v4 .story-letter-v3-card .letter-name-line {
  border-left: 3px solid #d4a33d;
  background: #edf3f7;
}
.story-brave-v4 .story-letter-v3-card .letter-heart {
  color: #fff;
  border: 1px solid rgba(212, 163, 61, .56);
  background: linear-gradient(135deg, #071728, #0e3558);
  box-shadow: 0 18px 48px rgba(7,17,31,.18);
}
.story-brave-v4 .story-letter-v3-card .letter-close {
  border-top-color: rgba(212, 163, 61, .42);
}

@media (max-width: 1120px) {
  .v430-compact-hero .v410-hero-grid {
    grid-template-columns: minmax(0, .92fr) minmax(400px, 1.08fr);
    gap: 34px;
  }
  .v430-compact-hero .v410-hero-copy h1 {
    font-size: clamp(3.55rem, 6vw, 5.2rem);
  }
  .v430-compact-hero .v410-hero-visual {
    min-height: 500px;
  }
  .v430-care-explorer .v4-service-tabs button {
    grid-template-columns: 34px minmax(0, 1fr);
    padding-inline: 14px;
  }
  .v430-care-explorer .v4-service-panel {
    grid-template-columns: minmax(0, 1fr) minmax(310px, .9fr);
  }
}

@media (max-width: 940px) {
  .v430-compact-hero {
    padding-top: 36px;
  }
  .v430-compact-hero .v410-hero-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .v430-compact-hero .v410-hero-copy {
    max-width: 790px;
  }
  .v430-compact-hero .v410-hero-copy h1 {
    max-width: 760px;
    font-size: clamp(3.7rem, 9vw, 5.7rem);
  }
  .v430-compact-hero .v410-hero-visual {
    width: min(100%, 760px);
    min-height: 520px;
    justify-self: center;
  }
  .v430-care-heading {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .v430-care-principles {
    grid-template-columns: 1fr;
  }
  .v430-care-principles > span {
    min-height: 76px;
    border-right: 0;
    border-bottom: 1px solid #dce4eb;
  }
  .v430-care-principles > span:last-child {
    border-bottom: 0;
  }
  .v430-care-explorer .v4-service-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v430-care-explorer .v4-service-tabs button:nth-child(2) {
    border-right: 0;
  }
  .v430-care-explorer .v4-service-tabs button:nth-child(-n+2) {
    border-bottom: 1px solid #dbe3ea;
  }
  .v430-care-explorer .v4-service-panel {
    grid-template-columns: 1fr;
  }
  .v430-care-explorer .v4-service-panel figure {
    min-height: 420px;
    margin: 14px 14px 0;
  }
  .story-brave-v4 .story-hero-v3-copy h1 {
    font-size: clamp(3.2rem, 9vw, 5.2rem);
  }
}

@media (max-width: 680px) {
  .v430-compact-hero {
    padding: 28px 0 14px;
  }
  .v430-compact-hero .v410-eyebrow {
    margin-bottom: 12px;
  }
  .v430-compact-hero .v410-hero-copy h1 {
    margin-bottom: 15px;
    font-size: clamp(3.05rem, 13.7vw, 4.15rem);
    line-height: .88;
  }
  .v430-compact-hero .v410-hero-copy h1 small {
    margin-bottom: 9px;
    font-size: .66rem;
  }
  .v430-compact-hero .v410-hero-lead {
    margin-bottom: 14px;
    font-size: .98rem;
    line-height: 1.58;
  }
  .v430-compact-hero .v411-signature-line {
    margin-bottom: 13px;
  }
  .v430-compact-hero .v410-hero-actions {
    gap: 9px;
    margin-bottom: 15px;
  }
  .v430-compact-hero .v410-button {
    min-height: 52px;
  }
  .v430-compact-hero .v410-promise {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0;
  }
  .v430-compact-hero .v410-promise > span {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 72px;
    align-content: center;
    gap: 1px;
    padding: 9px 8px;
    border-right: 1px solid rgba(11,39,67,.1);
    border-bottom: 0;
    text-align: center;
  }
  .v430-compact-hero .v410-promise > span:first-child {
    padding-left: 8px;
  }
  .v430-compact-hero .v410-promise > span:last-child {
    border-right: 0;
  }
  .v430-compact-hero .v410-promise b {
    grid-row: auto;
    font-size: .9rem;
  }
  .v430-compact-hero .v410-promise strong {
    font-size: .57rem;
  }
  .v430-compact-hero .v410-promise small {
    display: none;
  }
  .v430-compact-hero .v410-hero-visual {
    min-height: 350px;
  }
  .v430-compact-hero .v410-image-shell {
    inset: 0;
    border-width: 7px;
  }
  .v430-compact-hero .v410-image-caption {
    right: 18px;
    bottom: 18px;
    left: 18px;
  }
  .v430-compact-hero .v410-price-badge {
    top: 17px;
    right: 15px;
    width: 166px;
  }
  .v430-compact-hero .v410-booking-card {
    display: none;
  }
  .v430-compact-hero .v410-convenience {
    margin-top: 14px;
  }
  .v430-compact-hero + .v411-page-rail a {
    min-height: 92px;
  }
  .v430-care-explorer {
    padding-block: 64px 78px;
  }
  .v430-care-heading {
    margin-bottom: 24px;
  }
  .v430-care-heading h2 {
    font-size: clamp(2.65rem, 12vw, 3.65rem);
  }
  .v430-care-principles > span {
    grid-template-columns: 30px minmax(0, 1fr);
    padding: 14px 16px;
  }
  .v430-care-explorer .v4-service-tabs {
    grid-template-columns: 1fr;
  }
  .v430-care-explorer .v4-service-tabs button {
    min-height: 78px;
    border-right: 0;
    border-bottom: 1px solid #dbe3ea;
  }
  .v430-care-explorer .v4-service-tabs button:nth-child(-n+2) {
    border-bottom: 1px solid #dbe3ea;
  }
  .v430-care-explorer .v4-service-tabs button:last-child {
    border-bottom: 0;
  }
  .v430-care-explorer .v4-service-panel figure {
    min-height: 310px;
    margin: 10px 10px 0;
  }
  .v430-care-explorer .v4-service-copy {
    padding: 27px 22px 31px;
  }
  .v430-care-explorer .v4-service-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .story-brave-v4 .story-hero-v3-copy h1 {
    font-size: clamp(3rem, 13vw, 4.25rem);
  }
  .story-brave-v4 .story-hero-v3-copy .lead {
    font-size: 1.02rem;
  }
  .story-brave-v4 .story-origin-quote p {
    font-size: 1.45rem;
  }
}

/* ==================================================================
   Valiant 4.3.0 final refinement — shorter first screen + one service system
   ================================================================== */
.v430-compact-hero {
  padding: clamp(22px, 2.7vw, 36px) 0 12px;
}
.v430-compact-hero .v410-hero-grid {
  grid-template-columns: minmax(0, .96fr) minmax(400px, 1.04fr);
  gap: clamp(28px, 3.5vw, 50px);
}
.v430-compact-hero .v410-hero-copy {
  padding-block: 0 6px;
}
.v430-compact-hero .v410-eyebrow {
  margin-bottom: 10px;
  font-size: clamp(.72rem, .8vw, .82rem);
  line-height: 1.4;
}
.v430-compact-hero .v410-hero-copy h1 {
  max-width: 610px;
  margin-bottom: 12px;
  font-size: clamp(3.45rem, 4.9vw, 5.15rem);
  line-height: .89;
}
.v430-compact-hero .v410-hero-lead {
  max-width: 590px;
  margin-bottom: 11px;
  font-size: clamp(1rem, 1.08vw, 1.1rem);
  line-height: 1.56;
}
.v430-compact-hero .v411-signature-line {
  margin-bottom: 11px;
  font-size: .84rem;
}
.v430-compact-hero .v410-hero-actions {
  gap: 10px;
  margin-bottom: 12px;
}
.v430-compact-hero .v410-button {
  min-height: 49px;
  padding-inline: 18px;
  font-size: .68rem;
}
.v430-compact-hero .v410-button-primary,
.v430-compact-hero .v410-button-secondary {
  min-width: 0;
}
.v430-compact-hero .v410-promise > span {
  min-height: 60px;
  padding: 8px 10px;
}
.v430-compact-hero .v410-promise b { font-size: .92rem; }
.v430-compact-hero .v410-promise strong { font-size: .63rem; }
.v430-compact-hero .v410-promise small { font-size: .64rem; line-height: 1.32; }
.v430-compact-hero .v410-hero-visual {
  min-height: 438px;
}
.v430-compact-hero .v410-image-shell {
  inset: 0 38px 0 8px;
  border-width: 7px;
  border-radius: 3px 28px 3px 28px;
}
.v430-compact-hero .v410-image-shell::before {
  inset: 9px;
  border-radius: 2px 20px 2px 20px;
}
.v430-compact-hero .v410-image-caption {
  right: 22px;
  bottom: 25px;
  left: 22px;
}
.v430-compact-hero .v410-image-caption strong { font-size: 1.38rem; }
.v430-compact-hero .v410-price-badge {
  top: 18px;
  right: 14px;
  width: 166px;
  padding: 12px 14px 11px;
}
.v430-compact-hero .v410-price-badge strong {
  margin: 2px 0 6px;
  font-size: 1.38rem;
}
.v430-compact-hero .v410-price-badge a { padding-top: 7px; }
.v430-compact-hero .v410-booking-card {
  right: 0;
  bottom: -2px;
  width: min(100%, 315px);
  border-radius: 3px 17px 3px 17px;
}
.v430-compact-hero .v410-booking-card header {
  min-height: 65px;
  padding: 12px 15px;
}
.v430-compact-hero .v410-booking-card header strong { font-size: 1.32rem; }
.v430-compact-hero .v410-booking-card header > span { max-width: 84px; }
.v430-compact-hero .v410-booking-tabs button {
  min-height: 37px;
  padding-inline: 7px;
  font-size: .56rem;
}
.v430-compact-hero .v410-booking-selection {
  min-height: 88px;
  padding: 13px 15px;
}
.v430-compact-hero .v410-booking-selection > div strong { font-size: 1.3rem; }
.v430-compact-hero .v410-booking-selection p {
  max-width: 198px;
  font-size: .69rem;
  line-height: 1.35;
}
.v430-compact-hero .v410-booking-selection > span strong { font-size: 1.42rem; }
.v430-compact-hero .v410-availability {
  min-height: 45px;
  margin: 0 15px 7px;
  padding-inline: 14px;
  font-size: .62rem;
}
.v430-compact-hero .v410-confirmation {
  padding: 0 15px 9px;
  font-size: .61rem;
}
.v430-compact-hero .v410-convenience {
  margin-top: 9px;
}
.v430-compact-hero .v410-studio-location,
.v430-compact-hero .v410-visit-facts > span {
  min-height: 64px;
}
.v430-compact-hero .v410-studio-location { padding-block: 9px; }
.v430-compact-hero .v410-visit-facts > span { padding-block: 10px; }
.v430-compact-hero + .v411-page-rail {
  padding-bottom: 20px;
}
.v430-compact-hero + .v411-page-rail a {
  min-height: 96px;
  padding-block: 17px;
}

/* Join the principles, service tabs, and service detail into one premium object. */
.v430-care-explorer {
  padding-block: clamp(66px, 7vw, 94px);
  background:
    radial-gradient(circle at 90% 7%, rgba(212, 163, 61, .10), transparent 24%),
    linear-gradient(180deg, #edf2f6 0%, #f9fbfc 100%);
}
.v430-care-heading {
  margin-bottom: 24px;
}
.v430-care-heading h2 {
  max-width: 760px;
  font-size: clamp(2.8rem, 4.05vw, 4.35rem);
  line-height: .94;
}
.v430-care-heading > p {
  max-width: 520px;
  color: #536379;
  font-size: 1.04rem;
  line-height: 1.68;
}
.v430-care-collection {
  overflow: hidden;
  border: 1px solid rgba(7, 17, 31, .12);
  border-top: 3px solid #d4a33d;
  border-radius: 3px 25px 3px 25px;
  background: #fff;
  box-shadow: 0 30px 82px rgba(7, 26, 47, .14);
}
.v430-care-collection .v430-care-principles {
  margin: 0;
  border: 0;
  border-radius: 0;
  color: #fff;
  background:
    linear-gradient(115deg, rgba(212, 163, 61, .10), transparent 32%),
    linear-gradient(130deg, #07111f, #0b2947 70%, #103a60);
  box-shadow: none;
}
.v430-care-collection .v430-care-principles > span {
  min-height: 80px;
  padding: 14px 20px;
  border-color: rgba(255,255,255,.13);
}
.v430-care-collection .v430-care-principles b { color: #e3b752; }
.v430-care-collection .v430-care-principles strong { color: #fff; }
.v430-care-collection .v430-care-principles small { color: rgba(255,255,255,.72); }
.v430-care-collection .v4-service-shell {
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.v430-care-explorer .v4-service-tabs button {
  min-height: 96px;
}
.v430-care-explorer .v4-service-panel {
  min-height: 475px;
}
.v430-care-explorer .v4-service-panel figure {
  min-height: 445px;
  margin: 14px 0 14px 14px;
}
.v430-care-explorer .v4-service-copy {
  padding: clamp(29px, 3.5vw, 46px);
}

@media (max-width: 1120px) {
  .v430-compact-hero .v410-hero-grid {
    grid-template-columns: minmax(0, .94fr) minmax(380px, 1.06fr);
    gap: 28px;
  }
  .v430-compact-hero .v410-hero-copy h1 {
    font-size: clamp(3.3rem, 5.6vw, 4.75rem);
  }
  .v430-compact-hero .v410-hero-visual { min-height: 420px; }
}

@media (max-width: 940px) {
  .v430-compact-hero {
    padding-top: 28px;
  }
  .v430-compact-hero .v410-hero-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .v430-compact-hero .v410-hero-copy {
    max-width: 760px;
  }
  .v430-compact-hero .v410-hero-copy h1 {
    max-width: 700px;
    font-size: clamp(3.45rem, 8vw, 5rem);
  }
  .v430-compact-hero .v410-hero-visual {
    width: min(100%, 720px);
    min-height: 365px;
  }
  .v430-compact-hero .v410-convenience {
    grid-template-columns: minmax(0, 1fr);
  }
  .v430-compact-hero .v410-visit-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .v430-care-heading {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .v430-care-heading > p { max-width: 720px; }
  .v430-care-collection .v430-care-principles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .v430-care-collection .v430-care-principles > span {
    min-height: 92px;
    border-right: 1px solid rgba(255,255,255,.13);
    border-bottom: 0;
  }
  .v430-care-collection .v430-care-principles > span:last-child { border-right: 0; }
}

@media (max-width: 680px) {
  .v430-compact-hero {
    padding: 19px 0 10px;
  }
  .v430-compact-hero .v410-hero-grid { gap: 14px; }
  .v430-compact-hero .v410-eyebrow {
    margin-bottom: 8px;
    font-size: .67rem;
    letter-spacing: .11em;
  }
  .v430-compact-hero .v410-hero-copy h1 {
    margin-bottom: 10px;
    font-size: clamp(2.85rem, 12.7vw, 3.75rem);
    line-height: .9;
  }
  .v430-compact-hero .v410-hero-lead {
    margin-bottom: 9px;
    font-size: .94rem;
    line-height: 1.52;
  }
  .v430-compact-hero .v411-signature-line {
    margin-bottom: 9px;
    font-size: .78rem;
  }
  .v430-compact-hero .v410-hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 0;
  }
  .v430-compact-hero .v410-button {
    min-height: 48px;
    padding-inline: 12px;
    gap: 8px;
    font-size: .61rem;
  }
  .v430-compact-hero .v410-promise { display: none; }
  .v430-compact-hero .v410-hero-visual {
    min-height: 245px;
  }
  .v430-compact-hero .v410-image-shell {
    inset: 0;
    border-width: 6px;
    border-radius: 3px 22px 3px 22px;
  }
  .v430-compact-hero .v410-image-shell > img { object-position: 50% 47%; }
  .v430-compact-hero .v410-image-caption { display: none; }
  .v430-compact-hero .v410-price-badge {
    top: 12px;
    right: 11px;
    width: 142px;
    padding: 10px 11px 9px;
  }
  .v430-compact-hero .v410-price-badge small { font-size: .54rem; }
  .v430-compact-hero .v410-price-badge strong { font-size: 1.2rem; }
  .v430-compact-hero .v410-price-badge a { font-size: .52rem; }
  .v430-compact-hero .v410-booking-card { display: none; }
  .v430-compact-hero .v410-convenience { margin-top: 10px; }
  .v430-compact-hero .v410-studio-location {
    min-height: 66px;
    padding: 9px 12px;
  }
  .v430-compact-hero .v410-studio-location em { display: none; }
  .v430-compact-hero .v410-visit-facts { display: none; }
  .v430-compact-hero + .v411-page-rail { padding-bottom: 14px; }
  .v430-compact-hero + .v411-page-rail .v411-page-rail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v430-compact-hero + .v411-page-rail a {
    min-height: 86px;
    padding: 13px 30px 13px 13px;
    border-right: 1px solid #e0e6eb;
    border-bottom: 1px solid #e0e6eb;
  }
  .v430-compact-hero + .v411-page-rail a:nth-child(2n) { border-right: 0; }
  .v430-compact-hero + .v411-page-rail a:nth-last-child(-n+2) { border-bottom: 0; }
  .v430-compact-hero + .v411-page-rail strong { font-size: 1rem; }
  .v430-compact-hero + .v411-page-rail span { display: none; }
  .v430-compact-hero + .v411-page-rail i { right: 11px; }

  .v430-care-explorer { padding-block: 54px 66px; }
  .v430-care-heading { margin-bottom: 20px; }
  .v430-care-heading h2 {
    font-size: clamp(2.45rem, 11.3vw, 3.35rem);
  }
  .v430-care-heading > p {
    font-size: .98rem;
    line-height: 1.62;
  }
  .v430-care-collection { border-radius: 3px 18px 3px 18px; }
  .v430-care-collection .v430-care-principles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .v430-care-collection .v430-care-principles > span {
    display: grid;
    grid-template-columns: 1fr;
    min-height: 73px;
    gap: 2px;
    padding: 10px 7px;
    border-right: 1px solid rgba(255,255,255,.13);
    border-bottom: 0;
    text-align: center;
  }
  .v430-care-collection .v430-care-principles b {
    grid-row: auto;
    font-size: .88rem;
  }
  .v430-care-collection .v430-care-principles strong { font-size: .56rem; }
  .v430-care-collection .v430-care-principles small { display: none; }
  .v430-care-explorer .v4-service-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v430-care-explorer .v4-service-tabs button {
    min-height: 82px;
    border-right: 1px solid #dbe3ea;
    border-bottom: 1px solid #dbe3ea;
  }
  .v430-care-explorer .v4-service-tabs button:nth-child(2n) { border-right: 0; }
  .v430-care-explorer .v4-service-tabs button:nth-last-child(-n+2) { border-bottom: 0; }
  .v430-care-explorer .v4-service-panel { min-height: 0; }
  .v430-care-explorer .v4-service-panel figure {
    min-height: 250px;
    margin: 9px 9px 0;
  }
  .v430-care-explorer .v4-service-copy { padding: 24px 20px 28px; }
}

@media (max-width: 390px) {
  .v430-compact-hero .v410-hero-actions { grid-template-columns: 1fr; }
  .v430-compact-hero .v410-button { min-height: 45px; }
}


/* ==================================================================
   Valiant 4.3.1 — spacious hero and scheduling directly below hero
   ================================================================== */

/* Give the opening composition more room now that scheduling is no longer
   layered over the hero image. */
.v431-spacious-hero {
  padding: clamp(34px, 4vw, 54px) 0 24px;
}
.v431-spacious-hero .v410-hero-grid {
  grid-template-columns: minmax(0, .94fr) minmax(420px, 1.06fr);
  gap: clamp(34px, 4.4vw, 64px);
}
.v431-spacious-hero .v410-hero-copy {
  padding-block: 8px 18px;
}
.v431-spacious-hero .v410-eyebrow {
  margin-bottom: 14px;
}
.v431-spacious-hero .v410-hero-copy h1 {
  max-width: 640px;
  margin-bottom: 17px;
  font-size: clamp(3.65rem, 5.2vw, 5.65rem);
  line-height: .88;
}
.v431-spacious-hero .v410-hero-lead {
  max-width: 615px;
  margin-bottom: 16px;
  line-height: 1.64;
}
.v431-spacious-hero .v411-signature-line {
  margin-bottom: 15px;
}
.v431-spacious-hero .v410-hero-actions {
  margin-bottom: 18px;
}
.v431-spacious-hero .v410-promise > span {
  min-height: 68px;
  padding-block: 10px;
}
.v431-spacious-hero .v410-hero-visual {
  min-height: 500px;
}
.v431-spacious-hero .v410-image-shell {
  inset: 0 10px 0 14px;
  border-width: 8px;
  border-radius: 3px 34px 3px 34px;
}
.v431-spacious-hero .v410-image-shell::before {
  inset: 10px;
  border-radius: 2px 25px 2px 25px;
}
.v431-spacious-hero .v410-image-caption {
  right: 28px;
  bottom: 31px;
  left: 28px;
}
.v431-spacious-hero .v410-price-badge {
  top: 24px;
  right: 20px;
  width: 184px;
  padding: 15px 16px 13px;
}
.v431-spacious-hero .v410-convenience {
  margin-top: 22px;
}
.v431-spacious-hero .v410-studio-location,
.v431-spacious-hero .v410-visit-facts > span {
  min-height: 74px;
}

/* Scheduling now serves as the first complete section after the hero. */
.v431-booking-after-hero {
  padding-block: clamp(76px, 7.5vw, 112px);
}
.v431-booking-after-hero .v38-booking-intro h2 {
  font-size: clamp(3.1rem, 4.7vw, 5.2rem);
}
.v431-booking-after-hero + .v411-page-rail {
  padding-top: 28px;
  padding-bottom: 28px;
  background: linear-gradient(180deg, #e7eef4 0%, #f6f8fa 100%);
}
.v431-booking-after-hero + .v411-page-rail a {
  min-height: 110px;
}

@media (max-width: 1120px) {
  .v431-spacious-hero .v410-hero-grid {
    grid-template-columns: minmax(0, .94fr) minmax(390px, 1.06fr);
    gap: 32px;
  }
  .v431-spacious-hero .v410-hero-visual { min-height: 475px; }
}

@media (max-width: 940px) {
  .v431-spacious-hero {
    padding-top: 40px;
  }
  .v431-spacious-hero .v410-hero-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .v431-spacious-hero .v410-hero-copy {
    max-width: 790px;
  }
  .v431-spacious-hero .v410-hero-copy h1 {
    max-width: 740px;
    font-size: clamp(3.65rem, 8.5vw, 5.4rem);
  }
  .v431-spacious-hero .v410-hero-visual {
    width: min(100%, 760px);
    min-height: 430px;
    justify-self: center;
  }
  .v431-spacious-hero .v410-image-shell {
    inset: 0;
  }
  .v431-booking-after-hero {
    padding-block: 78px 88px;
  }
  .v431-booking-after-hero + .v411-page-rail {
    padding-top: 24px;
  }
}

@media (max-width: 680px) {
  .v431-spacious-hero {
    padding: 27px 0 18px;
  }
  .v431-spacious-hero .v410-hero-grid { gap: 22px; }
  .v431-spacious-hero .v410-hero-copy h1 {
    margin-bottom: 13px;
    font-size: clamp(3rem, 13.3vw, 4rem);
    line-height: .9;
  }
  .v431-spacious-hero .v410-hero-lead {
    margin-bottom: 13px;
    font-size: .98rem;
    line-height: 1.58;
  }
  .v431-spacious-hero .v411-signature-line { margin-bottom: 12px; }
  .v431-spacious-hero .v410-hero-actions {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 0;
  }
  .v431-spacious-hero .v410-hero-visual {
    min-height: 305px;
  }
  .v431-spacious-hero .v410-image-shell {
    border-width: 6px;
    border-radius: 3px 23px 3px 23px;
  }
  .v431-spacious-hero .v410-image-caption { display: none; }
  .v431-spacious-hero .v410-price-badge {
    top: 14px;
    right: 13px;
    width: 150px;
    padding: 11px 12px 10px;
  }
  .v431-spacious-hero .v410-convenience { margin-top: 18px; }
  .v431-booking-after-hero {
    padding-block: 64px 72px;
  }
  .v431-booking-after-hero .v38-booking-intro h2 {
    font-size: clamp(2.9rem, 12.8vw, 3.9rem);
  }
  .v431-booking-after-hero + .v411-page-rail {
    padding-top: 18px;
    padding-bottom: 18px;
  }
  .v431-booking-after-hero + .v411-page-rail .v411-page-rail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .v431-booking-after-hero + .v411-page-rail a {
    min-height: 92px;
    padding: 15px 34px 15px 14px;
  }
  .v431-booking-after-hero + .v411-page-rail a:nth-child(2n) { border-right: 0; }
  .v431-booking-after-hero + .v411-page-rail a:nth-last-child(-n+2) { border-bottom: 0; }
  .v431-booking-after-hero + .v411-page-rail strong { font-size: 1rem; }
  .v431-booking-after-hero + .v411-page-rail span { display: none; }
}


/* ==================================================================
   Valiant 4.5.0 — direct navigation, size pricing, upgrade collections,
   reduced homepage repetition, and sentimental story refinement
   ================================================================== */

/* Direct desktop navigation: every primary destination is visible. */
.nav-dropdown { display: none !important; }
@media (min-width: 1121px) {
  .site-nav {
    margin-left: auto;
    gap: clamp(10px, 1vw, 17px);
  }
  .site-nav > a:not(.button) {
    position: relative;
    padding: 29px 0 27px;
    white-space: nowrap;
    color: #35455a;
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: .052em;
  }
  .site-nav > a:not(.button)::after {
    right: 0;
    bottom: 20px;
    left: 0;
    width: 0;
    height: 2px;
    margin: auto;
    content: "";
    background: var(--gold);
    transition: width .2s ease;
  }
  .site-nav > a:not(.button):hover::after,
  .site-nav > a[aria-current="page"]::after { width: 100%; }
  .site-nav .button { min-height: 42px; padding-inline: 15px; font-size: .61rem; }
  .header-inner { gap: 24px; }
  .brand { flex: 0 0 auto; }
  .brand img { width: clamp(195px, 17vw, 235px); }
}

/* Homepage booking prices now show all three vehicle-size starting points. */
.v44-row-size-price {
  min-width: 190px;
  max-width: 215px;
}
.v44-row-size-price small {
  margin-bottom: 5px;
  white-space: nowrap;
  color: #97a8b8;
  font-size: .46rem;
  letter-spacing: .075em;
}
.v44-row-size-price strong {
  white-space: nowrap;
  font-family: ui-sans-serif, system-ui, sans-serif;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .015em;
}

/* Shared compact size-price component. */
.v44-compact-size-prices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(7,17,31,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.82);
}
.v44-compact-size-prices > span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 12px 10px;
  text-align: center;
}
.v44-compact-size-prices > span + span { border-left: 1px solid rgba(7,17,31,.1); }
.v44-compact-size-prices small {
  overflow: hidden;
  color: var(--muted);
  font-size: .56rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-overflow: ellipsis;
  text-transform: uppercase;
}
.v44-compact-size-prices strong {
  color: var(--ink);
  font-family: var(--display-font);
  font-size: 1.2rem;
  line-height: 1;
}

/* Homepage upgrade collection replaces repetitive service sections. */
.v44-home-upgrades {
  position: relative;
  overflow: hidden;
  padding-block: clamp(82px, 8vw, 118px);
  background:
    radial-gradient(circle at 88% 10%, rgba(212,163,61,.16), transparent 24%),
    linear-gradient(180deg, #f8fafc 0%, #edf2f6 100%);
}
.v44-home-upgrades::before {
  position: absolute;
  top: -120px;
  right: -80px;
  width: 390px;
  height: 390px;
  border: 1px solid rgba(166,111,24,.16);
  border-radius: 50%;
  content: "";
}
.v44-upgrades-heading,
.v44-upgrade-section-heading,
.v44-pricing-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .75fr);
  align-items: end;
  gap: 40px;
  margin-bottom: 44px;
}
.v44-upgrades-heading h2,
.v44-upgrade-section-heading h2,
.v44-pricing-heading h2 { max-width: 760px; margin-bottom: 0; }
.v44-upgrades-heading > p,
.v44-upgrade-section-heading > p,
.v44-pricing-heading > p {
  margin: 0;
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.7;
}
.v44-home-upgrade-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.v44-home-upgrade-grid > article {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 16px;
  padding: clamp(25px, 3vw, 36px);
  border: 1px solid rgba(7,17,31,.11);
  border-radius: 3px 25px 3px 25px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 22px 60px rgba(7,17,31,.08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.v44-home-upgrade-grid > article:hover {
  z-index: 2;
  border-color: rgba(166,111,24,.38);
  box-shadow: 0 28px 72px rgba(7,17,31,.13);
  transform: translateY(-5px);
}
.v44-home-upgrade-grid > article.is-featured {
  border-color: rgba(166,111,24,.36);
  background: linear-gradient(155deg, #fff 0%, #fbf7ed 100%);
}
.v44-upgrade-tag {
  color: var(--gold-dark);
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.v44-home-upgrade-grid h3 { margin: 0; font-family: var(--display-font); font-size: clamp(1.65rem, 2.3vw, 2.15rem); line-height: 1.04; }
.v44-home-upgrade-grid p { margin: 0; color: var(--muted); line-height: 1.65; }
.v44-home-upgrade-grid .v44-compact-size-prices { margin-top: auto; }
.v44-home-upgrade-grid .v4-text-link { margin-top: 3px; }
.v44-home-upgrades-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  margin-top: 24px;
  padding: 23px 26px;
  border: 1px solid rgba(7,17,31,.1);
  background: rgba(255,255,255,.72);
}
.v44-home-upgrades-footer span { max-width: 760px; color: var(--muted); }

/* Public service-size pricing strips. */
.v44-service-size-pricing {
  padding: 20px 0;
  border-top: 1px solid #dce4eb;
  border-bottom: 1px solid #dce4eb;
  background: linear-gradient(180deg, #f8fafc, #edf2f6);
}
.v44-size-price-strip {
  display: grid;
  grid-template-columns: minmax(230px, 1.15fr) repeat(3, minmax(150px, .85fr));
  overflow: hidden;
  border: 1px solid rgba(7,17,31,.11);
  border-radius: 3px 20px 3px 20px;
  background: #fff;
  box-shadow: 0 15px 40px rgba(7,17,31,.06);
}
.v44-size-price-strip > div {
  display: flex;
  min-width: 0;
  min-height: 104px;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding: 18px 20px;
}
.v44-size-price-strip > div + div { border-left: 1px solid #e0e6ec; }
.v44-size-price-intro {
  color: #fff;
  background: linear-gradient(135deg, #07111f 0%, #102b48 100%);
}
.v44-size-price-intro small,
.v44-size-price-item small {
  color: var(--gold);
  font-size: .57rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.v44-size-price-intro strong { color: #fff; font-family: var(--display-font); font-size: 1.35rem; line-height: 1.1; }
.v44-size-price-intro span { color: #aebdca; font-size: .68rem; line-height: 1.45; }
.v44-size-price-item strong { color: var(--ink); font-family: var(--display-font); font-size: 1.65rem; line-height: 1; }
.v44-size-price-item span { color: var(--muted); font-size: .67rem; line-height: 1.42; }
.v44-ceramic-size-pricing > .container > header {
  display: grid;
  gap: 3px;
  margin-bottom: 15px;
}
.v44-ceramic-size-pricing > .container > header small { color: var(--gold-dark); font-size: .6rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v44-ceramic-size-pricing > .container > header strong { color: var(--ink); font-family: var(--display-font); font-size: 1.55rem; }
.v44-ceramic-size-pricing > .container > header span { color: var(--muted); font-size: .84rem; }
.v44-ceramic-size-price-grid { display: grid; gap: 12px; }

/* Booking vehicle size and expanded upgrade selector. */
.booking-size-step { background: linear-gradient(180deg, #fff, #f7f9fb); }
.booking-size-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.booking-size-choice {
  position: relative;
  display: grid;
  min-height: 150px;
  align-content: center;
  gap: 7px;
  padding: 24px 20px 21px;
  border: 1px solid #d9e1e8;
  border-radius: 3px 18px 3px 18px;
  background: #fff;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.booking-size-choice:hover,
.booking-size-choice.selected {
  border-color: rgba(166,111,24,.55);
  box-shadow: 0 16px 38px rgba(7,17,31,.09);
  transform: translateY(-2px);
}
.booking-size-choice input { position: absolute; opacity: 0; pointer-events: none; }
.booking-size-check {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 22px;
  height: 22px;
  border: 1px solid #b8c3ce;
  border-radius: 50%;
}
.booking-size-choice.selected .booking-size-check { border: 6px solid var(--gold-dark); }
.booking-size-choice strong { color: var(--ink); font-family: var(--display-font); font-size: 1.55rem; line-height: 1; }
.booking-size-choice small { color: var(--muted); font-size: .76rem; line-height: 1.5; }
.booking-size-estimate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 14px;
  padding: 18px 20px;
  border-left: 4px solid var(--gold);
  background: var(--ink);
  color: #fff;
}
.booking-size-estimate span { color: var(--gold); font-size: .62rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.booking-size-estimate strong { margin-left: auto; color: #fff; font-family: var(--display-font); font-size: 1.55rem; }
.booking-size-estimate small { max-width: 260px; color: #aebac6; font-size: .7rem; line-height: 1.4; }
.booking-addon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.booking-addon-choice {
  position: relative;
  min-height: 96px;
  border: 1px solid #dae2e9;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.booking-addon-choice:hover,
.booking-addon-choice.selected { border-color: rgba(166,111,24,.5); box-shadow: 0 13px 32px rgba(7,17,31,.08); transform: translateY(-2px); }
.booking-addon-choice.is-bundle {
  min-height: 116px;
  border-color: rgba(166,111,24,.35);
  background: linear-gradient(145deg, #fff 0%, #fbf7ed 100%);
}
.booking-addon-choice span em {
  display: inline-block;
  margin-bottom: 5px;
  padding: 3px 7px;
  border-radius: 999px;
  color: #fff;
  background: var(--gold-dark);
  font-size: .52rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.booking-addon-choice.is-bundle span small { color: #765313; font-weight: 700; }

/* Upgrade page. */
.upgrades-opening-v44 { padding-bottom: 90px; }
.upgrades-opening-v44 .upgrades-opening-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v44-upgrade-bundles { padding-block: clamp(82px, 8vw, 116px); }
.v44-upgrade-bundle-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.v44-upgrade-bundle-grid > article {
  position: relative;
  overflow: hidden;
  border: 1px solid #dce3e9;
  border-radius: 3px 28px 3px 28px;
  background: #fff;
  box-shadow: 0 22px 58px rgba(7,17,31,.08);
}
.v44-upgrade-bundle-grid > article.featured { border-color: rgba(166,111,24,.48); box-shadow: 0 28px 72px rgba(7,17,31,.13); }
.v44-upgrade-bundle-grid figure { height: 245px; margin: 0; overflow: hidden; background: var(--mist); }
.v44-upgrade-bundle-grid figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.v44-upgrade-bundle-grid article:hover figure img { transform: scale(1.035); }
.v44-upgrade-bundle-copy { display: grid; gap: 16px; padding: 28px; }
.v44-upgrade-bundle-copy > span { color: var(--gold-dark); font-size: .59rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v44-upgrade-bundle-copy h3 { margin: 0; font-family: var(--display-font); font-size: 2rem; line-height: 1; }
.v44-upgrade-bundle-copy p { margin: 0; color: var(--muted); line-height: 1.6; }
.v44-upgrade-bundle-copy ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.v44-upgrade-bundle-copy li { position: relative; padding-left: 18px; color: var(--text); font-size: .84rem; }
.v44-upgrade-bundle-copy li::before { position: absolute; top: .65em; left: 0; width: 7px; height: 7px; border: 1px solid var(--gold-dark); border-radius: 50%; content: ""; }
.v44-upgrade-bundle-copy > small { color: var(--muted); font-size: .7rem; }
.v44-individual-upgrades { padding-block: clamp(82px, 8vw, 118px); }
.v44-upgrade-option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}
.v44-upgrade-option-grid > article {
  display: flex;
  min-height: 210px;
  flex-direction: column;
  padding: 24px;
  border: 1px solid #dbe3ea;
  border-radius: 3px 20px 3px 20px;
  background: #fff;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.v44-upgrade-option-grid > article:hover { border-color: rgba(166,111,24,.4); box-shadow: 0 18px 45px rgba(7,17,31,.08); transform: translateY(-3px); }
.v44-upgrade-option-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.v44-upgrade-option-top span { color: var(--gold-dark); font-size: .56rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.v44-upgrade-option-top strong { color: var(--ink); font-family: var(--display-font); font-size: 1.25rem; }
.v44-upgrade-option-grid h3 { margin-bottom: 9px; font-family: var(--display-font); font-size: 1.45rem; line-height: 1.08; }
.v44-upgrade-option-grid p { margin-bottom: 16px; color: var(--muted); font-size: .84rem; line-height: 1.58; }
.v44-upgrade-option-grid > article > small { margin-top: auto; color: #506176; font-size: .67rem; font-weight: 700; }
.v44-upgrade-honesty { color: #fff; background: linear-gradient(135deg, #07111f 0%, #102a46 100%); }
.v44-upgrade-honesty-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr); gap: 64px; align-items: center; }
.v44-upgrade-honesty h2 { color: #fff; }
.v44-upgrade-honesty .lead { color: #c1ced9; }
.v44-upgrade-honesty-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(255,255,255,.14); }
.v44-upgrade-honesty-list span { display: grid; gap: 5px; min-height: 130px; align-content: center; padding: 22px; border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.v44-upgrade-honesty-list span:nth-child(2n) { border-right: 0; }
.v44-upgrade-honesty-list span:nth-last-child(-n+2) { border-bottom: 0; }
.v44-upgrade-honesty-list strong { color: var(--gold); font-family: var(--display-font); font-size: 1.35rem; }
.v44-upgrade-honesty-list small { color: #aebdca; line-height: 1.5; }
.v44-upgrade-booking-band .upgrade-booking-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Pricing by size. */
.pricing-intro-v44 h1 { max-width: 760px; }
.v44-size-guide-section { padding-block: 82px; }
.v44-size-guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.v44-size-guide-grid article {
  position: relative;
  min-height: 190px;
  padding: 30px;
  border: 1px solid #dbe3ea;
  border-radius: 3px 22px 3px 22px;
  background: #fff;
}
.v44-size-guide-grid article.featured { border-color: rgba(166,111,24,.44); background: linear-gradient(145deg, #fff, #fbf7ed); }
.v44-size-guide-grid article > span { color: var(--gold-dark); font-family: var(--display-font); font-size: 1.2rem; }
.v44-size-guide-grid h3 { margin: 18px 0 9px; font-family: var(--display-font); font-size: 2rem; }
.v44-size-guide-grid p { margin: 0; color: var(--muted); }
.v44-size-guide-grid small { position: absolute; top: 25px; right: 25px; color: #fff; background: var(--gold-dark); padding: 4px 8px; border-radius: 999px; font-size: .52rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.v44-pricing-matrix-section { padding-block: clamp(82px, 8vw, 118px); }
.v44-pricing-table-wrap { overflow: hidden; border: 1px solid #d9e1e8; border-radius: 3px 25px 3px 25px; background: #fff; box-shadow: 0 22px 55px rgba(7,17,31,.07); }
.v44-pricing-table { width: 100%; border-collapse: collapse; }
.v44-pricing-table th,
.v44-pricing-table td { padding: 22px 18px; border-bottom: 1px solid #e1e7ec; text-align: left; vertical-align: middle; }
.v44-pricing-table thead th { color: #fff; background: var(--ink); font-size: .61rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.v44-pricing-table tbody tr:last-child > * { border-bottom: 0; }
.v44-pricing-table tbody tr.featured { background: linear-gradient(90deg, rgba(212,163,61,.1), transparent); }
.v44-pricing-table tbody th { width: 33%; }
.v44-pricing-table tbody th span { display: block; color: var(--ink); font-family: var(--display-font); font-size: 1.55rem; line-height: 1.05; }
.v44-pricing-table tbody th small { display: block; margin-top: 5px; color: var(--muted); font-weight: 500; }
.v44-pricing-table td strong { color: var(--ink); font-family: var(--display-font); font-size: 1.45rem; }
.v44-pricing-table td a { color: var(--gold-dark); font-size: .68rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.v44-specialty-price-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.v44-specialty-price-grid > article { display: grid; gap: 22px; padding: 34px; border: 1px solid #dbe3e9; border-radius: 3px 24px 3px 24px; background: #fff; box-shadow: 0 18px 48px rgba(7,17,31,.07); }
.v44-specialty-price-grid > article > div:first-child > span { color: var(--gold-dark); font-size: .59rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.v44-specialty-price-grid h3 { margin: 8px 0 10px; font-family: var(--display-font); font-size: 2.25rem; }
.v44-specialty-price-grid p { margin: 0; color: var(--muted); }
.v44-specialty-price-grid .button { justify-self: start; }
.v44-ceramic-pricing-section { color: #fff; background: linear-gradient(135deg, #07111f 0%, #102c49 100%); }
.v44-pricing-heading.light h2 { color: #fff; }
.v44-pricing-heading.light > p { color: #b8c6d2; }
.v44-ceramic-price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.v44-ceramic-price-grid > article { position: relative; display: grid; gap: 17px; padding: 30px; border: 1px solid rgba(255,255,255,.14); border-radius: 3px 24px 3px 24px; background: rgba(255,255,255,.055); }
.v44-ceramic-price-grid > article.featured { border-color: rgba(212,163,61,.55); background: linear-gradient(145deg, rgba(212,163,61,.16), rgba(255,255,255,.045)); }
.v44-ceramic-price-grid > article > small { color: var(--gold); font-size: .62rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v44-ceramic-price-grid h3 { margin: 0; color: #fff; font-family: var(--display-font); font-size: 2rem; }
.v44-ceramic-price-grid p { margin: 0; color: #aebdca; font-size: .8rem; }
.v44-ceramic-price-grid .v44-compact-size-prices { border-color: rgba(255,255,255,.12); background: rgba(0,0,0,.16); }
.v44-ceramic-price-grid .v44-compact-size-prices > span + span { border-color: rgba(255,255,255,.12); }
.v44-ceramic-price-grid .v44-compact-size-prices small { color: #aebdca; }
.v44-ceramic-price-grid .v44-compact-size-prices strong { color: #fff; }
.v44-package-badge { position: absolute; top: 17px; right: 17px; padding: 4px 8px; border-radius: 999px; color: var(--ink); background: var(--gold); font-size: .5rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.v44-pricing-bundles-section { padding-block: clamp(82px, 8vw, 118px); }
.v44-pricing-bundle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.v44-pricing-bundle-grid > article { display: grid; gap: 14px; padding: 28px; border: 1px solid #dbe3e9; border-radius: 3px 22px 3px 22px; background: #fff; }
.v44-pricing-bundle-grid > article.featured { border-color: rgba(166,111,24,.45); box-shadow: 0 20px 55px rgba(7,17,31,.1); }
.v44-pricing-bundle-grid > article > span { color: var(--gold-dark); font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.v44-pricing-bundle-grid h3 { margin: 0; font-family: var(--display-font); font-size: 1.85rem; }
.v44-pricing-bundle-grid p { margin: 0; color: var(--muted); }
.v44-pricing-bundle-grid > article > a { color: var(--gold-dark); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.v44-individual-pricing-section { padding-block: clamp(82px, 8vw, 118px); }
.v44-individual-price-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #d8e0e7; border-left: 1px solid #d8e0e7; }
.v44-individual-price-grid > a { display: flex; min-height: 112px; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border-right: 1px solid #d8e0e7; border-bottom: 1px solid #d8e0e7; background: #fff; transition: background .2s ease; }
.v44-individual-price-grid > a:hover { background: #f7f9fb; }
.v44-individual-price-grid span { min-width: 0; }
.v44-individual-price-grid strong,
.v44-individual-price-grid small { display: block; }
.v44-individual-price-grid strong { color: var(--ink); font-size: .9rem; }
.v44-individual-price-grid small { margin-top: 4px; color: var(--muted); font-size: .68rem; }
.v44-individual-price-grid b { flex: 0 0 auto; color: var(--gold-dark); font-family: var(--display-font); font-size: 1.25rem; }
.v44-pricing-upgrade-cta { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 24px; padding: 24px; border-left: 4px solid var(--gold); background: #fff; }
.v44-pricing-upgrade-cta p { margin: 0; color: var(--muted); }

/* Sentimental story refinements. */
.story-sentimental-v44 .story-hero-v3-copy h1 { max-width: 860px; }
.story-sentimental-v44 .story-hero-v3-copy .lead { max-width: 730px; }
.story-beginning-v44 .story-origin-quote p { font-size: clamp(1.45rem, 2.2vw, 2rem); }
.story-journey-v44 article { min-height: 142px; }
.story-name-v44 .story-name-v3-promise { max-width: 920px; font-size: clamp(1.35rem, 2.2vw, 1.9rem); }
.story-letter-v44 .story-letter-v3-card { box-shadow: 0 36px 90px rgba(7,17,31,.12); }
.story-letter-v44 .letter-opening { font-size: 1.18rem; }
.story-letter-v44 .letter-heart { padding: 27px 29px; border-left: 4px solid var(--gold); background: #f7f1e4; font-family: var(--display-font); font-size: clamp(1.35rem, 2.2vw, 1.85rem); line-height: 1.32; }
.story-legacy-v44 {
  position: relative;
  overflow: hidden;
  padding-block: clamp(92px, 9vw, 136px);
  background: linear-gradient(180deg, #f8fafc 0%, #edf2f6 100%);
}
.story-legacy-v44::before { position: absolute; top: -160px; right: -100px; width: 480px; height: 480px; border: 1px solid rgba(166,111,24,.16); border-radius: 50%; content: ""; }
.story-legacy-heading-v44 { max-width: 860px; margin-bottom: 44px; }
.story-legacy-heading-v44 h2 { margin-bottom: 18px; }
.story-legacy-grid-v44 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.story-legacy-grid-v44 article { position: relative; min-height: 270px; padding: 32px; border: 1px solid #dbe3e9; border-radius: 3px 24px 3px 24px; background: rgba(255,255,255,.88); }
.story-legacy-grid-v44 article.featured { border-color: rgba(166,111,24,.46); background: linear-gradient(145deg, #fff, #fbf6ea); box-shadow: 0 24px 64px rgba(7,17,31,.1); }
.story-legacy-grid-v44 span { color: var(--gold-dark); font-family: var(--display-font); font-size: 1.35rem; }
.story-legacy-grid-v44 h3 { margin: 40px 0 12px; font-family: var(--display-font); font-size: 1.75rem; line-height: 1.08; }
.story-legacy-grid-v44 p { margin: 0; color: var(--muted); line-height: 1.65; }
.story-legacy-quote-v44 { max-width: 920px; margin: 55px auto 0; color: var(--ink); font-family: var(--display-font); font-size: clamp(1.7rem, 3vw, 2.7rem); line-height: 1.2; text-align: center; }
.story-customer-v44 { background: linear-gradient(135deg, #07111f 0%, #0f2b49 100%); }

@media (max-width: 1120px) {
  .v44-home-upgrade-grid,
  .v44-upgrade-bundle-grid,
  .v44-ceramic-price-grid,
  .v44-pricing-bundle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v44-home-upgrade-grid > article:last-child,
  .v44-upgrade-bundle-grid > article:last-child,
  .v44-ceramic-price-grid > article:last-child,
  .v44-pricing-bundle-grid > article:last-child { grid-column: 1 / -1; }
  .v44-upgrade-option-grid,
  .v44-individual-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v44-size-price-strip { grid-template-columns: 1fr repeat(3, minmax(130px, .72fr)); }
  .v44-upgrade-honesty-grid { grid-template-columns: 1fr; gap: 40px; }
  .v44-row-size-price { min-width: 170px; }
}

@media (max-width: 940px) {
  .v44-upgrades-heading,
  .v44-upgrade-section-heading,
  .v44-pricing-heading { grid-template-columns: 1fr; align-items: start; gap: 18px; }
  .v44-size-price-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v44-size-price-intro { grid-column: 1 / -1; min-height: 88px !important; }
  .v44-size-price-strip > div:nth-child(2) { border-left: 0; }
  .v44-size-price-strip > div { min-height: 112px; }
  .booking-size-options { grid-template-columns: 1fr; }
  .booking-size-choice { min-height: 112px; }
  .booking-size-estimate { align-items: flex-start; flex-direction: column; }
  .booking-size-estimate strong { margin-left: 0; }
  .booking-addon-grid { grid-template-columns: 1fr; }
  .v44-size-guide-grid,
  .v44-specialty-price-grid,
  .story-legacy-grid-v44 { grid-template-columns: 1fr; }
  .v44-pricing-table-wrap { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .v44-pricing-table,
  .v44-pricing-table tbody,
  .v44-pricing-table tr,
  .v44-pricing-table th,
  .v44-pricing-table td { display: block; width: 100%; }
  .v44-pricing-table thead { display: none; }
  .v44-pricing-table tbody { display: grid; gap: 14px; }
  .v44-pricing-table tr { overflow: hidden; border: 1px solid #dbe3e9; border-radius: 3px 20px 3px 20px; background: #fff; box-shadow: 0 14px 35px rgba(7,17,31,.06); }
  .v44-pricing-table th,
  .v44-pricing-table td { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 20px; border-bottom: 1px solid #e3e8ed; }
  .v44-pricing-table tbody th { display: block; padding: 23px 20px; background: #f7f9fb; }
  .v44-pricing-table td::before { content: attr(data-label); color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
  .v44-pricing-table tr > *:last-child { border-bottom: 0; }
  .v44-home-upgrades-footer,
  .v44-pricing-upgrade-cta { align-items: flex-start; flex-direction: column; }
  .v44-home-upgrades-footer .v4-button,
  .v44-pricing-upgrade-cta .button { width: 100%; }
}

@media (max-width: 680px) {
  .site-nav > a:not(.button) { display: block; padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: .78rem; }
  .v44-row-size-price { grid-column: 2 / -1; width: 100%; max-width: none; min-width: 0; margin-top: 5px; text-align: left; }
  .v44-row-size-price small { white-space: normal; }
  .v44-row-size-price strong { white-space: normal; font-size: .72rem; line-height: 1.4; }
  .v38-booking-row { grid-template-columns: 3px minmax(0, 1fr); }
  .v44-home-upgrade-grid,
  .v44-upgrade-bundle-grid,
  .v44-upgrade-option-grid,
  .v44-ceramic-price-grid,
  .v44-pricing-bundle-grid,
  .v44-individual-price-grid { grid-template-columns: 1fr; }
  .v44-home-upgrade-grid > article:last-child,
  .v44-upgrade-bundle-grid > article:last-child,
  .v44-ceramic-price-grid > article:last-child,
  .v44-pricing-bundle-grid > article:last-child { grid-column: auto; }
  .v44-home-upgrade-grid > article { padding: 25px 20px; }
  .v44-size-price-strip { grid-template-columns: 1fr; border-radius: 3px 18px 3px 18px; }
  .v44-size-price-strip > div,
  .v44-size-price-intro { grid-column: auto; min-height: 90px !important; border-left: 0 !important; border-bottom: 1px solid #e0e6ec; }
  .v44-size-price-strip > div:last-child { border-bottom: 0; }
  .v44-size-price-item { display: grid !important; grid-template-columns: 1fr auto; align-items: center; }
  .v44-size-price-item span { grid-column: 1 / -1; }
  .v44-compact-size-prices > span { padding: 11px 5px; }
  .v44-compact-size-prices small { font-size: .48rem; }
  .v44-compact-size-prices strong { font-size: 1rem; }
  .v44-upgrade-bundle-grid figure { height: 220px; }
  .v44-upgrade-option-grid > article { min-height: 185px; }
  .v44-upgrade-honesty-list { grid-template-columns: 1fr; }
  .v44-upgrade-honesty-list span { min-height: 105px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12) !important; }
  .v44-upgrade-honesty-list span:last-child { border-bottom: 0 !important; }
  .v44-upgrade-booking-band .upgrade-booking-steps { grid-template-columns: 1fr; }
  .v44-individual-price-grid > a { min-height: 94px; }
  .story-letter-v44 .letter-heart { padding: 22px 20px; }
  .story-legacy-grid-v44 article { min-height: 230px; padding: 26px 22px; }
  .story-legacy-grid-v44 h3 { margin-top: 28px; }
}

/* ==================================================================
   Valiant 4.5.0 retained refinements — less repetition, direct navigation,
   four upgrade bundles, expanded high-value add-ons, and size pricing.
   ================================================================== */

/* The hero proof row now communicates practical customer value instead of
   repeating the later process and service sections. */
.v44-home-proof span {
  background: rgba(255,255,255,.72);
  border-top: 1px solid rgba(7,17,31,.08);
}
.v44-home-proof small { max-width: 210px; }

/* Keep every primary destination visible on desktop while preserving a
   conventional accessible menu on smaller screens. */
@media (min-width: 1121px) {
  .site-nav { gap: clamp(11px, 1.05vw, 18px); }
  .site-nav > a:not(.button) { font-size: .67rem; letter-spacing: .045em; }
  .site-nav .button { padding-inline: 16px; }
}

/* Four focused bundles read as one premium collection. */
@media (min-width: 1121px) {
  .v44-home-upgrade-grid,
  .v44-upgrade-bundle-grid,
  .v44-pricing-bundle-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .v44-home-upgrade-grid > article { padding: 29px 25px; }
  .v44-home-upgrade-grid h3 { font-size: clamp(1.52rem, 1.8vw, 1.9rem); }
  .v44-upgrade-bundle-grid figure { height: 220px; }
  .v44-upgrade-bundle-copy { padding: 25px 23px; }
  .v44-upgrade-bundle-copy h3 { font-size: 1.7rem; }
  .v44-pricing-bundle-grid > article { padding: 25px 23px; }
  .v44-pricing-bundle-grid h3 { font-size: 1.62rem; }
  .v44-upgrade-option-grid,
  .v44-individual-price-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1120px) and (min-width: 681px) {
  .v44-home-upgrade-grid > article:last-child,
  .v44-upgrade-bundle-grid > article:last-child,
  .v44-pricing-bundle-grid > article:last-child { grid-column: auto; }
}

/* Make the low-complexity finishing choices feel intentional rather than like
   an afterthought in a long add-on list. */
.v44-upgrade-option-grid > article[id="mat-reset"],
.v44-upgrade-option-grid > article[id="door-jamb-detail"],
.v44-upgrade-option-grid > article[id="interior-glass-reset"],
.v44-upgrade-option-grid > article[id="exhaust-tip-polish"] {
  border-color: rgba(166,111,24,.28);
  background: linear-gradient(150deg, #fff 0%, #f8f4ea 100%);
}
.booking-addon-choice[data-addon-key="bundle_daily"] {
  border-color: rgba(29,91,134,.34);
  background: linear-gradient(145deg, #fff 0%, #eff5f9 100%);
}

/* The homepage already identifies the shop in the hero, so the later duplicate
   location block is intentionally omitted. Keep adjacent section spacing calm. */
.v4-community-section + .v4-story-section { border-top: 1px solid rgba(7,17,31,.08); }

/* Additional sentimental breathing room on the story page. */
.story-sentimental-v44 .story-hero-v3-copy .lead { font-size: clamp(1.08rem, 1.7vw, 1.28rem); }
.story-beginning-v44 .story-beginning-v3-copy > p:not(.lead) { font-size: 1.02rem; line-height: 1.82; }
.story-letter-v44 .story-letter-v3-card > p { line-height: 1.86; }

@media (max-width: 680px) {
  .v44-home-proof span { background: transparent; }
  .v44-home-proof small { max-width: none; }
}

/* ========================================================================
   Valiant 4.5.0 — clearer, customer-friendly booking upgrades
   ======================================================================== */
.booking-addon-step {
  overflow: visible;
  padding: clamp(26px, 3.5vw, 46px);
  background: linear-gradient(180deg, #fff 0%, #f7f9fb 100%);
}
.booking-upgrade-intro {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(560px, 1.18fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: center;
  margin: 8px 0 26px;
  padding: clamp(24px, 3.2vw, 42px);
  border: 1px solid rgba(212,163,61,.34);
  border-radius: 3px 28px 3px 28px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 14%, rgba(212,163,61,.16), transparent 28%),
    linear-gradient(135deg, #07111f 0%, #0c223a 58%, #123252 100%);
  box-shadow: 0 25px 70px rgba(7,17,31,.14);
}
.booking-upgrade-intro .eyebrow { color: #e8bd62; }
.booking-upgrade-intro h3 {
  max-width: 580px;
  margin: 11px 0 12px;
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(2rem, 3vw, 3.05rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}
.booking-upgrade-intro > div:first-child > p {
  max-width: 640px;
  margin: 0;
  color: #c9d4df;
  font-size: .94rem;
  line-height: 1.72;
}
.booking-upgrade-how {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 2px 18px 2px 18px;
  background: rgba(255,255,255,.045);
  backdrop-filter: blur(12px);
}
.booking-upgrade-how > span {
  min-height: 150px;
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 21px 18px;
  border-right: 1px solid rgba(255,255,255,.12);
}
.booking-upgrade-how > span:last-child { border-right: 0; }
.booking-upgrade-how b {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  margin-bottom: 8px;
  border: 1px solid rgba(232,189,98,.52);
  border-radius: 50%;
  color: #f1c96f;
  font-size: .68rem;
}
.booking-upgrade-how strong { color: #fff; font-size: .79rem; letter-spacing: .01em; }
.booking-upgrade-how small { color: #aebdca; font-size: .67rem; line-height: 1.55; }

.booking-addon-groups {
  display: grid;
  gap: 15px;
  margin: 0 0 20px;
}
.booking-addon-group {
  overflow: hidden;
  border: 1px solid #d9e1e8;
  border-radius: 3px 22px 3px 22px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(7,17,31,.055);
}
.booking-addon-group[hidden],
.booking-addon-choice[hidden] { display: none !important; }
.booking-addon-group > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 24px 28px;
  cursor: pointer;
  list-style: none;
  transition: background .18s ease;
}
.booking-addon-group > summary::-webkit-details-marker { display: none; }
.booking-addon-group > summary:hover { background: #f7f9fb; }
.booking-addon-group[open] > summary {
  border-bottom: 1px solid #e2e7ec;
  background: linear-gradient(90deg, #f8fafb, #fff);
}
.booking-addon-group > summary > span {
  display: grid;
  gap: 5px;
}
.booking-addon-group > summary small {
  color: var(--gold-dark);
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.booking-addon-group > summary strong {
  color: var(--ink);
  font-family: var(--display-font);
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  line-height: 1.08;
}
.booking-addon-group > summary em {
  max-width: 900px;
  color: var(--muted);
  font-size: .74rem;
  font-style: normal;
  line-height: 1.55;
}
.booking-addon-group > summary > b {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #33475a;
  font-size: .65rem;
  letter-spacing: .06em;
  white-space: nowrap;
  text-transform: uppercase;
}
.booking-addon-group > summary > b i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #cfd8e0;
  border-radius: 50%;
  color: var(--gold-dark);
  font-size: 1.05rem;
  font-style: normal;
  transition: transform .2s ease, background .2s ease;
}
.booking-addon-group[open] > summary > b i {
  transform: rotate(45deg);
  background: #f2ead9;
}
.booking-addon-group-body { padding: 22px; }
.booking-addon-grid,
.booking-addon-grid-packages {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}
.booking-addon-choice {
  position: relative;
  min-height: 100%;
  display: block;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d9e1e8;
  border-radius: 2px 20px 2px 20px;
  color: var(--ink);
  background: #fff;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(7,17,31,.045);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}
.booking-addon-choice:hover {
  transform: translateY(-3px);
  border-color: rgba(166,111,24,.45);
  background: #fff;
  box-shadow: 0 20px 46px rgba(7,17,31,.09);
}
.booking-addon-choice.selected,
.booking-addon-choice:has(input:checked) {
  border-color: #b98122;
  background: linear-gradient(150deg, #fff 0%, #fbf7ee 100%);
  box-shadow: inset 0 0 0 1px rgba(185,129,34,.32), 0 20px 46px rgba(7,17,31,.095);
}
.booking-addon-choice:focus-within {
  outline: 3px solid rgba(29,91,134,.28);
  outline-offset: 3px;
}
.booking-addon-choice input {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 28px;
  height: 28px;
  margin: 0;
  opacity: 0;
}
.booking-addon-check {
  position: absolute;
  top: 17px;
  right: 17px;
  z-index: 2;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid #cbd5de;
  border-radius: 50%;
  color: transparent;
  background: #fff;
  font-size: .75rem;
  font-weight: 900;
  transition: all .18s ease;
}
.booking-addon-choice.selected .booking-addon-check,
.booking-addon-choice:has(input:checked) .booking-addon-check {
  border-color: var(--gold-dark);
  color: #fff;
  background: var(--gold-dark);
}
.booking-addon-card-content {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: 17px;
  padding: 24px;
}
.booking-addon-card-top {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: start;
  padding-right: 36px;
}
.booking-addon-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(166,111,24,.3);
  border-radius: 2px 15px 2px 15px;
  color: var(--gold-dark);
  background: #f8f3e7;
  font-family: var(--display-font);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .03em;
}
.booking-addon-heading { display: grid; gap: 4px; }
.booking-addon-heading em {
  color: var(--gold-dark);
  font-size: .56rem;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.booking-addon-heading strong {
  color: var(--ink);
  font-family: var(--display-font);
  font-size: clamp(1.28rem, 1.65vw, 1.7rem);
  line-height: 1.05;
}
.booking-addon-price {
  min-width: 92px;
  color: var(--ink);
  font-family: var(--display-font);
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.1;
  text-align: right;
}
.booking-addon-description {
  color: #35485a;
  font-size: .82rem;
  line-height: 1.62;
}
.booking-addon-best-for,
.booking-addon-result {
  display: grid;
  gap: 6px;
  padding: 14px 15px;
  border-left: 3px solid #ccd8e2;
  color: #536473;
  background: #f7f9fb;
  font-size: .73rem;
  line-height: 1.55;
}
.booking-addon-result {
  border-left-color: var(--gold);
  background: #fbf8f1;
}
.booking-addon-best-for b,
.booking-addon-result b,
.booking-addon-includes > b {
  color: var(--ink);
  font-size: .58rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.booking-addon-includes { display: grid; gap: 9px; }
.booking-addon-includes > span { display: flex; flex-wrap: wrap; gap: 7px; }
.booking-addon-includes i {
  padding: 6px 9px;
  border: 1px solid #d9e1e7;
  border-radius: 999px;
  color: #405365;
  background: #fff;
  font-size: .61rem;
  font-style: normal;
  font-weight: 720;
}
.booking-addon-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 2px;
}
.booking-addon-card-footer > small {
  max-width: 235px;
  color: #687887;
  font-size: .64rem;
  line-height: 1.45;
}
.booking-addon-action {
  min-width: 154px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 13px;
  border: 1px solid #0b1d32;
  border-radius: 2px;
  color: #fff;
  background: #0b1d32;
  font-size: .61rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.booking-addon-choice.selected .booking-addon-action,
.booking-addon-choice:has(input:checked) .booking-addon-action {
  border-color: var(--gold-dark);
  color: #07111f;
  background: #e7b84f;
}
.booking-addon-choice.is-bundle {
  min-height: 0;
  border-color: rgba(166,111,24,.34);
  background: linear-gradient(150deg, #fff 0%, #fbf7ee 100%);
}
.booking-addon-choice.is-bundle .booking-addon-card-content { padding: 27px; }
.booking-addon-choice.is-bundle .booking-addon-icon {
  color: #fff;
  background: linear-gradient(145deg, #9f6c17, #d7a640);
}

.booking-addon-selection-summary {
  position: sticky;
  bottom: 14px;
  z-index: 7;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 1px;
  overflow: hidden;
  margin: 20px 0 22px;
  border: 1px solid rgba(212,163,61,.5);
  border-radius: 3px 20px 3px 20px;
  color: #fff;
  background: #d4a33d;
  box-shadow: 0 22px 58px rgba(7,17,31,.2);
}
.booking-addon-selection-copy,
.booking-addon-estimate {
  display: grid;
  align-content: center;
  gap: 6px;
  min-height: 112px;
  padding: 20px 24px;
  background: #07111f;
}
.booking-addon-selection-copy > span,
.booking-addon-estimate > span {
  color: #dcb25b;
  font-size: .57rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.booking-addon-selection-copy > strong,
.booking-addon-estimate > strong {
  color: #fff;
  font-family: var(--display-font);
  font-size: 1.45rem;
  line-height: 1.08;
}
.booking-addon-selection-copy > small,
.booking-addon-estimate > small {
  color: #aebcca;
  font-size: .66rem;
  line-height: 1.45;
}
.booking-addon-estimate {
  background: linear-gradient(135deg, #0c223a, #123252);
}
.booking-addon-estimate > strong { color: #f0c66b; }

@media (max-width: 1180px) {
  .booking-upgrade-intro { grid-template-columns: 1fr; }
  .booking-upgrade-how > span { min-height: 124px; }
  .booking-addon-card-top { grid-template-columns: 44px minmax(0, 1fr); }
  .booking-addon-price { grid-column: 2; text-align: left; }
}
@media (max-width: 900px) {
  .booking-addon-grid,
  .booking-addon-grid-packages { grid-template-columns: 1fr; }
  .booking-addon-selection-summary { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .booking-addon-step { padding: 22px 14px; }
  .booking-upgrade-intro {
    gap: 22px;
    padding: 25px 20px;
    border-radius: 2px 20px 2px 20px;
  }
  .booking-upgrade-intro h3 { font-size: 2rem; }
  .booking-upgrade-how { grid-template-columns: 1fr; }
  .booking-upgrade-how > span {
    min-height: 0;
    grid-template-columns: 31px 1fr;
    column-gap: 12px;
    padding: 16px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }
  .booking-upgrade-how > span:last-child { border-bottom: 0; }
  .booking-upgrade-how b { grid-row: 1 / span 2; margin: 0; }
  .booking-addon-group > summary {
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 20px 18px;
  }
  .booking-addon-group > summary > b { justify-content: space-between; }
  .booking-addon-group-body { padding: 12px; }
  .booking-addon-card-content { gap: 14px; padding: 21px 18px; }
  .booking-addon-choice.is-bundle .booking-addon-card-content { padding: 22px 18px; }
  .booking-addon-card-top {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 11px;
    padding-right: 26px;
  }
  .booking-addon-icon { width: 42px; height: 42px; }
  .booking-addon-heading strong { font-size: 1.34rem; }
  .booking-addon-price { grid-column: 1 / -1; padding-left: 53px; font-size: 1rem; text-align: left; }
  .booking-addon-card-footer { align-items: stretch; flex-direction: column; }
  .booking-addon-card-footer > small { max-width: none; }
  .booking-addon-action { width: 100%; min-width: 0; }
  .booking-addon-selection-summary { position: relative; bottom: auto; }
  .booking-addon-selection-copy,
  .booking-addon-estimate { min-height: 0; padding: 19px 18px; }
}

/* ========================================================================
   Valiant 4.6.0 — richer service education and a shorter, stronger story
   ======================================================================== */
.service-results-v46 {
  background:
    radial-gradient(circle at 94% 8%, rgba(212,163,61,.08), transparent 26%),
    linear-gradient(180deg, #f5f8fa 0%, #edf2f6 100%);
}
.service-benefit-grid-v46 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.service-benefit-grid-v46 article {
  position: relative;
  min-height: 245px;
  padding: 29px 25px;
  overflow: hidden;
  border: 1px solid rgba(7,17,31,.11);
  border-radius: 3px 22px 3px 22px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 44px rgba(7,17,31,.065);
}
.service-benefit-grid-v46 article::after {
  position: absolute;
  right: -36px;
  bottom: -45px;
  width: 125px;
  height: 125px;
  border: 1px solid rgba(212,163,61,.17);
  border-radius: 50%;
  content: "";
}
.service-benefit-grid-v46 > article > span {
  display: block;
  margin-bottom: 34px;
  color: var(--gold-dark);
  font-family: var(--display-font);
  font-size: 1.55rem;
}
.service-benefit-grid-v46 h3 {
  max-width: 260px;
  margin-bottom: 11px;
  font-size: 1.05rem;
}
.service-benefit-grid-v46 p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--muted);
  font-size: .85rem;
  line-height: 1.66;
}

.interior-scope-grid-v46 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.interior-scope-grid-v46 article {
  min-height: 225px;
  padding: 29px 26px;
}
.interior-scope-grid-v46 h3 { margin-top: 24px; }

.service-materials-v46 {
  background:
    radial-gradient(circle at 0% 100%, rgba(29,91,134,.08), transparent 27%),
    linear-gradient(180deg, #faf7f0 0%, #f4f7f9 100%);
}
.service-material-grid-v46 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  margin-top: 34px;
  border: 1px solid rgba(7,17,31,.11);
  border-radius: 3px 24px 3px 24px;
  background: rgba(7,17,31,.1);
  box-shadow: 0 24px 60px rgba(7,17,31,.08);
}
.service-material-grid-v46 article {
  min-height: 225px;
  padding: 30px 26px;
  background: rgba(255,255,255,.94);
}
.service-material-grid-v46 article::before {
  display: block;
  width: 38px;
  height: 3px;
  margin-bottom: 28px;
  content: "";
  background: linear-gradient(90deg, var(--gold-dark), var(--gold));
}
.service-material-grid-v46 h3 { margin-bottom: 12px; }
.service-material-grid-v46 p {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.7;
}
.service-clarity-band-v46 {
  display: grid;
  grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr);
  gap: 28px;
  align-items: center;
  margin-top: 24px;
  padding: 26px 30px;
  border-left: 5px solid var(--gold);
  color: #fff;
  background: linear-gradient(135deg, #07111f 0%, #0e2b48 100%);
  box-shadow: 0 20px 50px rgba(7,17,31,.13);
}
.service-clarity-band-v46 strong {
  font-family: var(--display-font);
  font-size: 1.35rem;
  line-height: 1.25;
}
.service-clarity-band-v46 p {
  margin: 0;
  color: #c8d4df;
  font-size: .88rem;
  line-height: 1.7;
}
.exterior-process-grid-v46 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.exterior-process-grid-v46 article {
  min-height: 250px;
  padding: 28px 24px;
}
.exterior-process-grid-v46 article span { margin-bottom: 27px; }
.exterior-process-grid-v46 article p {
  font-size: .86rem;
  line-height: 1.68;
}

.coating-daily-v46 {
  background:
    radial-gradient(circle at 91% 4%, rgba(212,163,61,.09), transparent 29%),
    linear-gradient(180deg, #f6f9fb 0%, #edf2f6 100%);
}
.coating-benefit-grid-v46 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.coating-benefit-grid-v46 article {
  min-height: 240px;
  padding: 30px 27px;
  border: 1px solid rgba(7,17,31,.11);
  border-radius: 3px 22px 3px 22px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 44px rgba(7,17,31,.06);
}
.coating-benefit-grid-v46 > article > span {
  display: block;
  margin-bottom: 26px;
  color: var(--gold-dark);
  font-family: var(--display-font);
  font-size: 1.55rem;
}
.coating-benefit-grid-v46 h3 { margin-bottom: 11px; }
.coating-benefit-grid-v46 p {
  margin: 0;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.68;
}
.coating-how-v46 {
  color: #fff;
  background:
    radial-gradient(circle at 86% 14%, rgba(212,163,61,.17), transparent 28%),
    linear-gradient(135deg, #07111f 0%, #0d2742 64%, #123654 100%);
}
.coating-how-grid-v46 {
  display: grid;
  grid-template-columns: minmax(300px, .76fr) minmax(0, 1.24fr);
  align-items: center;
  gap: clamp(44px, 7vw, 90px);
}
.coating-how-copy-v46 h2 { color: #fff; }
.coating-how-copy-v46 .lead { color: #d5dee6; }
.coating-how-copy-v46 > p:not(.lead) { color: #aebdcc; }
.coating-how-cards-v46 {
  display: grid;
  gap: 12px;
}
.coating-how-cards-v46 article {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  column-gap: 18px;
  padding: 25px 27px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 2px 18px 2px 18px;
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(10px);
}
.coating-how-cards-v46 article > strong {
  grid-row: 1 / span 2;
  color: var(--gold);
  font-family: var(--display-font);
  font-size: 1.45rem;
}
.coating-how-cards-v46 h3 {
  margin: 0 0 7px;
  color: #fff;
}
.coating-how-cards-v46 p {
  margin: 0;
  color: #bcc9d4;
  font-size: .85rem;
  line-height: 1.65;
}
.coating-honesty-v46 .content-copy {
  padding: clamp(27px, 4vw, 43px);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold);
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.story-compact-v46 .story-hero-v3 {
  min-height: 660px;
  padding: clamp(68px, 8vw, 105px) 0;
}
.story-compact-v46 .story-hero-v3-copy h1 {
  max-width: 830px;
  font-size: clamp(3.35rem, 6vw, 5.65rem);
  line-height: .94;
}
.story-compact-v46 .story-hero-v3-visual img {
  height: clamp(470px, 48vw, 590px);
}
.story-compact-v46 .story-name-v3,
.story-compact-v46 .story-letter-v3 {
  padding-top: clamp(72px, 8vw, 105px);
  padding-bottom: clamp(72px, 8vw, 105px);
}
.story-origin-copy-v46 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 48px);
  max-width: 1080px;
  margin: 0 0 40px;
}
.story-origin-copy-v46 p {
  margin: 0;
  color: #465568;
  font-size: 1rem;
  line-height: 1.8;
}
.story-truths-v46 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}
.story-truths-v46 article {
  min-height: 175px;
  padding: 25px 23px;
  border: 1px solid rgba(7,17,31,.11);
  border-radius: 2px 18px 2px 18px;
  background: rgba(255,255,255,.88);
}
.story-truths-v46 span {
  display: block;
  margin-bottom: 23px;
  color: var(--gold-dark);
  font-family: var(--display-font);
  font-size: 1.25rem;
}
.story-truths-v46 h3 { margin-bottom: 8px; }
.story-truths-v46 p { margin: 0; color: var(--muted); font-size: .84rem; }
.story-origin-quote-v46 {
  max-width: 930px;
  margin: 32px auto 0;
  text-align: center;
}
.story-letter-v46 .story-letter-v3-card {
  padding-top: clamp(44px, 5.7vw, 72px);
  padding-bottom: clamp(44px, 5.7vw, 72px);
}
.story-letter-v46 .story-letter-v3-card > p {
  line-height: 1.76;
}
.story-letter-v46 .letter-opening {
  font-size: clamp(1.35rem, 2vw, 1.72rem);
  line-height: 1.45 !important;
}
.story-customer-v46 { padding-top: clamp(70px, 8vw, 105px); padding-bottom: clamp(70px, 8vw, 105px); }

@media (max-width: 1120px) {
  .service-benefit-grid-v46,
  .service-material-grid-v46 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .interior-scope-grid-v46,
  .exterior-process-grid-v46,
  .coating-benefit-grid-v46 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coating-how-grid-v46 { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .service-clarity-band-v46,
  .story-origin-copy-v46 { grid-template-columns: 1fr; }
  .story-truths-v46 { grid-template-columns: 1fr; }
  .story-truths-v46 article { min-height: 0; }
  .story-compact-v46 .story-hero-v3 { min-height: auto; }
}
@media (max-width: 680px) {
  .service-benefit-grid-v46,
  .service-material-grid-v46,
  .interior-scope-grid-v46,
  .exterior-process-grid-v46,
  .coating-benefit-grid-v46 { grid-template-columns: 1fr; }
  .service-benefit-grid-v46 article,
  .service-material-grid-v46 article,
  .interior-scope-grid-v46 article,
  .exterior-process-grid-v46 article,
  .coating-benefit-grid-v46 article { min-height: 0; }
  .service-benefit-grid-v46 > article > span,
  .exterior-process-grid-v46 article span,
  .coating-benefit-grid-v46 > article > span { margin-bottom: 18px; }
  .service-clarity-band-v46 { padding: 23px 20px; }
  .coating-how-cards-v46 article { grid-template-columns: 42px minmax(0, 1fr); padding: 21px 18px; }
  .story-compact-v46 .story-hero-v3 { padding: 60px 0 68px; }
  .story-compact-v46 .story-hero-v3-copy h1 { font-size: clamp(3rem, 13.8vw, 4.35rem); }
  .story-compact-v46 .story-hero-v3-visual img { height: 440px; }
  .story-origin-copy-v46 p { font-size: .94rem; }
}

/* ========================================================================
   Valiant 4.6.0 — richer service education and a shorter, stronger story
   ======================================================================== */
.v46-service-titlebar .lead { max-width: 800px; }
.v46-service-intro .service-opening-grid { align-items: stretch; }
.v46-real-service-image {
  min-height: 470px;
  aspect-ratio: auto;
  border-radius: 4px 28px 4px 28px;
  background: var(--ink);
}
.v46-real-service-image img { min-height: 470px; object-fit: cover; }
.v46-interior-page .v46-real-service-image img { object-position: center; }
.v46-coating-opening-image img { object-position: center; }
.v46-image-caption {
  position: absolute;
  right: 18px;
  bottom: 18px;
  left: 18px;
  z-index: 2;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 3px 18px 3px 18px;
  color: #fff;
  background: rgba(7,17,31,.88);
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
  backdrop-filter: blur(12px);
}
.v46-image-caption small,
.v46-image-caption strong { display: block; }
.v46-image-caption small {
  margin-bottom: 4px;
  color: var(--gold);
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.v46-image-caption strong {
  color: #fff;
  font-family: var(--display-font);
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.1;
}
.v46-service-facts article { min-height: 118px; }
.v46-service-facts strong { line-height: 1.05; }

.v46-result-ribbon {
  position: relative;
  overflow: hidden;
  padding: 0;
  color: #fff;
  background:
    radial-gradient(circle at 88% 16%, rgba(212,163,61,.13), transparent 28%),
    linear-gradient(135deg, #07111f 0%, #0b2139 58%, #103252 100%);
}
.v46-result-ribbon::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: .16;
  background: linear-gradient(115deg, transparent 0 46%, rgba(255,255,255,.08) 46% 46.2%, transparent 46.2%);
}
.v46-result-ribbon-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.v46-result-ribbon article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  min-height: 145px;
  align-items: center;
  padding: 30px 26px;
  border-right: 1px solid rgba(255,255,255,.12);
}
.v46-result-ribbon article:last-child { border-right: 0; }
.v46-result-ribbon article > span {
  align-self: start;
  padding-top: 3px;
  color: var(--gold);
  font-family: var(--display-font);
  font-size: 1.25rem;
}
.v46-result-ribbon strong,
.v46-result-ribbon small { display: block; }
.v46-result-ribbon strong { color: #fff; font-size: .9rem; line-height: 1.35; }
.v46-result-ribbon small { margin-top: 5px; color: #b9c8d4; font-size: .72rem; line-height: 1.55; }

.v46-section-heading { max-width: 900px; margin-inline: auto; }
.v46-zone-grid,
.v46-benefit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 17px;
}
.v46-zone-grid article,
.v46-benefit-grid article {
  position: relative;
  min-height: 285px;
  overflow: hidden;
  padding: 31px 29px;
  border: 1px solid var(--line);
  border-radius: 3px 22px 3px 22px;
  background: #fff;
  box-shadow: 0 17px 48px rgba(7,17,31,.065);
}
.v46-zone-grid article::after,
.v46-benefit-grid article::after {
  position: absolute;
  right: -45px;
  bottom: -65px;
  width: 155px;
  height: 155px;
  border: 1px solid rgba(212,163,61,.16);
  border-radius: 50%;
  content: "";
}
.v46-zone-grid article > span,
.v46-benefit-grid article > span {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  margin-bottom: 34px;
  border: 1px solid rgba(166,111,24,.25);
  border-radius: 50%;
  color: var(--gold-dark);
  background: #fffaf0;
  font-family: var(--display-font);
  font-size: .9rem;
}
.v46-zone-grid h3,
.v46-benefit-grid h3 { max-width: 310px; font-size: 1.16rem; line-height: 1.25; }
.v46-zone-grid p,
.v46-benefit-grid p { position: relative; z-index: 1; margin-bottom: 0; color: var(--muted); font-size: .86rem; line-height: 1.68; }

.v46-split-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
  align-items: end;
  gap: clamp(34px, 6vw, 74px);
  margin-bottom: 38px;
}
.v46-split-heading h2 { max-width: 660px; }
.v46-split-heading .lead { margin: 0; }
.v46-material-section { background: #fff; }
.v46-material-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.v46-material-grid article {
  min-height: 260px;
  padding: 31px 29px;
  border: 1px solid var(--line);
  border-radius: 3px 22px 3px 22px;
  background: linear-gradient(145deg, #fff 0%, #f7fafc 100%);
  box-shadow: var(--shadow-sm);
}
.v46-icon-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 30px;
  border-radius: 2px 14px 2px 14px;
  color: #fff;
  background: linear-gradient(145deg, #07111f, #153a60);
  font-family: var(--display-font);
  font-size: 1.3rem;
  box-shadow: 0 13px 30px rgba(7,17,31,.18);
}
.v46-material-grid h3 { font-size: 1.18rem; }
.v46-material-grid p { margin-bottom: 0; color: var(--muted); font-size: .86rem; line-height: 1.68; }
.v46-proof-section .section-heading { max-width: 800px; }
.v46-upgrade-booking-section .two-column { align-items: start; }
.v46-booking-card { top: 116px; }
.v46-option-list { display: grid; gap: 12px; margin-top: 28px; }
.v46-option-list article {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 19px 20px;
  border: 1px solid var(--line);
  border-radius: 3px 16px 3px 16px;
  background: #fff;
}
.v46-option-list article > span { color: var(--gold-dark); font-family: var(--display-font); font-size: 1.15rem; }
.v46-option-list h3 { margin: 0 0 3px; font-size: .96rem; }
.v46-option-list p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.v46-option-list article > strong { color: var(--ink); white-space: nowrap; }

.v46-process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.v46-process-grid article {
  position: relative;
  min-height: 265px;
  padding: 27px 24px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 3px 20px 3px 20px;
  background: #fff;
  box-shadow: 0 15px 42px rgba(7,17,31,.055);
}
.v46-process-grid article > span {
  display: block;
  margin-bottom: 43px;
  color: var(--gold-dark);
  font-family: var(--display-font);
  font-size: 2.35rem;
  line-height: 1;
}
.v46-process-grid h3 { font-size: 1.04rem; }
.v46-process-grid p { margin-bottom: 0; color: var(--muted); font-size: .82rem; line-height: 1.64; }
.v46-process-grid article::before {
  position: absolute;
  top: 27px;
  right: 25px;
  width: 46px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, var(--gold), transparent);
}
.v46-exterior-visual { border-radius: 4px 28px 4px 28px; }
.v46-exterior-visual img { min-height: 470px; object-fit: cover; }

.v46-compare-layout { display: grid; gap: 34px; }
.v46-compare-copy { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); align-items: end; gap: 60px; }
.v46-compare-copy h2 { max-width: 650px; }
.v46-compare-copy .lead { margin: 0; }
.v46-compare-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.v46-compare-grid article {
  min-height: 330px;
  padding: 34px;
  border: 1px solid rgba(155,69,63,.22);
  border-top: 5px solid var(--danger);
  border-radius: 3px 24px 3px 24px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.v46-compare-grid article.good { border-color: rgba(29,118,89,.2); border-top-color: var(--success); }
.v46-compare-grid h3 { margin-bottom: 22px; font-family: var(--display-font); font-size: 1.75rem; }
.v46-compare-grid ul { margin: 0; }
.v46-compare-grid li { margin: 8px 0; color: #4e5c6c; }
.v46-wash-difference,
.v46-coating-honesty { background: #fff; }
.v46-maintenance-grid article { min-height: 275px; }

.v46-coating-benefits { position: relative; overflow: hidden; }
.v46-coating-benefits::before {
  position: absolute;
  top: -160px;
  right: -120px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(212,163,61,.14);
  border-radius: 50%;
  content: "";
}
.v46-coating-process-grid article { border-radius: 3px 22px 3px 22px; }
.v46-coating-process-grid figure { border-radius: 2px 18px 2px 18px; }
.v46-ceramic-page .coating-package-grid > article > p { min-height: 116px; font-size: .88rem; line-height: 1.65; }

/* Shorter story: four strong sections instead of repeated lessons. */
.story-short-v46 .v46-story-hero { min-height: auto; padding-block: clamp(68px, 7vw, 108px); }
.story-short-v46 .story-hero-v3-copy h1 { max-width: 760px; font-size: clamp(3rem, 5.5vw, 5.6rem); }
.story-short-v46 .story-hero-v3-copy .lead { max-width: 720px; }
.story-short-v46 .story-hero-v3-visual img { height: clamp(480px, 49vw, 610px); }
.v46-story-origin { position: relative; overflow: hidden; background: #fff; }
.v46-story-origin::before {
  position: absolute;
  top: -150px;
  left: -150px;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(212,163,61,.14);
  border-radius: 50%;
  content: "";
}
.v46-story-origin-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  align-items: start;
  gap: clamp(45px, 7vw, 92px);
}
.v46-story-origin-grid h2 { max-width: 650px; }
.v46-story-origin-copy > p { color: #4b596a; }
.v46-story-origin-copy .story-origin-quote { margin-top: 30px; }
.v46-story-values {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 55px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 3px 24px 3px 24px;
  background: #f7f9fb;
  box-shadow: var(--shadow-sm);
}
.v46-story-values article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 18px;
  min-height: 150px;
  align-items: center;
  padding: 28px;
  border-right: 1px solid var(--line);
}
.v46-story-values article:last-child { border-right: 0; }
.v46-story-values article > span { color: var(--gold-dark); font-family: var(--display-font); font-size: 1.35rem; }
.v46-story-values strong,
.v46-story-values small { display: block; }
.v46-story-values strong { color: var(--ink); font-size: .96rem; }
.v46-story-values small { margin-top: 5px; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.story-short-v46 .v46-story-letter { padding-block: clamp(68px, 8vw, 112px); }
.story-short-v46 .v46-story-letter .story-letter-v3-card { padding-block: clamp(44px, 5.5vw, 68px); }
.story-short-v46 .v46-story-letter .story-letter-v3-card p { line-height: 1.78; }
.story-short-v46 .v46-story-letter .story-letter-v3-card .letter-opening { font-size: clamp(1.45rem, 2.4vw, 2rem) !important; }
.v46-story-customer { padding-block: clamp(62px, 7vw, 92px); }

@media (max-width: 1100px) {
  .v46-result-ribbon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v46-result-ribbon article:nth-child(2) { border-right: 0; }
  .v46-result-ribbon article:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.12); }
  .v46-zone-grid,
  .v46-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v46-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 940px) {
  .v46-real-service-image,
  .v46-real-service-image img,
  .v46-exterior-visual img { min-height: 390px; }
  .v46-split-heading,
  .v46-compare-copy,
  .v46-story-origin-grid { grid-template-columns: 1fr; gap: 22px; }
  .v46-material-grid { grid-template-columns: 1fr; }
  .v46-material-grid article { min-height: 0; }
  .v46-story-values { grid-template-columns: 1fr; }
  .v46-story-values article { min-height: 120px; border-right: 0; border-bottom: 1px solid var(--line); }
  .v46-story-values article:last-child { border-bottom: 0; }
  .story-short-v46 .story-hero-v3-copy h1 { font-size: clamp(3rem, 8.5vw, 5rem); }
}

@media (max-width: 680px) {
  .v46-service-titlebar .lead { font-size: 1rem; }
  .v46-real-service-image,
  .v46-real-service-image img,
  .v46-exterior-visual img { min-height: 315px; }
  .v46-image-caption { right: 12px; bottom: 12px; left: 12px; padding: 16px; }
  .v46-result-ribbon-grid { grid-template-columns: 1fr; }
  .v46-result-ribbon article,
  .v46-result-ribbon article:nth-child(2) { min-height: 112px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); padding: 22px 18px; }
  .v46-result-ribbon article:last-child { border-bottom: 0; }
  .v46-zone-grid,
  .v46-benefit-grid,
  .v46-process-grid,
  .v46-compare-grid { grid-template-columns: 1fr; }
  .v46-zone-grid article,
  .v46-benefit-grid article,
  .v46-process-grid article,
  .v46-compare-grid article { min-height: 0; padding: 25px 21px; }
  .v46-zone-grid article > span,
  .v46-benefit-grid article > span { margin-bottom: 24px; }
  .v46-process-grid article > span { margin-bottom: 27px; }
  .v46-option-list article { grid-template-columns: 32px minmax(0, 1fr); align-items: start; }
  .v46-option-list article > strong { grid-column: 2; }
  .story-short-v46 .v46-story-hero { padding-block: 54px 65px; }
  .story-short-v46 .story-hero-v3-copy h1 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .story-short-v46 .story-hero-v3-visual img { height: 420px; }
  .v46-story-values { margin-top: 38px; }
  .v46-story-values article { padding: 22px 20px; }
  .story-short-v46 .v46-story-letter .story-letter-v3-card { padding: 38px 23px 42px 28px; }
}


/* v4.7.0: real-project case studies */
.valiant-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.valiant-project-card { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.valiant-project-card figure { margin:0; aspect-ratio:16/10; overflow:hidden; background:var(--mist); }
.valiant-project-card figure img { width:100%; height:100%; object-fit:cover; }
.valiant-project-card-body { padding:22px; }
.valiant-project-card small { color:var(--gold-dark); font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.valiant-project-card h3 { margin:.45rem 0 .65rem; font-size:clamp(1.4rem,2vw,2rem); line-height:1.08; color:var(--ink); }
.valiant-project-card p { margin:0 0 1rem; color:var(--muted); }
.valiant-project-meta { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0 28px; }
.valiant-project-meta span { padding:8px 11px; border:1px solid var(--line); border-radius:999px; background:var(--mist); font-weight:700; color:var(--navy); }
.valiant-project-single .entry-content { max-width:820px; margin:0 auto; }
.valiant-project-single .entry-content > * { max-width:100%; }
.valiant-project-single .entry-content img { border-radius:18px; }
.valiant-project-proof { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:30px 0; }
.valiant-project-proof article { padding:22px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.valiant-project-proof h2 { margin-top:0; font-size:1.35rem; }
@media (max-width:900px) { .valiant-project-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:640px) { .valiant-project-grid,.valiant-project-proof { grid-template-columns:1fr; } }
