/* Content remains readable even when JavaScript is blocked or fails. */
.animate-on-scroll{opacity:1;transform:none}.animate-on-scroll.is-visible{animation:cms-reveal .45s ease-out}@keyframes cms-reveal{from{transform:translateY(10px)}to{transform:none}}@media(prefers-reduced-motion:reduce){.animate-on-scroll.is-visible{animation:none}}
.cms-slider{position:relative;margin:2rem 0;border-radius:12px;overflow:hidden}.cms-slide img{width:100%;max-height:420px;object-fit:cover}.cms-slider button{border:0;background:#fff;color:var(--color-primary);padding:8px 15px;margin:5px;border-radius:8px;cursor:pointer}.floating-whatsapp{position:fixed;bottom:24px;right:24px;background:#147c47;color:white;box-shadow:0 8px 30px #0003;padding:14px 20px;border-radius:40px;z-index:60;text-decoration:none;font-weight:700}.back-to-top{bottom:90px}.design-credit{text-align:center;font-size:12px;padding:22px;border-top:1px solid #ffffff20;letter-spacing:.04em}.design-credit a{color:inherit;text-decoration:none;border-bottom:1px solid #ffffff40}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:24px;margin-top:30px}.blog-card{padding:25px;border:1px solid #eee;border-radius:14px}.blog-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.pagination{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.pagination a{padding:8px 13px;border:1px solid #ddd;border-radius:6px;text-decoration:none}.pagination a[aria-current]{background:var(--color-primary,#b65e21);color:white}.honeypot{position:absolute;left:-10000px}.form-result{padding:15px;background:#fff5e8}.search-form{display:flex;gap:12px}.search-form input{padding:10px;border:1px solid #ccc}.site-nav .nav-sub{max-height:70vh;overflow:auto}

/* Keep navigation labels independent of page/SEO titles. */
.mobile-languages{display:none}
.nav-service-heading{display:flex;align-items:center;gap:4px}
.nav-sub-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:36px;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer;font-size:20px}
.nav-sub-toggle:focus-visible,.nav-toggle:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}
.nav-item-has-sub.is-expanded>.nav-sub{display:block}
.nav-sub-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
@media(max-width:900px){
  /* Lock the viewport only: body overflow would change the sticky header's scroll container. */
  html.nav-open{overflow:hidden}
  html.nav-open body{overflow-x:clip}
  .header-inner{flex-wrap:nowrap;gap:10px;min-height:64px}
  .logo{flex:0 0 auto}
  .logo img{width:48px;max-height:52px;object-fit:contain}
  .header-actions{order:1;margin-left:auto;gap:8px;min-width:0}
  .header-actions .lang-switch{display:none}
  .header-actions .btn{white-space:nowrap}
  .nav-toggle{order:2;flex:0 0 44px}
  .site-nav{position:absolute;top:100%;left:0;right:0;width:auto;max-height:calc(100vh - var(--mobile-header-height,65px));max-height:calc(100dvh - var(--mobile-header-height,65px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box;padding:12px 16px max(20px,env(safe-area-inset-bottom));background:#fff;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}
  .mobile-languages{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--color-border);padding-bottom:8px;margin-bottom:8px}
  .mobile-languages a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px}
  .nav-list{gap:2px}
  .nav-link{display:flex;align-items:center;min-height:44px;box-sizing:border-box;padding:8px 4px}
  .nav-service-heading{justify-content:space-between}
  .nav-service-heading>.nav-link{flex:1}
  .nav-sub-toggle{width:44px;height:44px;border:1px solid var(--color-border)}
  .site-nav .nav-item-has-sub .nav-sub{display:none;max-height:none;overflow:visible;min-width:0;padding:0 0 8px 12px;margin:0}
  .site-nav .nav-item-has-sub.is-expanded .nav-sub{display:block}
  .nav-sub a{display:flex;align-items:center;min-height:44px;box-sizing:border-box;padding:8px 12px;overflow-wrap:anywhere}
}
/* Long translated tables scroll within their section, not the whole page. */
.table-scroll{max-width:100%;overflow-x:auto}
html[lang="en"] .prose,html[lang="en"] .section{overflow-wrap:break-word}

html[lang="en"] a[href^="tel:"]{white-space:nowrap}
