/* 2.1.1 refinements: the original layout, palette and section proportions stay intact. */
.language-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:7px;flex:none}
.language-switch a{display:grid;place-items:center;min-width:36px;min-height:36px;border-radius:4px;font-size:.875rem;font-weight:750;color:var(--muted);transition:background .18s,color .18s}
.language-switch a[aria-current=page]{background:var(--ink);color:var(--paper)}
.language-switch a:not([aria-current]):hover{background:var(--soft);color:var(--ink)}
.language-switch>span{height:13px;width:1px;background:var(--line);margin:0 1px}
.header-inner{gap:22px}.header-actions{gap:12px}.desktop-nav{gap:23px}
.header-actions .theme-cycle,.header-actions .menu-button{width:44px;height:44px;border-radius:7px}
.header-actions .icon-button:hover{background:var(--soft)}
.header-inner .brand{min-width:0;flex-shrink:1}.header-inner .brand-mark,.header-actions{flex-shrink:0}.header-inner .brand-name{min-width:0;overflow-wrap:anywhere}
.theme-cycle [data-theme-symbol]{display:inline-flex;align-items:center;justify-content:center}
.hamburger-lines{display:flex;flex-direction:column;gap:6px;width:21px}.hamburger-lines span{height:1.7px;width:100%;background:currentColor;border-radius:2px;transition:width .18s}.hamburger-lines span:last-child{width:15px;margin-left:auto}.menu-button:hover .hamburger-lines span:last-child{width:21px}
.icon.fa-solid,.icon.fa-brands{display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:22px;line-height:1;width:24px;height:24px}
.contact-dock{right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));gap:10px}
.contact-dock a{padding:0;width:50px;height:50px;box-shadow:0 4px 18px #10203b15;transition:transform .18s,box-shadow .18s}
.contact-dock a:hover{transform:translateY(-2px);box-shadow:0 6px 22px #10203b25}.contact-dock .dock-whatsapp{background:#147b50;border-color:#147b50}.contact-dock .icon{width:24px;height:24px;font-size:23px}
.contact-dock a span{position:absolute;right:64px;white-space:nowrap;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:5px;font-size:.8125rem;display:block;opacity:0;visibility:hidden;transform:translateX(4px);transition:opacity .16s,transform .16s}
.contact-dock a:hover span,.contact-dock a:focus-visible span{opacity:1;visibility:visible;transform:translateX(0)}
body.dialog-open .contact-dock{visibility:hidden}
.mobile-menu{width:min(460px,100%);height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;padding:30px 34px calc(28px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;box-shadow:-18px 0 65px #10203b24;scrollbar-width:thin}
.mobile-top{margin-bottom:26px;gap:16px}.mobile-top .brand-mark{font-size:2.15rem}.mobile-top .brand-name{font-size:.8125rem}.mobile-top .brand-name small{font-size:.75rem;letter-spacing:.12em}.menu-close{width:42px;height:42px;flex:none;border:1px solid var(--line);border-radius:50%}
.menu-intro{font-size:1rem;color:var(--muted);line-height:1.8;margin-bottom:18px;max-width:29ch}
.mobile-menu .mobile-navigation a{gap:19px;min-height:68px;padding:18px 0;transition:color .18s}
.mobile-navigation a strong{font-size:1.5rem;font-weight:600;letter-spacing:-.04em;color:var(--ink)}
.mobile-menu .mobile-navigation .menu-index{font-size:.75rem;letter-spacing:.04em;font-weight:600;color:var(--muted);min-width:18px}
.mobile-menu .mobile-navigation .menu-arrow{font-size:1.05rem;margin-left:auto;color:var(--muted);transition:transform .18s}
.mobile-navigation a:hover .menu-arrow{transform:translate(2px,-2px);color:var(--accent)}.mobile-navigation a[aria-current=location] strong{color:var(--accent)}
.menu-contact{padding:27px 0 24px}.menu-label{font-size:.875rem;letter-spacing:.08em;font-weight:750;color:var(--muted);margin:0 0 12px}.mobile-phone{display:flex;align-items:center;gap:12px;margin:0 0 15px;font-size:1.125rem;letter-spacing:-.025em;line-height:1.5}.mobile-phone .icon{font-size:17px;width:19px;height:19px}
.menu-whatsapp{display:inline-flex;align-items:center;gap:9px;font-size:.875rem;font-weight:650;color:var(--accent)}.menu-whatsapp .icon{font-size:20px;width:21px}.menu-whatsapp>span{margin-left:5px}
.mobile-tools{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mobile-tools .language-switch{padding:4px}.mobile-tools .language-switch a{min-width:40px;min-height:40px;font-size:.875rem}
.theme-options{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:7px}.theme-options button{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;border-radius:4px;color:var(--muted);cursor:pointer}.theme-options button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.theme-options .icon{width:18px;height:18px}
.menu-legal{display:flex;flex-wrap:wrap;gap:10px 18px;padding-top:23px;line-height:1.8;font-size:.875rem;color:var(--muted)}.menu-legal .text-button{font-size:inherit;font-weight:inherit;padding:0}.menu-legal a:hover,.menu-legal button:hover{color:var(--ink)}
.noscript-nav{display:none}
.cookie-notice{display:block;padding:26px 28px;width:min(620px,calc(100% - 48px));max-width:620px;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));border-radius:12px;box-shadow:0 8px 22px #10203b0c,0 22px 80px #10203b20;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
.cookie-heading{display:flex;align-items:center;gap:13px;margin-bottom:14px}.cookie-notice .cookie-symbol{width:34px;height:34px;border-radius:8px;display:grid!important}.cookie-notice h2{font-size:1.125rem;line-height:1.4;margin:0;letter-spacing:-.025em;font-weight:700}
.cookie-notice #cookie-description{font-size:1rem;line-height:1.85;color:var(--muted);margin:0 0 11px}
.cookie-policy{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-size:.875rem;font-weight:650;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.cookie-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:23px}
.cookie-action{appearance:none;min-height:46px;padding:10px 8px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:650 .875rem/1.5 var(--font);cursor:pointer;transition:background .18s,border-color .18s}.cookie-action:hover{background:var(--soft);border-color:var(--muted)}
.privacy-dialog{width:min(640px,calc(100vw - 32px));padding:34px}.privacy-dialog h2{font-size:1.7rem;margin-bottom:16px}.privacy-dialog p{font-size:1rem}.privacy-dialog .preference-row{gap:24px;padding:24px 0;align-items:flex-start}.preference-row>div{min-width:0}.preference-row .eft-option{flex:none}.preference-row h3{font-size:1rem;line-height:1.5}.preference-row p{font-size:1rem;line-height:1.75}.always-on{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:.875rem;font-weight:650;padding:6px 8px;background:var(--soft);border:1px solid var(--line);border-radius:5px;color:var(--ink)}.always-on .icon{width:13px;height:13px}.privacy-information{padding:19px 0 0;color:var(--muted)}.privacy-information a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.privacy-dialog .dialog-actions{margin-top:23px;gap:10px;flex-wrap:wrap}.privacy-dialog .dialog-actions .button{font-size:.875rem;min-height:46px}
.evidence-reminder{padding:19px 20px;margin:0 0 24px;background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px}.evidence-reminder h4{font-size:.875rem;line-height:1.6;margin:0 0 8px;font-weight:750}.evidence-reminder p,.evidence-reminder li{font-size:1rem;line-height:1.8;color:var(--muted)}.evidence-reminder ul{padding-left:18px;margin:8px 0 13px}.evidence-reminder a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.evidence-reminder p:last-child{margin-bottom:0}.notice-message-label{display:none}
.legal-article{min-width:0}.legal-article p,.legal-article li{overflow-wrap:anywhere}.legal-article section{scroll-margin-top:125px}.legal-article th,.legal-article td{vertical-align:top}.legal-operator{overflow-wrap:anywhere}.legal-article .table-scroll{border-radius:7px;border:1px solid var(--line)}
.desktop-nav a{position:relative}.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s}.desktop-nav a[aria-current=location]::after{transform:scaleX(1)}
@media(max-width:1190px){.desktop-nav{gap:18px}.header-inner{gap:18px}.header-cta{padding:11px 14px}.header-actions{gap:8px}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-button{display:flex}.header-actions{margin-left:auto}.header-inner{height:82px}.noscript-nav{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;padding:14px 20px;background:var(--paper);border-bottom:1px solid var(--line);font-size:.8125rem}}
@media(max-width:640px){.header-inner{height:78px;gap:10px;width:calc(100% - 32px)}.header-actions{gap:5px}.header-cta{display:none}.language-switch a{min-width:36px;min-height:40px;font-size:.875rem}.header-actions .theme-cycle{width:44px}.header-actions .menu-button{width:44px}.brand-name{font-size:.875rem}.brand-name small{font-size:.75rem}.brand-mark{font-size:2rem}.contact-dock{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));flex-direction:row;gap:9px}.contact-dock a,.contact-dock .dock-phone{width:46px;height:46px;border-radius:50%;padding:0}.contact-dock a span{display:none}.contact-dock .icon{width:23px;height:23px;font-size:22px}html.cookie-visible .contact-dock{visibility:hidden}.cookie-notice{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);padding:21px 20px;max-width:none}.cookie-buttons{gap:7px;margin-top:19px;grid-template-columns:1fr}.cookie-action{font-size:.875rem;min-height:46px}.cookie-heading{gap:11px;margin-bottom:12px}.cookie-notice #cookie-description{font-size:1rem}.privacy-dialog{padding:26px 22px;max-height:calc(100dvh - 28px)}.privacy-dialog h2{font-size:1.45rem;line-height:1.35}.privacy-dialog .preference-row{gap:16px}.preference-row h3{font-size:1rem}.always-on{font-size:.875rem}.privacy-dialog .dialog-actions .button{width:100%}.mobile-menu{padding:25px 26px calc(25px + env(safe-area-inset-bottom))}.mobile-menu .mobile-navigation a{min-height:63px;padding:16px 0}.mobile-navigation a strong{font-size:1.35rem}.evidence-reminder{padding:16px}.legal-article section{scroll-margin-top:100px}}
@media(max-width:430px){.header-inner{height:auto;min-height:78px;padding-block:12px}.header-actions .theme-cycle{display:none}.header-inner .brand{gap:9px}.header-inner .brand-name{max-width:6.3rem;line-height:1.3;white-space:normal}.header-inner .brand-name small{display:none}.mobile-tools{flex-wrap:wrap;gap:20px}.mobile-top .brand-name small{letter-spacing:.04em}}
@media(max-width:370px){.mobile-menu{padding-left:21px;padding-right:21px}}
@media(max-height:720px){.mobile-menu .mobile-navigation a{min-height:57px;padding:12px 0}.mobile-top{margin-bottom:16px}.menu-intro{margin-bottom:9px}.menu-contact{padding:20px 0}.mobile-tools{padding:19px 0}.cookie-notice{max-height:calc(100dvh - 24px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.hamburger-lines span,.contact-dock a,.contact-dock a span,.menu-arrow,.desktop-nav a::after{transition:none}}
@media print{.cookie-notice,.mobile-menu,.noscript-nav,.contact-dock{display:none!important}.legal-article .table-scroll{overflow:visible}}

.legal-article caption{text-align:left;padding:13px 16px;background:var(--soft);font-size:.875rem;font-weight:650;color:var(--ink);border-bottom:1px solid var(--line)}
