/* Shared brand refinements. Existing product and resource layouts are retained. */
html { scroll-padding-top: 100px; }
body { font-size: 1rem; }
.nav { gap: 23px; font-size: .9rem; }
.header-inner { min-height: 84px; height: auto; padding-block: 16px; }
.btn { border-radius: 6px; box-shadow: none; font-weight: 650; }
.btn-small { font-size: .875rem; }
.eyebrow { font-size: .875rem; letter-spacing: .1em; }
.hero { min-height: 650px; background: #073e39; color: white; }
.hero::before, .hero-visual::before { display: none; }
.hero-grid { grid-template-columns: 1.1fr .9fr; padding: 66px 0 76px; gap: 70px; }
.hero-copy h1 { color: white; font-size: clamp(3.2rem, 5.6vw, 5.5rem); line-height: 1.08; font-weight: 600; letter-spacing: -.045em; }
.hero-copy h1 span { color: #8be0c2; }
.hero .eyebrow { color: #a3dfcb; font-size: .875rem; }
.hero-copy .lead { color: #d0e4df; max-width: 560px; font-size: 1.125rem; line-height: 1.8; }
.hero .btn-primary { background: #a0e7c4; color: #073e39; }
.hero .btn-primary:hover { background: #c3f3dc; }
.hero .btn-secondary { color: white; background: transparent; border-color: #8cb6a9; }
.hero-proof { color: #bdd9cf; font-size: .875rem; gap: 12px 22px; }
.hero-proof span::before { display: none; }
.hero-proof span + span { border-left: 1px solid #517f70; padding-left: 22px; }
.hero-visual { background: white; border-radius: 12px; padding: 14px 24px 0; min-width: 0; }
.hero-visual img { max-height: 390px; border-radius: 0; object-fit: contain; }
.floating-card { position: relative; right: auto; bottom: auto; width: 100%; padding: 18px 0 22px; border: 0; border-top: 1px solid #dbe8e2; box-shadow: none; border-radius: 0; }
.floating-card span { font-size: .875rem; }
.floating-card .text-link { margin-top: 8px; font-size: .875rem; }
.signal-bar { margin: 0; background: #f0f5f2; }
.signal-grid { background: transparent; color: #123d33; border-radius: 0; box-shadow: none; }
.signal-item { padding: 26px 24px; border-color: #d4e2dc; }
.signal-item span { color: #566d65; font-size: .875rem; }
.section { padding: 80px 0; }
.section h2 { font-size: clamp(2rem, 3.5vw, 3.15rem); font-weight: 600; line-height: 1.15; }
.section-head .lead { font-size: 1.06rem; }
.brand-home .card-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.solution-card { padding: 26px; min-height: 0; box-shadow: none; }
.solution-card::after { display: none; }
.solution-icon { width: auto; height: auto; justify-content: start; color: #0b7d52; background: transparent; border-radius: 0; font-size: .875rem; }
.solution-card h3 { margin-top: 20px; line-height: 1.3; }
.solution-card p { font-size: 1rem; }
.product-card, .proof-card, .contact-card, .form-card { box-shadow: none; }
.product-media { background: #fff; }
.product-tag, .product-model, .specs, .field label, .contact-card span, .form-note, .breadcrumb { font-size: .875rem; }
.product-body p { font-size: 1rem; }
.field, .form-grid, .contact-layout > *, .split > *, .footer-grid > * { min-width: 0; }
.contact-card a, .footer-links a { overflow-wrap: anywhere; }
.field input, .field select, .field textarea { font-size: 1rem; border-radius: 6px; }
.form-card .field.full:has([data-build-enquiry]) { display: flex; flex-wrap: wrap; gap: 12px; }
.form-card .field.full > .form-note, .form-card .field.full > .form-status { width: 100%; }
.request-preview textarea { font-size: .875rem; min-height: 320px; }
.page-hero { background: #f0f6f3; padding: 64px 0; }
.page-hero h1 { font-weight: 600; }
.dark-section { background: #073e39; }
.process-step { border-radius: 8px; }
.cta-panel { border-radius: 12px; background: #073e39; box-shadow: none; }
.site-footer { background: #092c29; }
.footer-bottom { color: #adc7bf; font-size: .875rem; }
@media (max-width: 1100px) {
  .hero-grid { gap: 36px; }
  .brand-home .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1020px) {
  .hero-grid { grid-template-columns: 1fr 1fr; }
  .hero-copy h1 { font-size: clamp(2.75rem, 5.8vw, 4rem); }
  .hero-visual { max-width: 500px; width: 100%; }
  .nav { top: 84px; }
  .header-actions .btn { display: inline-flex; }
  .menu-toggle { min-width: 44px; min-height: 44px; }
}
@media (max-width: 700px) {
  .container { width: calc(100% - 36px); }
  .header-inner { min-height: 76px; padding-block: 12px; gap: 10px; }
  .brand img { width: 98px; }
  .nav { top: 76px; }
  .header-actions .btn { padding: 0 10px; font-size: .875rem; }
  .hero-grid { grid-template-columns: 1fr; padding: 44px 0; gap: 32px; }
  .hero-copy h1 { font-size: clamp(3rem, 10.2vw, 4.5rem); }
  .hero-proof { margin-top: 28px; }
  .hero-proof span + span { padding-left: 0; border: 0; }
  .hero-visual { padding-inline: 20px; }
  .hero-visual img { max-height: 310px; }
  .floating-card { margin: 0; }
  .signal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .signal-item { padding: 22px 14px; border-bottom: 1px solid #d4e2dc; }
  .section { padding: 54px 0; }
  .brand-home .card-grid { grid-template-columns: 1fr; }
  .form-card { padding: 22px 18px; }
  .form-card .field.full > button { width: 100%; }
  .page-hero { padding: 46px 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
