:root {
  --ink: #193442;
  --paper: #f8faf9;
  --lime: #d9e9ec;
  --mint: #e7f0f0;
  --blue: #e8f0f4;
  --line: rgba(25, 52, 66, .14);
  --muted: #58707b;
}

body { background: var(--paper); }
.site-header { background: rgba(255,255,255,.96); }
.logo-mark { background: #2f6578; }
.logo-mark i { background: #fff; }
.menu-button { background: #2f6578; }

.hero { min-height: 710px; background: #f2f6f5; }
.hero>img { object-position: center center; }
.hero-overlay {
  background: linear-gradient(90deg, rgba(248,250,249,.98) 0%, rgba(248,250,249,.96) 24%, rgba(248,250,249,.81) 43%, rgba(248,250,249,.25) 64%, transparent 79%);
}
.hero-content { color: var(--ink); padding: 76px 0; }
.eyebrow { color: #365e6b; }
.eyebrow span { background: #5792a3; }
h1 { font-size: clamp(48px,5.1vw,70px); line-height: 1.06; max-width: 650px; }
h1 em { color: #427b8d; }
.hero-lead { max-width: 560px; color: #3d5761; }
.button-accent { background: #2f6578; color: #fff; }
.button-accent:hover { background: #234d5d; }
.button-glass { background: rgba(255,255,255,.76); color: var(--ink); border-color: #a5b8c0; }
.button-glass:hover { background: #fff; }
.button-dark { background: #2f6578; }
.hero-proof { border-top-color: #bdcdd0; max-width: 650px; gap: 18px; }
.hero-proof span { color: #365e6b; font-weight: 700; font-size: 12px; }
.ticker { background: #e8f0f2; color: #406471; border-block: 1px solid #d6e3e7; padding: 13px 0; }
.ticker>div { font-family: Manrope,Arial,sans-serif; font-size: 11px; font-weight: 800; letter-spacing: .09em; }
.ticker i { color: #98b8c2; }

.selection { background: #f8faf9; }
.selector { box-shadow: 0 18px 60px rgba(38,69,79,.07); }
.choice-row button.active { background: #2f6578; }
.selector-result { background: #e3eff0; }

.catalog { background: #f1f6f6; }
.catalog-heading { margin-bottom: 34px; }
.featured-brands { max-width: 1440px; margin: auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.featured-brands button { position: relative; min-height: 158px; padding: 26px; border: 1px solid #dbe6e8; border-radius: 22px; background: #fff; color: var(--ink); text-align: left; cursor: pointer; display: flex; flex-direction: column; align-items: flex-start; box-shadow: 0 8px 28px rgba(31,66,78,.035); transition: border-color .2s, transform .2s; }
.featured-brands button:hover { border-color: #7da5b1; transform: translateY(-3px); }
.featured-brands b { font-family: Unbounded,sans-serif; font-size: 23px; letter-spacing: -.03em; }
.featured-brands span { margin-top: 16px; color: var(--muted); font-size: 13px; }
.featured-brands i { position: absolute; right: 25px; top: 24px; color: #608b99; font-style: normal; font-size: 23px; }
.full-catalog { max-width: 1440px; margin: 28px auto 0; border: 1px solid #cadce0; border-radius: 20px; background: #fff; padding: 0; scroll-margin-top: 105px; }
.full-catalog>summary { list-style: none; display: block; position: relative; padding: 22px 58px 22px 28px; color: #2f6578; font-family: Manrope,Arial,sans-serif; font-size: 16px; font-weight: 800; }
.full-catalog>summary::-webkit-details-marker { display: none; }
.full-catalog>summary:after { color: #2f6578; position: absolute; right: 28px; top: 16px; }
.full-catalog>summary span { font-weight: 500; }
.catalog-inner { padding: 4px 22px 28px; }
.catalog-disclaimer { margin: 0 6px 20px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.catalog-tools { background: #e7eff1; }
.filter-clear { color: #2f6578; border-color: #aac2ca; }
.product-card { border: 1px solid #e1e9ea; box-shadow: 0 4px 18px rgba(25,52,66,.04); }
.product-visual { height: 94px; background: linear-gradient(145deg,#f2f7f7,#dce9ed); }
.product-visual span { color: #6b9aaa; font-size: 27px; }
.product-body { padding: 19px; }
.product-body h3 { font-family: Manrope,Arial,sans-serif; font-size: 17px; letter-spacing: 0; }

.services { background: #fff; color: var(--ink); }
.section-heading.light>p { color: var(--muted); }
.section-heading.light .kicker { color: #547d8b; }
.service-grid article { border-color: #d9e4e7; background: #f7fafb; }
.service-grid article>span { color: #608b99; }
.service-grid p,.service-grid li { color: #536c76; }
.service-feature { background: #e5f0f2!important; }
.service-feature>span,.service-feature p,.service-feature li { color: var(--ink); }
.areas { background: #e6eef2; }
.map-core { background: #c6dce5; }
.final-cta { background: #eff4f5; }
.contact-placeholder { background: #dfecef; color: var(--ink); }
.contact-placeholder span,.contact-placeholder small { color: #557480; }
footer { background: #234555; }

@media(max-width:1050px) {
  .site-header nav { background: #fff; }
  .hero-overlay { background: linear-gradient(90deg,rgba(248,250,249,.98),rgba(248,250,249,.78) 48%,rgba(248,250,249,.08)); }
}
@media(max-width:760px) {
  .hero { min-height: 680px; align-items: center; }
  .hero>img { object-position: 66% center; }
  .hero-overlay { background: linear-gradient(90deg,rgba(248,250,249,.98),rgba(248,250,249,.91) 53%,rgba(248,250,249,.45)); }
  .hero-content { padding: 54px 0; }
  .hero-proof { display: none; }
  .featured-brands { grid-template-columns: 1fr 1fr; }
}
@media(max-width:480px) {
  .hero { min-height: 0; display: flex; flex-direction: column; background: #fff; }
  .hero>img { position: relative; order: 2; width: calc(100% - 32px); height: 250px; margin: 0 16px 20px; border-radius: 18px; object-fit: cover; object-position: right center; opacity: 1; }
  .hero-overlay { display: none; }
  .hero-content { order: 1; width: calc(100% - 32px); padding: 42px 0 26px; }
  h1 { font-size: 40px; }
  .featured-brands { grid-template-columns: 1fr; }
  .featured-brands button { min-height: 112px; padding: 20px; }
  .featured-brands b { font-size: 19px; }
  .featured-brands span { margin-top: 8px; }
  .catalog-inner { padding: 4px 12px 20px; }
  .full-catalog>summary { padding: 20px; }
}
