/* Homepage reference layout. Shared navigation and brand styles remain untouched. */
main.h25-main {
  width: 100%; max-width: none; margin: 0; padding: 0; background: #fff;
  --h25-blue: #0068f5; --h25-navy: #061d63; --h25-muted: #526f9e;
  --h25-line: #dbe8fa; --h25-wash: #f3f8ff; --h25-teal: #00a48b;
  color: var(--h25-navy); font: 14px/1.4 Arial, Helvetica, sans-serif;
}
main.h25-main [data-home25], main.h25-main [data-home25] *,
main.h25-main [data-home25] *::before, main.h25-main [data-home25] *::after { box-sizing: border-box; }
main.h25-main [data-home25] { width: 100%; margin: 0; padding: 0; background: #fff; }
main.h25-main [data-home25] :is(section,article,aside,div,nav,form,fieldset) { min-width: 0; }
main.h25-main [data-home25] :is(h1,h2,h3,h4,p,ul,ol,figure,fieldset) { margin: 0; }
main.h25-main [data-home25] :is(h1,h2,h3,h4) { color: #002df1; font-family: Arial,Helvetica,sans-serif; font-style: normal; font-weight: 800; letter-spacing: -.035em; text-transform: none; }
main.h25-main [data-home25] :is(h1,h2,h3,h4,p,a,span,strong) { overflow-wrap: break-word; }
main.h25-main [data-home25] a { color: #0043df; text-decoration: none; text-underline-offset: 3px; }
main.h25-main [data-home25] a:hover { text-decoration: underline; }
main.h25-main [data-home25] :is(a,button,input,select,summary,textarea):focus-visible { outline: 3px solid #d88800; outline-offset: 3px; }
main.h25-main [data-home25] :is(input,select,button,textarea) { min-width: 0; max-width: 100%; font-family: inherit; font-size: 14px; }
main.h25-main [data-home25] :is(input,select,textarea) { color: #15385f; background: #fff; }
main.h25-main [data-home25] button { cursor: pointer; }
main.h25-main [data-home25] button:disabled { opacity: .65; cursor: wait; }
main.h25-main [data-home25] img { display: block; max-width: 100%; }
main.h25-main [data-home25] [hidden] { display: none !important; }
main.h25-main [data-home25] [id] { scroll-margin-top: 100px; }
main.h25-main .h25-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
main.h25-main .h25-icon { display: block; flex: 0 0 30px; width: 30px; height: 30px; color: var(--h25-blue); fill: none; }
main.h25-main .h25-icon :is(path,polyline,line,circle,rect) { vector-effect: non-scaling-stroke; }
main.h25-main .h25-arrow { flex: none; margin-left: auto; font-size: 19px; line-height: 1; color: var(--h25-blue); }
main.h25-main .h25-link { display: inline-flex; align-items: center; gap: 9px; min-height: 32px; font-size:14px; font-weight: 700; color: #0039e6; }
main.h25-main .h25-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 44px; padding: 11px 22px; border: 1px solid var(--h25-blue);
  border-radius: 6px; background: var(--h25-blue); color: #fff; font-size: 14px;
  font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none;
}
main.h25-main [data-home25] a.h25-button { color: #fff; }
main.h25-main .h25-button:hover, main.h25-main [data-home25] a.h25-button:hover { color: #fff; background: #0058d4; text-decoration: none; }
main.h25-main .h25-button-ghost, main.h25-main [data-home25] a.h25-button-ghost { color: #fff; background: #051e34a8; border-color: #fff; }
main.h25-main .h25-button-ghost:hover { background: #052b4ee8; }

/* The skyline is the page's single strong visual introduction. */
main.h25-main .h25-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: #14375c; }
main.h25-main .h25-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background-image: var(--h25-hero-image,none); background-size: cover; background-position: center 47%; }
main.h25-main .h25-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#031b37dc 0%,#03234999 36%,#031f3c1c 73%,#041e3400),linear-gradient(0deg,#011c2aaa,transparent 45%); }
main.h25-main .h25-hero-inner { position: relative; width: min(1480px,calc(100% - 80px)); min-height: 420px; margin: 0 auto; padding: 30px 0 22px; }
main.h25-main .h25-hero h1 { max-width: 830px; margin-bottom: 11px; color: #fff; font-size: clamp(42px,4.5vw,68px); line-height: .98; font-weight: 850; letter-spacing: -.045em; text-wrap: balance; text-shadow: 0 2px 12px #001b4a38; }
main.h25-main .h25-hero-inner > p { max-width: 750px; color: #fff; font-size: 20px; line-height: 1.3; font-weight: 500; }
main.h25-main .h25-search { display: flex; align-items: center; gap: 12px; width: min(700px,100%); min-height: 48px; margin-top: 17px; padding: 3px 3px 3px 14px; border: 1px solid #dae6f8; border-radius: 7px; background: #fff; box-shadow: 0 3px 15px #001d3024; }
main.h25-main .h25-search .h25-icon { flex-basis: 22px; width: 22px; height: 22px; color: #002760; }
main.h25-main .h25-search input { flex: 1; width: 100%; min-height: 40px; padding: 6px 0; border: 0; border-radius: 0; background: #fff; color: #102c5b; font-size: 14px; outline-offset: -1px; }
main.h25-main .h25-search input::placeholder { color: #5a729c; opacity: 1; }
main.h25-main .h25-search button { min-height: 40px; min-width: 115px; padding: 9px 21px; border: 0; border-radius: 5px; color: #fff; background: var(--h25-blue); font-weight: 700; font-size: 14px; }
main.h25-main .h25-search button:hover { background: #0055ce; }
main.h25-main .h25-popular { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; max-width: 900px; margin-top: 8px; color: #fff; font-size:14px; }
main.h25-main .h25-popular strong { margin-right: 3px; color: #fff; font-size:14px; font-weight: 500; }
main.h25-main .h25-popular a { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 11px; border: 1px solid #b4c8e7; border-radius: 18px; color: #fff; background: #031a35a8; font-size:14px; }
main.h25-main .h25-popular a:hover { color: #072c66; background: #fff; text-decoration: none; }
main.h25-main .h25-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 13px; }
main.h25-main .h25-hero-actions .h25-button { min-width: 225px; }
main.h25-main .h25-trust { display: flex; flex-wrap: wrap; gap: 11px 23px; padding: 0; margin-top: 17px !important; list-style: none; color: #fff; font-size:14px; }
main.h25-main .h25-trust li { display: inline-flex; align-items: center; gap: 8px; }
main.h25-main .h25-trust .h25-icon { flex-basis: 22px; width: 22px; height: 22px; padding: 3px; border-radius: 50%; background: #fff; color: #0061ed; }
main.h25-main .h25-hero-location { position: absolute; right: 0; bottom: 18px; color: #fff; font-size:14px; }

/* Compact, evenly aligned bands provide a clear route down the page. */
main.h25-main .h25-wrap { display: flex; flex-direction: column; gap: 16px; width: min(1480px,calc(100% - 64px)); margin: 14px auto 16px; }
main.h25-main .h25-section { margin: 0; padding: 0; border: 0; background: #fff; }
main.h25-main .h25-heading { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: baseline; gap: 5px 12px; margin-bottom: 10px; }
main.h25-main .h25-heading > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
main.h25-main .h25-heading h2 { font-size: 27px; line-height: 1.15; }
main.h25-main .h25-heading p { color: var(--h25-muted); font-size:14px; line-height: 1.35; }
main.h25-main .h25-heading > a { display: inline-flex; align-items: center; justify-content: flex-end; gap: 7px; min-height: 32px; margin-left: auto; color: #0038e5; font-size:14px; font-weight: 500; }
main.h25-main :is(.h25-intents,.h25-guide-grid,.h25-tools-row,.h25-discover-grid) { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 11px; }
main.h25-main :is(.h25-intent-card,.h25-guide-card,.h25-discover-card,.h25-area-card) { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--h25-line); border-radius: 7px; background: #fff; color: var(--h25-navy); }
main.h25-main [data-home25] :is(a.h25-intent-card,a.h25-guide-card,a.h25-discover-card,a.h25-area-card):hover { border-color: #80b8fb; text-decoration: none; box-shadow: 0 3px 10px #0649a30b; }
main.h25-main :is(.h25-intent-card,.h25-guide-card,.h25-discover-card,.h25-area-card) > img { width: 100%; height: auto; aspect-ratio: 1.95 / 1; object-fit: cover; object-position: center; background: #e5effb; }
main.h25-main .h25-card-copy { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 11px 11px 9px; }
main.h25-main .h25-card-copy h3 { color: #0023c9; font-size: 16px; line-height: 1.2; letter-spacing: -.025em; }
main.h25-main .h25-card-copy p { margin-top: 5px; color: var(--h25-muted); font-size:14px; line-height: 1.4; }
main.h25-main .h25-card-copy .h25-link { margin-top: auto; padding-top: 7px; }
main.h25-main .h25-intent-card .h25-card-copy { position: relative; min-height: 145px; padding-left: 45px; }
main.h25-main .h25-intent-card .h25-card-copy > .h25-icon { position: absolute; left: 10px; top: 12px; width: 27px; height: 27px; }
main.h25-main .h25-intent-card .h25-card-copy > span:first-child { position: absolute; left: 10px; top: 12px; display: block; }
main.h25-main .h25-intent-card .h25-card-copy > span:first-child .h25-icon { width: 27px; height: 27px; }
main.h25-main .h25-intent-card:nth-child(1) .h25-icon,
main.h25-main .h25-intent-card:nth-child(5) .h25-icon { color: var(--h25-teal); }
main.h25-main .h25-intent-card:nth-child(4) .h25-icon { color: #ee164c; }
main.h25-main .h25-intent-card h3 { font-size: 15px; }
main.h25-main .h25-guide-card .h25-card-copy { min-height: 128px; }
main.h25-main .h25-guide-card > img { aspect-ratio: 1.92 / 1; }

/* The shortcut strip has one action per tile, without duplicate descriptions. */
main.h25-main :is(.h25-plan-section,.h25-planning) { padding: 12px; border-radius: 8px; background: var(--h25-wash); }
main.h25-main .h25-tool-card { display: flex; align-items: center; gap: 12px; min-height: 74px; padding: 13px 14px; border: 1px solid var(--h25-line); border-radius: 7px; background: #fff; color: var(--h25-navy); }
main.h25-main [data-home25] a.h25-tool-card { color: var(--h25-navy); }
main.h25-main .h25-tool-card:hover { border-color: #85b7f8; text-decoration: none !important; }
main.h25-main .h25-tool-card strong { color: var(--h25-navy); font-size: 15px; font-weight: 700; line-height: 1.25; }
main.h25-main .h25-tool-card p { margin-top: 4px; color: var(--h25-muted); font-size:14px; line-height: 1.35; }
main.h25-main .h25-tool-card:nth-child(1) .h25-icon { color: #ff9d00; }
main.h25-main .h25-tool-card:nth-child(2) .h25-icon { color: #ff7618; }
main.h25-main .h25-tool-card:nth-child(3) .h25-icon { color: #00a28a; }
main.h25-main .h25-tool-card:nth-child(4) .h25-icon { color: #0625ed; }
main.h25-main .h25-tool-card:nth-child(5) .h25-icon { color: #a200ef; }
main.h25-main .h25-tool-card:nth-child(6) .h25-icon { color: #f1005f; }

/* Areas: map and six real destinations beside an accessible recommendation form. */
main.h25-main .h25-area-row { display: grid; grid-template-columns: minmax(0,2.1fr) minmax(280px,1fr); gap: 14px; align-items: stretch; }
main.h25-main .h25-area-browser { padding: 12px; border: 1px solid var(--h25-line); border-radius: 8px; background: #fff; }
main.h25-main .h25-area-browser .h25-heading h2 { font-size: 25px; }
main.h25-main .h25-area-layout { display: grid; grid-template-columns: minmax(210px,.95fr) minmax(0,1.05fr); gap: 12px; align-items: stretch; }
main.h25-main .h25-map { display: flex; flex-direction: column; position: relative; overflow: hidden; min-height: 275px; border: 1px solid #d4e4f6; border-radius: 7px; background: #e2f2ef; }
main.h25-main .h25-map :is(svg,img) { display: block; width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
main.h25-main .h25-map > a { display: inline-flex; align-items: center; justify-content: center; position: absolute; z-index: 2; left: 10px; right: 10px; bottom: 10px; min-height: 36px; padding: 8px 10px; border: 1px solid #7baaf0; border-radius: 5px; background: #fff; color: #0054e5; text-align: center; font-size: 13px; font-weight: 700; }
main.h25-main .h25-map > .hr-sourced-map { display: flex; align-items: stretch; flex: 1; width: 100%; min-height: 230px; margin: 0; padding-bottom: 55px; }
main.h25-main .h25-map .hr-area-map-v2 { width: 100%; height: 100%; min-height: 230px; }
main.h25-main .h25-map-actions { position: absolute; z-index: 2; left: 10px; right: 10px; bottom: 7px; display: flex; flex-direction: column; align-items: stretch; gap: 3px; }
main.h25-main .h25-map-actions .h25-button-light { min-height: 36px; padding: 8px 10px; color: #0054e5; background: #fff; border: 1px solid #7baaf0; font-size: 13px; }
main.h25-main [data-home25] .h25-map-actions a.h25-button-light { color: #0054e5; }
main.h25-main [data-home25] .h25-map-actions a.h25-button-light:hover { color: #003daa; background: #eef6ff; }
main.h25-main .h25-map-credit { align-self: flex-end; min-height: 17px; padding: 1px 3px; color: #315d88; background: #edf7fccc; font-size: 10px; line-height: 1.4; }
main.h25-main .h25-map .hrm2-map { width: 100%; height: 100%; min-height: 275px; }
main.h25-main .h25-map .hrm2-labels { font-size: 14px; }
main.h25-main .h25-map :is(figcaption,.hrm2-credit,.hrm2-note) { display: none; }
main.h25-main .h25-area-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
main.h25-main .h25-area-card { position: relative; }
main.h25-main .h25-area-card .h25-card-copy { position: relative; display: block; padding: 0; }
main.h25-main .h25-area-card > img { aspect-ratio: 1.85 / 1; min-height: 70px; }
main.h25-main .h25-area-card h3 { padding: 7px 8px 0; font-size: 14px; line-height: 1.2; color: #002bcd; }
main.h25-main .h25-area-card p { padding: 3px 22px 9px 8px; color: var(--h25-muted); font-size:14px; line-height: 1.3; }
main.h25-main .h25-area-card .h25-arrow { position: absolute; right: 7px; bottom: 9px; font-size: 15px; }
main.h25-main .h25-area-card .h25-card-copy > span:last-child { position: absolute; right: 7px; bottom: 9px; color: var(--h25-blue); font-size: 15px; }
main.h25-main .h25-fit { padding: 15px 16px; border: 1px solid var(--h25-line); border-radius: 8px; background: linear-gradient(135deg,#fafdff,#eef6ff); }
main.h25-main .h25-fit h2 { color: #002df1; font-size: 24px; line-height: 1.2; }
main.h25-main .h25-fit > p { margin: 5px 0 12px; color: var(--h25-muted); font-size:14px; line-height: 1.4; }
main.h25-main .h25-fit form { display: grid; gap: 10px; }
main.h25-main .h25-field { display: grid; gap: 5px; color: #184789; font-size:14px; }
main.h25-main .h25-field :is(input,select) { display: block; width: 100%; min-height: 44px; padding: 9px 11px; border: 1px solid #c9def9; border-radius: 5px; background: #fff; color: #2a548e; font-size:14px; line-height: 1.3; }
main.h25-main .h25-fit .h25-button { width: 100%; margin-top: 1px; padding-inline: 10px; }
main.h25-main .h25-fit-result { margin-top: 10px; padding: 0; color: #294d79; font-size:14px; line-height: 1.45; }
main.h25-main .h25-fit-result:not(:empty) { padding: 11px; border: 1px solid #b8d9fa; border-radius: 6px; background: #fff; }
main.h25-main .h25-fit-result :is(h3,strong) { color: #0036d0; font-size: 15px; }
main.h25-main .h25-fit-result p { margin-top: 5px; }
main.h25-main .h25-fit-result a { display: inline-flex; align-items: center; min-height: 36px; gap: 8px; margin-top: 5px; font-weight: 700; }

main.h25-main .h25-today-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
main.h25-main .h25-today-card { position: relative; display: grid; grid-template-columns: 44px minmax(0,1fr) 14px; align-items: center; gap: 14px; min-height: 100px; padding: 13px 15px; border: 1px solid var(--h25-line); border-radius: 7px; background: #fff; }
main.h25-main [data-home25] a.h25-today-card:hover { border-color: #8fbcf4; text-decoration: none; }
main.h25-main .h25-today-card > .h25-icon { width: 42px; height: 42px; flex-basis: 42px; }
main.h25-main .h25-today-card:nth-child(1) > .h25-icon { color: #ffab00; }
main.h25-main .h25-today-card:nth-child(3) > .h25-icon { color: var(--h25-teal); }
main.h25-main .h25-today-card h3 { font-size: 16px; line-height: 1.2; color: #0028dc; }
main.h25-main .h25-today-card p { margin-top: 4px; color: var(--h25-muted); font-size: 12px; line-height: 1.35; }
main.h25-main .h25-today-card .h25-arrow { font-size: 20px; }
main.h25-main .h25-discover-card > img { aspect-ratio: 2.4 / 1; }
main.h25-main .h25-discover-card :is(h3,p) { padding: 0 10px; }
main.h25-main .h25-discover-card h3 { padding-top: 8px; color: var(--h25-navy); font-size: 14px; line-height: 1.25; }
main.h25-main .h25-discover-card p { padding-top: 3px; padding-bottom: 10px; color: var(--h25-muted); font-size:14px; line-height: 1.3; }
main.h25-main .h25-discover-card .h25-card-copy { padding: 0; }
main.h25-main .h25-practical-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)) minmax(190px,1.3fr); gap: 9px; }
main.h25-main .h25-practical-grid .h25-tool-card { gap: 9px; min-height: 82px; padding: 10px; }
main.h25-main .h25-practical-grid .h25-icon { width: 28px; height: 28px; flex-basis: 28px; }
main.h25-main .h25-practical-grid .h25-tool-card strong { color: #003bdc; font-size:14px; line-height: 1.2; }
main.h25-main .h25-practical-grid .h25-tool-card p { font-size:14px; line-height: 1.3; }
main.h25-main .h25-practical-grid .h25-tool-card:nth-child(1) .h25-icon { color: #00a38a; }
main.h25-main .h25-practical-grid .h25-tool-card:nth-child(2) .h25-icon { color: #ed005e; }
main.h25-main .h25-practical-grid .h25-tool-card:nth-child(3) .h25-icon { color: #00a58b; }
main.h25-main .h25-practical-grid .h25-tool-card:nth-child(4) .h25-icon { color: #fb7715; }
main.h25-main .h25-practical-grid .h25-tool-card:nth-child(5) .h25-icon { color: #00a38a; }
main.h25-main .h25-practical-grid .h25-tool-card:nth-child(6) .h25-icon { color: #b800eb; }
main.h25-main .h25-local-help { background: #edf6ff; }
main.h25-main .h25-roadmap { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; list-style: none; padding: 0; }
main.h25-main .h25-step { position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 0 18px 0 0; }
main.h25-main .h25-step:not(:last-child)::after { display: none; }
main.h25-main .h25-step > span:last-child:not(.h25-step-number) { position: absolute; right: -6px; top: 10px; color: #0036e4; font-size: 24px; line-height: 1; }
main.h25-main .h25-step-number, main.h25-main .h25-step > span:first-child { display: grid; place-items: center; flex: 0 0 35px; width: 35px; height: 35px; border-radius: 50%; color: #fff; background: var(--h25-blue); font-size: 18px; font-weight: 700; line-height: 1; box-shadow: 0 0 0 4px #eaf4ff; }
main.h25-main .h25-step h3, main.h25-main .h25-step strong { color: #0025d1; font-size: 14px; line-height: 1.25; }
main.h25-main .h25-step p { margin-top: 4px; color: var(--h25-muted); font-size:14px; line-height: 1.35; }

/* Reuse the real newsletter form; only its presentation changes here. */
main.h25-main .h25-newsletter { position: relative; isolation: isolate; overflow: hidden; margin-top: 20px; background: #102d57; color: #fff; }
main.h25-main .h25-newsletter::before { content: ''; position: absolute; inset: 0; z-index: -2; background-image: var(--h25-newsletter-image,var(--h25-hero-image,none)); background-size: cover; background-position: center 54%; }
main.h25-main .h25-newsletter::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#061734aa,#06173444); }
main.h25-main .h25-newsletter-inner { display: grid; grid-template-columns: minmax(230px,.9fr) minmax(360px,1.1fr); gap: 30px; align-items: center; width: min(1400px,calc(100% - 80px)); min-height: 100px; margin: 0 auto; padding: 15px 0; }
main.h25-main .h25-newsletter h2 { color: #fff; font-size: 28px; line-height: 1.1; letter-spacing: -.03em; }
main.h25-main .h25-newsletter p { color: #fff; font-size: 14px; line-height: 1.4; }
main.h25-main .h25-newsletter .newsletter-signup { display: contents; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: none; color: #fff; --signup-muted: #fff; --signup-line: #aec8ed; --signup-accent: #0068f5; }
main.h25-main .h25-newsletter .newsletter-signup__inner { display: contents; width: auto; max-width: none; padding: 0; }
main.h25-main .h25-newsletter .newsletter-signup__copy { min-width: 0; }
main.h25-main .h25-newsletter .newsletter-signup__eyebrow { display: none; }
main.h25-main .h25-newsletter .newsletter-signup__copy h2 { max-width: none; font: 800 28px/1.1 Arial,Helvetica,sans-serif; color: #fff; }
main.h25-main .h25-newsletter .newsletter-signup__copy > p:last-child { margin: 4px 0 0; color: #fff; font-size:14px; line-height: 1.35; }
main.h25-main .h25-newsletter .newsletter-signup__form { width: 100%; }
main.h25-main .h25-newsletter .newsletter-signup__field { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0; align-items: stretch; padding: 3px; border: 1px solid #a6bfe2; border-radius: 7px; background: #fff; }
main.h25-main .h25-newsletter .newsletter-signup__label { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); }
main.h25-main .h25-newsletter .newsletter-signup__input { min-height: 44px; padding: 9px 13px; border: 0; border-radius: 4px; color: #092e5b; background: #fff; font-size: 14px; }
main.h25-main .h25-newsletter .newsletter-signup__button { min-height: 44px; padding: 10px 24px; border: 0; border-radius: 5px; background: #0068f5; color: #fff; font: 700 14px/1.2 Arial,Helvetica,sans-serif; letter-spacing: 0; text-transform: none; }
main.h25-main .h25-newsletter .newsletter-signup__meta { color: #fff; font-size:14px; margin-top: 5px; }
main.h25-main .h25-newsletter .newsletter-signup__meta a { color: #fff; text-decoration: underline; }
main.h25-main .h25-newsletter .newsletter-signup__status { min-height: 0; margin-top: 4px; color: #fff; font-size:14px; }
main.h25-main .h25-newsletter .newsletter-signup__status:empty { display: none; }
main.h25-main .h25-newsletter .newsletter-signup__status[data-state='error'] { color: #fff0a8; }
main.h25-main .h25-newsletter .newsletter-signup__status[data-state='success'] { color: #c1ffe9; }

@media (min-width: 1600px) {
  main.h25-main .h25-hero-inner { padding-top: 34px; min-height: 450px; }
  main.h25-main .h25-hero h1 { font-size: 72px; }
}
@media (max-width: 1250px) {
  main.h25-main .h25-wrap { width: calc(100% - 40px); }
  main.h25-main .h25-hero-inner { width: calc(100% - 64px); }
  main.h25-main :is(.h25-intents,.h25-guide-grid) { grid-template-columns: repeat(3,minmax(0,1fr)); }
  main.h25-main .h25-intent-card .h25-card-copy { min-height: 120px; }
  main.h25-main .h25-guide-card .h25-card-copy { min-height: 116px; }
  main.h25-main .h25-tools-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
  main.h25-main .h25-area-row { grid-template-columns: minmax(0,1.8fr) minmax(260px,1fr); }
  main.h25-main .h25-area-layout { grid-template-columns: minmax(180px,.85fr) minmax(0,1.15fr); }
  main.h25-main .h25-area-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  main.h25-main .h25-area-card > img { aspect-ratio: 2.1 / 1; min-height: 52px; }
  main.h25-main .h25-practical-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  main.h25-main .h25-local-help { grid-column: span 2; }
  main.h25-main .h25-roadmap { gap: 13px; }
  main.h25-main .h25-step { gap: 8px; }
}
@media (max-width: 950px) {
  main.h25-main .h25-hero-inner { width: calc(100% - 48px); padding-block: 28px 23px; }
  main.h25-main .h25-hero h1 { max-width: 680px; font-size: clamp(42px,6.2vw,58px); }
  main.h25-main .h25-hero-inner > p { max-width: 640px; font-size: 18px; }
  main.h25-main .h25-hero::after { background: linear-gradient(90deg,#031b37e8,#0323499c 65%,#031f3c55),linear-gradient(0deg,#011c2a99,transparent 55%); }
  main.h25-main .h25-hero-location { display: none; }
  main.h25-main .h25-area-row { grid-template-columns: 1fr; }
  main.h25-main .h25-area-layout { grid-template-columns: minmax(260px,.95fr) minmax(0,1.05fr); }
  main.h25-main .h25-area-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  main.h25-main .h25-area-card > img { aspect-ratio: 1.8 / 1; }
  main.h25-main .h25-fit { display: block; }
  main.h25-main .h25-fit form { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
  main.h25-main .h25-fit .h25-button { grid-column: 1/-1; width: auto; }
  main.h25-main .h25-today-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  main.h25-main .h25-discover-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  main.h25-main .h25-roadmap { grid-template-columns: 1fr; gap: 15px; }
  main.h25-main .h25-step { padding-right: 0; }
  main.h25-main .h25-step:not(:last-child)::after { display: none; }
  main.h25-main .h25-step > span:last-child:not(.h25-step-number) { display: none; }
  main.h25-main .h25-step p { font-size:14px; }
  main.h25-main .h25-newsletter-inner { width: calc(100% - 48px); grid-template-columns: minmax(220px,.8fr) minmax(300px,1.2fr); gap: 20px; }
}
@media (max-width: 650px) {
  main.h25-main .h25-wrap { width: calc(100% - 28px); gap: 18px; margin-top: 16px; }
  main.h25-main .h25-hero-inner { width: calc(100% - 32px); min-height: 0; padding: 26px 0 24px; }
  main.h25-main .h25-hero h1 { font-size: clamp(34px,8vw,48px); max-width: 580px; line-height: 1; }
  main.h25-main .h25-hero-inner > p { font-size: 16px; line-height: 1.4; }
  main.h25-main .h25-search { gap: 8px; margin-top: 15px; padding-left: 11px; }
  main.h25-main .h25-search input { font-size:14px; }
  main.h25-main .h25-search button { min-width: 77px; padding-inline: 12px; font-size:14px; }
  main.h25-main .h25-popular { gap: 6px; margin-top: 9px; }
  main.h25-main .h25-popular strong { flex-basis: 100%; }
  main.h25-main .h25-popular a { min-height: 32px; padding-inline: 10px; }
  main.h25-main .h25-hero-actions { gap: 9px; }
  main.h25-main .h25-hero-actions .h25-button { flex: 1 1 210px; width: 100%; min-width: 0; }
  main.h25-main .h25-trust { gap: 12px 17px; font-size:14px; }
  main.h25-main .h25-trust li { flex: 1 1 150px; gap: 6px; }
  main.h25-main .h25-heading { align-items: flex-start; gap: 6px 10px; }
  main.h25-main .h25-heading h2 { font-size: 24px; }
  main.h25-main .h25-heading p { flex-basis: 100%; font-size:14px; }
  main.h25-main .h25-heading > a { font-size:14px; min-height: 32px; }
  main.h25-main :is(.h25-intents,.h25-guide-grid,.h25-tools-row,.h25-discover-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  main.h25-main .h25-intent-card .h25-card-copy { min-height: 163px; padding: 11px; }
  main.h25-main .h25-intent-card .h25-card-copy > .h25-icon { position: static; margin-bottom: 7px; }
  main.h25-main .h25-intent-card .h25-card-copy > span:first-child { position: static; margin-bottom: 7px; }
  main.h25-main .h25-intent-card h3 { font-size: 15px; }
  main.h25-main .h25-card-copy p { font-size:14px; }
  main.h25-main .h25-card-copy .h25-link { min-height: 38px; }
  main.h25-main .h25-guide-card .h25-card-copy { min-height: 148px; }
  main.h25-main .h25-tool-card { gap: 9px; min-height: 78px; padding: 11px; }
  main.h25-main .h25-tool-card strong { font-size: 14px; }
  main.h25-main :is(.h25-plan-section,.h25-planning) { padding: 11px; }
  main.h25-main .h25-area-browser { padding: 11px; }
  main.h25-main .h25-area-browser .h25-heading h2 { font-size: 24px; }
  main.h25-main .h25-area-layout { grid-template-columns: 1fr; }
  main.h25-main .h25-map { min-height: 270px; }
  main.h25-main .h25-map :is(svg,img) { min-height: 250px; max-height: 340px; }
  main.h25-main .h25-area-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  main.h25-main .h25-area-card > img { min-height: 52px; }
  main.h25-main .h25-area-card h3 { padding-left: 7px; font-size:14px; }
  main.h25-main .h25-area-card p { padding-left: 7px; font-size:14px; }
  main.h25-main .h25-fit { padding: 14px; }
  main.h25-main .h25-fit form { grid-template-columns: 1fr; gap: 11px; }
  main.h25-main .h25-field :is(input,select) { font-size: 14px; }
  main.h25-main .h25-today-card { grid-template-columns: 30px minmax(0,1fr) 10px; gap: 9px; padding: 12px 10px; }
  main.h25-main .h25-today-card > .h25-icon { width: 30px; height: 30px; flex-basis: 30px; }
  main.h25-main .h25-today-card h3 { font-size: 14px; }
  main.h25-main .h25-today-card p { font-size: 12px; }
  main.h25-main .h25-practical-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  main.h25-main .h25-practical-grid .h25-tool-card { min-height: 92px; }
  main.h25-main .h25-local-help { grid-column: 1/-1; }
  main.h25-main .h25-newsletter { margin-top: 18px; }
  main.h25-main .h25-newsletter-inner { grid-template-columns: 1fr; width: calc(100% - 32px); gap: 12px; padding-block: 20px; }
  main.h25-main .h25-newsletter h2, main.h25-main .h25-newsletter .newsletter-signup__copy h2 { font-size: 26px; }
  main.h25-main .h25-newsletter .newsletter-signup__field { grid-template-columns: minmax(0,1fr) auto; }
  main.h25-main .h25-newsletter .newsletter-signup__button { padding-inline: 15px; font-size:14px; }
  main.h25-main .h25-newsletter .newsletter-signup__input { padding-inline: 10px; font-size:14px; }
}
@media (max-width: 360px) {
  main.h25-main .h25-hero h1 { font-size: 34px; }
  main.h25-main .h25-search .h25-icon { display: none; }
  main.h25-main .h25-search input { font-size:14px; }
  main.h25-main .h25-search button { min-width: 70px; padding-inline: 9px; }
  main.h25-main .h25-heading h2 { font-size: 22px; }
  main.h25-main .h25-today-grid { grid-template-columns: 1fr; }
  main.h25-main .h25-area-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  main.h25-main .h25-card-copy h3 { font-size: 14px; }
  main.h25-main .h25-intent-card .h25-card-copy { min-height: 180px; padding-inline: 9px; }
  main.h25-main .h25-guide-card .h25-card-copy { min-height: 166px; padding-inline: 9px; }
  main.h25-main .h25-newsletter .newsletter-signup__field { grid-template-columns: 1fr; gap: 3px; }
  main.h25-main .h25-newsletter .newsletter-signup__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  main.h25-main [data-home25] *, main.h25-main [data-home25] *::before, main.h25-main [data-home25] *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media (forced-colors: active) {
  main.h25-main .h25-hero::before, main.h25-main .h25-hero::after, main.h25-main .h25-newsletter::before, main.h25-main .h25-newsletter::after { display: none; }
  main.h25-main .h25-hero, main.h25-main .h25-newsletter { background: Canvas; color: CanvasText; }
  main.h25-main .h25-hero :is(h1,p,a,strong), main.h25-main .h25-newsletter :is(h2,p) { color: CanvasText; }
  main.h25-main .h25-button { border-color: ButtonText; }
}
@media print {
  main.h25-main .h25-hero::before, main.h25-main .h25-hero::after,
  main.h25-main :is(.h25-search,.h25-popular,.h25-hero-actions,.h25-trust,.h25-newsletter) { display: none !important; }
  main.h25-main .h25-hero { background: #fff; color: #000; }
  main.h25-main .h25-hero-inner { width: 100%; min-height: 0; padding-block: 15px; }
  main.h25-main .h25-hero h1 { color: #000; font-size: 30pt; }
  main.h25-main .h25-hero-inner > p { color: #000; font-size: 12pt; }
  main.h25-main .h25-wrap { width: 100%; }
  main.h25-main :is(.h25-intents,.h25-guide-grid,.h25-tools-row,.h25-discover-grid) { grid-template-columns: repeat(3,minmax(0,1fr)); }
  main.h25-main :is(.h25-intent-card,.h25-guide-card,.h25-discover-card,.h25-area-card,.h25-tool-card) { break-inside: avoid; }
  main.h25-main .h25-area-row { grid-template-columns: 1fr; }
  main.h25-main .h25-practical-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

/* Preserve the brand while giving header actions room on narrow phones. */
@media (max-width:360px) {
 body.h25-active .us-header-inner { padding-inline:8px; gap:4px; }
 body.h25-active .us-header-actions { gap:4px; }
 body.h25-active .us-languages>a,body.h25-active .us-languages>span { padding-inline:5px; }
}
