.loader{position:fixed;inset:0;z-index:2000;background:var(--cream-2);display:grid;place-items:center;transition:.45s var(--ease)}
.loader.hide{opacity:0;visibility:hidden;pointer-events:none}
.loader-card{display:grid;place-items:center;gap:12px;font-weight:900;color:var(--maroon)}
.loader-card img{width:76px;animation:pulse 1.2s infinite alternate}
@keyframes pulse{to{transform:scale(1.06);filter:drop-shadow(0 12px 22px rgba(125,48,89,.22))}}
.topbar{background:var(--maroon-dark);color:rgba(255,255,255,.86);font-size:.82rem;padding:7px 0}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px}
.topbar-links{display:flex;gap:18px;align-items:center}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,250,240,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transition:.25s var(--ease)}
.site-header.scrolled{box-shadow:0 14px 35px rgba(58,22,45,.1)}
.nav-wrap{height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:10px;min-width:max-content}
.brand img{width:50px;height:50px;object-fit:contain}
.brand-text{display:grid;line-height:1.05;color:var(--maroon-dark)}
.brand-text strong{font-size:.98rem;letter-spacing:.04em}
.brand-text span{font-size:.66rem;color:var(--maroon);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nav-menu{display:flex;align-items:center;gap:2px}
.nav-menu a{padding:10px 11px;border-radius:999px;font-weight:800;font-size:.87rem;color:var(--maroon-dark);transition:.22s var(--ease)}
.nav-menu a:hover,.nav-menu a.active{background:var(--cream);color:var(--maroon)}
.nav-actions{display:flex;align-items:center;gap:10px}
.phone-link{font-size:.83rem;font-weight:900;color:var(--maroon)}
.menu-toggle{display:none;width:42px;height:42px;border:0;border-radius:14px;background:var(--maroon);color:var(--white);font-size:1rem}
.footer{position:relative;background:var(--maroon-dark);color:rgba(255,253,244,.76);padding:66px 0 26px;overflow:hidden}
.footer::before{content:"";position:absolute;inset:0;background:url('../images/water-pattern.svg') center/cover no-repeat;opacity:.14}
.footer .container{position:relative;z-index:2}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:28px}
.footer-logo{width:205px;margin-bottom:16px}
.footer h4{color:var(--white);font-size:1rem;margin-bottom:14px}
.footer li{margin-bottom:8px}
.footer a{color:rgba(255,253,244,.8)}
.footer a:hover{color:var(--white)}
.socials{display:flex;gap:10px;margin-top:14px}
.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);transition:.28s var(--ease)}
.socials a:hover{background:var(--gold);color:var(--maroon-dark);transform:translateY(-4px)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;margin-top:30px;border-top:1px solid rgba(255,253,244,.12);font-size:.88rem}
.back-top{position:fixed;right:20px;bottom:20px;z-index:800;width:48px;height:48px;border:0;border-radius:50%;background:var(--maroon);color:var(--white);box-shadow:0 18px 40px rgba(37,14,30,.28);opacity:0;pointer-events:none;transform:translateY(12px);transition:.3s var(--ease)}
.back-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}

/* Compact navigation and dropdown for additional pages */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-drop-btn{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--maroon-dark);font-weight:850;font-size:.86rem;border-radius:999px;padding:10px 11px;cursor:pointer;transition:.22s var(--ease)}
.nav-dropdown:hover .nav-drop-btn,.nav-dropdown.active .nav-drop-btn,.nav-drop-btn:focus{background:var(--cream);color:var(--maroon);outline:0}
.nav-drop-menu{position:absolute;right:0;top:calc(100% + 12px);width:230px;display:grid;gap:4px;padding:12px;background:rgba(255,250,240,.98);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-deep);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.24s var(--ease)}
.nav-dropdown:hover .nav-drop-menu,.nav-dropdown.open .nav-drop-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-drop-menu a{display:flex;align-items:center;gap:10px;border-radius:14px;padding:10px 12px;font-size:.86rem;white-space:nowrap}
.nav-drop-menu a i{width:18px;color:var(--maroon)}
