/* Shared refinements; all page layout, spacing and typography live in Avada. */
.kms-hero-title em{color:var(--awb-color5)}
.kms-home-hero .fusion-imageframe img{object-fit:cover}
.kms-header .fusion-layout-column{margin-bottom:0!important}
.kms-topbar .fusion-layout-column,.kms-topbar p,.kms-trust p{margin-bottom:0!important}
.kms-calculator{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:40px;align-items:stretch}
.kms-calculator-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:28px}
.kms-calculator label{display:block;font-weight:600;font-size:16px}
.kms-calculator input,.kms-calculator select{display:block;width:100%;max-width:100%;height:54px;margin-top:8px;padding:12px;border:1px solid var(--awb-custom_color_9);border-radius:6px;background:var(--awb-color1);color:var(--awb-color8);font:inherit}
.kms-calculator-result{min-width:0;border-radius:12px;background:var(--awb-color3);color:var(--awb-color1);padding:clamp(24px,4vw,48px)}
.kms-calculator-result output{display:block;font-size:clamp(32px,4.2vw,58px);font-weight:600;line-height:1.15;letter-spacing:-.045em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.kms-calculator-result output.kms-payment-long{font-size:clamp(24px,3.2vw,44px)}
.kms-calculator-eyebrow{font-size:12px;letter-spacing:.12em;color:var(--awb-color5)}
.kms-calculator-note{font-size:14px;line-height:1.6;margin-top:24px}
.kms-calculator-link{display:inline-block;background:var(--awb-color1);color:var(--awb-color3)!important;padding:14px 22px;border-radius:30px;font-size:16px;font-weight:600}
.kms-calculator-link i{margin-left:12px}
.kms-calculator :focus-visible{outline:3px solid var(--awb-custom_color_12);outline-offset:4px}
@media(max-width:800px){.kms-calculator{grid-template-columns:minmax(0,1fr);gap:28px}}
@media(max-width:480px){.kms-calculator-fields{grid-template-columns:minmax(0,1fr);gap:18px}}/* Shared revision refinements. Native builder controls retain all section/card spacing. */
.kms-calculator .kms-calculator-form .kms-calculator-note{margin-top:28px!important;display:block;clear:both}
.kms-directions-map{display:block;width:100%;border:0;border-radius:12px}
.kms-directions-link{margin-top:20px;font-weight:600}
.kms-area-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.kms-area-links>a{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--awb-color6);padding:18px 16px;border-radius:6px;transition:background-color .2s,color .2s}
@media(max-width:600px){.kms-area-links{grid-template-columns:minmax(0,1fr)}}
.kms-topbar p{margin-top:0!important}
/* Road geometry uses native Avada map points; only the start and office need visible pins. */
.kms-route-map{border-radius:12px;overflow:hidden}
.kms-route-map .leaflet-marker-pane .leaflet-marker-icon:not(:first-child):not(:last-child){display:none}
/* Explicit hover/focus contrast for links on pale and dark surfaces. */
#main a:not(.fusion-button):not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out):hover,#main a:not(.fusion-button):focus-visible{color:var(--awb-color3)}
.kms-topbar a:hover,.kms-topbar a:focus-visible{color:var(--awb-color5)!important;text-decoration:underline}
.kms-area-links a:hover,.kms-area-links a:focus-visible{background:var(--awb-color2);color:var(--awb-color3)}
.kms-calculator-link:hover,.kms-calculator-link:focus-visible{background:var(--awb-color5);color:var(--awb-color7)!important}
.kms-advisor-card{transition:transform .25s ease}
@media(hover:hover){.kms-advisor-card:hover{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.fusion-animated,.fusion-animated *{animation:none!important;transition:none!important;opacity:1!important;visibility:visible!important}.kms-advisor-card{transition:none!important}.kms-advisor-card:hover{transform:none}}

/* Reserve hero geometry before image download; Avada retains its 4:3 crop. */
.kms-stable-hero-image{display:block;width:100%;aspect-ratio:4/3}
.kms-stable-hero-image img{width:100%;height:100%;object-fit:cover}
.kms-topbar .kms-topbar-phone:hover,.kms-topbar .kms-topbar-phone:focus-visible{color:var(--awb-color7)!important;text-decoration:none}
.kms-navigation a:focus-visible,.kms-area-links a:focus-visible{outline:2px solid var(--awb-color3);outline-offset:3px}
/* Native Avada supplies the photo border; this shared rule adds a fine outer edge. */
.kms-hero-photo{box-shadow:0 0 0 1px hsla(var(--awb-color7-h),var(--awb-color7-s),var(--awb-color7-l),.14),0 16px 32px -24px hsla(var(--awb-color7-h),var(--awb-color7-s),var(--awb-color7-l),.35)}
.kms-hero-map{display:block;width:100%;aspect-ratio:600/569}
.kms-hero-map img{width:100%;height:auto}

/* Grouped card copy: clients edit a heading and paragraph in one native Text Block. */
.kms-card-copy h3{margin-top:0;margin-bottom:16px;line-height:1.2}
.kms-card-copy p:last-child{margin-bottom:0}
.kms-mortgage-help-card .kms-card-copy h3{color:var(--awb-color1)}
