/* Homepage and scheduler refinements. Other routes keep their existing styles. */
:is(.homePage,.schedulerPage){
  --ink:#0b2340;--muted:#506274;--accent:#ee853b;--line:#dbe3ec;
  color:var(--ink);background:#f5f8fc!important;font-size:1rem;line-height:1.55;
}
:is(.homePage,.schedulerPage)::before,:is(.homePage,.schedulerPage)::after{display:none}
:is(.homePage,.schedulerPage) .wrap{max-width:1160px;padding:24px 24px 64px}
:is(.homePage,.schedulerPage) :is(button,input,select,textarea){font:inherit}
:is(.homePage,.schedulerPage) :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid #1272b2;outline-offset:4px;
}
:is(.homePage,.schedulerPage) [hidden]{display:none!important}
:is(.homePage,.schedulerPage) .muted{font-size:.9375rem;color:var(--muted)}
:is(.homePage,.schedulerPage) .skipLink{
  position:fixed;top:8px;left:16px;z-index:10000;transform:translateY(-160%);
  padding:12px 18px;background:var(--ink);color:#fff;border-radius:8px;
}
:is(.homePage,.schedulerPage) .skipLink:focus{transform:translateY(0)}
:is(.homePage,.schedulerPage) .languageChoices{
  display:flex;align-items:center;gap:3px;padding:3px;background:#edf2f8;border:1px solid var(--line);
  border-radius:10px;justify-self:end;align-self:start;min-width:0;
}
:is(.homePage,.schedulerPage) .languageChoices button{
  min-height:44px;padding:8px 12px;border:0;border-radius:7px;background:transparent;
  color:var(--ink);font-size:.875rem;font-weight:600;cursor:pointer;
}
:is(.homePage,.schedulerPage) .languageChoices button[aria-pressed="true"]{background:var(--ink);color:#fff}
:is(.homePage,.schedulerPage) .btn{
  min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:10px;
  color:var(--ink);background:#fff;box-shadow:none;line-height:1.4;font-size:1rem;font-weight:650;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
}
:is(.homePage,.schedulerPage) .btn:hover{background:#edf3f9;border-color:#9aafc4;transform:none}
.homePage .btn.primary,.schedulerPage #submitBtn{
  background:var(--ink)!important;color:#fff;border-color:var(--ink);box-shadow:none;
}
.homePage .btn.primary:hover,.schedulerPage #submitBtn:hover{background:#184a70!important}
.homePage .header{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 24px;align-items:center;
  padding:18px 24px;background:#fff!important;border:1px solid var(--line);border-radius:14px;
  box-shadow:none!important;backdrop-filter:none;
}
.homePage .brand{display:flex;align-items:center;gap:14px;min-width:0;flex:none}
.homePage .logoBox{width:62px;flex:0 0 62px}
.homePage .logoBox .professionalLogo{padding:0;border-radius:12px;box-shadow:none}
.homePage .brandText{min-width:0;flex:1}
.homePage .brandText h1{font-size:1.375rem;line-height:1.2}
.homePage .brandText p{margin:4px 0 0;font-size:.875rem;line-height:1.4}
.homePage .primaryNav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 24px;border-top:1px solid #edf1f6;padding-top:8px}
.homePage .primaryNav a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;font-weight:600;text-decoration:none;color:var(--ink)}
.homePage .primaryNav a:hover{text-decoration:underline;text-underline-offset:5px}
.homePage .hero{
  display:grid;grid-template-columns:1.15fr 1fr;gap:36px;padding:36px;margin-top:24px;
  background:#fff!important;border:1px solid var(--line);border-radius:18px;align-items:center;box-shadow:none!important;
}
.homePage :is(.heroLeft,.heroRight){min-width:0;padding:0;background:transparent!important;border:0!important;box-shadow:none!important}
.homePage .headline{font-size:clamp(2rem,3.1vw,2.8rem);line-height:1.13;letter-spacing:-.025em;max-width:17ch}
.homePage .lead{font-size:1.0625rem;line-height:1.65;margin:18px 0 0;max-width:48ch}
.homePage .brandCampaignInline{
  margin:0 0 18px;padding:0 0 0 12px;border:0;border-left:3px solid var(--accent);border-radius:0;
  background:transparent!important;box-shadow:none;gap:4px;display:grid;
}
.homePage .brandCampaignInline strong{font-size:.875rem;letter-spacing:.04em}
.homePage .brandCampaignInline #t_campaignProducts{font-size:.75rem;line-height:1.5;letter-spacing:.035em}
.homePage .ctaRow{gap:12px;margin-top:24px;align-items:center}
.homePage .contactLink{color:var(--ink);font-size:.9375rem;font-weight:650;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px;padding:6px}
.homePage .miniNote{font-size:.875rem;line-height:1.55;margin-top:16px;color:var(--muted)}
.homePage .heroBrandVisual{display:block;padding:0;background:none!important;border:0;border-radius:14px;box-shadow:none!important;overflow:hidden}
.homePage .heroBrandVisual img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;display:block;box-shadow:none!important}
.homePage .infoCard{padding:18px 0 0;border:0;background:none!important;box-shadow:none!important}
.homePage .infoTitle{font-size:1rem;font-weight:700}
.homePage .infoList{font-size:.9375rem;line-height:1.7;margin:8px 0 0;padding-left:20px}
.homePage .visualServices{margin-top:36px;padding:0;border:0;background:none!important;box-shadow:none!important}
.homePage .visualServicesHead{align-items:end;gap:20px;margin-bottom:18px}
.homePage .visualServicesHead h2{font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;margin:6px 0 0}
.homePage .visualKicker{font-size:.8125rem;letter-spacing:.06em;color:#355f7f}
.homePage .visualServicesHead .btn{background:#fff!important;color:var(--ink);border-color:var(--line)}
.homePage .visualServicesGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.homePage .visualServiceCard{
  display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:22px 18px;
  min-width:0;min-height:0;border:1px solid var(--line);border-radius:12px;background:#fff!important;
  box-shadow:none!important;text-decoration:none;color:var(--ink);
}
.homePage .visualServiceCard:hover{border-color:#356d97;transform:none;background:#fafdff!important}
.homePage .serviceIcon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:10px;background:#edf4fb;color:#184a70}
.homePage .serviceIcon svg{width:27px;height:27px}
.homePage .visualServiceCopy{padding:0;display:grid;gap:8px}
.homePage .visualServiceCopy strong{font-size:1.0625rem;line-height:1.35}
.homePage .visualServiceCopy span{font-size:.875rem;line-height:1.55;color:var(--muted)}
.homePage :is(.homeContactSection,.clientTools){margin-top:32px;padding:24px;background:#fff!important;border:1px solid var(--line);border-radius:14px;box-shadow:none!important}
.homePage .homeContactSection h2{font-size:1.75rem}
.homePage .brokerProfileCard{border:0;background:none!important;box-shadow:none!important;padding:16px 0;grid-template-columns:140px minmax(0,1fr)}
.homePage .brokerageLogoWrap{padding:10px;min-height:110px;border:0}
.homePage .brokerContactFacts{font-size:.875rem;line-height:1.6}
.homePage .homeContactCard{box-shadow:none!important;background:#f8fafd!important;border:1px solid var(--line);border-radius:10px}
.homePage .homeContactLabel{font-size:.8125rem}
.homePage .homeContactCard small{font-size:.875rem}
.homePage .homeContactCard:hover{transform:none}
.homePage .contactActions{gap:12px}
.homePage .clientTools>summary{font-size:1.375rem;font-weight:700;cursor:pointer;min-height:44px;line-height:1.5}
.homePage .clientTools .ctaRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.homePage .clientTools .btn{justify-content:flex-start;font-size:.9375rem;text-align:left}
.homePage .coverageReviewIntro{border:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:24px;background:none!important;box-shadow:none!important;grid-template-columns:minmax(0,1fr) auto}
.homePage .coverageReviewIcon{display:none}
.homePage .coverageReviewCopy p{font-size:.9375rem;color:var(--muted);line-height:1.6}
.homePage .coverageReviewLink{background:none!important;color:var(--ink);box-shadow:none;min-height:44px;text-decoration:underline;font-size:.9375rem}
.homePage .footer{margin-top:28px;line-height:1.6}
.homePage .footer a{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
.homePage :is(#insurance,#contact,#client-tools){scroll-margin-top:24px}

/* Keep the form near the top; reserve sticky space only for section navigation. */
.schedulerPage .wrap{max-width:1040px}
.schedulerPage .schedulerHeader{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;padding:20px;
  background:#fff!important;border:1px solid var(--line);border-radius:14px;box-shadow:none!important;overflow:visible;
}
.schedulerPage .schedulerBrand{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start}
.schedulerPage .schedulerLogoBox{width:64px;max-width:64px;align-self:start}
.schedulerPage .schedulerLogoBox .professionalLogo{width:64px;max-width:64px;padding:0;margin:0;border-radius:12px;box-shadow:none}
.schedulerPage .schedulerTitle{overflow:visible;min-width:0}
.schedulerPage .schedulerTitle h1{font-size:1.5rem;line-height:1.25;margin:0}
.schedulerPage .schedulerTitle p{font-size:.9375rem;line-height:1.5;margin:6px 0}
.schedulerPage .schedulerMiniLinks{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;width:auto}
.schedulerPage .schedulerMiniLinks .miniLink{font-size:.875rem;padding:6px 0;min-height:36px;border:0;background:none;justify-content:start;text-decoration:underline;text-underline-offset:3px;line-height:1.4}
.schedulerPage .steps{position:sticky;top:8px;z-index:30;padding:8px;margin-top:16px;background:#fff!important;border:1px solid var(--line);border-radius:12px;box-shadow:0 3px 12px #0b23400c!important}
.schedulerPage .stepRow{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;scrollbar-width:thin;max-width:100%;padding:4px}
.schedulerPage .step{
  appearance:none;display:flex;flex:1 0 auto;gap:7px;justify-content:center;align-items:center;
  min-height:44px;padding:9px 12px;font-size:.875rem;font-weight:550;line-height:1.4;
  border:0;border-radius:8px;cursor:pointer;background:#f0f4f8;color:var(--muted);text-align:center;
}
.schedulerPage .step .dot{width:6px;height:6px;flex:0 0 6px}
.schedulerPage .step .stepCheck{display:none!important}
.schedulerPage .step.active{background:var(--ink);color:#fff}
.schedulerPage .step.done:not(.active) .dot{background:#24714a}
.schedulerPage main.card{padding:24px;margin-top:18px;background:#fff!important;border:1px solid var(--line);border-radius:14px;box-shadow:none!important}
.schedulerPage .disclaimer{padding:0 0 16px;margin:0 0 16px;background:none!important;border:0;border-bottom:1px solid var(--line);font-size:.9375rem;line-height:1.6}
.schedulerPage .section{scroll-margin-top:var(--scheduler-nav-offset,100px)}
.schedulerPage .section h2{font-size:1.25rem;line-height:1.4;margin:0 0 8px}
.schedulerPage .sectionHint{font-size:.9375rem;line-height:1.6;margin-bottom:16px}
.schedulerPage .grid{gap:12px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}
.schedulerPage .grid>div{min-width:0}
.schedulerPage label{font-size:.9375rem;line-height:1.45;color:#354b61;margin:10px 0 7px}
.schedulerPage #t_typeLabel{font-size:.9375rem;color:var(--muted)}
.schedulerPage :is(input,select,textarea){font-size:1rem;line-height:1.5;border-radius:8px;border:1px solid #b8c8d9;padding:11px 12px;min-height:48px;background:#fff;max-width:100%;color:var(--ink);box-sizing:border-box}
.schedulerPage :is(input,select,textarea)::placeholder{color:#63778a;opacity:1}
.schedulerPage :is(input,select,textarea):focus{border-color:#1272b2;box-shadow:0 0 0 2px #1272b218}
.schedulerPage .divider{margin:28px 0;background:var(--line)}
.schedulerPage .typeCards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.schedulerPage .typeCard{appearance:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0;padding:14px;border:1px solid #bdcddd;border-radius:10px;background:#fff!important;color:var(--ink);box-shadow:none;cursor:pointer;text-align:left;font-size:1rem}
.schedulerPage .typeCard strong{font-size:1rem;line-height:1.4}
.schedulerPage .typeCard .pill{font-size:.8125rem;padding:0;border:0;background:none!important;color:var(--muted);line-height:1.4}
.schedulerPage .typeCard.selected{border-color:#155d93;background:#edf5fc!important;box-shadow:inset 0 0 0 1px #155d93}
.schedulerPage .typeCard.selected .pill{color:#155d93;font-weight:700}
.schedulerPage .optionalDetails{padding:0;margin:16px 0;border:1px solid var(--line);border-radius:10px;box-shadow:none!important;background:#fff!important;overflow:visible}
.schedulerPage .optionalDetails>summary{padding:16px;cursor:pointer;color:var(--ink);font-size:1rem;font-weight:650;min-height:52px;line-height:1.5;list-style-position:inside}
.schedulerPage .optionalDetails>summary::marker{color:#36678f}
.schedulerPage .optionalDetails[open]>summary{border-bottom:1px solid var(--line);margin-bottom:16px;background:#f8fafc;border-radius:10px 10px 0 0}
.schedulerPage .optionalHint{font-size:.875rem;color:var(--muted);font-weight:400;display:inline-block;margin-left:12px}
.schedulerPage .optionalDetails>:is(.grid,p,.drop,.stage2Notice){margin:16px}
.schedulerPage .optionalDetails>label{margin:16px 16px 8px}
.schedulerPage .optionalDetails>textarea{display:block;margin:0 16px 16px;width:calc(100% - 32px)}
.schedulerPage .leadProfileHead{display:list-item}
.schedulerPage .leadProfileHead span{font-size:inherit}
.schedulerPage .stage2Notice{box-shadow:none;font-size:.9375rem}
.schedulerPage .drop{padding:16px;border-radius:8px;background:#fafcff!important}
.schedulerPage .smallBtn{min-height:44px;font-size:.9375rem;background:#fff;color:var(--ink);border:1px solid #b8c8d9;border-radius:8px}
.schedulerPage .reviewSection{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.schedulerPage .summaryBar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin:16px 0 20px;border:0;background:transparent!important;overflow:visible}
.schedulerPage .sumItem{display:flex;flex-direction:column;align-items:flex-start;justify-content:start;gap:3px;padding:12px 14px;min-width:0;background:#f6f9fc!important;border:1px solid var(--line);border-radius:8px;text-align:left}
.schedulerPage .sumLabel{font-size:.875rem;font-weight:500;white-space:normal;line-height:1.4;overflow:visible;width:auto}
.schedulerPage .sumValue{font-size:.9375rem;font-weight:650;white-space:normal;overflow-wrap:anywhere;line-height:1.5;overflow:visible;width:auto}
.schedulerPage .consentGroup{margin:0;padding:0;border:0;border-radius:0;background:transparent!important}
.schedulerPage .consentGroupHead{margin-bottom:16px;gap:6px}
.schedulerPage .consentGroupHead strong{font-size:1rem}
.schedulerPage .consentGroupHead span{font-size:.9375rem;line-height:1.6}
.schedulerPage .consentRow{display:flex;align-items:flex-start;gap:12px;padding:14px 0;margin:0;border:0;border-bottom:1px solid #e8edf3;border-radius:0;background:transparent!important;font-size:.9375rem;line-height:1.65;color:#354b61}
.schedulerPage input[type="checkbox"]{appearance:auto;width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:4px 0 0;accent-color:#155d93;padding:0}
.schedulerPage .consentOptional{padding:14px;margin-top:12px;background:#f7fafc!important;border:1px solid var(--line);border-radius:8px}
.schedulerPage .submitActions{display:flex;justify-content:flex-end;margin-top:24px}
.schedulerPage #submitBtn{min-width:210px;font-size:1.0625rem}
.schedulerPage main>footer{margin-top:24px;font-size:.9375rem}
.schedulerPage .infoI{font-size:.875rem;font-family:inherit;line-height:1;min-width:24px;min-height:24px;padding:3px;background:#edf4fb;color:#235879;cursor:help;vertical-align:middle;position:relative}
.schedulerPage .infoI:is(:focus,:focus-within) .tip{display:block;opacity:1;visibility:visible}
.schedulerPage .tip{font-size:.875rem;line-height:1.5;max-width:min(300px,75vw);z-index:40}
.schedulerPage .modal{max-height:85vh;overflow-y:auto}
.schedulerPage .modal :is(.muted,.modalMsg){font-size:1rem;line-height:1.6;overflow-wrap:anywhere}
.schedulerPage .modalBtn{font-size:1rem;min-height:44px}

@media(max-width:980px){
  .homePage .hero{gap:24px;padding:28px;grid-template-columns:1.1fr 1fr}
  .homePage .visualServicesGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .homePage .clientTools .ctaRow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .schedulerPage .typeCards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  :is(.homePage,.schedulerPage) .wrap{padding:16px 14px 56px}
  .homePage .hero{grid-template-columns:1fr;padding:24px}
  .homePage .headline{max-width:22ch}
  .homePage .heroRight{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
  .homePage .infoCard{padding:0}
  .homePage .visualServicesHead{display:block}
  .homePage .visualServicesHead .btn{margin-top:16px}
  .homePage .coverageReviewIntro{grid-template-columns:1fr}
  .homePage .coverageReviewLink{justify-self:start;grid-column:auto;padding-left:0}
  .schedulerPage .schedulerHeader{grid-template-columns:1fr;padding:16px;gap:12px}
  .schedulerPage .languageChoices{justify-self:start;margin-left:80px}
  .schedulerPage .schedulerTitle h1{font-size:1.375rem}
  .schedulerPage .step{flex:0 0 auto;min-width:100px}
  .schedulerPage .grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .homePage .header{grid-template-columns:1fr;padding:16px;gap:12px}
  .homePage .languageChoices{justify-self:start;margin-left:76px}
  .homePage .primaryNav{gap:4px 18px}
  .homePage .hero{margin-top:16px;padding:22px 18px;gap:28px}
  .homePage .headline{font-size:2rem}
  .homePage .lead{font-size:1rem}
  .homePage .heroLeft .ctaRow .primary{width:100%}
  .homePage .heroRight{grid-template-columns:1fr}
  .homePage .heroBrandVisual img{max-height:300px}
  .homePage .visualServicesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .homePage .visualServiceCard{padding:18px 14px;gap:14px}
  .homePage .visualServiceCopy strong{font-size:1rem}
  .homePage .homeContactSection,.homePage .clientTools{padding:20px 16px}
  .homePage .brokerProfileCard{grid-template-columns:1fr;gap:8px}
  .homePage .brokerageLogoWrap{justify-content:start;min-height:0;padding:0}
  .homePage .brokerageLogoWrap img{max-width:110px}
  .homePage .brokerContactFacts,.homePage .clientTools .ctaRow{grid-template-columns:1fr}
  .homePage .contactActions .btn{width:100%}
  .schedulerPage main.card{padding:20px 16px}
  .schedulerPage .schedulerBrand{grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:start}
  .schedulerPage .schedulerLogoBox,.schedulerPage .schedulerLogoBox .professionalLogo{width:52px;max-width:52px}
  .schedulerPage .languageChoices{margin-left:64px}
  .schedulerPage .schedulerMiniLinks{display:flex;gap:4px 14px}
  .schedulerPage .schedulerMiniLinks .miniLink{font-size:.875rem}
  .schedulerPage .steps{top:6px;padding:5px;border-radius:10px}
  .schedulerPage .step{font-size:.875rem;min-height:44px;padding:8px 10px;min-width:94px}
  .schedulerPage .typeCards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .schedulerPage .optionalHint{display:block;margin:4px 0 0 18px;font-size:.875rem}
  .schedulerPage .summaryBar{grid-template-columns:1fr}
  .schedulerPage .optionalDetails>summary{padding:14px}
  .schedulerPage #submitBtn{width:100%}
  .schedulerPage .consentRow{font-size:.9375rem}
}
@media(max-width:360px){
  .homePage .languageChoices,.schedulerPage .languageChoices{margin-left:0}
  .homePage .visualServicesGrid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  :is(.homePage,.schedulerPage) *{scroll-behavior:auto!important;transition:none!important}
}
