/* Compact masthead and route-specific search docking. */
:root{--hp-header-height:96px}
html{scroll-padding-top:calc(var(--hp-header-height) + 12px)}
.site-header .header-inner{width:min(1440px,calc(100% - 48px))}
@media(min-width:821px){
 .site-header .header-inner{min-height:94px;padding-top:3px;padding-bottom:0;gap:0}
 .site-header .main-nav{min-height:34px;margin-top:0;gap:14px;font-size:13px;font-weight:650}
 .site-header .main-nav a{padding-top:8px;padding-bottom:8px}
 .site-header .main-nav .nav-advertise{padding:7px 14px}
 .site-header .brand-type{font-size:28px}
 .hero{min-height:520px}
 .hero-inner{padding-top:42px;padding-bottom:84px}
 .hero h1{font-size:clamp(52px,6.3vw,88px)}
 .hero p{font-size:18px;line-height:1.7;margin-top:22px;margin-bottom:25px}
}
.hero h1 em{font-style:italic;font-family:Georgia,"Times New Roman",serif;font-weight:600;letter-spacing:-.035em;color:#f2d4ac}
.hero .eyebrow{margin-bottom:20px}
.hp-sticky-slot{position:relative;min-width:0;display:flow-root}
.hp-docked{position:fixed!important;top:calc(var(--hp-header-height) + 6px)!important;z-index:90!important;box-sizing:border-box!important;margin-top:0!important;margin-bottom:0!important;background:#fffffff7!important;backdrop-filter:blur(12px);box-shadow:0 9px 28px #102d5326!important}
.hp-docked:focus-within{outline:2px solid #9cbfe9;outline-offset:2px}
.company-filter-row{padding:10px 12px;border-radius:10px;background:#f6f8fb}
.company-filter-row.hp-docked{border:1px solid #d3e0f1}
.catalog-sidebar{top:calc(var(--hp-header-height) + 14px)}
@media(max-width:820px){
 :root{--hp-header-height:78px}
 .site-header .header-inner{width:calc(100% - 32px);min-height:74px;padding-block:0}
 .hero-inner{padding-top:40px;padding-bottom:78px}
 .hero .eyebrow{font-size:10px}
 .hero p{font-size:16px;line-height:1.75}
 .hp-docked{top:calc(var(--hp-header-height) + 4px)!important}
}
@media(max-width:540px){
 .site-header .header-inner{width:calc(100% - 24px);min-height:70px}
 .site-header .brand-type{font-size:19px}
 .hero-inner{padding-top:32px;padding-bottom:74px}
 .hero h1{font-size:clamp(42px,10.8vw,58px)}
 .hero .eyebrow{font-size:9px;line-height:1.7;margin-bottom:18px}
 .hero p{font-size:15px;line-height:1.75}
 .company-filter-row{gap:7px;padding:8px}
 .company-filter-row .filter-button{font-size:10px;padding:8px}
 .hp-docked.search-box{padding:12px;gap:8px;border-radius:10px}
}
/* Centered navigation inspired by the supplied Massachusetts reference. */
.site-header{background:#10294b;color:#fff;border-top:8px solid #edf3fa;border-bottom:1px solid #ad3346}
.site-header .brand-type{color:#fff}
.site-header .main-nav{justify-content:center;column-gap:20px}
.site-header .main-nav a{color:#e9f0fc;white-space:nowrap}
.site-header .main-nav a.active,.site-header .main-nav a:hover{color:#fff;border-bottom-color:#e75968}
.site-header .main-nav .nav-advertise{background:#1e4e85;border-color:#52749c;color:#fff}
.site-header .header-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap}
.site-header .header-boston-badge{position:static;color:#e6efff;background:#ffffff0a;border-color:#ffffff26}
.site-header select.language-toggle{color:#fff;background:#18375c;border:1px solid #ffffff26;border-radius:6px;padding:7px;max-width:100px}
.site-header .language-toggle option{color:#10294b;background:#fff}
@media(min-width:821px){
 .site-header .header-inner{width:min(1240px,calc(100% - 48px));padding-top:6px;min-height:92px}
 .site-header .main-nav{flex-basis:100%;width:auto;margin-inline:auto;font-size:12px;gap:18px;min-height:34px}
 .site-header .brand-type{font-size:25px}
}
@media(min-width:1560px){
 .site-header .header-inner{width:min(1640px,calc(100% - 72px));flex-wrap:nowrap;gap:22px;min-height:82px;padding-block:8px}
 .site-header .main-nav{order:0;flex:1;gap:16px;margin:0;min-height:0}
 .site-header .header-actions{margin:0}
}
@media(max-width:820px){
 .site-header .main-nav{background:#10294b;top:100%;max-height:calc(100dvh - 90px);align-items:stretch}
 .site-header .main-nav a{white-space:normal}
 .site-header .header-inner{position:relative}
 .site-header .header-boston-badge{padding:5px;flex-shrink:0}
}
@media(max-width:540px){
 .site-header .header-actions{gap:5px}
 .site-header .brand-type{font-size:17px}
 .site-header .brand{gap:4px}
 .site-header select.language-toggle{max-width:72px;font-size:10px;padding:6px 3px}
 .site-header .menu-toggle{width:32px;height:34px}
}
.company-google-section{padding:70px 0;background:linear-gradient(120deg,#edf4fc,#fff 65%);border-block:1px solid #dbe5f2;scroll-margin-top:calc(var(--hp-header-height) + 15px)}
.google-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.google-intro h2{color:#10294b;font-size:clamp(30px,3.4vw,44px);line-height:1.15;margin:15px 0 20px;letter-spacing:-.035em}
.google-intro h2 em{font-family:Georgia,serif;font-weight:400}
.google-intro p,.google-profile-card p{color:#51667d;font-size:14px;line-height:1.8}
.google-checks{display:grid;gap:12px;margin-top:24px;font-size:12px;color:#294e78}
.google-checks span:before{content:'✓';color:#207a62;margin-right:10px;font-weight:800}
.google-profile-card{background:#fff;border:1px solid #d5e2f2;border-radius:14px;padding:30px;box-shadow:-8px -8px 26px #1d63c20b,8px 10px 26px #c2384b0c}
.google-card-heading{display:flex;align-items:center;gap:14px;font-weight:700;font-size:14px;color:#16345b}
.google-card-heading small{display:block;font-size:10px;font-weight:400;color:#64768a;margin-top:5px;line-height:1.5}
.google-letter{font:700 37px Arial,sans-serif;color:#4285f4}
.google-profile-card h3{font-size:20px;margin:25px 0 12px;color:#10294b}
.google-profile-card .button{font-size:12px;padding:13px 18px;margin-top:10px}
.google-source,.google-note{display:block;font-size:11px;color:#526c88;margin-top:15px;line-height:1.7}
.google-source{text-decoration:underline;text-underline-offset:3px}
.google-disclosure{font-size:10px;color:#6b7e91;border-top:1px solid #e4ebf3;margin-top:24px;padding-top:16px;line-height:1.7}
.google-pending{display:inline-block;padding:10px 14px;background:#edf3fa;border-radius:6px;font-size:11px;color:#476482}
@media(max-width:820px){.google-layout{grid-template-columns:1fr;gap:28px}.company-google-section{padding:45px 0}.google-profile-card{padding:24px}}
@media(min-width:821px){.site-header .main-nav .nav-advertise{margin-left:0;margin-right:0}.site-header .main-nav{justify-content:center}}
