/* Source: base.css */
:root { --cream: #F5EFE4; --paper: #FBFAF7; --white: #FFFFFF; --tint-blue: #E8EEF8; --tint-gold: #FBF3DC; --navy: #144A8F; --navy-deep: #0E3566; --navy-foot: #0B2A52; --gold: #DCA128; --gold-deep: #C08A1C; --gold-text: #8A6114; --gold-pale: #FDE8A0; --ink: #14213A; --muted: #5A6A7D; --line: #E4E6EC; --line-soft: #EDEFF3; --alert: #B3261E; --display: 'Lora',Georgia,'Times New Roman',serif; --body: 'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif; --r: 14px; --r-lg: 20px; --r-xl: 28px; --r-pill: 999px; --rhythm: clamp(4.5rem,8vw,6.75rem); --gutter: clamp(1.25rem,4vw,2.5rem); --maxw: 1320px; }
*, ::before, ::after { box-sizing: border-box; }
html { text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
body { margin: 0px; background: var(--cream); color: var(--ink); font-family: var(--body); font-size: 16px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; }
img { max-width: 100%; display: block; }
h1, h2, h3, h4, p, figure { margin: 0px; }
a { color: inherit; }
button { font: inherit; }
.wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
h1, h2, h3, .display { font-family: var(--display); font-weight: 500; letter-spacing: -0.01em; line-height: 1.08; }
h1 { font-size: clamp(2.55rem, 5.2vw, 4.2rem); }
h2 { font-size: clamp(1.95rem, 3.5vw, 2.8rem); }
h3 { font-size: 1.3rem; line-height: 1.2; }
.lede { color: var(--muted); font-size: clamp(1rem, 1.35vw, 1.125rem); line-height: 1.65; max-width: 62ch; }
em.accent { font-style: italic; color: var(--navy); }
.kicker { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-text); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 54px; padding: 0px 30px; border-radius: var(--r-pill); font-weight: 600; font-size: 16px; text-decoration: none; cursor: pointer; border: 1.5px solid transparent; }
.btn--sm { min-height: 46px; padding: 0px 22px; font-size: 15px; }
.btn--navy { background: var(--navy); color: rgb(255, 255, 255); }
.btn--navy:hover { background: var(--navy-deep); color: rgb(255, 255, 255); }
.btn--gold { background: var(--gold); color: var(--navy-deep); }
.btn--gold:hover { background: var(--gold-deep); color: var(--navy-deep); }
.btn--line { background: transparent; border-color: var(--line); color: var(--ink); }
.btn--line:hover { border-color: var(--navy); color: var(--navy); }
.btn--ghost { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.46); color: rgb(255, 255, 255); }
.btn--ghost:hover { background: rgba(255, 255, 255, 0.2); color: rgb(255, 255, 255); }
.arrowlink { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; font-weight: 600; font-size: 16px; color: var(--navy); white-space: nowrap; }
.arrowlink svg { transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1); }
.arrowlink:hover svg { transform: translateX(5px); }
.progress { position: fixed; inset: 0px auto auto 0px; height: 3px; width: 100%; transform: scaleX(0); transform-origin: 0px 50%; background: linear-gradient(90deg,var(--gold),var(--navy)); z-index: 90; pointer-events: none; }
.topbar { background: var(--navy-deep); color: rgb(255, 255, 255); font-size: 14px; }
.topbar .wrap { display: flex; align-items: center; justify-content: center; gap: 8px 22px; flex-wrap: wrap; min-height: 40px; }
.topbar a { color: rgb(255, 255, 255); text-decoration: none; font-weight: 600; }
.topbar .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
.masthead { position: sticky; top: 0px; z-index: 70; background: rgba(251, 250, 247, 0.92); backdrop-filter: saturate(180%) blur(14px); border-bottom: 1px solid transparent; }
.masthead.is-scrolled { border-bottom-color: var(--line); }
.masthead .wrap { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 79px; position: relative; }
.brand img { width: 164px; height: auto; }
.nav { display: flex; align-items: center; gap: 24px; }
.nav a.nav-link { color: var(--ink); text-decoration: none; font-weight: 600; font-size: 15.5px; }
.navtoggle { display: none; }
.band { padding-block: var(--rhythm); }
.band--paper { background: var(--paper); }
.band--white { background: var(--white); }
.band--blue { background: var(--tint-blue); }
.band--gold { background: var(--tint-gold); }
.band--navy { background: var(--navy); color: rgb(255, 255, 255); }
.band--navy .lede, .band--navy p { color: rgba(255, 255, 255, 0.82); }
.band--navy .kicker { color: var(--gold-pale); }
.band--tight { padding-block: clamp(3rem, 5vw, 4rem); }
.sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 26px; flex-wrap: wrap; margin-bottom: clamp(2rem, 3.4vw, 2.75rem); }
.sec-head .copy { display: flex; flex-direction: column; gap: 14px; max-width: 52ch; }
.sec-head h2 { max-width: 24ch; }
.hero { position: relative; background: var(--white); overflow: hidden; padding-block: clamp(3rem, 6vw, 5.25rem); }
#heroGL { position: absolute; inset: 0px; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 1.1s 0.2s; pointer-events: none; }
#heroGL[data-webgl="on"] { opacity: 1; }
.hero::after { content: ""; position: absolute; inset: 0px; pointer-events: none; background: radial-gradient(105% 105% at 20% 48%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.88) 34%, rgba(255, 255, 255, 0.34) 66%, rgba(255, 255, 255, 0) 84%); }
.hero .wrap { position: relative; z-index: 2; }
.hero .inner { display: grid; grid-template-columns: 1.06fr 0.94fr; gap: clamp(2rem, 4vw, 3.75rem); align-items: center; }
.hero-copy { display: flex; flex-direction: column; gap: 22px; align-items: flex-start; }
.hero h1 .w { display: inline-block; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-media { position: relative; }
.hero-media > img { border-radius: var(--r-lg); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; }
.floatcard { position: absolute; left: 18px; bottom: 18px; background: rgb(255, 255, 255); border-radius: var(--r); padding: 14px 18px; max-width: 300px; border: 1px solid var(--line); }
.floatcard b { display: block; font-size: 15.5px; font-weight: 700; }
.floatcard span { display: block; font-size: 13.5px; color: var(--muted); }
.finder { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px; width: 100%; max-width: 560px; }
.finder .row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }
.finder label { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; color: var(--muted); margin-bottom: 7px; }
.finder select { width: 100%; min-height: 50px; border-radius: var(--r-pill); border: 1.5px solid var(--line); background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23144A8F' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") right 16px center no-repeat rgb(255, 255, 255); padding: 0px 40px 0px 18px; font-family: var(--body); font-size: 15.5px; font-weight: 600; color: var(--ink); appearance: none; cursor: pointer; }
.finder select:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.dest { margin-top: 12px; font-size: 13.5px; color: var(--muted); }
.dest code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; background: var(--tint-gold); color: var(--gold-text); padding: 4px 9px; border-radius: 7px; }
.statline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 26px; font-size: 15px; color: var(--muted); }
.statline b { color: var(--ink); font-weight: 700; }
.statline .stars { color: var(--gold); letter-spacing: 1.5px; }
.strip { background: var(--paper); border-block: 1px solid var(--line); }
.strip .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 30px; min-height: 60px; align-items: center; font-size: 14.5px; color: var(--muted); }
.strip b { color: var(--ink); font-weight: 700; }
.ctabar { position: fixed; left: 0px; right: 0px; bottom: 0px; z-index: 80; background: var(--navy-deep); color: rgb(255, 255, 255); transform: translateY(105%); transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
.ctabar.is-up { transform: none; }
.ctabar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 70px; flex-wrap: wrap; }
.ctabar p { font-weight: 600; font-size: 15.5px; }
.ctabar .grp { display: flex; gap: 10px; }
.mapgrid { display: grid; grid-template-columns: 1.06fr 0.94fr; gap: clamp(1.6rem, 3vw, 2.75rem); align-items: center; }
.tilemap { display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(4, 1fr); gap: 10px; aspect-ratio: 6 / 4.2; }
.tile-st { border: 1.5px solid var(--line); padding: 0px; font-family: var(--body); border-radius: var(--r); background: rgb(255, 255, 255); color: var(--muted); font-weight: 700; font-size: clamp(13px, 1.5vw, 16px); display: grid; place-items: center; cursor: pointer; position: relative; transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.25s, color 0.25s, border-color 0.25s; }
.tile-st.is-active { background: var(--navy); border-color: var(--navy); color: rgb(255, 255, 255); }
.tile-st.is-soon { background: rgb(255, 255, 255); border-style: dashed; border-color: var(--gold); color: var(--gold-text); padding-bottom: 13px; }
.tile-st:hover, .tile-st:focus-visible { transform: translateY(-3px); }
.tile-st[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: var(--navy-deep); }
.tile-st .soon { position: absolute; left: 0px; right: 0px; bottom: 7px; text-align: center; font-size: 8.5px; letter-spacing: 0.08em; font-weight: 700; text-transform: uppercase; opacity: 0.9; }
.tile-empty { border-radius: var(--r); background: transparent; border: 1.5px dashed var(--line-soft); }
.mappanel { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.4rem, 3vw, 2.1rem); min-height: 320px; display: flex; flex-direction: column; gap: 14px; }
.mappanel .status { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; color: var(--navy); background: var(--tint-blue); padding: 6px 13px; border-radius: var(--r-pill); align-self: flex-start; }
.mappanel .status.soon { color: var(--gold-text); background: var(--tint-gold); }
.mappanel ul { margin: 0px; padding: 0px; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.mappanel li { border: 1.5px solid var(--line); border-radius: var(--r-pill); padding: 7px 14px; font-size: 14px; font-weight: 600; }
.mappanel .plans { font-size: 14px; color: var(--muted); }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { display: flex; flex-direction: column; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; text-decoration: none; color: inherit; }
.card .shot { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: var(--tint-blue); }
.card .shot img { width: 100%; height: 100%; object-fit: cover; }
.card .tagpill { position: absolute; left: 14px; top: 14px; background: rgba(255, 255, 255, 0.95); color: var(--navy); border-radius: var(--r-pill); padding: 6px 13px; font-size: 11.5px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; }
.card .body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 9px; flex: 1 1 0%; }
.card .body .kicker { margin-bottom: 2px; }
.card .head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.card .head h3 { font-size: 1.28rem; }
.card .head .go { flex: 0 0 auto; color: var(--gold); margin-top: 4px; transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1); }
.card:hover .head .go { transform: translateX(5px); }
.card p { font-size: 15px; color: var(--muted); line-height: 1.55; }
.card.is-hidden { display: none; }
.card--lead { grid-column: span 2; flex-direction: row; align-items: stretch; }
.card--lead .shot { flex: 0 0 46%; aspect-ratio: auto; }
.card--lead .body { padding: clamp(1.6rem, 2.6vw, 2.4rem); justify-content: center; gap: 12px; }
.card--lead .head h3 { font-size: clamp(1.5rem, 2.3vw, 1.95rem); }
.card--lead p { font-size: 16px; }
.cadence { display: inline-flex; align-items: center; gap: 9px; background: var(--tint-gold); color: var(--gold-text); border-radius: var(--r-pill); padding: 8px 16px; font-size: 13px; font-weight: 700; align-self: flex-start; }
.cadence .pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); flex: 0 0 auto; }
@media (prefers-reduced-motion: no-preference) {
  .cadence .pulse { animation: 2.4s ease-in-out 0s infinite normal none running pulse; }
  @keyframes pulse { 
  0%, 100% { box-shadow: rgba(220, 161, 40, 0.55) 0px 0px 0px 0px; }
  50% { box-shadow: rgba(220, 161, 40, 0) 0px 0px 0px 7px; }
}
}
.filters { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 24px; }
.filters button { font-family: var(--body); font-size: 14.5px; font-weight: 600; color: var(--muted); cursor: pointer; background: rgb(255, 255, 255); border: 1.5px solid var(--line); border-radius: var(--r-pill); padding: 9px 18px; transition: background-color 0.22s, color 0.22s, border-color 0.22s, transform 0.22s cubic-bezier(0.16, 1, 0.3, 1); }
.filters button:hover { transform: translateY(-2px); border-color: var(--navy); color: var(--navy); }
.filters button[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: rgb(255, 255, 255); }
.insights-foot { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.insights-foot .count { font-size: 14.5px; color: var(--muted); }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; position: relative; }
.steps .thread { position: absolute; left: 0px; right: 0px; top: 54px; height: 2px; pointer-events: none; overflow: visible; }
.steps .thread path { fill: none; stroke: var(--navy); stroke-width: 2; stroke-dasharray: 8, 8; opacity: 0.32; stroke-dashoffset: var(--dash,1200); }
.step { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.5rem, 3vw, 2rem); display: flex; flex-direction: column; gap: 12px; position: relative; z-index: 1; }
.step .n { font-family: var(--display); font-size: 2.9rem; font-weight: 500; line-height: 0.9; color: var(--gold); }
.step h3 { font-size: 1.2rem; }
.step p { font-size: 15.5px; color: var(--muted); }
.founder { display: grid; grid-template-columns: 1.04fr 0.96fr; gap: clamp(2rem, 4vw, 3.25rem); align-items: center; }
.founder-portrait img { border-radius: var(--r-lg); aspect-ratio: 4 / 3; object-fit: cover; object-position: center top; width: 100%; height: auto; }
.checks { list-style: none; margin: 0px; padding: 0px; display: flex; flex-direction: column; gap: 12px; }
.checks li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; color: rgba(255, 255, 255, 0.9); }
.checks svg { flex: 0 0 auto; margin-top: 4px; }
.founder-body { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.quote { font-size: clamp(1.05rem, 1.6vw, 1.2rem); line-height: 1.6; color: rgba(255, 255, 255, 0.9); }
.ratingrow { display: flex; align-items: flex-end; gap: 26px; flex-wrap: wrap; margin-bottom: 26px; }
.ratingrow .big { font-family: var(--display); font-size: clamp(2.8rem, 6vw, 4.2rem); font-weight: 500; line-height: 0.9; color: var(--navy); }
.marquee { overflow: hidden; mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 5%, rgb(0, 0, 0) 95%, transparent); }
.marquee .track { display: flex; gap: 18px; width: max-content; animation: 52s linear 0s infinite normal none running slide; }
.marquee:hover .track, .marquee:focus-within .track { animation-play-state: paused; }
@keyframes slide { 
  100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .marquee .track { animation: auto ease 0s 1 normal none running none; }
  .marquee { overflow-x: auto; }
}
.review { width: 352px; flex-shrink: 0; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.review .stars { color: var(--gold); letter-spacing: 2px; font-size: 15px; }
.review p { font-size: 15.5px; line-height: 1.55; }
.review .who { font-size: 13px; font-weight: 600; color: var(--muted); }
.platforms { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 26px; }
.platforms img { height: 38px; width: auto; opacity: 0.8; }
.pricegrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.pricecard { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; display: flex; flex-direction: column; gap: 6px; }
.pricecard h3 { font-family: var(--body); font-size: 16px; font-weight: 700; letter-spacing: 0px; }
.pricecard .amount { font-family: var(--display); font-size: 2.5rem; font-weight: 500; line-height: 1.05; color: var(--ink); }
.pricecard .amount small { font-family: var(--body); font-size: 13px; font-weight: 600; color: var(--muted); margin-left: 5px; }
.pricecard .follow { display: flex; justify-content: space-between; gap: 12px; border-top: 1px dotted var(--line); margin-top: 10px; padding-top: 12px; font-size: 14.5px; color: var(--muted); }
.pricecard .follow b { color: var(--ink); }
.carriers { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.carriers span { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r); min-height: 92px; display: grid; place-items: center; padding: 10px; }
.carriers img { max-height: 54px; max-width: 88%; width: auto; object-fit: contain; }
.faq { display: grid; gap: 12px; max-width: 940px; }
.faq details { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); }
.faq summary { cursor: pointer; list-style: none; padding: 20px 24px; font-weight: 600; font-size: 17px; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 24px; color: var(--navy); font-weight: 400; line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding: 0px 24px 22px; color: var(--muted); font-size: 16px; }
.closer { position: relative; border-radius: var(--r-xl); overflow: hidden; min-height: 420px; display: flex; align-items: center; }
.closer img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; }
.closer .veil { position: absolute; inset: 0px; background: linear-gradient(90deg, rgba(11, 42, 82, 0.92) 0%, rgba(11, 42, 82, 0.74) 42%, rgba(11, 42, 82, 0.12) 100%); }
.closer .inner { position: relative; padding: clamp(2.2rem, 5vw, 3.75rem); color: rgb(255, 255, 255); display: flex; flex-direction: column; gap: 18px; align-items: flex-start; max-width: 640px; }
.closer h2 { color: rgb(255, 255, 255); }
.closer .states { color: rgba(255, 255, 255, 0.86); font-size: 16.5px; }
.emergency .box { background: rgb(251, 233, 231); border-radius: var(--r-lg); padding: 18px 24px; display: flex; gap: 14px; align-items: flex-start; }
.emergency p { color: var(--alert); font-weight: 600; font-size: 15.5px; }
.foot { background: var(--navy-foot); color: rgb(255, 255, 255); padding-block: clamp(3rem, 6vw, 4.5rem) 6rem; }
.foot a { color: rgb(255, 255, 255); text-decoration: none; font-size: 15px; }
.foot a:hover { color: var(--gold-pale); }
.foot-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.foot-col { display: flex; flex-direction: column; gap: 9px; }
.foot-col .h { font-size: 12px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--gold-pale); margin-bottom: 6px; }
.foot .fine { margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, 0.18); font-size: 14px; color: rgba(255, 255, 255, 0.78); max-width: 920px; }
@media (max-width: 1020px) {
  .hero .inner, .mapgrid, .founder { grid-template-columns: 1fr; }
  .grid3 { grid-template-columns: repeat(2, 1fr); }
  .card--lead { grid-column: span 2; flex-direction: column; }
  .card--lead .shot { flex: 0 0 auto; aspect-ratio: 16 / 9; }
  .pricegrid { grid-template-columns: repeat(2, 1fr); }
  .carriers { grid-template-columns: repeat(3, 1fr); }
  .foot-grid { grid-template-columns: repeat(2, 1fr); }
  .nav { display: none; }
  .navtoggle { display: inline-flex; }
  .steps .thread { display: none; }
}
@media (max-width: 680px) {
  .finder .row { grid-template-columns: 1fr; }
  .grid3, .pricegrid, .steps { grid-template-columns: 1fr; }
  .card--lead { grid-column: auto; }
  .carriers { grid-template-columns: repeat(2, 1fr); }
  .floatcard { left: 12px; right: 12px; max-width: none; bottom: 12px; }
  .ctabar p { display: none; }
  .ctabar .wrap { justify-content: center; }
  .strip .wrap { justify-content: flex-start; }
}
.navtoggle { width: 46px; height: 46px; align-items: center; justify-content: center; border: 1.5px solid var(--line); background: rgb(255, 255, 255); border-radius: 12px; cursor: pointer; padding: 0px; color: var(--navy); }
.navtoggle span { display: block; width: 18px; height: 2px; background: currentcolor; border-radius: 2px; position: relative; transition: background-color 0.2s; }
.navtoggle span::before, .navtoggle span::after { content: ""; position: absolute; left: 0px; width: 18px; height: 2px; background: currentcolor; border-radius: 2px; transition: transform 0.25s; }
.navtoggle span::before { top: -6px; }
.navtoggle span::after { top: 6px; }
.navtoggle[aria-expanded="true"] span { background: transparent; }
.navtoggle[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.navtoggle[aria-expanded="true"] span::after { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 1020px) {
  .nav.is-open { display: flex; position: absolute; top: calc(100% + 1px); left: 0px; right: 0px; flex-direction: column; align-items: stretch; gap: 0px; background: rgb(255, 255, 255); border-block: 1px solid var(--line); padding: 6px var(--gutter) 12px; z-index: 75; }
  .nav.is-open a.nav-link { padding: 15px 0px; border-bottom: 1px solid var(--line-soft); font-size: 17px; }
  .nav.is-open a.nav-link:last-child { border-bottom: 0px; }
}
.pricecard .unit { font-size: 13.5px; font-weight: 600; color: var(--muted); margin-top: -4px; }
.btn { white-space: nowrap; }
@media (max-width: 520px) {
  .masthead .btn--sm { padding: 0px 16px; font-size: 14.5px; min-height: 44px; }
  .brand img { width: 132px; }
}
.topbar .wrap { justify-content: space-between; }
.topbar .left, .topbar .right { display: flex; align-items: center; gap: 8px 18px; flex-wrap: wrap; }
.nav { position: static; }
.dd { position: relative; }
.dd-btn { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0px; padding: 0px; cursor: pointer; color: var(--ink); font-weight: 600; font-size: 15.5px; font-family: var(--body); }
.dd-btn svg { transition: transform 0.22s; }
.dd-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.dd-panel { position: absolute; top: calc(100% + 16px); left: 50%; transform: translate(-50%, -6px); background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 10px; box-shadow: rgba(18, 63, 130, 0.1) 0px 16px 44px; display: grid; gap: 2px; min-width: 250px; z-index: 80; opacity: 0; visibility: hidden; transition: opacity 0.2s, transform 0.2s, visibility 0.2s; }
.dd-panel--wide { width: 560px; grid-template-columns: 1fr 1fr; }
.dd.is-open .dd-panel { opacity: 1; visibility: visible; transform: translate(-50%, 0px); }
.dd-panel a { display: block; padding: 11px 14px; border-radius: 12px; text-decoration: none; font-size: 15px; font-weight: 500; color: var(--ink); }
.dd-panel a:hover { background: var(--tint-blue); color: var(--navy); }
@media (prefers-reduced-motion: reduce) {
  .dd-panel { transition: none; }
}
.drawer { position: fixed; inset: 0px; z-index: 95; display: none; }
.drawer.is-open { display: block; }
.drawer .scrim { position: absolute; inset: 0px; background: rgba(11, 42, 82, 0.42); }
.drawer .sheet { position: absolute; inset: 0px 0px 0px auto; width: min(420px, 92vw); background: var(--paper); display: flex; flex-direction: column; overflow-y: auto; transform: translateX(100%); transition: transform 0.34s cubic-bezier(0.16, 1, 0.3, 1); }
.drawer.is-open .sheet { transform: none; }
@media (prefers-reduced-motion: reduce) {
  .drawer .sheet { transition: none; }
}
.drawer .sheet-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px var(--gutter); border-bottom: 1px solid var(--line); position: sticky; top: 0px; background: var(--paper); z-index: 2; }
.drawer .sheet-body { padding: 20px var(--gutter) 28px; display: flex; flex-direction: column; gap: 26px; }
.drawer .grp { display: flex; flex-direction: column; gap: 2px; }
.drawer .grp .k { font-size: 11.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 8px; }
.drawer .grp a { display: block; padding: 12px 0px; min-height: 46px; text-decoration: none; font-size: 16.5px; font-weight: 500; border-bottom: 1px solid var(--line-soft); }
.drawer .grp a:last-child { border-bottom: 0px; }
.drawer .sheet-foot { margin-top: auto; padding: 20px var(--gutter) 28px; display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--line); }
.drawer .sheet-foot .btn { width: 100%; }
.drawer .phone { text-align: center; font-weight: 600; text-decoration: none; color: var(--navy); padding: 8px; }
.promise { display: flex; flex-direction: column; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; text-decoration: none; color: inherit; }
.promise .shot { aspect-ratio: 16 / 10; overflow: hidden; background: var(--tint-blue); }
.promise .shot img { width: 100%; height: 100%; object-fit: cover; }
.promise .body { padding: 20px 22px 24px; display: flex; flex-direction: column; gap: 7px; }
.promise .head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.promise h3 { font-size: 1.24rem; }
.promise .go { color: var(--gold); flex: 0 0 auto; transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1); }
.promise:hover .go { transform: translateX(5px); }
.promise p { font-size: 15px; color: var(--muted); }
.prep { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.prep .item { display: flex; gap: 14px; align-items: flex-start; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px 22px; }
.prep .num { font-family: var(--display); font-size: 1.4rem; line-height: 1; color: var(--gold); flex: 0 0 auto; min-width: 28px; }
.prep h3 { font-size: 1.06rem; margin-bottom: 5px; }
.prep p { font-size: 15px; color: var(--muted); }
.card .brandmark { position: absolute; left: 14px; top: 14px; background: rgba(255, 255, 255, 0.94); border-radius: 10px; padding: 6px 9px; display: flex; align-items: center; }
.card .brandmark img { height: 17px; width: auto; }
.card .tagpill { top: auto; bottom: 14px; left: 14px; }
@media (max-width: 900px) {
  .nav { display: none; }
  .navtoggle { display: inline-flex; }
}
@media (max-width: 760px) {
  :root { --rhythm: clamp(3.25rem,10vw,4.5rem); }
  .hero { padding-block: clamp(2rem, 7vw, 3rem); }
  .hero .inner { gap: 2rem; }
  h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
  h2 { font-size: clamp(1.8rem, 7vw, 2.3rem); }
  .sec-head { align-items: flex-start; gap: 18px; margin-bottom: 1.75rem; }
  .sec-head .copy, .sec-head h2 { max-width: none; }
  .lede { font-size: 16px; }
  .hero-cta { width: 100%; }
  .hero-cta .btn { flex: 1 1 auto; min-width: 0px; }
  .finder { max-width: none; }
  .finder .row > div:last-child .btn { width: 100%; }
  .statline { gap: 6px 18px; font-size: 14.5px; }
  .strip .wrap { flex-direction: column; align-items: flex-start; gap: 6px; padding-block: 16px; }
  .tilemap { gap: 7px; }
  .tile-st { font-size: 13px; border-radius: 11px; }
  .mappanel { min-height: 0px; }
  .prep { grid-template-columns: 1fr; }
  .closer { min-height: 0px; }
  .closer .veil { background: linear-gradient(rgba(11, 42, 82, 0.62) 0%, rgba(11, 42, 82, 0.9) 58%, rgba(11, 42, 82, 0.95) 100%); }
  .closer .inner { max-width: none; padding-block: clamp(2.5rem, 9vw, 3.5rem); }
  .review { width: min(300px, 82vw); }
  .platforms { gap: 10px 20px; }
  .platforms img { height: 32px; }
  .foot { padding-bottom: 7.5rem; }
}
@media (max-width: 560px) {
  .carriers { grid-template-columns: repeat(2, 1fr); }
  .carriers span { min-height: 78px; }
  .carriers img { max-height: 44px; }
  .faq summary { font-size: 16px; padding: 17px 18px; }
  .faq details p { padding: 0px 18px 20px; font-size: 15.5px; }
  .card .body { padding: 18px 20px 22px; }
  .card .head h3, .card--lead .head h3 { font-size: 1.2rem; }
  .step { padding: 1.4rem; }
  .quote { font-size: 1.02rem; }
  .ratingrow { gap: 16px; }
  .insights-foot { flex-direction: column; align-items: stretch; }
  .insights-foot .btn { width: 100%; }
}
@media (max-width: 380px) {
  :root { --gutter: 1.1rem; }
  h1 { font-size: 2.05rem; }
  .tilemap { gap: 5px; }
  .tile-st { font-size: 12px; }
  .tile-st .soon { font-size: 7.5px; bottom: 5px; }
}
@media (prefers-reduced-motion: no-preference) {
  .js-reveal { opacity: 0; transform: translateY(26px); transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1); will-change: opacity, transform; }
  .js-reveal.is-in { opacity: 1; transform: none; }
  .js-reveal-x { opacity: 0; transform: translateX(-26px); }
  .js-reveal-x.is-in { opacity: 1; transform: none; }
  .js-reveal-scale { opacity: 0; transform: scale(0.965); }
  .js-reveal-scale.is-in { opacity: 1; transform: none; }
  .js-hero > * { opacity: 0; transform: translateY(22px); animation: 0.85s cubic-bezier(0.16, 1, 0.3, 1) 0s 1 normal forwards running heroIn; }
  .js-hero > :nth-child(1) { animation-delay: 0.05s; }
  .js-hero > :nth-child(2) { animation-delay: 0.14s; }
  .js-hero > :nth-child(3) { animation-delay: 0.22s; }
  .js-hero > :nth-child(4) { animation-delay: 0.3s; }
  .js-hero > :nth-child(5) { animation-delay: 0.38s; }
  .js-hero > :nth-child(6) { animation-delay: 0.46s; }
  @keyframes heroIn { 
  100% { opacity: 1; transform: none; }
}
  .js-hero-media { opacity: 0; transform: scale(1.08); animation: 1.6s cubic-bezier(0.16, 1, 0.3, 1) 0.05s 1 normal forwards running mediaIn; }
  @keyframes mediaIn { 
  100% { opacity: 1; transform: scale(1.06); }
}
  .hero-media > img.js-hero-media { animation-name: mediaInFlat; }
  @keyframes mediaInFlat { 
  100% { opacity: 1; transform: none; }
}
  .floatcard { animation: 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.9s 1 normal both running floatIn; }
  @keyframes floatIn { 
  0% { opacity: 0; transform: translateY(18px) scale(0.96); }
  100% { opacity: 1; transform: none; }
}
  .card, .tile, .team-item, .svc-row img, .statecard { overflow: hidden; }
  .card img, .tile img, .team-item img { transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1); }
  .card:hover img, .tile:hover img, .team-item:hover img { transform: scale(1.05); }
  .svc-row img { transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); }
  .svc-row:hover img { transform: scale(1.07); }
  .card, .svc-row, .statecard, .states a, .review, .pricecard { transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s, background-color 0.3s; }
  .card:hover, .statecard:hover, .review:hover, .pricecard:hover { transform: translateY(-4px); }
  .states a:hover { transform: translateY(-3px); }
  .svc-row:hover { transform: translateX(4px); }
  .masthead { transition: box-shadow 0.3s, background-color 0.3s, min-height 0.3s; }
  .masthead.is-scrolled { box-shadow: rgba(20, 30, 45, 0.35) 0px 10px 30px -18px; }
  .mega { transition: opacity 0.22s, transform 0.22s, visibility 0.22s; }
  .mega:not(.is-open) { transform: translateY(-6px); }
  .mega.is-open { transform: none; }
  .nav a.nav-link { position: relative; }
  .nav a.nav-link::after { content: ""; position: absolute; left: 0px; right: 100%; bottom: 0px; height: 2px; background: currentcolor; opacity: 0.55; transition: right 0.28s cubic-bezier(0.16, 1, 0.3, 1); }
  .nav a.nav-link:hover::after { right: 0px; }
  .btn { transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s, box-shadow 0.25s, color 0.2s; }
  .btn:hover { transform: translateY(-2px); }
  .btn:active { transform: translateY(0px); }
  .js-count { font-variant-numeric: tabular-nums; }
}
.masthead { position: sticky; top: 0px; z-index: 50; }
@media (prefers-reduced-motion: reduce) {
  .js-reveal, .js-reveal-x, .js-reveal-scale, .js-hero > *, .js-hero-media, .floatcard { opacity: 1 !important; transform: none !important; animation: auto ease 0s 1 normal none running none !important; }
}

/* Source: site.css */
.skip { position: absolute; left: -999px; top: 8px; z-index: 200; background: var(--navy); color: rgb(255, 255, 255); padding: 10px 16px; border-radius: 10px; }
.skip:focus { left: 12px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.band--navy a:focus-visible, .band--navy button:focus-visible, .hero--photo a:focus-visible, .foot a:focus-visible { outline-color: var(--gold-pale); }
.nw { white-space: nowrap; }
.sec-head--center { justify-content: center; text-align: center; }
.sec-head--center .copy { align-items: center; }
.band--navy .sec-head h2, .band--navy h3 { color: rgb(255, 255, 255); }
.sec-head h2 { text-wrap: balance; }
.lede { text-wrap: pretty; }
.band + .band.band--white, .band--white + .band:not(.band--navy) { border-top: 1px solid var(--line-soft); }
.band--navy em.accent { color: var(--gold-pale); }
.band--navy .arrowlink { color: rgb(255, 255, 255); }
.band--navy .kicker { color: var(--gold-pale); }
html { scroll-behavior: auto; }
html.is-ready { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html.is-ready { scroll-behavior: auto; }
}
[id] { scroll-margin-top: 96px; }
.mast-actions { display: flex; align-items: center; gap: 10px; }
.nav-link--portal { display: inline-flex; align-items: center; gap: 6px; color: var(--navy) !important; }
.dd-panel a.dd-all { grid-column: 1 / -1; border-top: 1px solid var(--line-soft); margin-top: 4px; padding-top: 13px; color: var(--navy); font-weight: 600; }
.dd-panel a small { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-text); margin-left: 6px; font-weight: 700; }
.topbar .right a { white-space: nowrap; }
.dd-panel--mega { width: min(900px, -48px + 100vw); grid-template-columns: repeat(4, 1fr); gap: 6px 18px; padding: 18px; }
.mega-col { display: flex; flex-direction: column; gap: 2px; }
.mega-col--soft { background: var(--paper); border-radius: 14px; padding: 10px; }
.mega-k { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--gold-text); padding: 6px 14px; }
.dd-panel--mega a { padding: 9px 14px; font-size: 15px; }
.nav .dd:nth-child(1) .dd-panel--mega { left: 0px; transform: translate(0px, -6px); }
.nav .dd:nth-child(1).is-open .dd-panel--mega { transform: translate(0px, 0px); }
@media (min-width: 901px) and (max-width: 1180px) {
  .nav { gap: 16px; }
  .dd-btn, .nav a.nav-link { font-size: 14.5px; }
}
.drawer details.grp summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 10px 0px; margin-bottom: 0px; }
.drawer details.grp summary::-webkit-details-marker { display: none; }
.drawer details.grp summary::after { content: "+"; font-size: 20px; color: var(--navy); font-weight: 400; }
.drawer details.grp[open] summary::after { content: "–"; }
.drawer details.grp a small { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-text); margin-left: 6px; }
.drawer .sheet-body { gap: 6px; }
.drawer-portal { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding: 14px 16px; border-radius: 14px; background: var(--tint-blue); color: var(--navy); font-weight: 700; text-decoration: none; }
.crumbs { background: var(--white); border-bottom: 1px solid var(--line-soft); }
.crumbs ol { list-style: none; margin: 0px; padding: 12px 0px; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13.5px; color: var(--muted); }
.crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--line); }
.crumbs a { text-decoration: none; color: var(--muted); }
.crumbs a:hover { color: var(--navy); }
.crumbs [aria-current] { color: var(--ink); font-weight: 600; }
.hero--photo { background: var(--navy-foot); color: rgb(255, 255, 255); padding: 0px; min-height: clamp(600px, 86vh, 820px); display: flex; align-items: flex-end; isolation: isolate; }
.hero--photo::after { display: none; }
.hero-bg { position: absolute; inset: 0px; z-index: 0; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; }
.hero-veil { position: absolute; inset: 0px; z-index: 1; pointer-events: none; background: linear-gradient(rgba(11, 42, 82, 0.18) 0%, rgba(11, 42, 82, 0.08) 30%, rgba(11, 42, 82, 0.66) 62%, rgba(11, 42, 82, 0.94) 100%), linear-gradient(90deg, rgba(11, 42, 82, 0.72) 0%, rgba(11, 42, 82, 0.42) 48%, rgba(11, 42, 82, 0.12) 100%); }
.hero--photo .wrap { position: relative; z-index: 2; width: 100%; padding-bottom: clamp(5.5rem, 10vw, 8rem); padding-top: clamp(5rem, 12vw, 9rem); }
.hero--photo .hero-copy { max-width: 760px; gap: 20px; }
.welcome { font-family: var(--display); font-size: clamp(1.15rem, 1.9vw, 1.5rem); color: rgb(255, 255, 255); letter-spacing: 0.005em; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.welcome em { font-style: italic; color: var(--gold-pale); font-weight: 400; }
.welcome::before { content: ""; width: 34px; height: 2px; background: var(--gold); align-self: center; flex: 0 0 auto; }
.hero--photo h1 { color: rgb(255, 255, 255); font-size: clamp(2.5rem, 5.4vw, 4.4rem); max-width: 16ch; text-wrap: balance; }
.hero--photo h1 em.accent { color: var(--gold-pale); }
.hero--photo .lede { color: rgba(255, 255, 255, 0.88); max-width: 58ch; font-size: clamp(1.02rem, 1.3vw, 1.15rem); }
.hero-proof { display: inline-flex; align-items: center; gap: 14px 22px; flex-wrap: wrap; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.26); backdrop-filter: blur(10px); border-radius: var(--r-pill); padding: 10px 20px 10px 14px; color: rgb(255, 255, 255); text-decoration: none; font-size: 14.5px; transition: background-color 0.25s; }
.hero-proof:hover { background: rgba(255, 255, 255, 0.18); }
.hero-proof b { font-weight: 700; }
.hp-g { display: inline-flex; align-items: center; gap: 9px; }
.hp-g svg { background: rgb(255, 255, 255); border-radius: 50%; padding: 3px; width: 24px; height: 24px; }
.hp-k { position: relative; padding-left: 22px; color: rgba(255, 255, 255, 0.86); }
.hp-k::before { content: ""; position: absolute; left: 0px; top: 50%; width: 1px; height: 18px; background: rgba(255, 255, 255, 0.35); transform: translateY(-50%); }
.finderband { position: relative; z-index: 3; margin-top: -56px; }
.finderband .finder { max-width: none; padding: 22px; border-radius: var(--r-lg); box-shadow: rgba(11, 42, 82, 0.45) 0px 24px 60px -28px, rgba(255, 255, 255, 0.6) 0px 2px 0px inset; }
.finderband .finder .row { grid-template-columns: 1fr 1fr auto; gap: 14px; }
.finderband .finder .btn { min-height: 50px; width: 100%; }
.finder-note { margin-top: 14px; font-size: 13.5px; color: var(--muted); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.finder-note svg { color: var(--navy); }
.proof { background: var(--white); border-bottom: 1px solid var(--line-soft); padding-block: clamp(1.6rem, 3vw, 2.2rem); }
.proof .wrap { display: flex; align-items: center; justify-content: space-between; gap: 18px 32px; flex-wrap: wrap; }
.proof-g, .proof-k { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); }
.proof-g svg { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 50%; padding: 5px; width: 38px; height: 38px; }
.proof-n { font-family: var(--display); font-size: clamp(2rem, 3.4vw, 2.7rem); line-height: 1; color: var(--navy); }
.proof-t { display: flex; flex-direction: column; gap: 2px; font-size: 15px; }
.proof-t b { font-weight: 700; }
.stars { color: var(--gold); letter-spacing: 2px; font-size: 14px; line-height: 1; }
.proof-k img { height: 30px; width: auto; }
.proof-k span { font-size: 15px; color: var(--muted); }
.proof-k b { color: var(--ink); }
.proof-sep { width: 1px; height: 34px; background: var(--line); }
.proof-x { font-size: 15px; color: var(--muted); }
.proof-x b { color: var(--ink); }
.phero { background: var(--white); padding-block: clamp(2.5rem, 5vw, 4.25rem); }
.phero-in { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: clamp(2rem, 4vw, 3.5rem); align-items: center; }
.phero-copy { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.phero h1 { font-size: clamp(2.2rem, 4.4vw, 3.5rem); }
.phero-media img { border-radius: var(--r-lg); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; height: auto; }
.phero--plain .wrap { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.phero--plain h1 { max-width: 20ch; }
.pricetag { font-size: 15px; color: var(--muted); }
.pricetag b { color: var(--ink); }
.pricetag a { color: var(--navy); font-weight: 600; }
.aboutHero h1 { color: rgb(255, 255, 255); font-size: clamp(2.3rem, 4.6vw, 3.6rem); }
.prose2 { display: grid; grid-template-columns: 1.4fr 0.9fr; gap: clamp(1.6rem, 4vw, 3.5rem); align-items: start; }
.prose { display: flex; flex-direction: column; gap: 16px; max-width: 68ch; }
.prose h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); margin-bottom: 4px; }
.prose p { font-size: 17px; line-height: 1.7; color: rgb(42, 56, 80); }
.factbox { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; display: flex; flex-direction: column; gap: 14px; position: sticky; top: 100px; }
.factbox h3 { font-size: 1.15rem; }
.factbox dl { margin: 0px; display: grid; gap: 12px; }
.factbox dt { font-size: 11.5px; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; color: var(--gold-text); }
.factbox dd { margin: 2px 0px 0px; font-size: 15px; }
.factbox a { color: var(--navy); font-weight: 600; }
.factbox .btn, .bookside .btn--navy { color: rgb(255, 255, 255); }
.creds { list-style: none; margin: 0px; padding: 0px; display: grid; gap: 14px; }
.creds li { display: flex; flex-direction: column; gap: 2px; padding-bottom: 12px; border-bottom: 1px dotted var(--line); }
.creds li:last-child { border-bottom: 0px; padding-bottom: 0px; }
.creds b { font-size: 15.5px; }
.creds span { font-size: 14px; color: var(--muted); }
.reviewed { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--muted); margin-top: 4px; }
.reviewed svg { color: var(--navy); flex: 0 0 auto; }
.reviewed b { color: var(--ink); font-weight: 600; }
.sources { margin-top: 26px; max-width: 940px; border-top: 1px solid var(--line); padding-top: 18px; }
.sources h3 { font-family: var(--body); font-size: 13px; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.sources ul { margin: 0px; padding: 0px; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.sources a { font-size: 14px; color: var(--navy); }
.condlist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.cond { display: flex; gap: 10px; align-items: flex-start; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r); padding: 13px 15px; font-size: 15px; font-weight: 500; line-height: 1.4; }
.cond svg { flex: 0 0 auto; margin-top: 2px; }
.condlist.is-collapsed .cond.is-extra { display: none; }
.showall { margin-top: 18px; }
.ticklist { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 28px; max-width: 960px; }
.ticklist li { display: flex; gap: 11px; align-items: flex-start; font-size: 16px; }
.ticklist svg { flex: 0 0 auto; margin-top: 4px; }
.ticklist--tight { grid-template-columns: 1fr; gap: 10px; }
.ticklist--tight li { font-size: 15px; }
.care4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.c4 { position: relative; display: flex; flex-direction: column; gap: 10px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px 24px 28px; text-decoration: none; color: inherit; transition: border-color 0.3s, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s; }
.c4 .n { font-family: var(--display); font-size: 2.2rem; line-height: 0.9; color: var(--gold); }
.c4 h3 { font-size: 1.2rem; }
.c4 p { font-size: 15px; color: var(--muted); }
.c4 .go { position: absolute; right: 20px; top: 26px; color: var(--gold); transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1); }
a.c4:hover .go { transform: translateX(5px); }
a.c4:hover { border-color: var(--navy); transform: translateY(-3px); box-shadow: rgba(11, 42, 82, 0.35) 0px 18px 40px -26px; }
.band:not(.band--white) .c4 { background: rgb(255, 255, 255); }
#primary .sec-head h2 { max-width: 34ch; }
.svc-more { margin-top: 22px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.svc-more a { display: flex; flex-direction: column; gap: 4px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r); padding: 16px 18px; text-decoration: none; color: var(--ink); min-height: 44px; transition: border-color 0.2s, transform 0.2s; }
.svc-more a:hover { border-color: var(--navy); transform: translateY(-2px); }
.svc-more b { font-size: 15.5px; font-weight: 600; color: var(--navy); }
.svc-more span { font-size: 13.5px; color: var(--muted); line-height: 1.45; }
.svc-foot { margin-top: 20px; display: flex; justify-content: center; }
@media (max-width: 900px) {
  .svc-more { grid-template-columns: repeat(2, 1fr); }
}
.morelinks { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; font-size: 15px; }
.morelinks span { color: var(--muted); font-weight: 600; }
.morelinks a:not(.btn) { color: var(--navy); font-weight: 600; text-decoration: none; border-bottom: 1.5px solid rgba(20, 74, 143, 0.25); }
.morelinks a:not(.btn):hover { border-bottom-color: var(--navy); }
.morelinks .btn { margin-left: auto; }
.card { box-shadow: rgba(20, 33, 58, 0.02) 0px 1px 0px; }
.card .body .kicker { min-height: 2.6em; display: flex; align-items: flex-end; line-height: 1.3; }
.card .head h3 { letter-spacing: -0.005em; }
.card:hover { border-color: var(--navy); box-shadow: rgba(11, 42, 82, 0.4) 0px 22px 44px -30px; }
.pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pillar { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; display: flex; flex-direction: column; position: relative; transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s, border-color 0.3s; }
.pillar:hover { transform: translateY(-5px); border-color: var(--navy); box-shadow: rgba(11, 42, 82, 0.42) 0px 28px 54px -34px; }
.pillar .shot { display: block; aspect-ratio: 16 / 11; overflow: hidden; background: var(--tint-blue); position: relative; }
.pillar .shot::after { content: ""; position: absolute; inset: auto 0px 0px; height: 40%; background: linear-gradient(rgba(11, 42, 82, 0), rgba(11, 42, 82, 0.28)); }
.pillar .shot img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.pillar:hover .shot img { transform: scale(1.05); }
.pillar .body { padding: 24px 26px 28px; display: flex; flex-direction: column; gap: 10px; position: relative; }
.pillar .n { position: absolute; top: -26px; left: 22px; width: 50px; height: 50px; border-radius: 50%; background: var(--gold); color: var(--navy-deep); display: grid; place-items: center; font-family: var(--display); font-size: 1.15rem; border: 4px solid rgb(255, 255, 255); }
.pillar h3 { font-size: 1.32rem; margin-top: 12px; }
.pillar p { font-size: 15.5px; color: var(--muted); line-height: 1.6; }
.beyond-sec .lede { color: rgba(255, 255, 255, 0.84); }
.pathway { list-style: none; margin: 0px 0px 30px; padding: 0px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; position: relative; counter-reset: pw 0; }
.pathway::before { content: ""; position: absolute; left: calc(8.33% + 2px); right: calc(8.33% + 2px); top: 23px; height: 2px; background: rgba(255, 255, 255, 0.22); }
.pathway::after { content: ""; position: absolute; left: calc(8.33% + 2px); top: 23px; height: 2px; width: 0px; background: var(--gold); transition: width 1.6s cubic-bezier(0.16, 1, 0.3, 1); }
.pathway.is-in::after { width: calc(83.34% - 4px); }
.pw { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; position: relative; z-index: 1; }
.pw-dot { width: 48px; height: 48px; border-radius: 50%; background: var(--navy-deep); border: 2px solid rgba(255, 255, 255, 0.35); display: grid; place-items: center; transition: background-color 0.4s, border-color 0.4s, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.pw-n { font-family: var(--display); font-size: 1.1rem; color: rgb(255, 255, 255); }
.pathway.is-in .pw-dot { background: var(--gold); border-color: var(--gold); transform: scale(1.04); }
.pathway.is-in .pw-dot .pw-n { color: var(--navy-deep); }
.pathway.is-in .pw:nth-child(1) .pw-dot { transition-delay: 0.05s; }
.pathway.is-in .pw:nth-child(2) .pw-dot { transition-delay: 0.35s; }
.pathway.is-in .pw:nth-child(3) .pw-dot { transition-delay: 0.65s; }
.pathway.is-in .pw:nth-child(4) .pw-dot { transition-delay: 0.95s; }
.pathway.is-in .pw:nth-child(5) .pw-dot { transition-delay: 1.25s; }
.pathway.is-in .pw:nth-child(6) .pw-dot { transition-delay: 1.55s; }
.pw b { font-size: 16px; color: rgb(255, 255, 255); }
.pw-d { font-size: 13.5px; color: rgba(255, 255, 255, 0.72); max-width: 18ch; line-height: 1.45; }
.beyond { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bx { background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--r-lg); padding: 20px 22px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: inherit; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s, background-color 0.3s; }
.bx:hover { transform: translateY(-3px); border-color: rgba(253, 232, 160, 0.6); background: rgba(255, 255, 255, 0.1); }
.bx .ic { width: 42px; height: 42px; border-radius: 12px; background: rgba(255, 255, 255, 0.12); color: var(--gold-pale); display: grid; place-items: center; }
.bx h3 { font-size: 1.04rem; color: rgb(255, 255, 255); }
.bx p { font-size: 14.5px; line-height: 1.55; color: rgba(255, 255, 255, 0.78) !important; }
a.bx h3::after { content: " →"; color: var(--gold-pale); }
.beyond-foot { margin-top: 28px; display: flex; justify-content: space-between; align-items: center; gap: 20px 40px; flex-wrap: wrap; border-top: 1px solid rgba(255, 255, 255, 0.16); padding-top: 26px; }
.motto { font-family: var(--display); font-style: italic; color: var(--gold-pale) !important; font-size: clamp(1.1rem, 1.6vw, 1.3rem) !important; }
.motto--center { text-align: center; margin-top: 34px; line-height: 1.5; color: var(--navy) !important; font-size: clamp(1.15rem, 2vw, 1.4rem) !important; }
.motto--center span { display: block; font-style: normal; font-family: var(--body); font-size: 15px; color: var(--muted); margin-top: 6px; }
.band--white.beyond-sec, .band--blue.beyond-sec, .band:not(.band--navy).beyond-sec { color: var(--ink); }
.band:not(.band--navy).beyond-sec .lede { color: var(--muted); }
.band:not(.band--navy).beyond-sec .pathway::before { background: var(--line); }
.band:not(.band--navy).beyond-sec .pw-dot { background: rgb(255, 255, 255); border-color: var(--line); }
.band:not(.band--navy).beyond-sec .pw-n, .band:not(.band--navy).beyond-sec .pw b { color: var(--navy); }
.band:not(.band--navy).beyond-sec .pw-d { color: var(--muted); }
.band:not(.band--navy).beyond-sec .bx { background: rgb(255, 255, 255); border-color: var(--line); }
.band:not(.band--navy).beyond-sec .bx:hover { border-color: var(--navy); }
.band:not(.band--navy).beyond-sec .bx .ic { background: var(--tint-blue); color: var(--navy); }
.band:not(.band--navy).beyond-sec .bx h3 { color: var(--ink); }
.band:not(.band--navy).beyond-sec .bx p { color: var(--muted) !important; }
.band:not(.band--navy).beyond-sec a.bx h3::after { color: var(--gold); }
.band:not(.band--navy).beyond-sec .beyond-foot { border-top-color: var(--line); }
.band:not(.band--navy).beyond-sec .motto { color: var(--navy) !important; }
.band:not(.band--navy).beyond-sec .btn--gold { background: var(--navy); color: rgb(255, 255, 255); }
.band:not(.band--navy).beyond-sec .btn--ghost { background: transparent; border-color: var(--line); color: var(--ink); }
.gs { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.gs-media { position: relative; padding: 0px 18px 18px 0px; }
.gs-media::before { content: ""; position: absolute; inset: 18px 0px 0px 18px; border-radius: var(--r-xl); background: var(--tint-gold); z-index: 0; }
.gs-media img { position: relative; z-index: 1; border-radius: var(--r-xl); aspect-ratio: 5 / 4; object-fit: cover; width: 100%; height: auto; }
.gs-badge { position: absolute; z-index: 2; left: 18px; bottom: 36px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-pill); padding: 9px 16px; font-size: 13.5px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; color: var(--navy); }
.gs-copy { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.gs-copy h2 { max-width: 22ch; }
.gs-steps { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 8px; }
.gs-steps li { display: inline-flex; align-items: center; gap: 8px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-pill); padding: 7px 14px 7px 7px; font-size: 14px; font-weight: 600; }
.gs-steps li span { width: 24px; height: 24px; border-radius: 50%; background: var(--navy); color: rgb(255, 255, 255); display: grid; place-items: center; font-size: 12px; }
.gs-steps li:not(:last-child)::after { content: "→"; color: var(--gold); margin-left: 4px; }
.band:not(.band--white) .gs-steps li { background: rgb(255, 255, 255); }
.gscall { display: flex; align-items: center; gap: 16px; background: var(--tint-gold); border: 1px solid rgb(240, 223, 174); border-radius: var(--r-lg); padding: 18px 22px; text-decoration: none; color: var(--ink); margin-top: 20px; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s; }
.gscall:hover { transform: translateY(-2px); border-color: var(--gold); }
.gscall .ic { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 14px; background: rgb(255, 255, 255); color: var(--gold-text); display: grid; place-items: center; }
.gscall b { display: block; font-size: 16px; margin-bottom: 2px; }
.gscall span span { font-size: 14.5px; color: var(--muted); line-height: 1.5; }
.gscall .go { margin-left: auto; color: var(--gold-text); flex: 0 0 auto; }
.process { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; counter-reset: pr 0; }
.process li { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px 20px; display: flex; flex-direction: column; gap: 8px; position: relative; }
.process li::before { counter-increment: pr 1; content: counter(pr); width: 34px; height: 34px; border-radius: 50%; background: var(--gold); color: var(--navy-deep); font-family: var(--display); display: grid; place-items: center; font-size: 1rem; }
.process h3 { font-size: 1.05rem; }
.process p { font-size: 14.5px; color: var(--muted); line-height: 1.55; }
.chips, .profiles { display: flex; flex-wrap: wrap; gap: 10px; }
.chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0px 18px; border: 1.5px solid var(--line); border-radius: var(--r-pill); background: rgb(255, 255, 255); text-decoration: none; font-weight: 600; font-size: 15px; color: var(--ink); transition: border-color 0.2s, color 0.2s, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1); }
.chip:hover { border-color: var(--navy); color: var(--navy); transform: translateY(-2px); }
.medpolicy, .safety { display: flex; gap: 16px; align-items: flex-start; background: rgb(255, 255, 255); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 4px solid var(--gold); border-radius: var(--r-lg); padding: 20px 24px; }
.medpolicy + .medpolicy, .safety + .medpolicy { margin-top: 16px; }
.medpolicy .ic, .safety .ic { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: var(--tint-gold); color: var(--gold-text); display: grid; place-items: center; }
.medpolicy h3, .safety h3 { font-size: 1.06rem; margin-bottom: 6px; }
.medpolicy p, .safety p { font-size: 15px; color: var(--ink); line-height: 1.6; }
.medpolicy .soft { color: var(--muted); margin-top: 6px; }
.medpolicy .statenote { margin-top: 10px; padding: 12px 14px; background: var(--tint-blue); border-radius: 12px; font-size: 14.5px; }
.safety { border-left-color: var(--alert); }
.safety .ic { background: rgb(251, 233, 231); color: var(--alert); }
.crisis { background: rgb(251, 233, 231); border-radius: var(--r-lg); padding: 20px 24px; display: grid; grid-template-columns: 0.9fr 1.6fr; gap: 16px 28px; align-items: center; }
.crisis h3 { color: var(--alert); font-size: 1.15rem; }
.crisis-head p { font-size: 14.5px; color: rgb(90, 42, 38); margin-top: 4px; }
.crisis-nums { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.crisis-nums a { display: flex; gap: 14px; align-items: center; background: rgb(255, 255, 255); border-radius: var(--r); padding: 14px 16px; text-decoration: none; color: var(--ink); }
.crisis-nums b { font-family: var(--display); font-size: 2rem; color: var(--alert); line-height: 1; }
.crisis-nums span { font-size: 13.5px; line-height: 1.45; }
.compliance { margin-top: 26px; max-width: 940px; border-top: 1px solid var(--line); padding-top: 20px; }
.compliance h3 { font-family: var(--body); font-size: 13px; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.compliance p { font-size: 14px; color: var(--muted); line-height: 1.6; }
.howfoot { margin-top: 28px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 18px; align-items: stretch; }
.howcta { background: var(--navy); color: rgb(255, 255, 255); border-radius: var(--r-lg); padding: 24px 26px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; justify-content: center; }
.howcta .kicker { color: var(--gold-pale); }
.howcta p { font-size: 15.5px; color: rgba(255, 255, 255, 0.9); }
.howcta .btn { background: var(--gold); color: var(--navy-deep); }
.howcta .btn:hover { background: var(--gold-deep); }
.askgrid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.8rem, 4vw, 3.5rem); align-items: start; }
.askcopy { display: flex; flex-direction: column; gap: 16px; }
.askways { display: grid; gap: 10px; margin-top: 6px; }
.way { display: flex; gap: 14px; align-items: center; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r); padding: 14px 18px; text-decoration: none; color: var(--ink); transition: border-color 0.2s, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1); }
.way:hover { border-color: var(--navy); transform: translateX(3px); }
.way .ic { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; background: var(--navy); color: rgb(255, 255, 255); display: grid; place-items: center; }
.way b { display: block; font-size: 16px; }
.way span span { font-size: 14px; color: var(--muted); }
.smsnote { font-size: 13px; color: var(--muted); line-height: 1.5; display: flex; gap: 8px; align-items: flex-start; }
.smsnote svg { flex: 0 0 auto; margin-top: 3px; color: var(--navy); }
.askform { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.3rem, 3vw, 2rem); display: flex; flex-direction: column; gap: 14px; }
.askform h3 { font-size: 1.3rem; }
.askform label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted); }
.askform input, .askform select, .askform textarea { font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 16px; text-transform: none; letter-spacing: 0px; font-weight: 500; color: var(--ink); border: 1.5px solid var(--line); border-radius: 12px; padding: 12px 14px; background: rgb(255, 255, 255); width: 100%; }
.askform textarea { resize: vertical; min-height: 110px; }
.askform .f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.askform .hp { position: absolute; left: -9999px; }
.formnote { font-size: 13px; color: var(--muted); }
.askform .btn { align-self: flex-start; }
.notice { border-radius: var(--r-lg); padding: 20px 24px; }
.notice--ok { background: var(--tint-blue); }
.notice--ok h3 { margin-bottom: 6px; }
.notice--err { background: rgb(251, 233, 231); color: var(--alert); font-weight: 600; }
.notice a { color: var(--navy); font-weight: 600; }
a.pricecard { text-decoration: none; color: inherit; }
a.pricecard:hover { border-color: var(--navy); }
.pricegrid--9 { grid-template-columns: repeat(3, 1fr); }
.pricegrid--4 { grid-template-columns: repeat(4, 1fr); }
.pricecard--alt { background: var(--tint-gold); border-color: rgb(240, 223, 174); }
.pricecard--alt h3 { font-size: 15px; }
.pricefoot { margin-top: 18px; font-size: 14px; color: var(--muted); max-width: 820px; }
.pricefoot a { color: var(--navy); font-weight: 600; }
.ptable { width: 100%; border-collapse: collapse; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; font-size: 15.5px; }
.ptable th, .ptable td { text-align: left; padding: 14px 18px; border-bottom: 1px solid var(--line-soft); }
.ptable th { font-size: 12px; letter-spacing: 0.11em; text-transform: uppercase; color: var(--muted); background: var(--paper); }
.ptable td:not(:first-child) { font-family: var(--display); font-size: 1.15rem; white-space: nowrap; }
.ptable a { color: var(--ink); font-weight: 600; text-decoration: none; }
.ptable a:hover { color: var(--navy); }
.ptable small { color: var(--muted); font-weight: 500; }
.pricenote { margin-top: 22px; display: flex; gap: 14px; align-items: flex-start; background: rgb(255, 255, 255); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 4px solid var(--navy); border-radius: var(--r-lg); padding: 18px 22px; max-width: 940px; }
.pricenote p { font-size: 15px; line-height: 1.6; }
.inscheck { margin-top: 22px; display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px 22px; }
.inscheck div { display: flex; flex-direction: column; gap: 3px; }
.inscheck b { font-size: 16px; }
.inscheck span { font-size: 14.5px; color: var(--muted); }
.ratingpair { display: flex; gap: 12px; flex-wrap: wrap; align-items: stretch; }
.rp { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; gap: 2px 12px; align-items: center; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 14px 18px; text-decoration: none; color: var(--ink); min-width: 220px; transition: border-color 0.25s, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.rp:hover { border-color: var(--navy); transform: translateY(-2px); }
.rp > svg, .rp > img { grid-row: 1 / 3; height: 30px; width: auto; }
.rp > svg { width: 30px; }
.rp b { font-family: var(--display); font-size: 1.7rem; line-height: 1; color: var(--navy); grid-column: 2; }
.rp .stars { grid-area: 1 / 3; }
.rp span { grid-column: 2 / 4; font-size: 13.5px; color: var(--muted); }
.rp--g { border-color: rgb(219, 228, 243); background: rgb(246, 249, 254); }
.ratingpair--lg .rp { padding: 18px 22px; }
.ratingpair--lg .rp b { font-size: 2.2rem; }
.carousel { position: relative; margin-top: 6px; }
.car-track { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 6px 2px 14px; scrollbar-width: none; }
.car-track::-webkit-scrollbar { display: none; }
.car-track .review { scroll-snap-align: start; flex: 0 0 min(360px, 84vw); }
.car-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; background: rgb(255, 255, 255); border: 1px solid var(--line); color: var(--navy); display: grid; place-items: center; cursor: pointer; z-index: 2; box-shadow: rgba(11, 42, 82, 0.4) 0px 8px 22px -12px; transition: transform 0.2s, border-color 0.2s; }
.car-btn:hover { border-color: var(--navy); transform: translateY(-50%) scale(1.04); }
.car-prev { left: -10px; }
.car-prev svg { transform: rotate(180deg); }
.car-next { right: -10px; }
.car-btn[disabled] { opacity: 0.35; cursor: default; }
.review { width: auto; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.review--google { border-color: rgb(219, 228, 243); background: rgb(249, 251, 254); }
.rsrc { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.rsrc img { height: 16px; width: auto; }
.review p { font-size: 15.5px; line-height: 1.6; flex: 1 1 0%; }
.review .who { font-size: 13px; font-weight: 600; color: var(--muted); }
.reviews-foot { margin-top: 18px; display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; }
.gbtns .btn svg { flex: 0 0 auto; }
.reviewgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.statepills { display: flex; flex-wrap: wrap; gap: 10px; }
.sp { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0px 18px; border: 1.5px solid var(--line); border-radius: var(--r-pill); background: rgb(255, 255, 255); text-decoration: none; font-weight: 600; font-size: 15px; color: var(--ink); }
a.sp:hover { border-color: var(--navy); color: var(--navy); }
.sp svg { color: var(--gold); }
.sp.is-soon { border-style: dashed; border-color: var(--gold); color: var(--gold-text); }
.sp small { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.sp--static { font-weight: 500; }
.statecards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.stcard { display: flex; flex-direction: column; gap: 10px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; text-decoration: none; color: inherit; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s; }
.stcard:hover { transform: translateY(-3px); border-color: var(--navy); }
.stcard .abbr { font-family: var(--display); font-size: 2.3rem; color: var(--navy); line-height: 1; }
.stcard .status { align-self: flex-start; font-size: 11.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--navy); background: var(--tint-blue); padding: 5px 11px; border-radius: var(--r-pill); }
.stcard .status.soon { color: var(--gold-text); background: var(--tint-gold); }
.stcard p { font-size: 15px; color: var(--muted); }
.stcard .arrowlink { margin-top: auto; font-size: 15px; }
.stcard.is-soon { border-style: dashed; border-color: var(--gold); }
.linkcols { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.linkcols h3 { font-size: 1.15rem; margin-bottom: 12px; }
.linkcols ul { list-style: none; margin: 0px; padding: 0px; columns: 2; column-gap: 24px; }
.linkcols li { break-inside: avoid; padding: 6px 0px; }
.linkcols a { color: var(--navy); text-decoration: none; font-size: 15px; font-weight: 500; }
.linkcols a:hover { text-decoration: underline; }
.mapgrid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(1.6rem, 3vw, 2.75rem); align-items: start; }
.usmap-wrap { display: flex; flex-direction: column; gap: 14px; }
.usmap { display: grid; grid-template-columns: repeat(11, 1fr); grid-template-rows: repeat(8, 1fr); gap: 6px; aspect-ratio: 11 / 8; }
.usmap .tile-st, .usmap .tile-x { aspect-ratio: 1 / 1; border-radius: 10px; display: grid; place-items: center; font-size: clamp(10px, 1.1vw, 14px); font-weight: 700; letter-spacing: 0.02em; }
.usmap .tile-x { background: rgb(241, 243, 247); color: rgb(181, 189, 202); border: 1px solid transparent; font-weight: 600; }
.usmap .tile-st { border: 1.5px solid var(--line); background: rgb(255, 255, 255); color: var(--muted); padding: 0px; cursor: pointer; position: relative; font-family: var(--body); transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.25s, color 0.25s, border-color 0.25s, box-shadow 0.25s; }
.usmap .tile-st.is-active { background: var(--navy); border-color: var(--navy); color: rgb(255, 255, 255); box-shadow: rgba(20, 74, 143, 0.6) 0px 10px 24px -14px; }
.usmap .tile-st.is-soon { background: var(--tint-gold); border-style: dashed; border-color: var(--gold); color: var(--gold-text); }
.usmap .tile-st:hover, .usmap .tile-st:focus-visible { transform: translateY(-3px) scale(1.04); z-index: 1; }
.usmap .tile-st[aria-pressed="true"] { background: var(--gold); border-color: var(--gold); color: var(--navy-deep); transform: scale(1.06); z-index: 1; }
.usmap .tile-st .soon { position: absolute; left: 0px; right: 0px; bottom: 3px; text-align: center; font-size: 7px; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.9; }
.maplegend { display: flex; gap: 18px; flex-wrap: wrap; font-size: 13.5px; color: var(--muted); }
.maplegend span { display: inline-flex; align-items: center; gap: 8px; }
.maplegend i { width: 14px; height: 14px; border-radius: 4px; display: inline-block; }
.maplegend .l-active { background: var(--navy); }
.maplegend .l-soon { background: var(--tint-gold); border: 1.5px dashed var(--gold); }
.statepills--map { display: none; }
.mappanel { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.4rem, 3vw, 2.1rem); min-height: 320px; display: flex; flex-direction: column; gap: 14px; }
.mappanel .status { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; color: var(--navy); background: var(--tint-blue); padding: 6px 13px; border-radius: var(--r-pill); align-self: flex-start; }
.mappanel .status.soon { color: var(--gold-text); background: var(--tint-gold); }
.mappanel ul { margin: 0px; padding: 0px; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.mappanel li { border: 1.5px solid var(--line); border-radius: var(--r-pill); padding: 7px 14px; font-size: 14px; font-weight: 600; }
.mappanel .plans { font-size: 14px; color: var(--muted); }
.mappanel .hero-cta { margin-top: auto; }
.bprog { list-style: none; margin: 0px 0px 6px; padding: 0px; display: flex; gap: 0px; align-items: center; width: 100%; max-width: 640px; }
.bprog li { display: flex; align-items: center; gap: 10px; flex: 1 1 0%; position: relative; font-size: 14px; font-weight: 600; color: var(--muted); }
.bprog li:not(:last-child)::after { content: ""; flex: 1 1 0%; height: 2px; background: var(--line); margin: 0px 12px; }
.bprog li.is-done:not(:last-child)::after { background: var(--navy); }
.bp-n { width: 32px; height: 32px; border-radius: 50%; border: 2px solid var(--line); display: grid; place-items: center; font-size: 13px; background: rgb(255, 255, 255); flex: 0 0 auto; transition: background-color 0.3s, border-color 0.3s; }
.bprog li.is-now .bp-n { background: var(--navy); border-color: var(--navy); color: rgb(255, 255, 255); }
.bprog li.is-now { color: var(--ink); }
.bprog li.is-done .bp-n { background: var(--navy); border-color: var(--navy); }
.bprog li.is-done { color: var(--navy); }
.bctx { display: inline-flex; align-items: center; gap: 10px; background: var(--tint-blue); color: var(--navy); border-radius: var(--r-pill); padding: 8px 16px 8px 12px; font-size: 14.5px; font-weight: 600; }
.bctx a { color: var(--navy); font-weight: 500; text-decoration: underline; font-size: 13.5px; }
.resume { display: none; margin-bottom: 18px; }
.resume.is-on { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 14px 18px; }
.resume span { font-size: 15px; }
.bookstates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bs { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; column-gap: 12px; align-items: center; background: rgb(255, 255, 255); border: 1.5px solid var(--line); border-radius: var(--r-lg); padding: 20px 22px; text-decoration: none; color: var(--ink); transition: border-color 0.2s, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1); }
.bs b { font-size: 1.15rem; font-family: var(--display); font-weight: 500; }
.bs span { font-size: 14px; color: var(--muted); grid-column: 1; }
.bs svg { grid-area: 1 / 2 / 3; color: var(--gold); }
a.bs:hover { border-color: var(--navy); transform: translateY(-2px); }
.bs.is-soon { border-style: dashed; border-color: var(--gold); color: var(--gold-text); opacity: 0.85; }
.booknote { margin-top: 20px; font-size: 15px; color: var(--muted); }
.booknote a { color: var(--navy); font-weight: 600; }
.bookflow { display: grid; grid-template-columns: 1.5fr 0.9fr; gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start; }
.gate, .widget { background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(1.4rem, 3vw, 2.2rem); display: flex; flex-direction: column; gap: 14px; grid-column: 1; }
.gate h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.gate p { font-size: 16px; line-height: 1.65; }
.gate .soft { color: var(--muted); font-size: 15px; }
.gate .statenote { background: var(--tint-blue); border-radius: 12px; padding: 14px 16px; font-size: 15px; }
.ack { display: flex; gap: 12px; align-items: flex-start; background: var(--tint-gold); border-radius: var(--r); padding: 14px 16px; font-weight: 600; font-size: 15.5px; cursor: pointer; }
.ack input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--navy); flex: 0 0 auto; }
.gate .btn[disabled] { opacity: 0.45; cursor: not-allowed; transform: none; }
.gate.is-done { display: none; }
.widget { min-height: 420px; min-width: 0px; overflow: hidden; }
#nextpatient-widget { max-width: 100%; overflow-x: auto; }
#nextpatient-widget .nextpatient-box, #nextpatient-widget .nextpatient-font { max-width: 100%; box-sizing: border-box; }
.bookside { grid-area: 1 / 2 / 3; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 22px; display: flex; flex-direction: column; gap: 12px; position: sticky; top: 100px; }
.bookside h3 { font-size: 1.1rem; }
.bookside hr { border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--line); margin: 4px 0px; width: 100%; }
.bookside .soft { font-size: 13.5px; color: var(--muted); }
body.is-book .ctabar { display: none; }
.bform { gap: 18px; }
.bfield { border: 0px; margin: 0px; padding: 0px; display: flex; flex-direction: column; gap: 8px; min-width: 0px; }
.bl { display: block; font-size: 12px; font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; color: var(--muted); }
.bform select { font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 16px; font-weight: 600; color: var(--ink); border: 1.5px solid var(--line); border-radius: var(--r-pill); padding: 0px 44px 0px 18px; min-height: 52px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23144A8F' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") right 16px center no-repeat rgb(255, 255, 255); width: 100%; appearance: none; }
.choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.choice { position: relative; display: flex; gap: 12px; align-items: flex-start; border: 1.5px solid var(--line); border-radius: var(--r); padding: 14px 16px; cursor: pointer; background: rgb(255, 255, 255); transition: border-color 0.2s, background-color 0.2s; }
.choice input { margin: 3px 0px 0px; width: 18px; height: 18px; accent-color: var(--navy); flex: 0 0 auto; }
.choice > span { display: flex; flex-direction: column; gap: 2px; min-width: 0px; }
.choice b { font-size: 15.5px; }
.choice span span { font-size: 13.5px; color: var(--muted); line-height: 1.4; }
.choice:has(input:checked) { border-color: var(--navy); background: var(--tint-blue); }
.choice:has(input:disabled) { opacity: 0.5; cursor: not-allowed; }
.choice:has(input:focus-visible) { outline: 2px solid var(--navy); outline-offset: 2px; }
.bgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.bfee { font-size: 15px; font-weight: 600; color: var(--ink); background: var(--tint-gold); border-radius: 12px; padding: 11px 14px; line-height: 1.5; }
.bfee small { display: block; font-weight: 500; color: var(--muted); font-size: 13.5px; margin-top: 2px; }
.bhint { font-size: 14px; color: var(--muted); line-height: 1.5; }
.bhint a { color: var(--navy); font-weight: 600; }
.berr { color: var(--alert); font-weight: 600; }
.medbox { background: var(--paper); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 4px solid var(--gold); border-radius: var(--r-lg); padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; }
.medbox h3 { font-size: 1.02rem; }
.medbox p { font-size: 14.5px !important; line-height: 1.55 !important; }
.medbox .soft { color: var(--muted); }
.bsummary { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; background: var(--tint-gold); border-radius: var(--r-pill); padding: 8px 16px; font-size: 14.5px; }
.paycard { grid-column: 1; background: rgb(255, 255, 255); border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 4px solid var(--gold); border-radius: var(--r-lg); padding: clamp(1.3rem, 3vw, 1.9rem); display: flex; flex-direction: column; gap: 12px; }
.paycard[hidden] { display: none; }
.paycard h3 { font-size: 1.3rem; }
.paycard p { font-size: 15px; line-height: 1.6; }
.paycard .btn { align-self: flex-start; }
.bprog .bp-pay[hidden] { display: none; }
.bookside { grid-row: 1 / 4; }
.timeline { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; position: relative; counter-reset: t 0; }
.timeline::before { content: ""; position: absolute; left: 24px; right: 24px; top: 22px; height: 2px; background: repeating-linear-gradient(90deg,var(--navy) 0 8px,transparent 8px 16px); opacity: 0.3; }
.timeline li { position: relative; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 52px 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.timeline li::before { counter-increment: t 1; content: counter(t); position: absolute; left: 22px; top: -2px; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background: var(--gold); color: var(--navy-deep); font-family: var(--display); font-size: 1.3rem; display: grid; place-items: center; border: 4px solid var(--white); }
.timeline li:last-child::before { background: var(--navy); color: rgb(255, 255, 255); }
.timeline .when { font-size: 11.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold-text); }
.timeline h3 { font-size: 1.15rem; }
.timeline p { font-size: 15px; color: var(--muted); }
.bigquote { margin: 0px auto; max-width: 900px; text-align: center; }
.bigquote blockquote { margin: 0px; font-family: var(--display); font-size: clamp(1.6rem, 3.2vw, 2.5rem); line-height: 1.3; color: var(--navy); }
.bigquote figcaption { margin-top: 16px; font-weight: 700; font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold-text); }
.expect { max-width: 720px; margin: 22px auto 0px; text-align: center; }
.expect p { font-size: 17px; color: rgb(60, 74, 96); line-height: 1.7; }
.founder-portrait img { aspect-ratio: 1 / 1; object-position: center center; }
.founder2 { display: grid; grid-template-columns: 340px 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.founder2-portrait { position: relative; }
.founder2-portrait img { border-radius: var(--r-xl); aspect-ratio: 1 / 1; object-fit: cover; width: 100%; height: auto; border: 1px solid var(--line); }
.fcap { position: absolute; left: 16px; right: 16px; bottom: -18px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r); padding: 12px 16px; display: flex; flex-direction: column; gap: 2px; box-shadow: rgba(11, 42, 82, 0.4) 0px 14px 30px -20px; }
.fcap b { font-size: 15px; }
.fcap span { font-size: 13px; color: var(--muted); }
.founder2-body { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.fstat { font-size: 15px; color: var(--muted); display: inline-flex; align-items: center; gap: 8px; background: var(--tint-gold); border-radius: var(--r-pill); padding: 6px 14px; }
.fstat b { color: var(--gold-text); font-weight: 700; }
.fpath { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 8px 6px; align-items: center; }
.fpath li { font-size: 14px; font-weight: 600; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-pill); padding: 8px 14px; }
.fpath li:not(:last-child)::after { content: "→"; color: var(--gold); margin-left: 10px; }
.fpath li:last-child { background: var(--navy); border-color: var(--navy); color: rgb(255, 255, 255); }
.band:not(.band--white) .fpath li:not(:last-child) { background: rgb(255, 255, 255); }
.prep { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.prep--compact { grid-template-columns: repeat(3, 1fr); gap: 14px; }
.prep .item { display: flex; gap: 14px; align-items: flex-start; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px 22px; }
.prep--compact .item { padding: 18px 20px; }
.prep .num { font-family: var(--display); font-size: 1.4rem; line-height: 1; color: var(--gold); flex: 0 0 auto; min-width: 28px; }
.prep h3 { font-size: 1.06rem; margin-bottom: 5px; }
.prep p { font-size: 15px; color: var(--muted); }
.prep--compact p { font-size: 14.5px; }
.prep-note { margin-top: 16px; font-size: 15px; color: var(--muted); }
.jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.jump a { font-size: 13.5px; font-weight: 600; text-decoration: none; color: var(--navy); background: var(--tint-blue); padding: 7px 13px; border-radius: var(--r-pill); }
.jump a:hover { background: var(--navy); color: rgb(255, 255, 255); }
.qsearch { display: flex; align-items: center; gap: 14px; width: 100%; max-width: 620px; }
.qsearch input { flex: 1 1 0%; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 16px; min-height: 52px; border: 1.5px solid var(--line); border-radius: var(--r-pill); padding: 0px 22px; background: rgb(255, 255, 255); }
.qsearch span { font-size: 14px; color: var(--muted); white-space: nowrap; }
.qcat.is-empty { display: none; }
.faq details.is-hidden { display: none; }
.legal { max-width: 78ch; display: flex; flex-direction: column; gap: 12px; }
.legal h2 { font-size: clamp(1.25rem, 2vw, 1.5rem); margin-top: 18px; }
.legal p, .legal li { font-size: 16px; line-height: 1.7; color: rgb(42, 56, 80); }
.legal ul { margin: 0px; padding-left: 22px; display: flex; flex-direction: column; gap: 6px; }
.legal-links { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 14.5px; color: var(--muted); }
.legal-links a { color: var(--navy); font-weight: 600; }
.foot { padding-bottom: 5rem; }
.foot-top { display: grid; grid-template-columns: 1.4fr 0.9fr; gap: 28px 48px; align-items: start; padding-bottom: 34px; margin-bottom: 34px; border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
.foot-brand { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.foot-brand img { height: 64px; width: auto; }
.foot-brand p { font-size: 15px; color: rgba(255, 255, 255, 0.78); max-width: 46ch; }
.social { display: flex; gap: 10px; }
.social a { width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.26); display: grid; place-items: center; color: rgb(255, 255, 255); transition: background-color 0.25s, border-color 0.25s, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.social a:hover { background: rgba(255, 255, 255, 0.12); border-color: var(--gold-pale); color: var(--gold-pale); transform: translateY(-2px); }
.social a svg[viewbox="0 0 48 48"] { background: rgb(255, 255, 255); border-radius: 50%; padding: 3px; width: 22px; height: 22px; }
.foot-review { background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--r-lg); padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.foot-review .k { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; }
.foot-review .k svg { background: rgb(255, 255, 255); border-radius: 50%; padding: 2px; width: 20px; height: 20px; }
.foot-review p { font-size: 14.5px; color: rgba(255, 255, 255, 0.78); }
.foot-grid--5 { grid-template-columns: repeat(5, 1fr); }
.foot address { font-style: normal; font-size: 14.5px; color: rgba(255, 255, 255, 0.72); margin-top: 6px; line-height: 1.5; }
.foot-secure { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: rgba(255, 255, 255, 0.66); margin-top: 6px; line-height: 1.45; }
.foot-secure svg { flex: 0 0 auto; margin-top: 2px; }
.ctabar { position: fixed; z-index: 80; background: transparent; color: inherit; transform: translateY(130%); transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); pointer-events: none; }
.ctabar.is-up { transform: none; pointer-events: auto; }
.ctabar-d { display: flex; gap: 8px; align-items: center; background: rgba(251, 250, 247, 0.9); backdrop-filter: blur(14px) saturate(160%); border: 1px solid var(--line); border-radius: var(--r-pill); padding: 8px; box-shadow: rgba(11, 42, 82, 0.5) 0px 22px 50px -24px; }
.ctabar-d .btn { min-height: 44px; padding: 0px 20px; font-size: 14.5px; gap: 8px; }
.ctabar-m { display: none; }
@media (min-width: 681px) {
  .ctabar { right: clamp(16px, 2.5vw, 32px); bottom: clamp(16px, 2.5vw, 28px); left: auto; }
}
@media (max-width: 680px) {
  .ctabar { left: 0px; right: 0px; bottom: 0px; transform: translateY(110%); }
  .ctabar-d { display: none; }
  .ctabar-m { display: grid; grid-template-columns: 50px 1fr 1.55fr; gap: 8px; align-items: center; padding: 10px 12px calc(8px + env(safe-area-inset-bottom)); background: rgba(251, 250, 247, 0.94); backdrop-filter: blur(16px) saturate(160%); border-top: 1px solid var(--line); box-shadow: rgba(11, 42, 82, 0.45) 0px -14px 40px -26px; }
  .mb { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border-radius: var(--r-pill); text-decoration: none; font-weight: 600; font-size: 15.5px; border: 1.5px solid transparent; transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s; }
  .mb:active { transform: scale(0.97); }
  .mb-call { width: 50px; height: 50px; border-color: var(--line); background: rgb(255, 255, 255); color: var(--navy); }
  .mb-text { border-color: var(--line); background: rgb(255, 255, 255); color: var(--navy); }
  .mb-book { background: var(--navy); color: rgb(255, 255, 255); box-shadow: rgba(20, 74, 143, 0.7) 0px 10px 24px -14px; }
  .mnote { grid-column: 1 / -1; display: flex; justify-content: center; align-items: center; gap: 6px; font-size: 11px; color: var(--muted); text-align: center; }
  .mnote svg { color: var(--navy); }
  .foot { padding-bottom: 9.5rem; }
}
@media (max-width: 1100px) {
  .finderband .finder .row { grid-template-columns: 1fr 1fr; }
  .finderband .finder .row > div:last-child { grid-column: 1 / -1; }
  .beyond { grid-template-columns: repeat(3, 1fr); }
  .founder2 { grid-template-columns: 300px 1fr; }
}
@media (max-width: 1020px) {
  .phero-in, .prose2, .askgrid, .bookflow, .gs, .howfoot { grid-template-columns: 1fr; }
  .factbox, .bookside { position: static; }
  .bookside { grid-area: auto / 1; }
  .care4, .beyond { grid-template-columns: repeat(2, 1fr); }
  .condlist, .statecards, .bookstates, .reviewgrid { grid-template-columns: repeat(2, 1fr); }
  .timeline { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
  .timeline::before { display: none; }
  .crisis { grid-template-columns: 1fr; }
  .foot-grid--5 { grid-template-columns: repeat(3, 1fr); }
  .pricegrid--9, .pricegrid--4 { grid-template-columns: repeat(2, 1fr); }
  .process { grid-template-columns: repeat(3, 1fr); }
  .pathway { grid-template-columns: repeat(3, 1fr); gap: 22px 12px; }
  .pathway::before, .pathway::after { display: none; }
  .pathway.is-in .pw-dot { transition-delay: 0s !important; }
  .mapgrid { grid-template-columns: 1fr; }
  .founder2 { grid-template-columns: 1fr; max-width: 640px; }
  .founder2-portrait { max-width: 320px; }
  .fcap { position: static; margin-top: 12px; box-shadow: none; }
  .prep--compact { grid-template-columns: repeat(2, 1fr); }
  .foot-top { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .hero--photo { display: block; min-height: 0px; }
  .hero-bg { display: block; position: relative; inset: auto; height: clamp(300px, 96vw, 440px); z-index: 0; overflow: hidden; }
  .hero-bg img { object-position: 50% 20%; }
  .hero-bg::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(rgba(11, 42, 82, 0) 48%, rgba(11, 42, 82, 0.6) 76%, rgb(11, 42, 82) 100%); }
  .hero-veil { display: none; }
  .hero--photo .wrap { padding-top: 0px; padding-bottom: 5.5rem; margin-top: -64px; }
  .hero--photo h1 { font-size: clamp(2.1rem, 9vw, 2.9rem); }
  .hero-proof { width: 100%; justify-content: flex-start; }
  .finderband { margin-top: -44px; }
  .finderband .finder { padding: 18px; }
  .finderband .finder .row { grid-template-columns: 1fr; }
  .proof .wrap { justify-content: flex-start; gap: 14px 20px; }
  .proof-sep { display: none; }
  .proof .arrowlink { width: 100%; }
  .phero-media { order: -1; }
  .phero-media img { aspect-ratio: 16 / 9; }
  .ticklist, .linkcols { grid-template-columns: 1fr; }
  .crisis-nums { grid-template-columns: 1fr; }
  .askform .f2 { grid-template-columns: 1fr; }
  .foot-grid--5 { grid-template-columns: repeat(2, 1fr); }
  .beyond-foot .hero-cta { width: 100%; }
  .pillars { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding: 30px 4px 10px; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); scrollbar-width: none; }
  .pillars::-webkit-scrollbar { display: none; }
  .pillar { flex: 0 0 min(86vw, 360px); scroll-snap-align: center; }
  .pillar:hover { transform: none; }
  .gs-media { padding: 0px 12px 12px 0px; }
  .gs-badge { bottom: 26px; left: 12px; }
  .usmap { gap: 4px; }
  .usmap .tile-st, .usmap .tile-x { border-radius: 6px; font-size: 9px; }
  .usmap .tile-st .soon { display: none; }
  .statepills--map { display: flex; }
  .mappanel { min-height: 0px; }
  .reviewgrid { grid-template-columns: 1fr; }
  .car-btn { display: none; }
  .reviews-foot { flex-direction: column; align-items: stretch; }
  .reviews-foot .hero-cta { width: 100%; }
  .reviews-foot .btn { flex: 1 1 auto; }
  .bprog li .bp-l { display: none; }
  .bprog li.is-now .bp-l { display: inline; }
  .bprog { max-width: none; }
  .morelinks .btn { margin-left: 0px; width: 100%; }
}
@media (max-width: 560px) {
  .choices { grid-template-columns: 1fr; }
  .paycard .btn { align-self: stretch; }
  .care4, .beyond, .condlist, .statecards, .bookstates, .timeline, .pricegrid--9, .pricegrid--4, .prep, .prep--compact, .svc-more, .bgrid { grid-template-columns: 1fr; }
  .prep .item { padding: 18px; }
  .gs-steps { flex-direction: column; align-items: stretch; }
  .gs-steps li { justify-content: flex-start; }
  .gs-steps li:not(:last-child)::after { margin-left: auto; }
  .process { grid-template-columns: 1fr; }
  .linkcols ul { columns: 1; }
  .topbar .right a:first-child { display: none; }
  .ptable th, .ptable td { padding: 12px; }
  .medpolicy, .safety { flex-direction: column; gap: 10px; }
  .qsearch { flex-direction: column; align-items: stretch; }
  .pathway { grid-template-columns: repeat(2, 1fr); }
  .ratingpair { flex-direction: column; }
  .rp { min-width: 0px; }
  .gscall { flex-wrap: wrap; }
  .gscall .go { display: none; }
  .inscheck .btn { width: 100%; }
  .hero--photo .hero-cta .btn { flex: 1 1 auto; }
  .welcome { font-size: 1.1rem; }
  .fpath li { font-size: 13px; padding: 7px 12px; }
  .fpath li:not(:last-child)::after { margin-left: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .pathway::after, .pw-dot, .pillar, .pillar .shot img, .bx, .c4, .rp, .social a, .mb, .ctabar { transition: none; }
  .pathway.is-in::after { width: calc(83.34% - 4px); }
  .car-track { scroll-behavior: auto; }
}

/* Source: preview-runtime.css */
/* Local-copy runtime only: content must remain visible without original motion JS. */
.js-reveal,.js-reveal-x,.js-reveal-scale,.js-hero>*,.js-hero-media{opacity:1;transform:none}
[hidden]{display:none!important}
html{scroll-padding-top:100px;scroll-padding-bottom:120px}
body.menu-open{overflow:hidden}
button:disabled{cursor:default}
.cwb-orbs{background:radial-gradient(ellipse at 20% 80%,rgba(220,161,40,.2),transparent 60%),radial-gradient(ellipse at 95% 15%,rgba(100,166,233,.3),transparent 60%)}
/* The same insurance control keeps its form styling when used in the visit overview. */
.booking-overview :where(#insurance-plan-field) select{font:inherit;font-size:16px;font-weight:600;color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:0 44px 0 18px;min-height:52px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23144A8F' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") right 16px center no-repeat;width:100%;appearance:none}


/* Source: refinement-patch.css */
/* Bounded refinements; Brian's base.css, site.css and cwb.css remain unchanged. */
/* Reduce exterior transition space; preserve card interiors and hero composition. */
main>.band:not(.aboutHero){padding-block:clamp(2.5rem,4.5vw,4rem)}
main>.band.band--tight{padding-block:clamp(2rem,3vw,2.75rem)}
main>.phero{padding-block:clamp(2rem,3.5vw,3rem)}
main .sec-head{margin-bottom:clamp(1.25rem,2.2vw,1.75rem)}
@media(max-width:760px){
 main>.band:not(.aboutHero){padding-block:32px}
 main>.band.band--tight{padding-block:24px}
 main>.phero{padding-block:24px}
 main>.crumbs ol{padding-block:8px}
}
.welcome{font-size:clamp(1.3rem,2.1vw,1.7rem);flex-wrap:nowrap;max-width:100%}
.welcome-text{min-width:0;font-size:inherit}
@media(max-width:560px){.welcome{font-size:1.25rem}}
/* Keep the existing hero composition; reserve the finder's 56px overlap plus 16px below the actions. */
@media(min-width:761px) and (max-height:900px){
 .is-home .hero--photo .wrap{padding-top:clamp(3.5rem,8vh,5rem);padding-bottom:max(4.5rem,6vh)}
}
/* Full-width sticky bars with compact vertical spacing and 44px controls. */
.masthead{width:100%;max-width:none;top:0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0}
.masthead .wrap{width:100%;min-height:calc(56px + env(safe-area-inset-top,0px));padding-block:calc(6px + env(safe-area-inset-top,0px)) 6px;padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px));gap:16px}
/* Use the logo's transparent canvas margins to enlarge its lettering inside the slim bar. */
.masthead .brand{display:inline-flex;align-items:center;flex:0 1 128px;width:128px;min-width:104px;height:44px;min-height:44px;overflow:hidden}
.masthead .brand img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 56%}
.masthead .nav{gap:17px}
.masthead .dd-panel{max-height:calc(100vh - var(--journey-top-offset,120px) - var(--journey-bottom-offset,100px));max-height:calc(100dvh - var(--journey-top-offset,120px) - var(--journey-bottom-offset,100px));overflow-y:auto;overscroll-behavior-y:contain}
.masthead .nav a.nav-link,.masthead .dd-btn{display:inline-flex;align-items:center;min-width:44px;min-height:44px;font-size:14px}
.masthead .mast-actions>.btn--sm{min-width:160px;min-height:44px;padding-block:0;padding-inline:24px;white-space:nowrap}
.masthead .navtoggle{width:44px;height:44px;flex:0 0 44px}
/* Keep the drawer logo proportional and the close button visible at every menu breakpoint. */
.drawer .sheet{min-width:0;overflow-x:hidden;overscroll-behavior-y:contain;scroll-padding-top:calc(90px + env(safe-area-inset-top,0px))}
.drawer .sheet-top{flex:0 0 auto;min-width:0;padding-top:calc(16px + env(safe-area-inset-top,0px))}
.drawer .sheet-top,.drawer .sheet-body,.drawer .sheet-foot{padding-inline:max(var(--gutter),env(safe-area-inset-left,0px)) max(var(--gutter),env(safe-area-inset-right,0px))}
.drawer .sheet-foot{padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
.drawer .sheet-top>img{width:140px;height:auto;flex:0 1 140px;min-width:0;object-fit:contain}
.drawer .sheet-top>.navtoggle{display:inline-flex;width:46px;min-width:46px;height:46px;flex:0 0 46px}
/* Keep the state/contact strip visually secondary to the main sticky header. */
.topbar{font-size:14px;line-height:1.2}
.topbar .wrap{min-height:32px;gap:0 24px;padding-block:4px}
.topbar .left{gap:0 8px}
.topbar .right{gap:0 16px}
.topbar .right a{display:inline-flex;align-items:center;min-height:24px}
.ctabar{left:0;right:0;bottom:0;width:100%;max-width:none;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:rgba(251,250,247,.94);backdrop-filter:blur(14px) saturate(160%);transform:translateY(calc(100% + 2px));visibility:hidden}
.ctabar.is-up{transform:translateY(0);visibility:visible}
.ctabar-d,.ctabar-m{width:100%;max-width:var(--maxw);margin:0 auto;border:0;border-radius:0;background:transparent;backdrop-filter:none}
.ctabar-d{justify-content:center;padding-block:4px calc(4px + env(safe-area-inset-bottom,0px));padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px));gap:8px}
.ctabar-d .btn{padding-inline:12px;font-size:13.5px;min-height:44px}
/* Service images are changed individually, with the existing card styling retained. */
.card .body{min-width:0}
.card .head h3{overflow-wrap:break-word}
.card .shot img{object-fit:cover}
/* Service names can wrap within existing content buttons; compact header controls stay single-line. */
main a.btn[data-context-booking="full"],main .bookside .btn,main .factbox .btn{max-width:100%;min-width:0;white-space:normal;line-height:1.4;text-align:center;padding-block:10px}
main a.btn[data-context-booking="full"] [data-booking-label]{min-width:0;overflow-wrap:break-word}
main .hero-cta .btn>svg{flex-shrink:0}
/* Allow the scheduling action to fit the existing booking card on narrow phones. */
.is-book .gate{min-width:0}
.gate #gate-go{min-width:0;max-width:100%;white-space:normal;line-height:1.4;padding-block:10px}
/* Readable booking labels, one payment choice and an in-place state change. */
.bfield select,.finder select,.askform input,.askform select,.askform textarea{font-size:16px;max-width:100%}
.bfield .bl{line-height:1.5}
/* Paired visit choices use the existing booking values and the selected screenshot style. */
.gate .booking-choice-field{border:0;padding:0;margin:0;min-width:0}
.gate .booking-choice-field legend{padding:0;margin:0 0 8px;max-width:100%;line-height:1.5}
.gate .booking-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border:1.5px solid var(--line);border-radius:var(--r-lg);background:var(--paper);min-width:0}
.gate .booking-choice{position:relative;display:flex;min-width:0;cursor:pointer}
.gate .booking-choice input{position:absolute;top:50%;left:50%;width:1px;height:1px;margin:0;opacity:0}
.gate .booking-choice>span{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:2px;width:100%;min-width:0;min-height:60px;padding:10px 8px;border:1px solid transparent;border-radius:var(--r);color:var(--ink);text-align:center;white-space:normal;overflow-wrap:break-word;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}
.gate .booking-choice b{font-size:16px;font-weight:700;line-height:1.25}
.gate .booking-choice .booking-choice-hint{font-size:13px;font-weight:400;line-height:1.35;color:var(--muted)}
.gate .booking-choice input:checked+span{background:var(--navy);color:var(--white);border-color:var(--navy);box-shadow:0 5px 12px -6px rgba(20,74,143,.55)}
.gate .booking-choice input:checked+span .booking-choice-hint{color:var(--white)}
.gate .booking-choice input:focus-visible+span{outline:2px solid var(--navy);outline-offset:3px}
.gate .booking-choice input:disabled+span{opacity:.55;cursor:not-allowed}
@media(hover:hover) and (pointer:fine){.gate .booking-choice:hover>span{border-color:var(--navy)}}
@media(prefers-reduced-motion:reduce){.gate .booking-choice>span{transition:none}}
@media(forced-colors:active){.gate .booking-choice input:checked+span{background:Highlight;color:HighlightText;border-color:Highlight}.gate .booking-choice input:checked+span .booking-choice-hint{color:HighlightText}.gate .booking-choice input:focus-visible+span{outline-color:Highlight}}
.finder-selection{margin:10px 0 0;font-size:14px;line-height:1.5;color:var(--navy);font-weight:600;overflow-wrap:anywhere}
.is-book .bookflow{row-gap:18px}
.booking-overview{grid-column:1;min-width:0;padding:16px 18px;border:1px solid var(--finish-line,var(--line));border-radius:var(--info-radius);background:var(--tint-gold);display:flex;flex-direction:column;gap:8px}
.booking-overview .bsummary{padding:0;background:transparent;border-radius:0;line-height:1.55;overflow-wrap:anywhere}
.booking-overview .bhint{font-size:13px;line-height:1.5}
.booking-overview-actions{display:flex;flex-wrap:wrap;gap:4px 18px}
.booking-edit{border:0;padding:6px 0;min-height:44px;background:transparent;color:var(--navy);text-decoration:underline;text-underline-offset:3px;font-size:14px;font-weight:600;cursor:pointer;text-align:left}
.widget>h2.kicker{font-family:var(--body);font-size:12.5px;line-height:1.6;font-weight:700;letter-spacing:.14em}
#visit-details-heading:focus,#schedule-heading:focus{outline:2px solid var(--navy);outline-offset:6px;border-radius:2px}
.bgrid{align-items:start}
.bctx{flex-wrap:wrap;row-gap:10px}
.change-state-field{max-width:420px;margin-top:18px}
/* Searchpod's wrapping pill pattern, using native radio inputs and our palette. */
.state-picker-panel{max-width:720px;padding:var(--info-pad);border:1px solid var(--finish-line,var(--line));border-radius:var(--info-radius);background:var(--white);box-shadow:var(--finish-shadow)}
.state-picker-choices{margin:0;padding:0;border:0;min-width:0}
.state-picker-choices legend{padding:0;margin-bottom:10px}
.state-picker-chips{display:flex;flex-wrap:wrap;gap:8px}
.state-picker-chip{position:relative;display:inline-flex;cursor:pointer;max-width:100%}
.state-picker-chip input{position:absolute;width:1px;height:1px;opacity:0}
.state-picker-chip>span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid var(--finish-line,var(--line));border-radius:var(--r-pill);background:var(--white);color:var(--ink);font-size:14px;line-height:1.4;font-weight:600}
.state-picker-chip input:checked+span{background:var(--navy);border-color:var(--navy);color:var(--white);box-shadow:0 3px 10px rgba(14,53,102,.11)}
.state-picker-chip input:focus-visible+span{outline:2px solid var(--navy);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.state-picker-chip:hover>span{border-color:var(--navy)}}
.state-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}
.state-picker-actions .btn{min-height:48px;padding-inline:24px}
.state-picker-status{color:var(--navy);font-size:14px;line-height:1.5}
.state-picker-pending{display:flex;align-items:flex-start;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft);font-size:13px;line-height:1.55;color:var(--muted)}
.state-picker-pending strong{display:block;color:var(--gold-text);font-weight:600}
.state-picker-pending span>span{display:block;margin-top:2px}
.state-picker-dot{flex:0 0 6px;width:6px;height:6px;margin-top:7px;border-radius:50%;background:var(--gold)}
@media(max-width:560px){.state-picker-actions{display:grid;grid-template-columns:minmax(0,1fr)}.state-picker-actions .btn{width:100%}}
.bprog li{min-width:0}
.bprog li.is-done .bp-n{color:var(--white)}
.bprog .bp-l{white-space:normal}
.bprog li:last-child::after{display:none}
.faq-more{margin-top:20px}
.faq details[hidden]{display:none}
.preview-scheduler{display:flex;align-items:start;gap:20px;padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}
.preview-scheduler img{width:72px;height:90px;object-fit:cover;border-radius:var(--r)}
.preview-scheduler h3{font-family:var(--body);font-size:18px;margin-bottom:10px}
.preview-scheduler p{margin-bottom:10px}
.preview-scope{margin:12px 0 20px}
/* Preventive-care and other navy buttons retain visible white labels. */
a.btn--navy,.btn--navy:visited{color:var(--white)}
/* The screenshot's preparation cards set the shared information-card scale.
   Service photo cards (.card) keep their existing markup, sizing and photographs. */
