.header{z-index:100;height:var(--header-height);transition:background .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s,box-shadow .3s;position:fixed;top:0;left:0;right:0}.header--scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;box-shadow:0 1px 8px #00000014}.header__inner{max-width:1200px;height:100%;padding:0 var(--spacing-md);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.header__logo{font-family:var(--font-heading);color:var(--color-text-primary);white-space:nowrap;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:700;transition:color .3s;display:flex}.header__logo-img{object-fit:contain;flex-shrink:0;width:auto;height:2rem;display:block}.header--scrolled .header__logo{color:var(--color-text-primary)}.header__nav{align-items:center;gap:var(--spacing-md);display:flex}.header__nav-link{font-family:var(--font-body);color:var(--color-text-primary);font-size:.9375rem;font-weight:400;transition:color .2s;position:relative}.header__nav-link--active{color:var(--color-primary)}.header__nav-link:after{content:"";background:currentColor;width:0;height:2px;transition:width .2s;position:absolute;bottom:-2px;left:0}.header__nav-link:hover:after,.header__nav-link--active:after{width:100%}.header--scrolled .header__nav-link{color:var(--color-text-primary);text-shadow:none}.header--scrolled .header__nav-link--active{color:var(--color-primary)}.header__book-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-body);white-space:nowrap;align-items:center;padding:.4rem 1.1rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.header__book-btn:hover{background:var(--color-primary-dark);color:#fff}.header__book-btn:after{display:none}.header__hamburger{flex-direction:column;justify-content:center;gap:5px;width:2rem;height:2rem;padding:0;display:none}.header__hamburger span{background:var(--color-text-primary);border-radius:2px;height:2px;transition:transform .25s,opacity .25s;display:block}.header--scrolled .header__hamburger span{background:var(--color-text-primary)}.header__hamburger--open span:first-child{transform:translateY(7px)rotate(45deg)}.header__hamburger--open span:nth-child(2){opacity:0}.header__hamburger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (max-width:768px){.header__hamburger{display:flex}.header__nav{top:var(--header-height);padding:var(--spacing-sm) var(--spacing-md);background:#fff;flex-direction:column;align-items:stretch;gap:0;display:none;position:fixed;left:0;right:0;box-shadow:0 4px 12px #0000001a}.header__nav--open{display:flex}.header__nav-link{padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-card-border);font-size:1rem;color:var(--color-text-primary)!important;text-shadow:none!important}.header__nav-link:last-child{border-bottom:none}.header__book-btn{text-align:center;margin:var(--spacing-sm) 0 var(--spacing-xs);padding:.625rem var(--spacing-md);display:block}}
.footer{background:var(--color-sidebar-bg);color:#fffc;padding:var(--spacing-lg) 0 0}.footer__inner{max-width:1200px;padding:0 var(--spacing-md);gap:var(--spacing-md);grid-template-columns:2fr 1fr 1fr;margin:0 auto;display:grid}.footer__name{font-family:var(--font-heading);color:#fff;margin-bottom:var(--spacing-xs);font-size:1.25rem;font-weight:700}.footer__tagline{margin-bottom:var(--spacing-xs);color:#ffffffb3;font-size:.9375rem}.footer__location{color:#ffffff80;font-size:.875rem}.footer__links-title{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;margin-bottom:var(--spacing-xs);font-size:.875rem}.footer__links,.footer__contact{gap:var(--spacing-xs);flex-direction:column;display:flex}.footer__link{color:#ffffffb3;font-size:.9375rem;transition:color .2s}.footer__link:hover{color:#fff}.footer__bottom{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);text-align:center;color:#fff6;border-top:1px solid #ffffff1a;max-width:100%;font-size:.8125rem}@media (max-width:768px){.footer__inner{gap:var(--spacing-md);grid-template-columns:1fr}}
