/* Shared navigation and footer. All selectors stay inside these two surfaces. */
:root { --header-height:76px; }
.ac-site-header, .ac-footer { font-family:Manrope,system-ui,sans-serif; }
.ac-site-header *, .ac-footer * { box-sizing:border-box; font-family:inherit; }
.ac-site-header a, .ac-footer a { text-decoration:none; }
.ac-site-header [hidden], .ac-footer [hidden] { display:none !important; }
.ac-site-header p, .ac-footer p, .ac-footer ul, .ac-footer h4 { margin:0; }
.ac-icon { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.ac-site-header.sticky-header { position:sticky; top:0; width:100%; z-index:60; pointer-events:none; }
.ac-site-header .ac-offer { position:relative; z-index:4; display:flex; align-items:center; justify-content:center; gap:24px; min-height:34px; padding:6px 20px; background:#171811; color:#e3e4db; font-size:12px; line-height:1.5; pointer-events:auto; }
.ac-site-header .ac-offer strong { font-weight:400; }
.ac-site-header .ac-offer a { display:inline-flex; align-items:center; gap:6px; color:#fff237; }
.ac-site-header .ac-offer a:hover { text-decoration:underline; }
.ac-site-header .ac-offer .ac-icon { width:15px; height:15px; }
.ac-site-header .ac-navigation.nav { position:relative; margin:0; border:0; border-bottom:1px solid #e6e5df; border-radius:0; background:#fffef6; color:#171811; backdrop-filter:none; -webkit-backdrop-filter:none; pointer-events:auto; transition:transform 220ms cubic-bezier(.22,1,.36,1); }
.ac-site-header.nav-hidden:not(.ac-menu-active) .ac-navigation { transform:translateY(-100%); pointer-events:none; }
.ac-site-header.nav-hidden .ac-navigation:has(:focus-visible) { transform:none; pointer-events:auto; }
.ac-nav-bar { width:calc(100% - 96px); max-width:1760px; min-height:75px; margin:auto; display:flex; align-items:center; gap:26px; }
.ac-site-header .ac-brand { display:inline-flex; align-items:center; gap:10px; flex:none; min-height:44px; color:#171811; font-size:23px; line-height:1.2; font-weight:800; letter-spacing:-.035em; }
.ac-brand img { display:block; width:34px; height:34px; }
.ac-desktop-nav { display:flex; align-items:center; gap:24px; margin-inline:auto; }
.ac-desktop-nav > a, .ac-mega-menu > summary, .ac-site-header .ac-login { display:flex; align-items:center; min-height:52px; gap:7px; padding:8px 0; color:#171811; font-size:13px; font-weight:500; line-height:1.4; white-space:nowrap; }
.ac-mega-menu > summary { list-style:none; cursor:pointer; }
.ac-site-header summary::-webkit-details-marker { display:none; }
.ac-site-header .ac-chevron { width:13px; height:13px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; transition:transform 160ms; }
.ac-mega-menu[open] > summary .ac-chevron, .ac-mobile-panel details[open] > summary .ac-chevron { transform:rotate(180deg); }
.ac-desktop-nav > a:hover, .ac-mega-menu[open] > summary, .ac-site-header .ac-login:hover { text-decoration:underline; text-underline-offset:6px; }
.ac-account-links { display:flex; align-items:center; gap:24px; flex:none; }
.ac-site-header .ac-start { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:44px; padding:12px 20px; border-radius:100px; background:#000; color:#fff; font-size:13px; font-weight:600; line-height:1.3; white-space:nowrap; box-shadow:none;}
.ac-site-header .ac-start:hover { background:#000; color:#fff;}
.ac-site-header .ac-mega-menu { position:static; border:0; margin:0; padding:0; }
.ac-site-header .ac-mega-panel { position:absolute; z-index:3; top:100%; left:24px; right:24px; max-width:1680px; margin:0 auto; padding:40px 40px 0; background:#fff; color:#171811; border:1px solid #e9e9e4; border-radius:0 0 12px 12px; box-shadow:0 22px 42px -24px #17181138; max-height:calc(100dvh - var(--ac-nav-bottom,110px) - 24px); overflow:auto; animation:ac-menu-enter 180ms cubic-bezier(.22,1,.36,1) both; }
.ac-product-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; padding:12px 0 34px; }
.ac-site-header .ac-product-link { display:flex; align-items:center; flex-direction:column; padding:20px 10px; border-radius:9px; text-align:center; color:#171811; }
.ac-product-link:hover, .ac-product-link:focus-visible { background:#f7f7f3; }
.ac-product-link .ac-product-icon { display:block; width:36px; height:36px; margin-bottom:15px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ac-product-link .ac-whatsapp { color:#159447; }
.ac-product-link .ac-instagram { color:#8b3ac2; }
.ac-product-link .ac-messenger { color:#354bcc; }
.ac-product-link .ac-calendar { color:#284bda; }
.ac-product-link strong { font-size:clamp(18px,1.55vw,25px); font-weight:750; line-height:1.25; letter-spacing:-.025em; }
.ac-product-link span { margin-top:10px; color:#62635f; font-size:14px; line-height:1.55; }
.ac-site-header .ac-menu-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #e7e7e1; padding:16px 4px; font-size:13px; line-height:1.5; }
.ac-menu-bottom > span { color:#66675f; }
.ac-site-header .ac-menu-bottom a { display:flex; align-items:center; gap:10px; min-height:36px; color:#171811; font-weight:600; }
.ac-menu-bottom a:hover { color:#284bda; }
.ac-solutions-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:50px; width:min(820px,100%); margin:6px auto 38px; }
.ac-solutions-grid > div+div { border-left:1px solid #e7e7e1; padding-left:48px; }
.ac-site-header .ac-solutions-grid h2 { margin:0 0 16px; font-family:inherit; font-size:13px; line-height:1.5; font-weight:500; letter-spacing:0; color:#686963; }
.ac-site-header .ac-solutions-grid a { display:block; width:fit-content; min-height:44px; padding:5px 0; color:#171811; font-size:23px; line-height:1.4; font-weight:650; letter-spacing:-.025em; }
.ac-solutions-grid a:hover { color:#284bda; text-decoration:underline; text-underline-offset:5px; }
.ac-site-header .ac-nav-shade { position:fixed; inset:var(--ac-nav-bottom,110px) 0 0; z-index:-1; background:#17181133; pointer-events:auto; animation:ac-shade-enter 140ms ease-out both; }
.ac-site-header .ac-mobile-menu { display:none; }
.ac-site-header a:focus-visible, .ac-site-header summary:focus-visible { outline:2px solid #284bda; outline-offset:4px; border-radius:4px; }
.ac-site-header ~ main.legal-content { padding-top:70px; }
@keyframes ac-menu-enter { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
@keyframes ac-shade-enter { from { opacity:0; } to { opacity:1; } }
@media(max-width:1100px) {
  .ac-nav-bar { width:calc(100% - 64px); gap:20px; }
  .ac-desktop-nav { display:none; }
  .ac-account-links { margin-left:auto; }
  .ac-site-header .ac-mobile-menu { display:block; position:static; margin:0; }
  .ac-mobile-menu > summary { display:grid; place-items:center; width:44px; height:44px; padding:8px; list-style:none; cursor:pointer; color:#171811; }
  .ac-mobile-menu > summary .ac-icon { width:23px; height:23px; }
  .ac-mobile-menu .ac-menu-close, .ac-mobile-menu[open] .ac-menu-open { display:none; }
  .ac-mobile-menu[open] .ac-menu-close { display:block; }
  .ac-site-header .ac-mobile-panel { position:absolute; z-index:3; top:100%; left:0; right:0; margin:0; padding:18px 32px 28px; background:#fffef6; border-bottom:1px solid #e6e5df; border-radius:0 0 12px 12px; box-shadow:0 20px 30px -25px #17181160; max-height:calc(100dvh - var(--ac-nav-bottom,76px) - 12px); overflow:auto; overscroll-behavior:contain; }
  .ac-site-header .ac-mobile-panel > a, .ac-mobile-panel > details > summary { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:12px 0; color:#171811; font-size:16px; font-weight:600; line-height:1.5; list-style:none; cursor:pointer; }
  .ac-mobile-panel > details { border-bottom:1px solid #e6e5df; }
  .ac-site-header .ac-mobile-list { display:grid; padding:0 0 12px 14px; }
  .ac-site-header .ac-mobile-list a { display:flex; align-items:center; min-height:44px; padding:8px 0; color:#50514b; font-size:15px; line-height:1.5; }
  .ac-site-header .ac-mobile-panel a:hover { color:#284bda; }
  .ac-site-header .ac-mobile-login { margin-top:12px; border-top:1px solid #e6e5df; }
}
@media(max-width:760px) {
  :root { --header-height:68px; }
  .ac-nav-bar { width:calc(100% - 32px); min-height:67px; gap:10px; }
  .ac-site-header .ac-brand { font-size:19px; gap:7px; }
  .ac-brand img { width:29px; height:29px; }
  .ac-site-header .ac-login { display:none; }
  .ac-account-links { gap:0; }
  .ac-site-header .ac-start { font-size:12px; padding:11px 10px; }
  .ac-start .ac-icon { display:none; }
  .ac-site-header .ac-offer { min-height:32px; padding:6px 12px; gap:10px; font-size:10px; }
  .ac-site-header .ac-offer .ac-icon { width:13px; height:13px; }
  .ac-site-header .ac-mobile-panel { padding-inline:22px; }
}
@media(max-width:360px) {
  .ac-nav-bar { gap:4px; }
  .ac-site-header .ac-brand { font-size:16px; gap:5px; }
  .ac-brand img { width:26px; height:26px; }
  .ac-site-header .ac-start { width:76px; padding:8px 10px; font-size:11px; line-height:1.15; white-space:normal; }
  .ac-site-header .ac-offer { gap:7px; font-size:9px; }
}
/* The same pre-rendered footer appears on every public page. */
.ac-footer { width:100%; padding:76px 0 32px; background:#000; color:#f4f4f4; border:0; font-size:14px; line-height:1.6; }
.ac-shell-width { width:min(1360px,calc(100% - 96px)); margin-inline:auto; }
.ac-footer a { color:inherit; font-size:inherit; }
.ac-footer p { color:inherit; font-size:inherit; line-height:inherit; }
.ac-footer-masthead { display:flex; justify-content:space-between; align-items:center; gap:32px; margin-bottom:60px; }
.ac-footer .ac-footer-brand { display:inline-flex; align-items:center; color:#f4f4f4; font-size:clamp(28px,2.8vw,38px); font-weight:800; line-height:1.3; letter-spacing:-.035em; gap:13px; }
.ac-footer-symbol, .ac-footer-symbol img { display:block; width:38px; height:38px; flex:none; }
.ac-footer .ac-footer-masthead p { color:#aaa; margin-top:16px; }
.ac-footer-social { display:flex; align-items:center; gap:12px; }
.ac-footer .ac-footer-social a { width:48px; height:48px; display:grid; place-items:center; color:#fff; border:1px solid #363636; border-radius:50%; transition:color 180ms,background-color 180ms,border-color 180ms; }
.ac-footer-social svg { width:25px; height:25px; }
.ac-footer .ac-footer-social a:hover { background:#fff; color:#000; border-color:#fff; }
.ac-footer-columns { display:grid; grid-template-columns:.85fr 1.2fr 1fr; gap:clamp(35px,7vw,105px); }
.ac-footer .ac-footer-columns h4 { color:#999; font-weight:500; font-size:12px; line-height:1.6; text-transform:uppercase; letter-spacing:.055em; margin-bottom:22px; }
.ac-footer .ac-footer-links { list-style:none; padding:0; display:grid; gap:5px; }
.ac-footer .ac-footer-links a { display:inline-block; padding-block:6px; line-height:1.5; }
.ac-footer .ac-footer-links a:hover, .ac-footer .ac-footer-email:hover { color:#fff237; text-decoration:underline; text-underline-offset:5px; }
.ac-footer .ac-footer-email { display:inline-block; margin-top:22px; color:#bdbdbd; overflow-wrap:anywhere; }
.ac-footer .ac-footer-legal { border-top:1px solid #303030; margin-top:48px; padding-top:12px; }
.ac-footer-legal > summary { min-height:48px; display:flex; justify-content:space-between; align-items:center; list-style:none; color:#bdbdbd; font-size:13px; cursor:pointer; }
.ac-footer-legal > summary::-webkit-details-marker { display:none; }
.ac-footer-legal[open] > summary .ac-icon { rotate:45deg; }
.ac-footer-legal-content { display:grid; grid-template-columns:1fr 1fr; gap:4px 48px; padding:8px 0 22px; color:#aaa; font-size:12px; line-height:1.7; }
.ac-footer .ac-footer-legal-content p { padding-block:4px; }
.ac-footer-legal-content strong { color:#ddd; font-weight:500; }
.ac-footer-bottom { border-top:1px solid #303030; margin-top:10px; padding-top:16px; display:flex; justify-content:space-between; align-items:center; gap:12px 28px; font-size:12px; color:#a8a8a8; }
.ac-footer .ac-footer-directories { margin-top:20px; color:#949494; font-size:11px; }
.ac-footer .ac-footer-directories a { color:#bdbdbd; text-decoration:underline; text-underline-offset:4px; }
.ac-footer a:focus-visible, .ac-footer button:focus-visible, .ac-footer summary:focus-visible { outline:2px solid #fff237; outline-offset:4px; box-shadow:none; }
@media(max-width:760px) {
  .ac-footer { padding-block:54px 28px; }
  .ac-shell-width { width:calc(100% - 40px); }
  .ac-footer-masthead { align-items:flex-start; flex-direction:column; gap:22px; margin-bottom:42px; }
  .ac-footer .ac-footer-brand { font-size:28px; }
  .ac-footer-columns { grid-template-columns:1fr 1fr; gap:34px 25px; }
  .ac-footer-columns nav:nth-child(2) { grid-column:1 / -1; grid-row:2; }
  .ac-footer-columns nav:nth-child(2) .ac-footer-links { grid-template-columns:1fr 1fr; gap:5px 25px; }
  .ac-footer .ac-footer-columns h4 { margin-bottom:14px; }
  .ac-footer .ac-footer-links a { min-height:44px; font-size:13px; }
  .ac-footer .ac-footer-email { font-size:12px; }
  .ac-footer-legal-content { grid-template-columns:1fr; }
  .ac-footer .ac-footer-legal { margin-top:32px; }
  .ac-footer-bottom { align-items:flex-start; flex-direction:column; gap:5px; }
  .ac-footer .ac-footer-directories { line-height:1.9; }
}
@media(max-width:360px) { .ac-footer .ac-footer-brand { font-size:24px; gap:10px; } .ac-footer-symbol, .ac-footer-symbol img { width:32px; height:32px; } }
@media(prefers-reduced-motion:reduce) { .ac-site-header *, .ac-footer * { animation:none !important; transition:none !important; } }
