/* Public-site palette, shared by the home scene and interior pages. */
:root {
    --site-night: #091e32;
    --site-navy: #173d56;
    --site-petrol: #365f70;
    --site-mist: #edf3f5;
    --site-paper: #f7fafb;
    --site-ink: #183449;
    --site-muted: #536b7b;
    --site-gold: #f3c786;
    --site-action: #15803d;
    --site-action-hover: #166534;
    --site-hero: radial-gradient(ellipse at 82% 90%, #365f70 0, transparent 48%), linear-gradient(125deg, #091e32, #173d56 65%, #284c60);
    --site-hero-overlay: radial-gradient(ellipse at 82% 90%, #365f7099 0, transparent 48%), linear-gradient(125deg, #091e32f5, #173d56e8 65%, #284c60de);
    --primary-rgb: 23, 61, 86;
    --primary-bg-color: #173d56;
    --primary-bg-hover: #284c60;
    --primary-bg-border: #173d56;
    --body-color: #f7fafb;
    --text-color: #183449;
    --border-color: #dfe8ec;
    --border-dark-color: #d3dfe5;
    --form-background: #f7fafb;
    --color-light: #edf3f5;
    --color-dark: #091e32;
    --color-dark-rgb: 9, 30, 50;
    --color-muted: #536b7b;
    --purple: #173d56;
    --dark-purple: #091e32;
    --bs-primary: #173d56;
    --bs-primary-rgb: 23, 61, 86;
    --bs-secondary: #365f70;
    --bs-secondary-rgb: 54, 95, 112;
    --bs-body-color: #183449;
    --bs-body-bg: #f7fafb;
    --bs-border-color: #dfe8ec;
    --bs-link-color: #285b75;
    --bs-link-hover-color: #091e32;
}

/* Photo heroes retain their image under the same navy/petrol wash. */
.site-palette .page-hero::before,
.site-palette .cover-image.bg-background2::before,
.site-palette .cover-image.bg-background-color:not(.blog-cover-card)::before,
.site-palette .bg-background-pattern::before {
    background: var(--site-hero-overlay) !important;
    opacity: 1;
}
.site-palette .seo-landing-hero {
    background: var(--site-hero-overlay), url('/assets/img/search.jpg') center / cover no-repeat;
}
.site-palette .home-hero--paris { background: var(--site-hero); }
.site-palette .page-hero h1,
.site-palette .page-hero .fs-40,
.site-palette .seo-landing-hero h1 { color: #fff; }
.site-palette .page-hero .text-white > p,
.site-palette .seo-landing-hero__intro { color: #dbe7ed; }
.site-palette .page-hero .item-search-tabs .tab-content { background: #091e3240 !important; }
.site-palette .page-hero .item-search-menu .active { background: #ffffff20; }

/* High-priority actions stay green against the navy/petrol palette. */
.site-palette :is(.btn-primary, .btn-secondary, .call-request-submit) {
    background: var(--site-action) !important;
    border-color: var(--site-action) !important;
    color: #fff !important;
    box-shadow: 0 5px 16px #15803d26;
}
.site-palette :is(.btn-primary, .btn-secondary, .call-request-submit):hover,
.site-palette :is(.btn-primary, .btn-secondary, .call-request-submit):focus-visible,
.site-palette :is(.btn-primary, .btn-secondary, .call-request-submit):not(:disabled):not(.disabled):active,
.site-palette :is(.btn-primary, .btn-secondary, .call-request-submit):not(:disabled):not(.disabled).active,
.site-palette .show > :is(.btn-primary, .btn-secondary).dropdown-toggle {
    background: var(--site-action-hover) !important;
    border-color: var(--site-action-hover) !important;
    color: #fff !important;
}
.site-palette .btn-outline-primary,
.site-palette .btn-outline-secondary { color: var(--site-navy) !important; border-color: var(--site-petrol) !important; background: transparent; }
.site-palette .btn-outline-primary:hover,
.site-palette .btn-outline-secondary:hover { background: var(--site-navy) !important; border-color: var(--site-navy) !important; color: #fff !important; }
.site-palette #bookingForm .hero-search__submit { box-shadow: 0 5px 14px #15803d26; }
.site-palette .response-pulse-cta {
    background: linear-gradient(135deg, var(--site-action), var(--site-action-hover));
    color: #fff;
    box-shadow: 0 8px 24px #15803d40;
}
.site-palette .response-pulse-cta:hover,
.site-palette .response-pulse-cta:focus { box-shadow: 0 12px 28px #15803d55; }
.site-palette .response-pulse-cta__dot { background: #fff; }
.site-palette .response-pulse-cta__ping { background: #ffffff80; }
.site-palette :focus-visible { outline-color: #648fa9 !important; box-shadow: 0 0 0 3px #648fa940 !important; }

/* Quiet surfaces, petrol accents, and readable body copy. */
.site-palette .bg-light,
.site-palette .bg-light-purple,
.site-palette .bg-purple-light { background-color: var(--site-mist) !important; }
.site-palette .text-primary,
.site-palette .text-secondary { color: var(--site-petrol) !important; }
.site-palette .text-muted,
.site-palette .section-title p,
.site-palette .servic-data p,
.site-palette .status-info p { color: var(--site-muted) !important; }
.site-palette .bg-secondary { background-color: var(--site-petrol) !important; color: #fff; }
.site-palette .section-title h2,
.site-palette .card-title,
.site-palette .seo-landing-card__title,
.site-palette .seo-landing-content h2,
.site-palette .seo-landing-benefits h2,
.site-palette .seo-landing-quote h2,
.site-palette .seo-landing-related__title { color: var(--site-navy); }
.site-palette .card { border-color: var(--border-color); }
.site-palette .form-control:focus { border-color: #648fa9; box-shadow: 0 0 0 3px #648fa91f; }
.site-palette .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--site-navy); color: #fff; }
.site-palette .page-item.active .page-link { background-color: var(--site-navy); border-color: var(--site-navy); }
.site-palette .header-main #myBar { background-color: var(--site-petrol) !important; }

/* Service cards and supporting panels share the same cool light palette. */
.site-palette .seo-landings-home { background: radial-gradient(ellipse at 10% 0%, #365f7010, transparent 60%), var(--site-paper); }
.site-palette .seo-landing-card__icon { background: var(--site-mist); color: var(--site-petrol); }
.site-palette .seo-landing-card__cta,
.site-palette .seo-landing-content a,
.site-palette .seo-landing-related a { color: var(--site-petrol); }
.site-palette .seo-landing-card:hover { border-color: #a7c1cd; box-shadow: 0 16px 36px #173d561a; }
.site-palette .seo-landing-quote { border-color: var(--border-color); box-shadow: 0 18px 40px #173d5614; }
.site-palette .seo-landing-quote__kicker { background: var(--site-mist); color: var(--site-petrol); }
.site-palette .call-request-hero { background: radial-gradient(circle at top right, #365f701f, transparent 50%), linear-gradient(180deg, var(--site-mist), #fff); border-color: var(--border-color); }
.site-palette .call-request-avatar--placeholder,
.site-palette .manager-spotlight__avatar--placeholder { background: linear-gradient(135deg, var(--site-petrol), var(--site-navy)); }
.site-palette .call-request-avatar img,
.site-palette .manager-spotlight__avatar img { background: var(--site-mist); }
.site-palette .manager-spotlight-kicker { color: var(--site-petrol); }

/* A continuous dark footer, with warm links against the navy background. */
.site-palette .bg-dark-purple { background-color: var(--site-night) !important; }
.site-palette footer.bg-dark-purple { background: var(--site-hero) !important; }
.site-palette footer .footer-main { background: transparent; }
.site-palette footer .bg-dark-purple { background: #091e3259 !important; border-top: 1px solid #ffffff1a; }
.site-palette footer .text-white-50 { color: #bfd0d9 !important; }
.site-palette footer .text-secondary,
.site-palette footer a.text-red,
.site-palette footer .footer-main a:hover { color: var(--site-gold) !important; }
.site-palette .blog-cover-card::after { background: linear-gradient(to top, #091e32f5, #091e328c 45%, transparent); }
.site-palette .blog-cover-card .text-red { color: var(--site-gold) !important; }

.site-palette .bg-secondary-transparent { background: #365f701a !important; color: var(--site-petrol); }
.site-palette .seo-landing-benefits { background: var(--site-paper); border-color: var(--border-color); }
.site-palette .seo-landing-benefits .fa-check { color: var(--site-petrol); }
.site-palette .seo-landing-related { background: var(--site-paper); }
.site-palette .cover-image.bg-background-color .section-title p { color: #dbe7ed !important; }
.site-palette [data-open-callback].badge { background: var(--site-action) !important; color: #fff; }

/* Navy is the secondary action alongside the green conversion buttons. */
.site-palette .btn.btn-navy {
    background: var(--site-night);
    color: #fff;
    border: 1px solid #648fa9;
    box-shadow: 0 4px 14px #091e3226;
}
.site-palette .btn.btn-navy:hover,
.site-palette .btn.btn-navy:focus-visible {
    background: var(--site-navy);
    border-color: #a7c6d2;
    color: #fff;
}