:root{--info-pad:18px;--info-gap:14px;--info-radius:20px;--info-title:1.06rem;--info-body:15.5px}
.prep .item,.prep--compact .item,.c4,.step,.bx,.pricecard,.stcard,.review,.factbox,.bookside,.howcta,.medpolicy,.safety,.paycard,.process li,.timeline li{padding:var(--info-pad);border-radius:var(--info-radius);min-width:0;min-height:0;height:auto}
.care4,.beyond,.steps,.prep,.prep--compact,.statecards,.bookstates,.reviewgrid,.pricegrid,.process,.timeline{gap:18px;align-items:stretch}
.prep .item,.prep--compact .item{gap:var(--info-gap);align-items:flex-start}
.prep h3,.c4 h3,.step h3,.bx h3,.stcard h3,.factbox h3,.bookside h3,.medpolicy h3,.safety h3,.paycard h3,.process h3,.timeline h3{font-size:var(--info-title);line-height:1.35}
.prep p,.prep--compact p,.c4 p,.step p,.bx p,.stcard p,.review p,.howcta p,.medpolicy p,.safety p,.paycard p,.process p,.timeline p{font-size:var(--info-body);line-height:1.6}
.c4,.step,.bx{display:grid;grid-template-columns:28px minmax(0,1fr);gap:5px var(--info-gap);align-content:start}
.c4 .n,.step .n,.bx .ic{grid-column:1;grid-row:1 / span 2;position:static;width:28px;min-width:28px;height:auto;font-size:1.4rem;line-height:1.2}
.bx .ic{height:28px;background:transparent;border-radius:0;align-items:start}
.c4 h3,.step h3,.bx h3{grid-column:2;grid-row:1;margin:0}
.c4 p,.step p,.bx p{grid-column:2;grid-row:2;margin:0}
/* Match service-card links: keep the arrow beside the title without narrowing the description. */
a.c4{grid-template-columns:28px minmax(0,1fr) 16px}
a.c4>p{grid-column:2 / -1}
a.c4>.go{position:static;grid-column:3;grid-row:1;justify-self:end;align-self:start;width:16px;height:16px;margin:4px 0 0}
.steps .thread,.timeline::before{display:none}
.pricecard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;align-content:start}
.pricecard h3{grid-column:1;grid-row:1;font-size:15.5px;line-height:1.4}
.pricecard .amount{grid-column:2;grid-row:1 / span 2;font-size:1.75rem;align-self:start;white-space:nowrap}
.pricecard .unit{grid-column:1;grid-row:2;margin:0}
.pricecard .follow{grid-column:1 / -1;margin-top:8px;padding-top:10px}
.pricecard--alt{display:flex}
.stcard{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px 14px;align-content:start}
.stcard .abbr{grid-column:1;grid-row:1 / span 4;font-size:1.4rem;color:var(--gold);line-height:1.2}
.stcard>:not(.abbr){grid-column:2;min-width:0}
.stcard .status{justify-self:start;padding:3px 8px;font-size:10px}
.stcard .arrowlink{font-size:14px;white-space:normal;margin-top:2px}
.carriers>.insurance-carrier{align-content:center;gap:6px;text-align:center;min-width:0}
.insurance-carrier-name{font:700 1.65rem/1.2 var(--font-sans,Inter,Arial,sans-serif);color:var(--navy,#144A8F)}
.insurance-carrier-scope{display:block;font-size:12px;line-height:1.3;color:var(--ink,#14213A);overflow-wrap:anywhere}
.factbox,.bookside,.paycard,.howcta,.review{gap:8px}
.rp,.ratingpair--lg .rp{padding:14px 18px;border-radius:var(--info-radius);min-width:0}
.ratingpair--lg .rp b{font-size:1.7rem}
.medpolicy,.safety{gap:var(--info-gap);border:1px solid var(--line);align-items:start;flex-direction:row}
.medpolicy .ic,.safety .ic{width:28px;height:28px;flex:0 0 28px;background:transparent}
.medpolicy p,.medpolicy p[data-service-reassurance]{color:var(--muted)}
.medbox p[data-service-reassurance]{color:#000}
.process li,.timeline li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:5px 14px;align-content:start}
.process li::before,.timeline li::before{position:static;transform:none;grid-column:1;grid-row:1 / span 4;display:block;width:auto;height:auto;background:transparent;border:0;border-radius:0;color:var(--gold);font-size:1.4rem;line-height:1.2}
.timeline li:last-child::before{background:transparent;color:var(--gold)}
.process li>*,.timeline li>*{grid-column:2}
/* Remove only the GeneSight photo's offset tan accent; retain image geometry and badge. */
#genesight .gs-media::before{display:none}
/* Related-service callouts retain the shared compact information-card sizing. */
.gscall{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:start;gap:var(--info-gap);padding:var(--info-pad);border-radius:var(--info-radius);min-width:0}
.gscall .ic{width:28px;height:28px;background:transparent;border-radius:0}
.gscall>span:not(.ic){min-width:0}
.gscall b{font-size:var(--info-title);line-height:1.35;margin-bottom:5px}
.gscall>span:not(.ic)>span{display:block;font-size:var(--info-body);line-height:1.6}
.gscall .go{margin:4px 0 0}
/* About: readable care statement and a balanced transition into reviews. */
.about-expectations .care-statement{max-width:52ch;margin:28px auto 0;text-wrap:balance}
.about-expectations .care-statement-line{display:block;font:inherit;color:inherit;margin:0;text-wrap:balance}
.about-expectations .care-statement-line + .care-statement-line{margin-top:4px}
.about-expectations .care-statement-lead{display:block;font:inherit;color:inherit;width:100%;margin:0 auto 14px;white-space:normal;text-wrap:balance}
.about-expectations .care-statement-brand{display:inline;font:inherit;color:inherit;margin:0;white-space:nowrap}
@media(max-width:760px){
 .about-expectations{padding-bottom:32px}
 .about-expectations + #reviews{padding-top:36px}
 .about-expectations .care-statement{margin-top:24px;max-width:38ch}
}
@media(max-width:560px){
 .gscall{grid-template-columns:28px minmax(0,1fr)}
}
@media(min-width:761px) and (max-width:1180px){
 .masthead .nav{display:none}
 .masthead .navtoggle{display:inline-flex}
 .care4,.beyond,.process{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .prep,.prep--compact,.care4,.beyond,.steps,.process,.timeline,.statecards,.bookstates,.reviewgrid,.pricegrid--9,.pricegrid--4{grid-template-columns:minmax(0,1fr)}
 .prep .item{width:100%;min-width:0;height:auto;align-items:start}
 .prep .item>div{min-width:0}
 .prep p{font-size:var(--info-body);line-height:1.6}
 .car-track{gap:18px;padding-inline:0}
 .car-track .review{flex:0 0 100%;width:100%;min-width:0}
 .bgrid{grid-template-columns:minmax(0,1fr);gap:20px}
 .bfield select{min-height:48px}
 .bprog li .bp-l{display:block;font-size:12px;line-height:1.3}
 .bprog li{flex-direction:column;align-items:center;gap:6px;text-align:center}
 .bprog li::after{display:none}
 .bprog{gap:10px;align-items:start;margin-bottom:24px}
 .faq summary{align-items:start;line-height:1.5}
 .faq summary::after{flex:0 0 16px}
 .hero-bg{height:auto;aspect-ratio:1920 / 1177}
 .hero-bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
 .hero--photo .wrap{margin-top:0}
}
@media(max-width:680px){
 .masthead .wrap{min-height:calc(52px + env(safe-area-inset-top,0px));padding-block:calc(4px + env(safe-area-inset-top,0px)) 4px;padding-inline:max(12px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-right,0px));gap:8px}
 .masthead .mast-actions{gap:6px;flex:0 0 auto}
 .masthead .mast-actions>.btn--sm{min-width:144px;min-height:44px;padding-inline:20px;font-size:13px;white-space:nowrap}
 .topbar .wrap{justify-content:center;min-height:0;padding-block:2px;gap:0}
 .topbar .left{width:100%;justify-content:center}
 .topbar .right{justify-content:center;gap:0 16px}
 .ctabar-m{padding-block:4px calc(4px + env(safe-area-inset-bottom,0px));padding-inline:max(12px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-right,0px));grid-template-columns:44px minmax(0,1fr) minmax(0,1.45fr);gap:2px 6px}
 .ctabar-m .mb{min-height:44px;font-size:13px;gap:5px;min-width:0;white-space:nowrap}
 .ctabar-m .mb-call{width:44px;height:44px}
 .ctabar-m .mb svg{width:16px;height:16px;flex:0 0 auto}
 .ctabar-m .mnote{grid-column:1 / -1;font-size:10px;white-space:normal;line-height:1.25;text-align:center;justify-content:center;padding-top:0}
 body:not(.is-book){padding-bottom:110px}
}
@media(max-width:380px){
 .masthead .wrap{padding-inline:max(8px,env(safe-area-inset-left,0px)) max(8px,env(safe-area-inset-right,0px));gap:6px}
 .masthead .mast-actions>.btn--sm{min-width:128px;padding-inline:16px;font-size:12px}
 .ctabar-m .mb{font-size:12px;gap:4px}
 .preview-scheduler{padding:16px;gap:12px}
 .preview-scheduler img{width:52px;height:66px}
}


/* Source: finish.css */
/* Visual finishing only. All approved dimensions, spacing, type sizes,
   image crops and section layouts remain in Brian's CSS and refinement-patch.css. */
:root{
 --finish-line:#d7e0eb;
 --finish-shadow:0 1px 2px rgba(14,53,102,.035),0 7px 20px rgba(14,53,102,.045);
 --finish-shadow-hover:0 2px 5px rgba(14,53,102,.04),0 10px 26px rgba(14,53,102,.09);
 --finish-ease:cubic-bezier(.2,.7,.2,1);
}

/* Quiet edge shadows for the full-width navigation and action bars. */
.masthead{
 border-color:var(--finish-line);
 box-shadow:0 2px 12px -8px rgba(14,53,102,.13),inset 0 1px 0 rgba(255,255,255,.75);
 transition:border-color .2s ease,box-shadow .25s var(--finish-ease);
}
.masthead.is-scrolled{box-shadow:0 4px 14px -9px rgba(14,53,102,.22),inset 0 1px 0 rgba(255,255,255,.75)}
.ctabar{border-color:var(--finish-line);box-shadow:0 -3px 14px -10px rgba(14,53,102,.2),inset 0 1px 0 rgba(255,255,255,.8)}
.ctabar-d,.ctabar-m{box-shadow:none}
.dd-panel{border-color:var(--finish-line);box-shadow:0 8px 32px -10px rgba(14,53,102,.18)}
.dd-btn[aria-expanded="true"],.dd-btn[data-current-section]{color:var(--navy)}
.dd-btn[data-current-section]{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:6px}
.dd-panel a[aria-current="page"]{color:var(--navy);background-color:var(--tint-gold);box-shadow:inset 2px 0 0 var(--gold)}
.drawer .grp a[aria-current="page"]{color:var(--navy);background-color:var(--tint-gold);box-shadow:inset 0 -1px 0 var(--gold)}
.drawer .grp[data-current-section]>.k{color:var(--navy)}
.crumbs [aria-current="page"]{color:var(--navy)}

/* Consistent surfaces, retaining tinted and status-specific card variants. */
.card,.c4,.prep .item,.step,.pricecard,.stcard,.factbox,.bookside,.review,
.rp,.paycard,.process li,.timeline li,.gate,.askform,.inscheck{
 box-shadow:var(--finish-shadow);
}
.card,.c4,.prep .item,.step,.pricecard:not(.pricecard--alt),
.stcard:not(.is-soon),.factbox,.bookside,.review:not(.review--google),
.paycard,.process li,.timeline li,.gate,.askform,.inscheck{border-color:var(--finish-line)}
.card .tagpill,.card .brandmark{box-shadow:0 2px 9px rgba(14,53,102,.09)}
.review:hover{transform:none}
.ratingpair .rp .stars{color:var(--gold)}
.pricecard .amount{color:var(--navy)}
.pricecard .follow{border-top-style:solid;border-color:var(--line-soft)}
.ptable{box-shadow:var(--finish-shadow)}
.band--navy .bx,.howcta{box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.closer{box-shadow:0 8px 26px -16px rgba(14,53,102,.25)}

/* Enabled controls receive tactile feedback without changing their dimensions. */
.btn:not(:disabled):not([disabled]):not([aria-disabled="true"]),
.navtoggle,.jump a,.chip,.cwb-tab{
 transition:color .18s ease,background-color .18s ease,border-color .18s ease,
 box-shadow .2s var(--finish-ease),transform .2s var(--finish-ease);
}
.btn--navy:not(:disabled):not([disabled]):not([aria-disabled="true"]),
.btn--gold:not(:disabled):not([disabled]):not([aria-disabled="true"]){
 box-shadow:0 3px 10px rgba(14,53,102,.11),inset 0 1px 0 rgba(255,255,255,.17);
}
.btn--line:not(:disabled):not([disabled]):not([aria-disabled="true"]),.navtoggle{box-shadow:0 1px 3px rgba(14,53,102,.035)}
.finder select:not(:disabled),.bfield select:not(:disabled),.qsearch input:not(:disabled),
.askform input:not(:disabled),.askform select:not(:disabled),.askform textarea:not(:disabled){
 border-color:#c6d2e1;
 transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.finder select:focus-visible,.bfield select:focus-visible,.qsearch input:focus-visible,
.askform input:focus-visible,.askform select:focus-visible,.askform textarea:focus-visible{
 border-color:var(--navy);box-shadow:0 0 0 4px rgba(20,74,143,.07);
}
.choice:has(input:checked){box-shadow:inset 0 0 0 1px rgba(20,74,143,.12)}
.cwb-tab[aria-selected="true"]{box-shadow:0 3px 10px rgba(14,53,102,.1),inset 0 1px 0 rgba(255,255,255,.25)}

/* Match optional controls to the existing focus and selected-state treatment. */
.cwb .cwb-tab,.state-picker-chip>span,.service-filter,.review-control,.car-btn,
.booking-edit,.faq-answer-link,.journey-summary-actions :is(a,button),.faq-context-actions :is(a,button){
 transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .2s var(--finish-ease),transform .2s var(--finish-ease);
}
.cwb .cwb-tab{min-height:44px}
.cwb .cwb-inner.is-live>*{animation-duration:.22s;animation-delay:calc(var(--i,0)*20ms)}
.cwb .cwb-tab:focus-visible,.state-picker-chip input:focus-visible+span,
.is-home #services .service-filter:focus-visible,.review-controls .review-control:focus-visible,
.review-carousel .car-track:focus-visible,.car-btn:focus-visible,.booking-edit:focus-visible,
.faq-answer-link:focus-visible,.journey-summary-actions :is(a,button):focus-visible,.faq-context-actions :is(a,button):focus-visible{
 outline:2px solid var(--navy);outline-offset:3px;
}
.cwb .cwb-stage :is(a,button):focus-visible{outline:2px solid var(--gold-pale);outline-offset:3px}
.btn,.mb,.navtoggle,.dd-btn,.cwb-tab,.state-picker-chip,.service-filter,.review-control,.car-btn,
.booking-edit,.faq summary,.faq-answer-link,.journey-summary-actions :is(a,button),.faq-context-actions :is(a,button){touch-action:manipulation}
.is-home #services .service-filter:not([aria-pressed="true"]):not(:disabled):not([aria-disabled="true"]):active,
.state-picker-chip:active input:not(:checked):not(:disabled)+span{background-color:var(--tint-blue);border-color:var(--navy)}
.btn:not(:disabled):not([disabled]):not([aria-disabled="true"]):active{transform:none;box-shadow:inset 0 1px 3px rgba(14,53,102,.12)}
.btn:is(:disabled,[disabled],[aria-disabled="true"]),
.is-home #services .service-filter:is(:disabled,[aria-disabled="true"]),
.review-controls .review-control:disabled,.review-carousel .car-btn:disabled,
.booking-edit:is(:disabled,[aria-disabled="true"]){opacity:.45;cursor:default;box-shadow:none}
.btn:is(:disabled,[disabled],[aria-disabled="true"]){transform:none}
.btn--navy:is(:disabled,[disabled],[aria-disabled="true"]){background:var(--navy);color:var(--white)}
.btn--gold:is(:disabled,[disabled],[aria-disabled="true"]){background:var(--gold);color:var(--navy-deep)}
.state-picker-chip input:disabled+span{opacity:.45;cursor:default;box-shadow:none}
.state-picker-chip:hover input:disabled:not(:checked)+span,
.is-home #services .service-filter:is(:disabled,[aria-disabled="true"]):hover:not([aria-pressed="true"]){border-color:var(--finish-line,var(--line))}
.review-carousel .car-btn:disabled:hover{transform:translateY(-50%);border-color:var(--line)}

/* The native FAQ controls keep their original size and plus/minus symbols. */
.faq details{border-color:var(--finish-line);transition:border-color .18s ease,box-shadow .18s ease}
.faq details[open]{border-color:#b8c9df;box-shadow:inset 2px 0 0 var(--gold),var(--finish-shadow)}
.faq details[open]>summary{color:var(--navy)}
.faq summary{transition:color .18s ease}
.faq details{min-width:0}
.faq-question-text{min-width:0;flex:1}
.service-label-text{min-width:0;white-space:normal}
.sp svg,.arrowlink svg{flex-shrink:0}
.prose a,.legal a,.faq p a,.pricefoot a,.foot-col a{ text-underline-offset:.2em;text-decoration-thickness:1px }
.foot{box-shadow:inset 0 1px 0 rgba(220,161,40,.3)}
.foot-review{box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}

/* Hover feedback is for precise pointing devices; no new image or reveal motion. */
@media(hover:hover) and (pointer:fine){
 a.card,a.c4,a.pricecard,a.stcard,a.rp{transition:border-color .2s ease,box-shadow .2s var(--finish-ease),transform .2s var(--finish-ease)}
 a.card:hover,a.c4:hover,a.pricecard:hover,a.stcard:not(.is-soon):hover,a.rp:hover{border-color:#a9bdd6;box-shadow:var(--finish-shadow-hover)}
 .btn--navy:not(:disabled):not([disabled]):not([aria-disabled="true"]):hover,
 .btn--gold:not(:disabled):not([disabled]):not([aria-disabled="true"]):hover{box-shadow:0 5px 14px rgba(14,53,102,.17),inset 0 1px 0 rgba(255,255,255,.16)}
 .dd-btn:hover{color:var(--navy)}
 .faq summary:hover{color:var(--navy)}
 .finder select:not(:disabled):hover,.bfield select:not(:disabled):hover,.qsearch input:not(:disabled):hover{border-color:#97aecb}
 .ptable tbody tr:hover{background-color:rgba(232,238,248,.3)}
 .foot-col a:hover{color:var(--gold-pale);text-decoration:underline}
}
@media(hover:none), (pointer:coarse){
 .cwb .cwb-tab:hover,.btn:hover{transform:none}
 .review-carousel .car-btn:hover{transform:translateY(-50%)}
}
@media(prefers-reduced-motion:reduce){
 .masthead,.btn,.navtoggle,.jump a,.chip,.cwb-tab,a.card,a.c4,a.pricecard,a.stcard,a.rp,
 .finder select,.bfield select,.qsearch input,.askform input,.askform select,.askform textarea,
 .faq details,.faq summary,.choice,.state-picker-chip>span,.service-filter,.review-control,.car-btn,
 .booking-edit,.faq-answer-link,.journey-summary-actions :is(a,button),.faq-context-actions :is(a,button),
 .cwb .cwb-tab .ab,.dd-btn svg,.navtoggle span,.navtoggle span::before,.navtoggle span::after,
 .arrowlink svg,.card .head .go,.promise .go{transition:none!important}
 .cwb .cwb-tab:hover,.arrowlink:hover svg,.card:hover .head .go,.promise:hover .go{transform:none}
 .review-carousel .car-btn:hover{transform:translateY(-50%)}
 .cwb .cwb-inner.is-live>*,.cwb .cwb-inner.is-out>*{animation:none!important}
}

/* GeneSight uses the same typography as every other service in each component.
   Keep its semantic wrapper without introducing a separate brand font override. */
.service-name--genesight {
 font: inherit;
 letter-spacing: inherit;
 text-transform: inherit;
}


/* Source: interaction-polish.css */
/* Review controls sit below the original track; review geometry is unchanged. */
.review-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:4px;color:var(--muted);font-family:var(--body)}
.review-range{font-size:12.5px;line-height:1.5;text-align:center;font-variant-numeric:tabular-nums}
.review-control{display:none}
.interaction-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Small context rows use the established information-card palette and spacing. */
.journey-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 18px;min-width:0;max-width:100%;margin-top:16px;padding:10px 16px;border:1px solid var(--finish-line,var(--line));border-radius:var(--r);background:var(--tint-gold);color:var(--navy-deep)}
.journey-summary .journey-summary-text{flex:1 1 16rem;min-width:0;margin:0;font-family:var(--body);font-size:14px;font-weight:600;line-height:1.5;color:var(--navy-deep);overflow-wrap:anywhere}
.journey-summary-actions,.faq-context-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;min-width:0;max-width:100%}
.journey-summary-actions :is(a,button),.faq-context-actions :is(a,button){max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.journey-summary-actions :is(a,button):not(.btn),.faq-context-actions :is(a,button):not(.btn){display:inline-flex;align-items:center;padding:6px 0;border:0;background:transparent;color:var(--navy);font-family:var(--body);font-size:14px;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.journey-summary-actions .btn,.faq-context-actions .btn{padding:8px 16px;font-size:14px}
.faq-context{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 18px;max-width:940px;min-width:0;margin:14px 0 18px;padding:10px 16px;border:1px solid var(--finish-line,var(--line));border-radius:var(--r);background:var(--tint-blue)}
.faq-context .faq-context-title{flex:1 1 16rem;min-width:0;margin:0;font-family:var(--body);font-size:14px;font-weight:600;line-height:1.5;color:var(--navy);overflow-wrap:anywhere}
.faq details:target{border-color:var(--navy);box-shadow:inset 2px 0 0 var(--gold),var(--finish-shadow)}
/* Measured sticky-bar clearance belongs on the scroll container; targets add only a small gap. */
html{scroll-padding-block-start:var(--journey-top-offset,120px);scroll-padding-block-end:var(--journey-bottom-offset,100px)}
#finder,.faq details[id^="answer-"],.faq summary,.faq-context,.journey-summary{scroll-margin-block:12px}
:is(a,button,input,select,textarea,summary):focus-visible{scroll-margin-block:12px}
.qsearch input{min-width:0}
.qsearch span{white-space:normal}
#f-learn::before{content:"·";display:inline-block;margin-inline:5px}
/* Search stays in the existing question header, with wrapping help and status text. */
.qsearch.faq-search{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}
.faq-search .faq-search-clear{min-width:68px;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--white);color:var(--navy);font-family:var(--body);font-size:14px;font-weight:600;cursor:pointer;touch-action:manipulation}
.faq-search .faq-search-clear:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.faq-search :is(.faq-search-help,#qs-count){grid-column:1/-1;margin:0;color:var(--muted);font-family:var(--body);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.faq-search-empty{max-width:620px;margin:14px 0 0;padding:12px 16px;border:1px solid var(--finish-line,var(--line));border-radius:var(--r);background:var(--tint-blue);color:var(--navy)}
.faq-search-empty p{margin:0;font-size:14px;line-height:1.6}
.faq-search-empty p+p{margin-top:6px}
.faq-search-empty a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-underline-offset:3px}
/* The same state picker opens beside either booking action and keeps its selection visible. */
.state-change-trigger{display:inline-flex;align-items:center;gap:9px;min-height:44px;max-width:100%;line-height:1.4;touch-action:manipulation}
.state-change-trigger::after{content:"";flex:0 0 6px;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
.state-change-trigger[aria-expanded="true"]::after{transform:rotate(225deg) translate(-1px,-1px)}
.state-change-trigger:focus-visible,.state-change-done:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:4px}
.state-change-panel{box-sizing:border-box;width:100%;max-width:640px;min-width:0;margin-top:10px;padding:14px 16px;border:1px solid var(--finish-line,var(--line));border-radius:var(--r);background:var(--white);box-shadow:var(--finish-shadow);scroll-margin-block:12px}
.booking-overview .state-change-panel{max-width:none;margin-top:2px;box-shadow:none}
.state-change-panel .state-picker-choices legend{font-size:14px;line-height:1.5;font-weight:600;color:var(--navy-deep)}
.state-change-panel .state-picker-chips{gap:8px}
.state-change-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 14px;margin-top:10px}
.state-change-actions .state-change-status{flex:1 1 14rem;min-width:0;margin:0;font-size:13px;line-height:1.5;color:var(--navy);overflow-wrap:anywhere}
.state-change-done{flex:0 0 auto;min-width:76px;min-height:44px;padding:6px 16px;border:1px solid var(--navy);border-radius:var(--r-pill);background:var(--navy);color:var(--white);text-align:center;text-decoration:none;touch-action:manipulation}
@media(max-width:760px){
 .review-control{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--navy);cursor:pointer;box-shadow:0 1px 3px rgba(14,53,102,.035)}
 .review-control svg{width:17px;height:17px}
 .review-control--previous svg{transform:rotate(180deg)}
 .review-control:disabled{opacity:.35;cursor:default}
 .review-control:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
}
@media(max-width:680px){
 .journey-summary,.faq-context{align-items:flex-start;padding-inline:14px}
 .journey-summary .journey-summary-text,.faq-context .faq-context-title{flex-basis:100%}
 .journey-summary-actions,.faq-context-actions{width:100%;column-gap:16px}
 body:not(.is-book){padding-bottom:max(110px,var(--journey-bottom-offset,100px))}
}
@media(hover:hover) and (pointer:fine){
 .review-control:not(:disabled):hover{border-color:var(--navy);background:var(--tint-blue)}
 .journey-summary-actions :is(a,button):not(.btn):not(:disabled):hover,
 .faq-context-actions :is(a,button):not(.btn):not(:disabled):hover{color:var(--navy-deep);text-decoration-thickness:2px}
}
@media(prefers-reduced-motion:reduce){
 .review-carousel .car-track{scroll-behavior:auto}
 .state-change-trigger::after{transition:none}
}


/* Source: service-filters.css */
/* Compact wrapping controls in the same scale and palette as the state pills. */
.is-home #services .service-filters{min-width:0;margin:0 0 20px}
.is-home #services .service-filter-choices{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}
.is-home #services .service-filter{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;max-width:100%;padding:8px 14px;border:1px solid var(--finish-line,var(--line));border-radius:var(--r-pill);background:var(--white);color:var(--ink);font-family:var(--body);font-size:14px;font-weight:600;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.is-home #services .service-filter[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white);box-shadow:0 3px 10px rgba(14,53,102,.11)}
.is-home #services .service-filter:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.is-home #services .service-filter-status{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.5}
.is-home #services .grid3>.card[hidden]{display:none!important}
@media(hover:hover) and (pointer:fine){.is-home #services .service-filter:hover{border-color:var(--navy)}}

