/* ========================= Header ========================= */
.hb-site-header{position:fixed;z-index:9998;top:0;right:0;left:0;width:100%;font-family:var(--font-body)}
.hb-header-spacer{height:var(--header-main-height)}
.hb-header-top{display:none;background:var(--color-navy-deep);color:var(--color-white)}
.hb-header-top__inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hb-header-top__group{display:flex;align-items:center;gap:18px;min-width:0}
.hb-header-top__link{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.94);font-size:.78rem;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap}
.hb-header-top__link:hover{color:var(--color-gold-soft)}
.hb-header-top__meta{color:rgba(255,255,255,.70);font-size:.75rem;font-weight:600;white-space:nowrap}
.hb-header-main{border-bottom:1px solid rgba(9,55,83,.12);background:rgba(255,255,255,.975);backdrop-filter:blur(14px);transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition)}
.hb-site-header.is-scrolled .hb-header-main{border-bottom-color:rgba(9,55,83,.22);background:rgba(255,255,255,.995);box-shadow:var(--shadow-header)}
.hb-header-main__inner{min-height:var(--header-main-height);display:grid;grid-template-columns:minmax(0,1fr) 46px 46px;align-items:center;gap:9px}
.hb-header-logo{display:inline-flex;align-items:center;justify-content:flex-start;width:min(172px,46vw);padding:0;border:0;background:transparent;text-decoration:none;line-height:0}
.hb-header-actions{display:contents}
.hb-header-call,.hb-header-menu-button,.hb-nav-close{width:46px;height:46px;display:grid;place-items:center;margin:0;padding:0;border:1px solid rgba(9,55,83,.18);border-radius:6px;background:var(--color-white);color:var(--color-navy-deep);text-decoration:none;cursor:pointer;appearance:none;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}
.hb-header-call:hover,.hb-header-call:focus-visible{border-color:rgba(12,76,115,.42);color:var(--color-navy-deep);background:var(--color-sky);box-shadow:0 4px 12px rgba(9,55,83,.08)}
.hb-header-menu-button{border-color:var(--color-navy-deep);background:var(--color-navy-deep);color:var(--color-white);box-shadow:inset 3px 0 0 var(--color-gold)}
.hb-header-menu-button:hover,.hb-header-menu-button:focus-visible,.hb-header-menu-button[aria-expanded="true"]{border-color:var(--color-navy);background:var(--color-navy);color:var(--color-white);box-shadow:inset 3px 0 0 var(--color-gold),0 4px 12px rgba(9,55,83,.12)}
.hb-header-desktop-cta{display:none}
.hb-nav-backdrop{position:fixed;z-index:9998;inset:0;margin:0;padding:0;border:0;opacity:0;visibility:hidden;background:rgba(9,55,83,.74);cursor:pointer;transition:opacity var(--transition),visibility var(--transition)}
.hb-primary-nav{position:fixed;z-index:9999;top:0;right:0;bottom:0;width:min(90vw,400px);overflow-y:auto;overscroll-behavior:contain;border-left:1px solid rgba(240,161,25,.26);background:var(--color-navy-deep);color:var(--color-white);box-shadow:-18px 0 50px rgba(0,0,0,.25);visibility:hidden;transform:translateX(103%);transition:transform 240ms cubic-bezier(.2,.75,.25,1),visibility 240ms ease}
.hb-site-header.is-nav-open .hb-primary-nav{visibility:visible;transform:translateX(0)}
.hb-site-header.is-nav-open .hb-nav-backdrop{opacity:1;visibility:visible}
.hb-nav-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.14)}
.hb-nav-head__logo{display:block;width:min(220px,66vw)}
.hb-nav-head__logo img{display:block;width:100%;height:auto;max-height:78px;object-fit:contain;object-position:left center}
.hb-nav-close{flex:0 0 auto;border-color:rgba(240,161,25,.52);background:transparent;color:var(--color-gold)}
.hb-nav-close:hover,.hb-nav-close:focus-visible{border-color:rgba(240,161,25,.72);background:rgba(255,255,255,.08);color:var(--color-gold-soft)}
.hb-nav-list{margin:0;padding:8px 18px 0;list-style:none}
.hb-nav-item{border-bottom:1px solid rgba(255,255,255,.11)}
.hb-nav-link,.hb-nav-dropdown>summary{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;color:rgba(255,255,255,.92);font-size:.96rem;font-weight:600;line-height:1.4;text-decoration:none;cursor:pointer;list-style:none;transition:color var(--transition),padding-left var(--transition)}
.hb-nav-dropdown>summary::-webkit-details-marker{display:none}
.hb-nav-dropdown>summary::after{content:"";width:8px;height:8px;flex:0 0 auto;border-right:2px solid var(--color-gold);border-bottom:2px solid var(--color-gold);transform:rotate(45deg) translateY(-2px);transition:transform var(--transition)}
.hb-nav-dropdown[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.hb-nav-link:hover,.hb-nav-link:focus-visible,.hb-nav-link[aria-current="page"],.hb-nav-dropdown>summary:hover,.hb-nav-dropdown>summary:focus-visible{padding-left:6px;color:var(--color-gold)}
.hb-nav-menu{display:grid;grid-template-columns:1fr;gap:2px;margin:0 0 12px;padding:6px 0 4px 10px}
.hb-nav-menu a{min-height:40px;display:flex;align-items:center;padding:7px 10px;border-left:2px solid rgba(240,161,25,.30);color:rgba(255,255,255,.78);font-size:.84rem;font-weight:500;line-height:1.35;text-decoration:none;transition:background-color var(--transition),border-color var(--transition),color var(--transition)}
.hb-nav-menu a:hover,.hb-nav-menu a:focus-visible{border-left-color:var(--color-gold);background:rgba(255,255,255,.06);color:var(--color-white)}
.hb-nav-mobile-meta{display:grid;gap:14px;padding:18px}
.hb-nav-mobile-meta .hb-button{width:100%}
.hb-nav-mobile-contacts{display:grid;gap:9px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}
.hb-nav-mobile-contacts a{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.86);font-size:.84rem;font-weight:600;text-decoration:none}
.hb-socials{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.hb-social-link{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:var(--color-white);background:rgba(255,255,255,.025);text-decoration:none;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}
.hb-social-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hb-social-link:hover,.hb-social-link:focus-visible{border-color:rgba(240,161,25,.76);background:rgba(240,161,25,.12);color:var(--color-gold-soft);box-shadow:0 0 0 3px rgba(240,161,25,.08)}

/* ========================= Footer ========================= */
.hb-site-footer{position:relative;overflow:hidden;background:var(--color-navy-deep);color:var(--color-white);font-family:var(--font-body)}
.hb-footer-main{position:relative;overflow:hidden;padding-block:58px;background:linear-gradient(145deg,var(--color-navy-deep),#062e46)}
.hb-footer-main::before,.hb-footer-main::after{content:"";position:absolute;border:1px solid rgba(240,161,25,.14);border-radius:50%;pointer-events:none}
.hb-footer-main::before{width:360px;height:360px;top:-220px;right:-100px}
.hb-footer-main::after{width:250px;height:250px;right:5%;bottom:-170px}
.hb-footer-grid{position:relative;z-index:1;display:grid;gap:22px}
.hb-footer-brand{max-width:580px;padding-bottom:8px}
.hb-footer-logo{display:inline-flex;align-items:center;width:min(290px,78vw);text-decoration:none}
.hb-header-logo img,.hb-footer-logo img{display:block;width:100%;height:auto;object-fit:contain;object-position:left center}
.hb-footer-summary{max-width:56ch;margin:22px 0 0;color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.78}
.hb-footer-review{display:grid;gap:4px;max-width:410px;margin-top:20px;padding:15px 16px;border:1px solid rgba(240,161,25,.38);border-left:3px solid var(--color-gold);border-radius:var(--radius);background:rgba(255,255,255,.055);color:var(--color-white);text-decoration:none;transition:background-color var(--transition),border-color var(--transition),transform var(--transition)}
.hb-footer-review:hover,.hb-footer-review:focus-visible{border-color:rgba(240,161,25,.72);background:rgba(255,255,255,.07)}
.hb-footer-review__rating{color:var(--color-gold);font-size:.84rem;font-weight:700}
.hb-footer-review__title{color:var(--color-white);font-size:.9rem;font-weight:700}
.hb-footer-review__meta{color:rgba(255,255,255,.70);font-size:.74rem}
.hb-footer-socials{margin-top:19px}
.hb-footer-group{overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:rgba(255,255,255,.03)}
.hb-footer-group>summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;color:var(--color-white);font-family:var(--font-display);font-size:1.06rem;font-weight:600;line-height:1.3;list-style:none;cursor:pointer}
.hb-footer-group>summary::-webkit-details-marker{display:none}
.hb-footer-group>summary::after{content:"";width:9px;height:9px;flex:0 0 auto;border-right:2px solid var(--color-gold);border-bottom:2px solid var(--color-gold);transform:rotate(45deg) translateY(-2px);transition:transform var(--transition)}
.hb-footer-group[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
.hb-footer-group__content{padding:3px 15px 16px;border-top:1px solid rgba(255,255,255,.09)}
.hb-footer-links,.hb-footer-contact-list{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.hb-footer-link{min-height:38px;display:flex;align-items:center;gap:9px;padding:6px 0;color:rgba(255,255,255,.78);font-size:.9rem;text-decoration:none;transition:color var(--transition),transform var(--transition)}
.hb-footer-link::before{content:"";width:5px;height:5px;flex:0 0 auto;border:1px solid rgba(240,161,25,.82);border-radius:50%}
.hb-footer-link:hover,.hb-footer-link:focus-visible{color:var(--color-white)}
.hb-footer-contact-list{gap:12px}
.hb-footer-contact{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;align-items:start}
.hb-footer-contact__icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(240,161,25,.38);border-radius:50%;color:var(--color-gold);background:rgba(255,255,255,.035)}
.hb-footer-contact__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hb-footer-contact__label{display:block;margin:0 0 2px;color:rgba(255,255,255,.58);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hb-footer-contact__value{color:var(--color-white);font-size:.89rem;font-weight:700;line-height:1.45;text-decoration:none;overflow-wrap:anywhere}
.hb-footer-contact__value:hover{color:var(--color-gold-soft)}
.hb-footer-bottom{border-top:1px solid rgba(255,255,255,.10);background:#062b42}
.hb-footer-bottom__inner{display:grid;gap:8px;padding-block:18px 86px}
.hb-footer-copyright{margin:0;color:rgba(255,255,255,.65);font-size:.76rem;line-height:1.6}
.hb-footer-copyright strong{color:rgba(255,255,255,.9)}
.hb-floating-appointment{position:fixed;z-index:9995;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));min-height:56px;display:flex;align-items:center;gap:14px;padding:10px 14px 10px 16px;border:1px solid rgba(255,255,255,.16);border-left:3px solid var(--color-gold);border-radius:7px;background:var(--color-navy-deep);color:var(--color-white);box-shadow:0 12px 30px rgba(9,55,83,.24);font-size:.84rem;font-weight:700;line-height:1.15;text-decoration:none;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition)}
.hb-floating-appointment__text{display:grid;gap:3px}
.hb-floating-appointment__sub{color:rgba(255,255,255,.68);font-size:.65rem;font-weight:600}
.hb-floating-appointment__icon{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border-left:1px solid rgba(255,255,255,.16);border-radius:0;background:transparent;color:var(--color-gold-soft)}
.hb-floating-appointment__icon svg{width:17px;height:17px}
.hb-floating-appointment:hover,.hb-floating-appointment:focus-visible{border-color:rgba(240,161,25,.62);border-left-color:var(--color-gold);background:var(--color-navy);box-shadow:0 14px 32px rgba(9,55,83,.28)}

@media (max-width:25rem){
  .hb-floating-appointment{right:10px;left:10px;bottom:max(10px,env(safe-area-inset-bottom));justify-content:center}
}
@media (min-width:48rem){
  :root{--page-gutter:32px}
  .hb-header-main__inner{grid-template-columns:minmax(0,1fr) 48px 48px}
  .hb-header-logo{width:190px}
  .hb-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hb-footer-brand{grid-column:1/-1}
  .hb-footer-grid>.hb-footer-group:last-child{grid-column:1/-1}
  .hb-footer-contact-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hb-footer-bottom__inner{padding-bottom:18px}
}
@media (min-width:64rem){
  .hb-header-top{display:block}
  .hb-header-top .hb-social-link{width:30px;height:30px}
  .hb-header-top .hb-social-link svg{width:14px;height:14px}
}
@media (min-width:72rem){
  :root{--page-gutter:clamp(40px,5vw,72px)}
  .hb-header-main__inner{min-height:82px;grid-template-columns:230px minmax(0,1fr) auto;gap:clamp(20px,3vw,42px)}
  .hb-header-logo{width:216px}
  .hb-header-call,.hb-header-menu-button,.hb-nav-backdrop,.hb-nav-head,.hb-nav-mobile-meta{display:none}
  .hb-header-actions{display:none}
  .hb-primary-nav{position:static;z-index:auto;width:auto;overflow:visible;border:0;background:transparent;color:var(--color-charcoal);box-shadow:none;visibility:visible;transform:none;transition:none}
  .hb-nav-list{height:82px;display:flex;align-items:stretch;justify-content:center;gap:clamp(4px,.75vw,14px);padding:0}
  .hb-nav-item{position:relative;display:flex;align-items:stretch;border:0}
  .hb-nav-link,.hb-nav-dropdown>summary{position:relative;min-height:0;height:100%;padding:0 10px;color:var(--color-charcoal);font-size:.88rem;font-weight:600;white-space:nowrap}
  .hb-nav-link::after,.hb-nav-dropdown>summary::before{content:"";position:absolute;right:10px;bottom:20px;left:10px;height:2px;background:var(--color-gold);transform:scaleX(0);transform-origin:left;transition:transform var(--transition)}
  .hb-nav-link:hover,.hb-nav-link:focus-visible,.hb-nav-link[aria-current="page"],.hb-nav-dropdown>summary:hover,.hb-nav-dropdown>summary:focus-visible{padding-left:10px;color:var(--color-navy-deep)}
  .hb-nav-link:hover::after,.hb-nav-link:focus-visible::after,.hb-nav-link[aria-current="page"]::after,.hb-nav-dropdown>summary:hover::before,.hb-nav-dropdown>summary:focus-visible::before,.hb-nav-dropdown[open]>summary::before{transform:scaleX(1)}
  .hb-nav-dropdown{height:100%;display:flex;align-items:stretch}
  .hb-nav-dropdown>summary{gap:10px}
  .hb-nav-dropdown>summary::after{border-color:var(--color-navy);margin-top:-4px}
  .hb-nav-dropdown[open]>summary::after{transform:rotate(225deg) translate(-2px,-2px)}
  .hb-nav-menu{position:absolute;top:calc(100% - 1px);left:50%;width:min(720px,66vw);grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0;padding:12px;border:1px solid rgba(9,55,83,.14);border-top:3px solid var(--color-gold);border-radius:0 0 8px 8px;background:var(--color-white);box-shadow:var(--shadow-header);transform:translateX(-50%)}
  .hb-nav-menu a{min-height:42px;padding:8px 10px;border-left:3px solid transparent;border-radius:4px;color:var(--color-charcoal);font-size:.8rem;font-weight:600}
  .hb-nav-menu a:hover,.hb-nav-menu a:focus-visible{border-left-color:var(--color-gold);background:var(--color-sky);color:var(--color-navy-deep)}
  .hb-header-desktop-cta{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:1px solid var(--color-navy-deep);border-radius:6px;background:var(--color-navy-deep);color:var(--color-white);box-shadow:inset 3px 0 0 var(--color-gold),0 5px 14px rgba(9,55,83,.10);font-size:.84rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition)}
  .hb-header-desktop-cta:hover,.hb-header-desktop-cta:focus-visible{border-color:var(--color-navy);background:var(--color-navy);box-shadow:inset 3px 0 0 var(--color-gold),0 7px 18px rgba(9,55,83,.14)}
  .hb-footer-main{padding-block:74px}
  .hb-footer-grid{grid-template-columns:minmax(310px,1.35fr) minmax(160px,.72fr) minmax(175px,.82fr) minmax(260px,1.05fr);gap:clamp(28px,3vw,50px)}
  .hb-footer-brand,.hb-footer-grid>.hb-footer-group:last-child{grid-column:auto}
  .hb-footer-logo{width:min(320px,100%)}
  .hb-footer-group{overflow:visible;border:0;border-radius:0;background:transparent}
  .hb-footer-group>summary{min-height:0;padding:0 0 17px;pointer-events:none;cursor:default}
  .hb-footer-group>summary::after{display:none}
  .hb-footer-group__content{display:block!important;padding:0;border:0}
  .hb-footer-contact-list{grid-template-columns:1fr;gap:12px}
  .hb-floating-appointment{display:none}
}
@media (min-width:100rem){
  :root{--page-gutter:72px}
  .hb-footer-main{padding-block:86px}
}
@media (prefers-reduced-motion:reduce){
  .hb-site-header *,.hb-site-header *::before,.hb-site-header *::after,.hb-site-footer *,.hb-site-footer *::before,.hb-site-footer *::after,.hb-floating-appointment,.hb-floating-appointment *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* WordPress admin bar offset. */
body.admin-bar .hb-site-header{top:46px}
@media (min-width:782px){body.admin-bar .hb-site-header{top:32px}}
