/* Fresh coastal website palette, aligned with the delivery app. */
:root {
  --green: #1759bd; /* Compatibility token used by existing links and labels. */
  --ink: #102e46;
  --blue: #1460ff;
  --silver: #edf5ff;
  --muted: #536c80;
  --line: #d6e4f1;
  --lime: #d4ff78;
}

body { background: #fff; }
.site-header { border-bottom-color: #dce8f5; box-shadow: 0 3px 18px #123b6410; }
.header-call { background: var(--blue); color: #fff; padding: 13px 16px; border-radius: 11px; }
.header-call:hover { background: #0e4dd4; }
.menu-toggle span { background: var(--ink); }
.mobile-nav { background: #f4f9ff; }
.mobile-nav a { color: #174e92; }
.hero { background: #f2f8ff; }
.hero .eyebrow { color: #1759bd; }
.hero-heading { padding-top: 65px; padding-bottom: 55px; }
.mini-rule { background: var(--blue); }
.hero-intro > p:first-child { color: #173e5f; }
.button { border-radius: 12px; }
.primary { background: var(--blue); box-shadow: 0 6px 18px #1460ff26; }
.primary:hover { background: #0b4bd2; box-shadow: 0 9px 24px #1460ff30; }
.hero-actions .button { min-height: 56px; }
.hero-photo figcaption { background: linear-gradient(transparent, #071e36bd); }
.service-strip {
  width: 100%;
  padding: 22px max(20px, calc((100vw - 1280px) / 2));
  background: var(--lime);
  border-bottom: 0;
  justify-content: center;
  gap: clamp(18px, 4vw, 64px);
}
.service-strip a { color: #15384a; }
.service-strip a:hover { color: #114fba; }
.section-heading .eyebrow { color: #1759bd; }
.service-item { border-top-color: #d6e6f5; }
.service-item > .service-icon { width: 55px; height: 55px; padding: 12px; border-radius: 15px; background: #e8f2ff; color: #1460ff; }
.service-item:nth-child(even) > .service-icon { background: #eff9d8; color: #49620d; }
.text-link { color: #1256cc; }
.text-link:hover { color: #093d9d; }
.personal-service { background: #edf7ff; border: 1px solid #cce5f8; border-radius: 17px; }
.process-section { background: #f2f8ff; }
.process-grid { gap: 24px; }
.process-grid li { background: #fff; border: 1px solid #dce8f6; border-radius: 18px; padding: 28px; box-shadow: 0 4px 18px #123b6405; }
.step-number { color: #1460ff; border-bottom-color: #d8e6f6; }
.commercial-section { background: linear-gradient(120deg, #1460ff 0%, #1655db 62%, #1049c4 100%); }
.commercial-heading .eyebrow { color: #eaffc2; }
.commercial-heading h2 span { color: #d4ff78; }
.commercial-heading > p:not(.eyebrow), .commercial-details li p { color: #f4f8ff; }
.light { background: var(--lime); color: #102e46; box-shadow: 0 6px 18px #092c7a26; }
.light:hover { background: #e4ffad; }
.commercial-details li { border-top-color: #ffffff40; }
.commercial-details li > .icon { color: #d4ff78; }
.contact-section .eyebrow, .contact-action .contact-tagline { color: #1759bd; }
.contact-phone { color: #1460ff; border-bottom-color: #b4d1fa; }
.site-footer { background: #edf5ff; border-top: 1px solid #d8e6f6; }
.footer-phone { color: #1759bd; }
.footer-bottom { border-top-color: #cddff2; }
.mobile-call { border-top-color: #d3e3f5; box-shadow: 0 -5px 22px #123b640a; }
.mobile-call a { background: var(--lime); color: #102e46; border-radius: 11px; }
.gm-mark { border-radius: 0; }

@media (max-width: 1100px) {
  .header-call { padding: 12px; }
  .process-grid { gap: 18px; }
  .process-grid li { padding: 23px; }
}
@media (max-width: 800px) {
  .hero-heading { padding-block: 45px; }
  .service-item { gap: 18px; }
  .service-item > .service-icon { width: 44px; height: 44px; padding: 9px; border-radius: 12px; }
  .process-grid li { padding: 20px; }
  .process-grid { gap: 14px; }
}
@media (max-width: 600px) {
  .hero-heading { padding-block: 36px; }
  .hero-actions .button { min-height: 52px; }
  .service-strip { gap: 5px 21px; padding: 17px 20px; }
  .service-strip a { font-size: 12px; }
  .process-grid li { margin-bottom: 15px; padding: 23px 20px; gap: 0 14px; }
  .step-number { border: 0; }
  .commercial-heading h2 { font-size: 55px; }
  .contact-phone { font-size: clamp(28px, 8.4vw, 33px); }
}
