/* RoTa: the selected green-and-navy logo, with white as the main surface. */
:root {
  --ink: #062e52;
  --muted: #526273;
  --accent: #49ad60;
  --accent-text: #26773f;
  --accent-soft: #eff8f0;
  --accent-line: #c8e2cf;
  --whatsapp: #25d366;
  --paper: #fff;
  --soft: #f5f8f6;
  --line: #dbe2e9;
  --green: var(--accent-text);
}

.brand-link { display: inline-flex; flex-shrink: 0; align-items: center; }
.brand-image { position: relative; display: block; width: 228px; aspect-ratio: 3.1; overflow: hidden; }
.brand-image img { position: absolute; width: 118.5%; max-width: none; height: auto; left: -9.6%; top: -42%; }
.brand-image-large { width: 100%; }
.header-wrap { border-color: var(--line); }
.desktop-nav { gap: 22px; }
.mobile-nav a { border-color: var(--line); }
.button:hover { background: #68bd7c; }
.offer-badge { color: var(--accent-text); background: var(--accent-soft); border-color: var(--accent-line); }
.hero h1 > span, .offer-price { color: var(--accent-text); }
.hero-visual { background: var(--soft); }
.hero-visual figcaption { background: #fffffff0; }
.benefits p > span { color: var(--accent-text); }
.line-icon { color: var(--ink); }
.accent-card { background: var(--accent-soft); border-color: var(--accent-line); }
.accent-card .eyebrow { color: var(--accent-text); }
.accent-card > p { color: var(--muted); }
.accent-card .card-link { border-color: var(--accent-line); }
.service-included { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 20px; margin-top: 24px; padding: 28px; border: 1px solid var(--accent-line); border-left: 4px solid var(--accent); background: var(--accent-soft); border-radius: 12px; }
.service-included > svg { width: 40px; height: 40px; color: var(--accent-text); }
.service-included h3 { font-size: 24px; line-height: 1.35; letter-spacing: -.4px; }
.service-included p { margin-top: 12px; max-width: 940px; font-size: 16px; line-height: 1.75; color: var(--muted); }
.service-included .eyebrow { margin: 0 0 12px; font-size: 13px; color: var(--accent-text); }
.service-included .service-scope { padding-top: 14px; margin-top: 17px; border-top: 1px solid var(--accent-line); font-size: 14px; }
.inspection-intro .eyebrow, .pricing-block .eyebrow, .step-number, .inspection-note strong { color: #82d699; }
.inspection-note p, .steps p, .price-factors dd, .pricing-footnote { color: #d5e0eb; }
.steps li, .pricing-block { border-color: #365673; }
.rule-tag { color: var(--ink); background: #e3ebf3; }
.rule-tag-outline { color: var(--accent-text); background: var(--accent-soft); }
.search-row input:disabled { background: var(--soft); }
.search-results button:hover { background: #e7edf4; }
.map-stage, #service-map { background: #edf1f5; }
.map-consent { background: #f4f6f8; }
.map-symbol { color: var(--ink); }
.map-error { border-color: var(--line); background: #fff; }
.map-card { --area-color: #062e52; --area-fill: #e7edf4; }
.map-card[data-area="inside"] { --area-color: #21833e; --area-fill: #edf7ef; }
.map-card[data-area="outside"] { --area-color: #c13939; --area-fill: #fff0f0; }
.map-bottom { align-items: flex-start; }
.map-bottom p { font-size: 14px; }
.map-legends { display: grid; gap: 8px; }
.legend-circle { width: 15px; height: 15px; border-color: var(--area-color); background: var(--area-fill); }
.legend-location { width: 15px; height: 15px; flex-shrink: 0; border: 2px solid #fff; border-radius: 50%; background: #1769d2; box-shadow: 0 0 0 1px #1769d2; }
.area-result { background: #edf7ef; border-color: #a5d5af; border-left: 4px solid #21833e; }
.area-result h3 { color: #155f2c; }
.area-result.is-outside { background: #fff2f2; border-color: #e7b4b4; border-left-color: #c13939; }
.area-result.is-outside h3 { color: #a02727; }
.selected-location-marker { background: none; border: 0; }
.location-pin { position: absolute; left: 4px; top: 4px; width: 36px; height: 36px; background: #1769d2; border: 4px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: 0 3px 12px #062e5270; }
.location-pin::after { content: ""; position: absolute; width: 10px; height: 10px; top: 9px; left: 9px; background: #fff; border-radius: 50%; }
.leaflet-tooltip.searched-location-tooltip { background: #fff; color: var(--ink); border: 2px solid #1769d2; border-radius: 8px; box-shadow: 0 3px 12px #062e5226; padding: 9px 12px !important; white-space: normal; width: max-content; max-width: 185px; }
.searched-location-tooltip strong { display: block; font-size: 14px; line-height: 1.4; }
.searched-location-tooltip span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 3px; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
.about-brand { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--accent); gap: 35px; }
.about-label, .about-brand-bottom { color: var(--muted); }
.request-form { box-shadow: 0 8px 40px #062e5206; }
.category-options label > span, input[type=text], input[type=search], textarea { border-color: #c7d2de; }
.category-household { grid-column: 1 / -1; }
input::placeholder, textarea::placeholder { color: #657587; }
.field-note.is-inside { color: #155f2c; }
.field-note.is-outside { color: #a02727; }
.special-notice { background: var(--accent-soft); border-left-color: var(--accent); color: var(--ink); }
.button-whatsapp { background: var(--whatsapp); color: var(--ink); }
.button-whatsapp:hover { background: #21c35e; }
.request-feedback { background: var(--soft); border-color: var(--line); }
.request-feedback a { color: var(--accent-text); }
.contact-panel { background: var(--ink); color: #fff; }
.contact-copy .eyebrow { color: #82d699; }
.contact-copy > p:not(.eyebrow), .contact-copy address { color: #d5e0eb; }
.contact-info { color: var(--ink); }
.direct-whatsapp { color: var(--ink); background: var(--whatsapp); border: 0; border-radius: 8px; padding: 14px 16px; }
.direct-whatsapp:hover { background: #21c35e; }
.mobile-contact { box-shadow: 0 -5px 25px #062e5209; }
.mobile-contact > a { border-color: var(--line); }
.mobile-contact > a:last-child { background: var(--whatsapp); border-color: var(--whatsapp); color: var(--ink); }
.mobile-contact > a:last-child:hover { background: #21c35e; border-color: #21c35e; }
.legal-main p, .legal-main li { color: var(--muted); }
.legal-main a { color: var(--ink); }
.legal-note { background: var(--accent-soft); }

@media (max-width: 1100px) {
  .brand-image { width: 210px; }
  .brand-image-large { width: 100%; }
  .desktop-nav { gap: 17px; font-size: 14px; }
}
@media (max-width: 760px) {
  .brand-image-large { width: 100%; }
  .service-included { grid-template-columns: 1fr; gap: 15px; padding: 22px; }
  .service-included > svg { width: 32px; height: 32px; }
}
@media (max-width: 640px) {
  .header-cta { display: none; }
  .brand-image { width: 210px; }
  .brand-image-large { width: 100%; }
  .footer-main .brand-image { width: 170px; }
  .footer-main { grid-template-columns: minmax(0, 1fr) auto; }
  .map-bottom { gap: 15px; }
  .leaflet-tooltip.searched-location-tooltip { max-width: 145px; padding: 8px !important; }
  .searched-location-tooltip strong { font-size: 13px; }
  .searched-location-tooltip span { font-size: 12px; }
  .legal-header .brand-image { width: 175px; }
  .legal-header .button { padding-inline: 12px; }
}
@media (max-width: 360px) {
  .legal-header .brand-image { width: 150px; }
  .legal-header .button { font-size: 13px; padding-inline: 9px; gap: 6px; }
}
