/* Shared finishing pass: navigation, contrast, rhythm and interactive states. */
.home-shell .nav-dropdown-inner { align-items: stretch; }
.home-shell .nav-group { display: flex; flex-direction: column; }
.home-shell .nav-group__list { flex: 1; align-content: start; }
.home-flag--en { background: url('../img/brand/flag-gb.svg') center / 100% 100% no-repeat; }
.home-flag { outline: 1px solid #0003; outline-offset: 0; overflow: hidden; }
.home-footer { padding-top: 72px; overflow: clip; }
.home-footer__bottom { margin-top: 72px; }
.home-footer__art, .home-story__visual { background: #111827 url('../img/generated/logo-background.webp') center / cover; }
.home-footer__card { transition: transform .3s ease, box-shadow .3s ease; }
.home-footer__card:hover, .home-footer__card:focus-within { transform: translateY(-5px); box-shadow: 0 12px 36px #2563eb30; }
.newsletter-form label { color: #f3f4f6; font-size: 14px; }
.newsletter-form__row { display: flex; flex-wrap: wrap; gap: 10px; margin: 8px 0 16px; }
.newsletter-form input[type=email] { flex: 1 1 170px; min-width: 0; width: 100%; padding: 13px 12px; border-radius: 6px; border: 1px solid #94a3b8; color: #111827; background: #fff; font: inherit; }
.newsletter-form__row button { flex: 1 1 auto; justify-content: center; }
.newsletter-form__consent { display: flex; align-items: flex-start; gap: 10px; }
.newsletter-form__consent input { margin-top: 4px; flex: none; }
.newsletter-form__consent span { font-size: 12px; line-height: 1.6; }
.newsletter-form__consent a { color: #fff; text-decoration: underline; }
.newsletter-form__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.newsletter-form .newsletter-form__notice { color: #fff; border-left: 2px solid #93c5fd; padding: 8px 12px; margin-top: 16px; }
.booking-modal { width: min(1040px, calc(100vw - 32px)); max-width: 1040px; }
.booking-modal__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); min-height: 590px; }
.booking-cal__grid { grid-template-rows: repeat(6, 42px); grid-auto-rows: 42px; }
.home-shell .home-hero__copy > p, .home-shell .home-closing .container > p:not(.home-label), .home-shell .home-solutions .home-capabilities-intro > p { color: #f1f5f9; }
.home-shell .plutoz-template .elementor-element-12e69fb p, .home-shell .plutoz-template .elementor-element-12e69fb a { color: #fff; }
.home-shell .omni-hero p { color: #f1f5f9; }
.home-shell .onboarding-cta :is(p, a:not(.btn)), .home-shell .cta-banner :is(p, a:not(.btn)) { color: #f3f4f6; }
.faq-item__answer { transition: grid-template-rows 320ms cubic-bezier(.22,1,.36,1), visibility 320ms; }
.home-faq details, .omni-history__accordion details { box-sizing: border-box; }
.reveal { transition-delay: var(--reveal-delay, 0ms); }
@media (max-width: 700px) {
  .booking-modal__grid { grid-template-columns: 1fr; min-height: 0; }
  .booking-picker { min-height: 420px; }
  .home-footer { padding-top: 48px; }
  .home-footer__bottom { margin-top: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-left, .reveal-right, .reveal-scale { opacity: 1 !important; transform: none !important; transition: none !important; }
  .home-footer__card, .faq-item__answer { transition: none; }
}
/* All shared photographic banners use a consistent readable foreground. */
.home-shell .plutoz-template .elementor-element-f101f2e p,
.home-shell .plutoz-template .elementor-element-074566c p { color: #f1f5f9; }
.home-shell .plutoz-template .elementor-element-884b774 .cta-card__btn { color: #fff; background: #1d4ed8; }
.home-shell .plutoz-template .elementor-element-8650e01:not(.elementor-motion-effects-element-type-background) { background-image: linear-gradient(90deg, #050b1866, #050b1820), url('../img/photos/plutoz-hero-generated.png'); }
.home-shell .plutoz-template .elementor-element-339e44f:not(.elementor-motion-effects-element-type-background) { background-image: linear-gradient(#050b1840, #050b1840), url('../img/photos/plutoz-closing-generated.png'); }
.home-shell .plutoz-template .elementor-element-ebff79e { --padding-top: 0px; --padding-bottom: 0px; margin-bottom: 0; }
.home-shell .plutoz-template .elementor-element-a28b662 { --padding-bottom: 12px; }
.home-closing.home-frame { margin-bottom: 12px; }
.booking-cal__grid button { width: 38px; height: 38px; min-height: 0; padding: 0; aspect-ratio: 1; justify-self: center; }
.home-page .home-story .home-story__visual { background: #111827 url('../img/generated/logo-background.webp') center / cover; }
.subpage-shell h1 { hyphens: auto; }
.booking-cal__grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.booking-cal__grid button { width: 100%; max-width: 38px; height: auto; align-self: center; }
.booking-cal__weekdays { grid-template-columns: repeat(7, minmax(0, 1fr)); }
