/* =========================================================
   PUBLIC PORTAL ACCESS + RESPONSIVE FOOTER
========================================================= */

/* Keep dropdowns visible outside the sticky header row. */
.topbar,.topbar .nav,.topbar .desktop-navigation,.topbar .nav-links{overflow:visible}
.topbar .nav-links>li{position:relative;display:flex;align-items:center}

.portal-dropdown-toggle{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;border:1px solid rgba(226,194,123,.42);border-radius:999px;color:#f3d78d;background:rgba(226,194,123,.07);font:700 12px/1 'Raleway',sans-serif;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:.22s ease}
.portal-dropdown-toggle:hover,.portal-dropdown.open .portal-dropdown-toggle{color:#102033;background:#fff;border-color:#fff}
.portal-dropdown-toggle .portal-chevron{transition:transform .22s ease}.portal-dropdown.open .portal-chevron{transform:rotate(180deg)}
.portal-dropdown-menu{position:absolute;top:calc(100% + 14px);right:0;z-index:1250;width:320px;padding:10px;border:1px solid rgba(226,194,123,.28);border-radius:18px;background:#fff;box-shadow:0 24px 65px rgba(5,24,48,.25);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .22s ease,transform .22s ease,visibility .22s ease}
.portal-dropdown-menu:before{content:"";position:absolute;top:-7px;right:28px;width:14px;height:14px;border-top:1px solid rgba(226,194,123,.28);border-left:1px solid rgba(226,194,123,.28);background:#fff;transform:rotate(45deg)}
.portal-dropdown.open .portal-dropdown-menu,.portal-dropdown:focus-within .portal-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.portal-dropdown-menu a{display:flex!important;align-items:center!important;gap:13px!important;min-height:70px!important;padding:12px 13px!important;border-radius:13px!important;color:#102033!important;background:transparent!important;text-transform:none!important;letter-spacing:0!important;transition:.2s ease!important}
.portal-dropdown-menu a:hover{background:#eef4fb!important;transform:translateX(3px)}
.portal-menu-icon{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:13px;color:#fff;font-size:16px}.portal-menu-icon.customer-icon{background:linear-gradient(135deg,#235d9b,#163b68)}.portal-menu-icon.admin-icon{color:#142a46;background:linear-gradient(135deg,#f0d07e,#d6a53d)}
.portal-dropdown-menu strong{display:block;margin-bottom:4px;color:#102033;font-size:13px}.portal-dropdown-menu small{display:block;color:#708096;font-size:10px;font-weight:500;line-height:1.4}

.mobile-portal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:9px 0}.mobile-panel .mobile-portal-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 12px;border-radius:13px;font-size:12px;text-align:center}.mobile-portal-button.customer{color:#fff;background:linear-gradient(135deg,#214f83,#143454)}.mobile-portal-button.admin{color:#102033;background:linear-gradient(135deg,#f1d282,#d6a33b)}

/* New responsive footer */
.site-footer{position:relative;padding:0 0 25px;background:linear-gradient(145deg,#091c31,#102d4d 64%,#153f69);overflow:hidden}.site-footer:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.075;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:72px 72px}.site-footer>.container{position:relative;z-index:1}
.footer-access-panel{display:flex;align-items:center;justify-content:space-between;gap:30px;transform:translateY(-1px);padding:28px 32px;border:1px solid rgba(232,190,95,.24);border-radius:0 0 26px 26px;background:linear-gradient(115deg,rgba(31,82,132,.98),rgba(10,36,65,.98));box-shadow:0 22px 55px rgba(0,0,0,.17)}
.footer-access-copy{max-width:720px}.footer-access-copy>span{color:#efc662;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.footer-access-copy h3{margin:7px 0 5px;color:#fff;font:700 clamp(25px,2.6vw,37px)/1.05 'Cormorant Garamond',serif}.footer-access-copy p{margin:0;color:rgba(255,255,255,.69);font-size:12px;line-height:1.65}.footer-access-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.footer-portal-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 17px;border-radius:13px;font-size:11px;font-weight:800;white-space:nowrap;transition:.22s ease}.footer-portal-button:hover{transform:translateY(-2px)}.footer-portal-button.customer{color:#102033;background:linear-gradient(135deg,#f1d486,#d8a63d)}.footer-portal-button.admin{color:#fff;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08)}
.footer-main-grid{display:grid;grid-template-columns:minmax(270px,1.35fr) .68fr .9fr 1.15fr;gap:42px;padding-top:62px;padding-bottom:42px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand-link{display:inline-flex;align-items:center;gap:13px;margin-bottom:17px}.footer-brand-link img,.footer-logo-fallback{width:66px;height:66px;object-fit:contain}.footer-logo-fallback{display:grid;place-items:center;border:1px solid rgba(231,190,96,.55);border-radius:50%;color:#efc55f;font-family:'Cinzel',serif;font-size:22px}.footer-brand-link>span{display:flex;flex-direction:column}.footer-brand-link strong{color:#efc45f;font:700 25px/1 'Cormorant Garamond',serif;letter-spacing:.04em}.footer-brand-link small{margin-top:5px;color:rgba(255,255,255,.78);font:500 13px/1.2 'Cormorant Garamond',serif}.footer-brand-column>p{max-width:420px;margin:0 0 17px;color:rgba(255,255,255,.68);font-size:13px;line-height:1.75}.footer-email{display:inline-flex;align-items:center;gap:8px;color:#efc45f;font-size:12px;font-weight:700}.footer-socials{display:flex;gap:10px;margin-top:18px}.footer-socials a{width:39px;height:39px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:12px;color:#fff;background:rgba(255,255,255,.06);transition:.2s}.footer-socials a:hover{color:#102033;background:#efc45f;border-color:#efc45f;transform:translateY(-2px)}
.footer-link-column h4,.footer-offices-column h4{margin:0 0 17px;color:#efc45f;font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.footer-link-column ul{list-style:none;display:grid;gap:10px}.footer-link-column a{color:rgba(255,255,255,.68);font-size:12px;transition:.2s}.footer-link-column a:hover{color:#fff;transform:translateX(3px)}
.footer-offices-column{display:grid;align-content:start;gap:13px}.footer-office-card{padding:15px 16px;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(255,255,255,.045)}.footer-office-card strong{display:block;margin-bottom:6px;color:#fff;font-size:11px}.footer-office-card p{margin:0;color:rgba(255,255,255,.65);font-size:11px;line-height:1.65}.footer-office-card small{display:block;margin-top:7px;color:#e0bc6c;font-size:9px}
.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;color:rgba(255,255,255,.55);font-size:11px}.footer-legal-links{display:flex;align-items:center;gap:18px}.footer-legal-links a{color:rgba(255,255,255,.65)}.footer-legal-links a:hover{color:#efc45f}

@media(max-width:1500px){.topbar .nav-links{display:none}.topbar .nav-toggle{display:flex}}
@media(max-width:1050px){.footer-access-panel{align-items:flex-start;flex-direction:column}.footer-main-grid{grid-template-columns:1.2fr 1fr}.footer-access-actions{width:100%}.footer-portal-button{flex:1}.footer-offices-column{grid-column:span 2;grid-template-columns:1fr 1fr}.footer-offices-column h4{grid-column:span 2}}
@media(max-width:680px){.mobile-portal-actions{grid-template-columns:1fr}.footer-access-panel{padding:24px 20px}.footer-access-actions{flex-direction:column}.footer-portal-button{width:100%}.footer-main-grid{grid-template-columns:1fr;gap:30px;padding-top:45px}.footer-offices-column{grid-column:auto;grid-template-columns:1fr}.footer-offices-column h4{grid-column:auto}.site-footer .footer-bottom{align-items:flex-start;flex-direction:column}.footer-legal-links{flex-wrap:wrap}.footer-brand-link strong{font-size:23px}}

/* Final compatibility adjustments for the legacy stylesheet. */
.site-footer .footer-brand-link img{margin-bottom:0}.mobile-panel{max-height:calc(100vh - 105px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:560px){.mobile-panel{max-height:calc(100vh - 82px)}}
