/* Existing Zamkova tokens, typography and squared controls.
   Layer order: page 0; backdrop 90; header 100; menu inside header 4. */
:root { --zs-navigation-height:80px; }
html { scroll-padding-top:calc(var(--zs-navigation-height) + 16px); }
.navigation-sentinel { position:absolute; top:48px; left:0; width:1px; height:1px; pointer-events:none; }
.site-header__bar,
.site-header.is-scrolled .site-header__bar { min-height:var(--zs-navigation-height); gap:24px; grid-template-columns:112px minmax(0,1fr) auto; }
.site-header--overlay { background:linear-gradient(180deg,rgba(23,22,19,.8),rgba(23,22,19,.42)); }
.site-header--overlay .site-header__bar { background:none; }
.site-header.is-scrolled { background:var(--zs-ink); backdrop-filter:none; box-shadow:0 3px 18px #00000014; }
.site-header--solid,
.site-header--solid.is-scrolled { position:sticky; top:0; background:var(--zs-ink); }
.site-logo,
.site-header.is-scrolled .site-logo { width:96px; transition:none; }
.site-header__nav { gap:24px; }
.site-header__actions { gap:8px; }
.site-header__utility { gap:0; }
.site-menu { gap:22px; }
.site-menu a { font-size:12px; letter-spacing:.025em; }
.site-menu > li { display:flex; align-items:center; }
.site-menu > li > a { position:relative; }
.site-menu > li > a[aria-current="page"]::after { position:absolute; right:0; bottom:4px; left:0; height:1px; background:currentColor; content:""; }
.site-menu .sub-menu { top:calc(100% + 10px); left:-16px; min-width:230px; padding:10px; border:1px solid #ffffff29; box-shadow:0 16px 32px #00000026; }
.site-menu .sub-menu a { min-height:44px; padding:8px 14px; font-size:12px; letter-spacing:.015em; }
.site-menu .sub-menu a:hover { background:#ffffff0d; }
.submenu-toggle { display:inline-flex; width:32px; min-height:44px; padding:0; align-items:center; justify-content:center; border:0; color:inherit; background:none; cursor:pointer; }
.nav-chevron { display:inline-block; width:7px; height:7px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform 160ms ease; }
.submenu-toggle[aria-expanded="true"] .nav-chevron,
.nav-language[open] .nav-chevron { transform:rotate(225deg) translate(-1px,-1px); }
.navigation-ready .site-menu .sub-menu { visibility:hidden; opacity:0; pointer-events:none; }
.navigation-ready .site-menu .submenu-open > .sub-menu { visibility:visible; opacity:1; pointer-events:auto; transform:none; }
.site-header__panel-top,
.site-header__contact { display:none; }
.nav-language { position:relative; flex-shrink:0; }
.nav-language summary { display:flex; min-width:68px; min-height:44px; gap:12px; align-items:center; justify-content:center; border:1px solid #ffffff38; cursor:pointer; list-style:none; font-size:12px; font-weight:700; letter-spacing:.06em; }
.nav-language summary::-webkit-details-marker { display:none; }
.nav-language__options { position:absolute; top:calc(100% + 12px); right:0; min-width:210px; padding:8px; border:1px solid #ffffff29; color:var(--zs-paper); background:var(--zs-ink); box-shadow:0 16px 32px #00000026; }
.nav-language__options a { display:flex; min-height:44px; padding:8px 10px; gap:12px; align-items:center; font-size:14px; }
.nav-language__options a:hover,
.nav-language__options a[aria-current] { color:var(--zs-accent); background:#ffffff0d; }
.nav-language__code { min-width:24px; color:inherit; opacity:.75; font-size:11px; letter-spacing:.05em; }
.nav-language__selected { margin-left:auto; }
.site-header :is(a,button,summary):focus-visible,
.site-footer a:focus-visible { outline:2px solid var(--zs-accent); outline-offset:4px; }
.navigation-backdrop { position:fixed; inset:0; z-index:90; width:100%; height:100%; padding:0; border:0; background:#0009; cursor:pointer; }
.navigation-backdrop[hidden] { display:none; }
.site-cart { min-width:44px; }
.callback-band { color:var(--zs-ink); }
.callback-band h2,
.callback-band .eyebrow--light { color:var(--zs-ink); }
.callback-band .eyebrow--light::after { background:var(--zs-ink); }
.callback-form input::placeholder { color:#6b6b6b; opacity:1; }
.site-footer { color:#d6d6d6; }
.site-footer__main { min-height:0; padding-block:56px; gap:clamp(32px,5vw,80px); align-items:start; grid-template-columns:1.1fr 1fr 1.1fr; }
.site-footer__brand { display:grid; gap:18px; justify-items:start; }
.site-footer__logo { display:block; width:150px; }
.site-footer__brand p { max-width:230px; margin:0; color:#bdbdbd; font-size:14px; line-height:1.65; }
.site-footer .site-footer__heading { margin:0 0 18px; color:var(--zs-paper); font-family:var(--zs-sans); font-size:12px; font-weight:700; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; }
.footer-menu { display:grid; gap:2px; padding:0; margin:0; list-style:none; }
.footer-menu a,
.site-footer__contact > a { display:flex; min-height:40px; width:fit-content; align-items:center; font-size:15px; line-height:1.5; }
.site-footer__contact { gap:2px; min-width:0; }
.site-footer__contact .footer-whatsapp { display:grid; gap:2px; margin-bottom:10px; }
.footer-whatsapp > span:first-child { color:var(--zs-accent); font-size:12px; letter-spacing:.03em; }
.site-footer__contact a[href^="mailto:"] { overflow-wrap:anywhere; }
.footer-back-top { display:inline-flex; min-height:44px; gap:14px; align-items:center; color:var(--zs-paper); font-size:13px; }
.site-footer a:hover { color:var(--zs-accent); }
.site-footer__bottom { padding-block:18px; gap:16px 28px; flex-wrap:wrap; }
.site-footer__bottom nav { flex-wrap:wrap; gap:8px 24px; }
.site-footer__bottom nav a { display:inline-flex; min-height:36px; align-items:center; }
.site-footer__bottom p { color:#bdbdbd; }
@media (max-width:1100px) {
    :root { --zs-navigation-height:76px; }
    .site-header__bar,
    .site-header.is-scrolled .site-header__bar { gap:12px; grid-template-columns:minmax(0,1fr) auto; }
    .site-header__actions { gap:6px; }
    .site-cart__amount { display:none; }
    .site-cart { width:44px; padding:0; justify-content:center; }
    .menu-toggle { display:block; }
    .site-header__nav { position:fixed; z-index:4; inset:0 0 0 auto; display:flex; visibility:hidden; width:min(100%,440px); min-height:0; height:100dvh; padding:24px 28px max(28px,env(safe-area-inset-bottom)); gap:0; flex-direction:column; align-items:stretch; justify-content:flex-start; overflow-y:auto; overscroll-behavior:contain; opacity:0; background:var(--zs-ink); box-shadow:-16px 0 40px #0003; transform:translateX(100%); transition:opacity 180ms ease,transform 180ms ease,visibility 180ms ease; }
    .menu-open { overflow:hidden; }
    .menu-open .site-header__nav { visibility:visible; opacity:1; transform:none; }
    .site-header__panel-top { display:flex; min-height:44px; margin-bottom:24px; align-items:center; justify-content:space-between; }
    .site-header__panel-top > span { font-family:var(--zs-serif); font-size:28px; }
    .menu-close { display:grid; width:44px; height:44px; padding:0; border:1px solid #ffffff38; place-items:center; color:var(--zs-paper); background:transparent; cursor:pointer; font-size:30px; line-height:1; }
    .primary-navigation { width:100%; }
    .site-menu { display:block; }
    .site-menu > li { display:grid; grid-template-columns:minmax(0,1fr) auto; border-bottom:1px solid #ffffff26; }
    .site-menu a { width:auto; min-height:56px; border:0; font-size:15px; font-weight:400; line-height:1.5; letter-spacing:0; white-space:normal; text-transform:none; }
    .site-menu > li > a[aria-current="page"]::after { content:none; }
    .submenu-toggle { width:48px; min-height:56px; }
    .site-menu .sub-menu { position:static; display:none; min-width:0; padding:0 0 12px 12px; grid-column:1 / -1; border:0; box-shadow:none; background:none; transform:none; transition:none; }
    .navigation-ready .site-menu .submenu-open > .sub-menu { display:block; }
    .site-menu .sub-menu a { min-height:44px; padding:8px 12px; color:#d6d6d6; font-size:14px; }
    .site-header__utility { display:flex; padding-top:26px; margin-top:0; gap:20px; flex-direction:column; align-items:stretch; border:0; }
    .nav-language summary { justify-content:space-between; width:100%; padding-inline:14px; }
    .nav-language__options { position:static; min-width:0; margin-top:8px; box-shadow:none; }
    .site-header__utility .social-links { display:flex; gap:20px; }
    .site-header__utility .social-links a { width:auto; min-width:44px; height:44px; padding:0 12px; border-radius:0; }
    .site-header__contact { display:flex; min-height:48px; margin-top:24px; align-items:center; justify-content:center; border:1px solid #ffffff45; font-size:14px; }
    .site-footer__main { gap:36px; }
    .site-footer__brand p { max-width:200px; }
}
@media (max-width:680px) {
    .site-footer__main { padding-block:36px; grid-template-columns:1fr 1fr; gap:30px 24px; }
    .site-footer__brand { grid-column:1 / -1; grid-template-columns:120px 1fr; gap:8px 24px; align-items:center; }
    .site-footer__brand .site-footer__logo { width:120px; grid-row:1 / 3; }
    .site-footer__brand p { max-width:none; font-size:13px; }
    .footer-back-top { min-height:36px; }
    .site-footer .site-footer__heading { margin-bottom:12px; }
    .footer-menu a,
    .site-footer__contact > a { min-height:44px; font-size:14px; }
    .site-footer__contact a[href^="mailto:"] { font-size:12px; }
    .site-footer__bottom { align-items:flex-start; flex-direction:column-reverse; }
    .site-footer__bottom nav { flex-direction:column; gap:0; }
    .site-footer__bottom p { font-size:12px; }
}
@media (max-width:380px) {
    :root { --zs-navigation-height:72px; }
    .site-logo,
    .site-header.is-scrolled .site-logo { width:86px; }
    .site-header__actions { gap:0; }
    .site-header__nav { padding-inline:20px; }
    .site-footer__main { grid-template-columns:1fr; gap:28px; }
    .site-footer__brand { grid-template-columns:104px 1fr; gap:8px 20px; }
    .site-footer__brand .site-footer__logo { width:104px; }
}
@media (prefers-reduced-motion:reduce) {
    .site-header__nav,
    .nav-chevron,
    .site-menu .sub-menu { transition:none !important; }
}
@media (forced-colors:active) {
    .nav-language summary,.menu-close,.site-header__contact { border-color:ButtonText; }
    .site-header,.site-header__nav,.nav-language__options { background:Canvas; color:CanvasText; }
}
/* Without JavaScript, expose the mobile links as a normal in-flow navigation. */
@media (max-width:1100px) {
    html:not(.navigation-js) .site-header { position:relative; background:var(--zs-ink); }
    html:not(.navigation-js) .site-header__bar { grid-template-columns:minmax(0,1fr) auto; }
    html:not(.navigation-js) .site-header__nav { position:static; visibility:visible; width:100%; height:auto; padding:16px 0 24px; grid-column:1 / -1; grid-row:2; opacity:1; transform:none; box-shadow:none; }
    html:not(.navigation-js) .site-menu .sub-menu { display:block; }
    html:not(.navigation-js) .menu-toggle,
    html:not(.navigation-js) .site-header__panel-top { display:none; }
}
