/* Antichinches Mallorca — charcoal, pine and matte champagne gold. */
:root {
  color-scheme: dark;
  --paper: #111914;
  --ink: #eee9df;
  --muted: #adb6aa;
  --line: #354139;
  --lime: #c6a46c;
  --dark: #0a110d;
  --surface: #1b2820;
  --accent: #c6a46c;
  --on-accent: #151b16;
}
body { background: var(--paper); color: var(--ink); }
::selection { background: var(--accent); color: var(--on-accent); }
button:focus-visible, a:focus-visible, summary:focus-visible,
input:focus-visible, select:focus-visible, [tabindex="0"]:focus-visible {
  outline-color: var(--accent);
}
.header { border-color: var(--line); }
.header-call .call-label { border-color: #5b6559; }
.brand-mark i { background: var(--ink); border-color: var(--paper); }
.status-dot, .visual-dot { background: var(--accent); }
.section-number { opacity: .7; }
.hero h1 .serif { color: #d3ba8e; }
.hero-description, .hero-reassurance, .heading-line>p,
.process-step p, .faq-intro>p:not(.eyebrow), .faq-list details p,
.contact-top p:not(.eyebrow), .form-note, .footer-top>p,
.footer-bottom, .preview-note, .cinematic-footnote { color: var(--muted); }
.hero-copy>.eyebrow { color: #d6d9cb; }
.button { border-radius: 2px; }
.button-green { background: var(--ink); color: var(--on-accent); }
.button-green:hover { background: #d6c9b6; color: var(--on-accent); box-shadow: 0 8px 24px #0004; }
.button-lime { background: var(--accent); color: var(--on-accent); }
.button-lime:hover { background: #dcc495; color: var(--on-accent); }
.skip-link { color: var(--on-accent); }
.hero-image-frame { border-radius: 2px 36px 2px 2px; background: #333b2e; }
.image-grain { background: linear-gradient(180deg,#1119140a,transparent 45%,#07100a77); }
.visual-top, .service-photo>span {
  color: #eee9df;
  background: #17241dee;
  border: 1px solid #c0c9ae33;
  border-radius: 1px;
  backdrop-filter: blur(4px);
}
.image-note { color: #b0b6aa; }
.hero-caption { left: 218px; right: 24px; bottom: 30px; font-size: 22px; }

/* A service message with a direct action, rather than an unverified award seal. */
.hero-label {
  position: absolute;
  z-index: 2;
  left: -35px;
  bottom: 46px;
  display: flex;
  flex-direction: column;
  width: 236px;
  padding: 20px 20px 16px;
  background: var(--accent);
  color: var(--on-accent);
  clip-path: polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);
  filter: drop-shadow(0 10px 14px #0003);
  transform: rotate(-3deg);
  transition: transform .3s, background .3s;
  text-decoration: none;
}
.hero-label:hover { transform: rotate(0deg) translateY(-4px); background: #dcc495; }
.hero-label:focus-visible { clip-path: none; outline: 3px solid var(--ink); outline-offset: 5px; }
.hero-label-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 8px; font-weight: 650; letter-spacing: .1em; }
.hero-label-top svg { width: 20px; height: 20px; stroke-width: 1.4; }
.hero-label-title { display: block; margin-top: 21px; font-family: var(--sans); font-size: 37px; font-weight: 750; line-height: .94; letter-spacing: -.055em; }
.hero-label-title>span { display: block; }
.hero-label-action { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 16px; margin-top: 20px; border-top: 1px solid #151b1659; font-size: 11px; font-weight: 600; }
.hero-label-action svg { width: 29px; height: 17px; stroke-width: 1.35; }
.hero-label:hover .hero-label-action svg { transform: translateX(3px); }

.trust-strip { background: #19251d; color: #d3d8ca; border-color: var(--line); }
.trust-divider { background: #53614f; }
.pest-tab { border-color: #465244; border-radius: 2px; }
.pest-tab[aria-selected="true"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.pest-tab:hover:not([aria-selected="true"]) { background: #26372b; border-color: #7b8a70; }
.service-feature { background: var(--surface); border: 1px solid var(--line); border-radius: 2px; }
.service-copy .eyebrow { color: #d3ba8e; }
.service-copy>p:not(.eyebrow) { color: #b7c0b0; }
.service-points { color: #d2d8c8; }
.service-points svg { color: var(--accent); }
.step-number { color: #bba16f; }
.step-tag { color: #b3bba8; }
.business { background: var(--dark); color: var(--ink); border-block: 1px solid var(--line); }
.business-copy .eyebrow { color: #b6c1aa; }
.business-copy>p:not(.eyebrow) { color: #b8c4ad; }
.business-copy h2 em { color: #d3ba8e; }
.island-graphic { color: #d3ba8e; }
.island-coordinate, .island-note { color: #b7bfac; opacity: 1; }
.island-graphic svg .sea-label { fill: #b7bfac; opacity: 1; }
.island-outline { fill: #c6a46c12; stroke: #b99f69; }
.map-point circle:first-child { stroke: #c6a46c88; fill: #c6a46c18; }
.map-point circle:last-child { fill: #d3ba8e; }
.coverage-line { border-color: #354535; }
.coverage-line strong { color: #b4c2a7; }
.business-sectors span { border-color: #475841; color: #c4ceb9; }
.faq-list details[open] { background: #1a271e; }
.contact { background: #1d2d23; border-color: #465541; border-radius: 2px; }
.contact-circle { border-color: #7f9071; }
.contact-circle:hover { background: var(--accent); color: var(--on-accent); }
.contact-bottom { border-color: #4c5a44; }
.form-field input, .form-field select { background: #111c15; border-color: #66745c; color: var(--ink); border-radius: 2px; }
.form-field input::placeholder { color: #a4b097; }
.form-field select option { background: #111c15; color: var(--ink); }
.footer-top { border-color: var(--line); }
.mobile-menu:not([hidden]) { background: #17231b; box-shadow: 0 18px 24px #0004; }
.mobile-menu a { border-color: var(--line); }
.motion-strip { background: #111914; }
.motion-toggle { border-color: #58654e; background: #111914; color: var(--ink); }
.motion-divider { background: var(--accent); }
.cinematic-word { color: #6b7b65; }
.word-ink { color: var(--ink); }
.cinematic-orbit { border-color: #a1b48933; }
.reading-progress { background: var(--accent); }
.urgent-help { display: grid; grid-template-columns: 1.3fr 1fr; gap: 50px; align-items: center; padding-block: 60px; margin-bottom: 90px; border-block: 1px solid var(--line); }
.urgent-help .eyebrow { margin-bottom: 20px; }
.urgent-help h2 { font-size: clamp(38px,4vw,58px); }
.urgent-help p:not(.eyebrow) { margin-top: 22px; max-width: 620px; color: var(--muted); }
.urgent-help-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.urgent-help-actions .text-link { gap: 12px; flex-wrap: wrap; }

/* Keep both contact actions and both consent choices equally readable. */
#amc-contact { border-top-color: var(--line); }
#amc-contact .amc-whatsapp { background: var(--accent); color: var(--on-accent); }
#amc-contact .amc-whatsapp:hover { background: #dcc495; }
#amc-contact .amc-call { background: var(--ink); color: var(--on-accent); }
#amc-contact .amc-call:hover { background: #d6c9b6; color: var(--on-accent); }
#amc-contact .amc-button:focus-visible { outline-color: var(--accent); outline-offset: 4px; }
#amc-contact .amc-note { background: #1c2a20; color: var(--ink); border-color: #69765e; box-shadow: 0 5px 20px #0003; }
#amc-contact .amc-note::before { background: var(--accent); }
#amc-contact .amc-note::after { background: #1c2a20; border-color: #69765e; }
#cookie-notice.amc-ads-consent { background: #1b2820; color: var(--ink); border-color: #67745c; box-shadow: 0 -12px 28px #0004; }
#cookie-notice .amc-ads-choice { border-color: #d1d7c3; background: #1b2820; color: var(--ink); border-radius: 2px; }
#cookie-notice .amc-ads-choice:hover { background: #354430; color: #fff8e9; }
#cookie-notice .amc-ads-choice:focus-visible, #ads-preferences:focus-visible { outline-color: var(--accent); }

@media (max-width:1100px) {
  .hero-label { width: 208px; left: -18px; bottom: 28px; padding: 16px 17px 14px; }
  .hero-label-title { font-size: 33px; margin-top: 17px; }
  .hero-label-action { margin-top: 17px; padding-top: 13px; font-size: 10px; }
  .hero-caption { display: none; }
}
@media (min-width:581px) and (max-width:800px) {
  .hero-label { width: 182px; left: -12px; bottom: 26px; padding: 15px; }
  .hero-label-title { font-size: 29px; }
  .hero-label-top { font-size: 7px; letter-spacing: .07em; }
  .hero-label-top svg { width: 17px; height: 17px; }
  .hero-label-action { font-size: 9px; }
}
@media (max-width:580px) {
  .urgent-help { grid-template-columns: 1fr; gap: 28px; padding-block: 35px; margin-bottom: 50px; }
  .urgent-help-actions { align-items: stretch; }
  .hero-visual { height: 370px; margin-left: 12px; }
  .hero-image-frame { border-top-right-radius: 30px; }
  .hero-label { width: 192px; left: -12px; bottom: 24px; padding: 17px 17px 14px; }
  .hero-label-title { font-size: 31px; }
  .hero-label-top { font-size: 7px; }
  .hero-label-action { font-size: 10px; }
  .visual-top { left: 16px; top: 16px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-label, .hero-label:hover { transform: none; }
}
