.language-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 1px solid #9ba9a3;
  border-radius: 999px;
  padding: 0.42rem 0.7rem;
  text-decoration: none;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}
.menu-toggle {
  display: none;
  border: 0;
  background: transparent;
  font: 700 0.78rem Arial;
  align-items: center;
  gap: 0.6rem;
}
.menu-toggle i,
.menu-toggle i:before,
.menu-toggle i:after {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--ink);
  content: "";
  position: relative;
}
.menu-toggle i:before {
  position: absolute;
  top: -6px;
}
.menu-toggle i:after {
  position: absolute;
  top: 6px;
}
a:focus-visible,
button:focus-visible {
  outline: 4px solid var(--coral);
  outline-offset: 4px;
}
.journey-a-z {
  padding: clamp(5rem, 10vw, 9rem) max(24px, calc((100vw - 1200px) / 2));
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(3rem, 7vw, 7rem);
  background: #e7efe9;
}
.journey-a-z h2 {
  font-size: clamp(3rem, 6vw, 6rem);
}
.journey-a-z > div > p:last-child {
  max-width: 520px;
}
.journey-a-z ol {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #789087;
}
.journey-a-z li {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 1rem;
  padding: 1.15rem 0;
  border-bottom: 1px solid #9bada6;
}
.journey-a-z span {
  font-size: 0.84rem;
  color: #4b625a;
}
@media (max-width: 900px) {
  header {
    gap: 0.7rem;
  }
  .language-pill {
    margin-left: auto;
  }
  .menu-toggle {
    display: flex;
  }
  header nav {
    display: none;
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    background: var(--cream);
    padding: 1.25rem 24px 1.75rem;
    flex-direction: column;
    align-items: stretch;
    border-bottom: 1px solid #9ba9a3;
  }
  header nav.is-open {
    display: flex;
  }
  header nav.is-open > a {
    display: block;
  }
  .nav-cta {
    text-align: center;
  }
  .journey-a-z {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 430px) {
  header {
    height: 68px;
    padding-inline: 16px;
  }
  .brand {
    font-size: 1rem;
  }
  .brand span {
    display: none;
  }
  .language-pill {
    font-size: 0.64rem;
    padding: 0.36rem 0.5rem;
  }
  .menu-toggle span {
    position: absolute;
    clip: rect(0 0 0 0);
  }
  header nav {
    top: 68px;
  }
  .hero h1 {
    font-size: clamp(3rem, 15vw, 3.8rem);
  }
  .hero-copy {
    padding-inline: 18px;
  }
  .journey-a-z {
    padding-inline: 20px;
  }
  .journey-a-z li {
    grid-template-columns: 1fr;
  }
  .journey-a-z h2 {
    font-size: 3.2rem;
  }
}
@media (max-width: 360px) {
  .language-pill span {
    display: none;
  }
  .language-pill {
    padding: 0.35rem;
  }
  .brand {
    max-width: 130px;
  }
}
.journey-whatsapp{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;background:var(--forest);color:#fff;padding:.8rem 1rem;text-decoration:none;font-weight:800}.whatsapp-dock{display:none}@media(max-width:768px){body{padding-bottom:148px}.whatsapp-dock{display:block;position:fixed;z-index:90;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));background:var(--cream);border:1px solid var(--ink);border-radius:16px;padding:.55rem .7rem;box-shadow:0 7px 0 var(--forest)}.whatsapp-dock a{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;border-radius:10px;background:#1f8f55;color:#fff;text-decoration:none;font-weight:800}.whatsapp-dock small{display:block;margin:.4rem .2rem 0;font-size:.61rem;line-height:1.3;color:#4b625a}body:has(header nav.is-open) .whatsapp-dock{display:none}footer{padding-bottom:180px}}@media(max-width:360px){.whatsapp-dock small{font-size:.58rem}}
.language-picker{position:relative;flex:0 0 auto}.language-trigger{display:flex;align-items:center;gap:.45rem;min-height:44px;padding:.5rem .7rem;border:1px solid var(--ink);border-radius:999px;background:var(--cream);font:700 .72rem Arial;cursor:pointer}.language-panel{position:absolute;z-index:130;inset-block-start:calc(100% + .65rem);inset-inline-end:0;width:min(360px,calc(100vw - 24px));max-height:min(620px,calc(100vh - 100px));overflow:auto;padding:1rem;background:var(--cream);border:1px solid var(--ink);box-shadow:8px 8px 0 var(--forest)}.language-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.language-panel-head button{width:44px;height:44px;border:0;border-radius:50%;background:var(--forest);color:#fff;font-size:1.4rem}.language-panel label{display:block;margin:.75rem 0 .35rem;font-size:.7rem;font-weight:800;text-transform:uppercase}.language-panel input{width:100%;min-height:46px;border:1px solid var(--ink);border-radius:999px;background:#fff;padding:.65rem .85rem;font:inherit}.language-panel nav{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.75rem;position:static!important;padding:0!important;border:0!important;background:transparent!important}.language-panel nav a,.language-fallback nav a{display:flex!important;align-items:center;gap:.5rem;min-height:44px;padding:.55rem .65rem;text-decoration:none}.language-panel nav a:hover,.language-panel nav a[aria-current="page"]{background:#dbe9df}.language-panel [hidden]{display:none!important}.language-fallback{position:absolute;inset-inline-end:16px;top:72px;z-index:120;background:var(--cream);border:1px solid var(--ink);padding:.7rem;max-width:calc(100vw - 32px)}.language-fallback nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:65vh;overflow:auto}.locale-services{padding:clamp(5rem,9vw,8rem) max(24px,calc((100vw - 1200px)/2));background:#f7f0e5}.locale-services>div:first-child{max-width:760px}.locale-services h2{font-size:clamp(3rem,6vw,6rem)}.service-search{display:grid;grid-template-columns:auto minmax(220px,430px) auto;align-items:center;justify-content:end;gap:.8rem;margin:2rem 0}.service-search label{font-size:.72rem;font-weight:800;text-transform:uppercase}.service-search input{min-height:48px;border:1px solid var(--ink);border-radius:999px;padding:.7rem 1rem;font:inherit}.service-search button{min-height:44px;border:1px solid var(--ink);background:var(--forest);color:#fff;padding:.6rem .9rem}.locale-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#8da198;border:1px solid #8da198}.locale-service{background:var(--cream);padding:clamp(1.4rem,3vw,2.4rem);min-width:0}.locale-service>span{font-size:1.7rem}.locale-service h3{font-size:clamp(1.5rem,2.2vw,2.3rem)}.locale-service a{font-weight:800}.locale-service[hidden]{display:none}.contact-actions{display:flex;flex-wrap:wrap;gap:.8rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reveal{opacity:0;transform:translateY(20px);transition:.6s ease}.reveal.is-visible,.no-js .reveal{opacity:1;transform:none}.no-js .service-search{display:none}[dir="rtl"] .locale-journal,[dir="rtl"] .language-panel{text-align:right}[dir="rtl"] [dir="ltr"]{direction:ltr;unicode-bidi:isolate}
@media(max-width:1000px){.locale-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.language-trigger span:nth-child(2){display:none}}
@media(max-width:900px){.language-picker{margin-inline-start:auto}.language-panel{position:fixed;inset-block-start:78px;inset-inline:12px;width:auto;max-height:calc(100dvh - 90px)}.locale-journal header>nav{z-index:100}}
@media(max-width:640px){.language-trigger span:nth-child(2){display:none}.language-panel nav{grid-template-columns:1fr}.service-search{grid-template-columns:1fr;justify-content:stretch}.service-search button{width:100%}.locale-service-grid{grid-template-columns:1fr}.locale-services{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.language-fallback__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:65vh;overflow:auto}.language-fallback__links a{display:flex;align-items:center;gap:.5rem;min-height:44px;padding:.55rem .65rem;text-decoration:none}@media(max-width:640px){.language-fallback__links{grid-template-columns:1fr}}
.skip:not(:focus){position:absolute;width:1px;height:1px;inset-inline-start:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;inset-inline-start:1rem;left:auto;top:1rem}
