/* Reference-led public design: deep navy, white surfaces, blue actions. */
:root {
    --sf-navy: #0b3042;
    --sf-text: #123549;
    --sf-muted: #567183;
    --sf-line: #dce5ed;
    --sf-canvas: #f3f6fa;
    --sf-surface: #f3f6fa;
    --sf-accent: #2563eb;
    --sf-accent-hover: #1d4ed8;
    --sf-accent-contrast: #fff;
    --sf-accent-soft: #eaf2ff;
    --sf-header-height: 80px;
}
.supplied-site { color: var(--sf-text); background: var(--sf-canvas); }
.supplied-site .sf-container { max-width: 1280px; }
.sf-header.home-header,
.sf-header.home-header.sf-scrolled,
.sf-header { margin-bottom: 0; background: #fffffff2; color: var(--sf-navy); border-bottom: 1px solid var(--sf-line); box-shadow: 0 4px 20px #0b304205; }
.sf-header-inner { max-width: 1280px; padding-inline: 24px; }
.sf-brand { font-size: 22px; letter-spacing: -.8px; }
.sf-brand-mark { background: var(--sf-navy); min-width: 45px; height: 45px; border-radius: 15px; letter-spacing: -1px; }
.sf-brand-mark > span { top: -3px; right: -4px; width: 12px; height: 12px; border: 2px solid white; border-radius: 50%; background: var(--sf-accent); }
.sf-header.home-header .sf-brand > span:last-child { color: var(--sf-navy); }
.sf-header.home-header .sf-brand > .sf-brand-mark { background: var(--sf-navy); color: #fff; }
.sf-header.home-header nav a { color: var(--sf-navy); }
.sf-header.home-header nav a[aria-current], .sf-header.home-header nav > .sf-mobile-book { color: #fff; }
.sf-header.home-header .sf-menu-toggle { background: transparent; color: var(--sf-navy); }
.sf-brand-caption { color: var(--sf-muted); letter-spacing: 1.3px; }
.sf-desktop-nav > a, .sf-nav-dropdown > summary { padding: 11px 14px; font-size: 14px; border-radius: 99px; }
.home-header .sf-desktop-nav > a:hover,
.home-header .sf-nav-dropdown > summary:hover,
.sf-desktop-nav > a:hover, .sf-nav-dropdown > summary:hover { color: var(--sf-navy); background: #edf2f7; }
.sf-desktop-nav > a[aria-current] { color: white; background: var(--sf-navy); }
.sf-header-book, .sf-header-guide { min-height: 44px; border-radius: 99px; }
.sf-header-book { background: var(--sf-accent); color: var(--sf-accent-contrast); padding-inline: 20px; }
.sf-header-book:hover { background: var(--sf-accent-hover); }
.home-header .sf-header-guide, .sf-header-guide { border-color: var(--sf-line); color: var(--sf-navy); }
.sf-header-guide > span { color: var(--sf-accent); }
.sf-header .sf-account:hover { color: var(--sf-accent); }
.sf-next-hero { background: radial-gradient(ellipse at 85% 10%, #1d4b65 0%, transparent 55%), linear-gradient(140deg, #0c3245, #061e2c); }
.sf-hero-grid { padding-top: 68px; padding-bottom: 66px; }
.sf-hero-copy h1 > span { color: #9dc6ff; }
.sf-hero-copy > p { color: #bbcfde; }
.sf-hero-eyebrow { color: #b2cddd; }
.sf-hero-card { transform: none; animation: none; }
.sf-hero-actions .sf-button { background: var(--sf-accent); border-color: var(--sf-accent); }
.sf-hero-actions .sf-button, .sf-hero-guide, .supplied-site .sf-button, .sf-outline { border-radius: 99px; }
.supplied-site .sf-button { background: var(--sf-accent); border-color: var(--sf-accent); color: var(--sf-accent-contrast); }
.supplied-site .sf-button:hover { background: var(--sf-accent-hover); border-color: var(--sf-accent-hover); }
.supplied-site .sf-button:disabled { cursor: not-allowed; opacity: .45; transform: none; }
.sf-search-icon, .sf-partner-avatar, .sf-dark { background: var(--sf-navy); }
.supplied-site .sf-finder { background: linear-gradient(130deg, #123c51, #061e2b); }
.sf-browse-bar { background: #fff; border-bottom: 1px solid var(--sf-line); }
.sf-browse-tabs { display: flex; align-items: center; gap: 8px; overflow: auto; scrollbar-width: none; padding-block: 13px; }
.sf-browse-tabs a { display: inline-flex; flex-shrink: 0; align-items: center; gap: 8px; min-height: 42px; border-radius: 99px; padding: 10px 18px; background: var(--sf-canvas); color: var(--sf-muted); font-size: 14px; font-weight: 650; transition: background .2s, color .2s; }
.sf-browse-tabs a:hover { background: var(--sf-accent-soft); color: var(--sf-accent); }
.sf-browse-tabs a[aria-current] { background: var(--sf-navy); color: #fff; }
.sf-browse-tabs svg { width: 17px; height: 17px; }
.supplied-site :is(section[id], form[id]) { scroll-margin-top: calc(var(--sf-header-height) + 24px); }
.sf-skip { z-index: 1000; }
.sf-guided-page .fg-launcher { width: 64px; min-height: 64px; padding: 5px; border-radius: 50%; justify-content: center; }
.sf-guided-page .fg-launcher-avatar { width: 52px; height: 52px; border-radius: 50%; }
.sf-guided-page .fg-launcher-copy, .sf-guided-page .fg-launcher-star { display: none; }
.sf-guided-page .tf-controls { padding-inline-end: 75px; flex-wrap: wrap; }
@media (min-width: 1101px) and (max-width: 1220px) {
    .sf-desktop-nav > a, .sf-nav-dropdown > summary { padding-inline: 10px; font-size: 13px; }
    .sf-header-actions { gap: 6px; }
}
@media (max-width: 1100px) {
    :root { --sf-header-height: 72px; }
    .sf-header.home-header { margin-bottom: 0; }
    .sf-hero-grid { padding-top: 48px; gap: 35px; }
}
@media (max-width: 760px) {
    .sf-header-inner { padding-inline: 20px; }
    .sf-brand { font-size: 20px; }
    .sf-brand-mark { min-width: 40px; height: 40px; border-radius: 13px; }
    .sf-hero-grid { padding-top: 38px; padding-bottom: 40px; gap: 30px; }
    .sf-hero-copy h1 { font-size: clamp(36px, 9vw, 48px); }
    .sf-browse-tabs { padding-block: 10px; gap: 7px; }
    .sf-browse-tabs a { min-height: 40px; padding: 9px 14px; font-size: 12px; }
    .sf-hero-card { border-radius: 23px; }
}
@media (prefers-reduced-motion: reduce) {
    .sf-browse-tabs a { transition: none; }
}
