@import url('./tokens.css');

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font-family); color: var(--color-text-main); background: var(--color-bg-primary); font-size: var(--text-base); line-height: 1.6; }
img { max-width: 100%; height: auto; }
a { color: var(--color-midnight-navy); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--color-muted-teal); }
h1,h2,h3,h4 { color: var(--color-midnight-navy); line-height: 1.15; margin: 0 0 var(--space-4); }
h1 { font-size: clamp(2.25rem, 5vw, var(--text-5xl)); } h2 { font-size: var(--text-3xl); } h3 { font-size: var(--text-xl); } p { margin: 0 0 var(--space-4); }
.container { width: min(calc(100% - 2rem), var(--max-width-site)); margin-inline: auto; }
.container-narrow { max-width: var(--max-width-narrow); }.text-center { text-align: center; }.section { padding: var(--space-20) 0; }.section-sm { padding: var(--space-6) 0; }.section-white { background: var(--color-white); }.lead { color: var(--color-text-muted); font-size: var(--text-lg); }
.utility-strip { background: var(--color-midnight-navy); color: var(--color-text-light); font-size: var(--text-sm); }.utility-inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.site-header { position: sticky; top: 0; z-index: 10; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--color-border); }.header-logo { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-midnight-navy); text-decoration: none; font-weight: 700; white-space: nowrap; }.header-logo img { width: 44px; height: 44px; }.brand-name { font-size: var(--text-lg); }.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); }.header-logo img { display: block; max-height: 44px; }.nav-links { list-style: none; display: flex; gap: var(--space-5); padding: 0; margin: 0; }.nav-link { color: var(--color-text-main); text-decoration: none; font-weight: 600; }.nav-link.active { color: var(--color-muted-teal); }.header-actions { display: flex; align-items: center; gap: var(--space-3); }
.btn { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: var(--radius-sm); padding: .72rem 1rem; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; transition: var(--transition-fast); }.btn-primary { color: white; background: var(--color-midnight-navy); }.btn-primary:hover { background: var(--color-muted-teal); color: white; }.btn-outline { border-color: var(--color-midnight-navy); }.btn-sm { font-size: var(--text-sm); padding: .55rem .8rem; }.mobile-nav-toggle { display: none; background: none; border: 0; color: var(--color-midnight-navy); }
.hero { padding: var(--space-20) 0; background: linear-gradient(135deg, var(--color-cool-mist), #fff); }.hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: var(--space-16); }.hero-title { margin-bottom: var(--space-5); }.hero-subtitle { color: var(--color-text-muted); font-size: var(--text-xl); }.hero-badge { display: inline-flex; align-items: center; gap: var(--space-2); padding: .35rem .7rem; margin-bottom: var(--space-4); border-radius: var(--radius-full); background: var(--color-bg-accent-soft); color: var(--color-midnight-navy); font-size: var(--text-sm); font-weight: 700; }.address-quick-form { display: flex; gap: var(--space-2); margin-top: var(--space-6); }.address-quick-form input, .form-input, .form-select { width: 100%; padding: .75rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); font: inherit; }.form-group { margin-bottom: var(--space-4); }.form-label { display:block; font-weight: 700; margin-bottom: var(--space-2); }.form-error { color: var(--color-error); font-size: var(--text-sm); }
.glass-panel,.card { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }.card { padding: var(--space-6); display: flex; flex-direction: column; }.card-title { margin-bottom: var(--space-3); }.card-text { color: var(--color-text-muted); }.card-link { margin-top: auto; font-weight: 700; }.grid-3,.grid-4 { display:grid; gap: var(--space-5); }.grid-3 { grid-template-columns:repeat(3,1fr); }.grid-4 { grid-template-columns:repeat(4,1fr); }.trust-bar { background: var(--color-midnight-navy); color: var(--color-text-light); padding: var(--space-6) 0; }.trust-flex { display:flex; justify-content:space-between; gap:var(--space-4); }.trust-item { display:flex; align-items:center; gap:var(--space-2); font-weight:600; }.trust-icon { width:24px; height:24px; flex:none; }.site-footer { background: var(--color-bg-dark-surface); color: var(--color-text-light); padding: var(--space-16) 0 var(--space-8); }.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:var(--space-8); }.footer-title { color:var(--color-white); font-size:var(--text-base); }.footer-links { list-style:none; padding:0; margin:0; }.footer-links li { margin-bottom:var(--space-2); }.footer-links a { color:var(--color-text-light-muted); }.comparison-table-wrapper { overflow-x:auto; }.comparison-table { width:100%; border-collapse:collapse; }.comparison-table th,.comparison-table td { padding:var(--space-3); border:1px solid var(--color-border); text-align:left; vertical-align:top; }.comparison-table th { background:var(--color-cool-mist); }.accordion-item { border-bottom:1px solid var(--color-border); }.accordion-header { width:100%; display:flex; justify-content:space-between; gap:var(--space-4); padding:var(--space-4) 0; background:none; border:0; font:inherit; font-weight:700; text-align:left; cursor:pointer; }.accordion-body { display:none; padding-bottom:var(--space-4); }.accordion-item.open .accordion-body { display:block; }.accordion-icon { transition:var(--transition-fast); }.accordion-item.open .accordion-icon { transform:rotate(180deg); }.skip-link { position:absolute; left:-10000px; }.skip-link:focus { left:1rem; top:1rem; z-index:30; background:#fff; padding:1rem; }
@media (max-width: 900px) { .hero-grid,.footer-grid { grid-template-columns:1fr; }.grid-3 { grid-template-columns:repeat(2,1fr); }.grid-4 { grid-template-columns:repeat(2,1fr); }.nav-links { display:none; }.nav-links.open { display:flex; position:absolute; top:76px; left:0; right:0; padding:var(--space-5); background:#fff; flex-direction:column; border-bottom:1px solid var(--color-border); }.mobile-nav-toggle { display:block; }.trust-flex { flex-wrap:wrap; }.utility-inner { padding:var(--space-2) 0; } }
@media (max-width: 560px) { .section,.hero { padding:var(--space-12) 0; }.grid-3,.grid-4 { grid-template-columns:1fr; }.address-quick-form { flex-direction:column; }.utility-inner { justify-content:center; text-align:center; }.utility-inner span:last-child,.header-actions .btn { display:none; } }
