
        h1, h2 { letter-spacing: -0.02em; }
        h3 { letter-spacing: -0.01em; }
        html { font-size: clamp(14px, 2.1vh, 17px); scroll-snap-type: none; }
        section { scroll-snap-align: start; }
        body, button, input, select, textarea { font-family: 'Inter', system-ui, sans-serif; }
        h1, h2, h3, h4, .font-serif { font-family: 'Source Serif 4', Georgia, serif; }
        .hero-pattern {
            background-color: #FEFEFC;
        }
        
        .executive-card {
            background: #FEFEFC;
            border: 1px solid rgba(185,177,165,0.55);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            border-radius: 1rem;
            box-shadow: 0 1px 2px rgba(48,52,59,0.04), 0 6px 20px -12px rgba(48,52,59,0.10);
        }
        .executive-card:hover {
            border-color: #365D73;
            box-shadow: 0 16px 36px -10px rgba(54, 93, 115, 0.14);
            transform: translateY(-3px);
        }
    
        html, body { min-height: 100%; overflow-x: clip; overflow-y: auto; }
body { min-height: 100svh; height: auto; }
main { flex: 1 0 auto; min-height: 0; overflow: visible; }
main > section, main > section.active { display: flex !important; height: auto !important; min-height: min(70vh, 700px); overflow: visible; }
.nav-active { color: #365D73 !important; border-bottom-color: #365D73 !important; }
    
        .ph { background: rgba(185,177,165,.4); color: #30343B; padding: 0 .25em; border-radius: 2px; }
        html:not([data-lang]) .lang-es, html[data-lang="en"] .lang-es, html[data-lang="es"] .lang-en { display: none; }

        .btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.7rem 1.6rem !important; font-size:.8125rem !important; font-weight:600 !important; letter-spacing:.08em !important; line-height:1.25 !important; text-transform:uppercase; border-radius:9999px !important; border:1px solid transparent !important; transition:background-color .2s, color .2s, border-color .2s; cursor:pointer; }
        main > section:not(.legal) { justify-content: flex-start !important; }
        
        @media (max-width:1279px){ #lang-toggle { padding:2px; }
        #lang-toggle a { padding:.15rem .55rem !important; font-size:.6875rem !important; line-height:1.2 !important; } }
        #cookie-banner .btn { padding:.55rem 1rem !important; }
        @media (max-width:767px){ #cookie-banner .btn { padding:.45rem .2rem !important; font-size:.6875rem !important; letter-spacing:.03em !important; } }
        .btn-primary { background:#365D73 !important; color:#FEFEFC !important; border-color:#365D73 !important; }
        .btn-primary:hover { background:#30343B !important; border-color:#30343B !important; }
        .btn-secondary { background:transparent !important; color:#365D73 !important; border-color:#365D73 !important; }
        .btn-secondary:hover { background:#365D73 !important; color:#FEFEFC !important; }
        .btn-inverse { background:#FEFEFC !important; color:#365D73 !important; border-color:#FEFEFC !important; }
        .btn-inverse:hover { background:transparent !important; color:#FEFEFC !important; border-color:#FEFEFC !important; }
        .link-arrow { display:inline-flex; align-items:center; font-size:.8125rem !important; font-weight:600 !important; letter-spacing:.08em !important; line-height:1.25 !important; text-transform:uppercase; color:#365D73 !important; cursor:pointer; }
        .link-arrow:hover { text-decoration:underline; }
    
#lang-toggle a { display:inline-block; }

/* Form, keyboard and mobile accessibility */
:focus-visible { outline: 3px solid #365D73; outline-offset: 3px; }
.hp-field { position:absolute !important; left:-9999px !important; top:auto !important; width:1px !important; height:1px !important; overflow:hidden !important; }
#form-note { border-radius:.6rem; padding:.65rem .85rem; background:#eff8f3; color:#175333; }
#form-note.is-error { background:#fff1ef; color:#8b2921; }
#contact-form button[type=submit]:disabled { cursor:wait; opacity:.65; }
#mobile-menu:not(.hidden) { display:block; }
#mobile-menu a { min-height:42px; display:flex; align-items:center; }
@media (max-width:767px) {
 html { font-size:16px; }
 main > section, main > section.active { min-height: 0 !important; padding-top: 3rem !important; padding-bottom: 3.5rem !important; }
 #hdr-right { gap: .25rem; }
 header .h-20 { height: 4.75rem; }
 header .h-24 { height: 5rem; }
 .btn { min-height:42px; }
 .executive-card:hover { transform: none; }
 #cookie-banner { max-height: 66vh; }
}
@media (max-width:359px) {
 header .sm\:text-\[27px\] { font-size: 13px; }
 #lang-toggle a { padding: .1rem .35rem !important; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }
