/* Spirit v5: existing approved palette, embedded Lora/Montserrat, square UI. */
:root { --v5-ink: #122240; --v5-blue: #294e94; --v5-white: #ffffff; }
.v5-lead-form { display:grid !important; grid-template-columns:1fr !important; gap:16px !important; }
.v5-lead-form label { display:block; margin:0 !important; font-size:14px; font-weight:600; line-height:1.5; color:var(--v5-ink); }
.v5-lead-form input, .v5-lead-form select { display:block; width:100%; max-width:100%; min-height:48px; margin:6px 0 0 !important; padding:12px; font:400 16px/1.4 Montserrat,Arial,sans-serif; color:var(--v5-ink); background:var(--v5-white); border:1px solid color-mix(in srgb,var(--v5-ink) 35%,transparent); border-radius:0; }
.v5-lead-form input:focus,.v5-lead-form select:focus { outline:3px solid var(--v5-blue);outline-offset:2px; }
.v5-contact-fields { display:grid;gap:16px; }
.v5-contact-fields [hidden] { display:none !important; }
.v5-lead-form .form-privacy-notice { margin:0; font-size:12px !important;line-height:1.7; }
.v5-submit { width:100%; min-height:50px; }
.v5-lead-form .lead-form-status { margin:0;font-size:14px;line-height:1.6; }
.v5-lead-form .lead-form-status:empty { display:none; }
.v5-lead-form .lead-form-status[data-state="error"] { border-top:2px solid var(--action);padding-top:12px;color:var(--v5-ink); }
dialog#contact-modal { max-width:580px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:32px; }
dialog#contact-modal h2 { padding-right:24px; }
dialog#contact-modal .close { position:absolute; }
.quote-box h3 { margin-bottom:18px; }
.v5-menu-toggle,.v5-mobile-actions { display:none; }
.page-links a { padding-left:12px;padding-right:12px; }
.v5-home-hero { background:var(--v5-ink) !important;padding:0 !important; }
.v5-home-hero .hero-overlay { background:none !important; }
.v5-home-hero .hero-inner { display:grid !important;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px;align-items:center;padding-top:44px;padding-bottom:44px; }
.v5-home-hero .hero-copy { width:auto !important;max-width:none !important;padding:0 !important; }
.v5-home-hero h1 { font-size:clamp(34px,3.6vw,52px) !important; }
.v5-hero-person { margin:0;background:var(--v5-white);color:var(--v5-ink); }
.v5-hero-person img { display:block;width:100%;height:320px;object-fit:cover;object-position:center 20%; }
.v5-hero-person figcaption { display:flex;flex-direction:column;gap:7px;padding:18px 20px;background:var(--v5-white);color:var(--v5-ink);font-size:13px; }
.v5-hero-person figcaption strong { color:var(--v5-ink);font-family:Lora,Georgia,serif;font-size:24px;line-height:1.2; }
.v5-compensation-note { font-size:12px;line-height:1.65;max-width:520px;color:var(--v5-white); }
.v5-support { padding-bottom:60px; }
.v5-support-grid { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;padding-top:30px; }
.v5-support-grid h1 { font-size:clamp(34px,3.6vw,48px); }
.v5-support-grid h2 { margin:30px 0 18px;font-size:28px; }
.v5-support-form { align-self:start;padding:24px;background:var(--v5-white);border:1px solid color-mix(in srgb,var(--v5-ink) 25%,transparent); }
.v5-support-form h2 { font-size:26px;margin:12px 0 22px; }
@media(max-width:1050px) {
  .page-links a{padding-left:8px;padding-right:8px;font-size:12px;}
  .v5-home-hero .hero-inner{gap:24px;}
}
@media(max-width:1024px), (orientation:landscape) and (max-height:520px) {
  body{padding-bottom:76px;}
  .brand-row{justify-content:center !important;gap:8px !important;padding-top:16px !important;padding-bottom:16px !important;}
  .header-quote-btn{display:none !important;}
  .brand-tagline{font-size:13px !important;}
  .nav-bar nav{display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:space-between !important;gap:0 !important;padding-top:4px;padding-bottom:4px;}
  .v5-ready .v5-menu-toggle{display:block;background:transparent;color:var(--v5-white);border:1px solid var(--v5-white);padding:10px 14px;min-height:44px;font:600 14px Montserrat,Arial,sans-serif;}
  .nav-bar .utility-right{display:flex !important;gap:0;align-items:center !important;padding:0 !important;}
  .nav-bar .utility-call{font-size:12px;white-space:nowrap;}
  .nav-bar .utility-call strong{font-size:14px;}
  .nav-bar .social-dot{display:none;}
  .nav-bar .page-links{order:3;width:100%;margin-top:6px;display:flex;flex-direction:column;}
  .v5-ready .nav-bar .page-links:not(.v5-menu-open){display:none;}
  .nav-bar .page-links a{font-size:14px;padding:12px 10px;min-height:46px;}
  .v5-home-hero .hero-inner{grid-template-columns:1fr !important;width:calc(100% - 36px) !important;margin-left:auto !important;margin-right:auto !important;padding:28px 0 !important;}
  .v5-home-hero .hero-ctas{justify-content:flex-start !important;}
  .v5-home-hero .hero-ctas .primary,.v5-home-hero .hero-ctas .secondary{width:100%;}
  .v5-hero-person{max-width:350px;width:100%;margin:0 auto;}
  .v5-hero-person img{height:290px;}
  .v5-mobile-actions{position:fixed;z-index:1000;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:var(--v5-white);border-top:1px solid var(--v5-ink);}
  .v5-mobile-actions a,.v5-mobile-actions button{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:9px 8px;color:var(--v5-white);font:600 12px/1.3 Montserrat,Arial,sans-serif;text-decoration:none;white-space:normal;border:0;border-radius:0;background:var(--v5-ink);}
  .v5-mobile-actions button{background:var(--action);}
  body:has(dialog[open]) .v5-mobile-actions{visibility:hidden;}
  dialog#contact-modal{padding:28px 20px;max-height:calc(100dvh - 24px);width:calc(100% - 24px);}
  dialog#contact-modal h2{font-size:28px;}
  .quote-reviews-band{padding:20px 16px;}
  .v5-support-grid{grid-template-columns:1fr;gap:28px;}
  .v5-support-form{padding:20px 16px;}
}
