/* Header with "Book online" and the expanded menu (Pantheon-style panels) */
.hd{position:sticky;top:0;z-index:60;background:rgba(243,247,246,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.hd-in{width:var(--wrap);margin-inline:auto;display:flex;align-items:center;gap:12px;min-height:76px}
.hd .brand{margin-right:auto;min-width:0;flex:0 1 auto}
.hd .brand-text{min-width:0}
.hd-act{display:flex;align-items:center;gap:10px;flex:none}
.hd-act .btn{min-height:48px}
.m-btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 8px 0 20px;border-radius:999px;border:1.5px solid var(--line-2);background:#fff;color:var(--navy);font:600 .98rem/1 var(--sans);cursor:pointer;transition:background-color .25s,color .25s,border-color .25s}
.m-btn:hover{border-color:var(--teal)}
.m-ico{position:relative;width:32px;height:32px;border-radius:50%;background:var(--navy);flex:none}
.m-ico i{position:absolute;left:9px;right:9px;height:2px;border-radius:2px;background:#fff;transition:transform .35s var(--ease),top .35s var(--ease)}
.m-ico i:first-child{top:12px}.m-ico i:last-child{top:18px}
.hd.is-open .m-btn{background:var(--navy);color:#fff;border-color:var(--navy)}
.hd.is-open .m-ico{background:#fff}
.hd.is-open .m-ico i{background:var(--navy);top:15px}
.hd.is-open .m-ico i:first-child{transform:rotate(45deg)}
.hd.is-open .m-ico i:last-child{transform:rotate(-45deg)}
.m-btn:focus-visible,.m-panel a:focus-visible,.hd .brand:focus-visible,.hd .btn:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.m-cta a:focus-visible{outline-color:#fff}
.m-panel{position:absolute;top:calc(100% + 6px);right:max(18px,(100vw - 1180px)/2);width:440px;max-width:calc(100vw - 24px);max-height:calc(100vh - 100px);max-height:calc(100svh - 100px);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:10px;padding:2px 2px 10px;visibility:hidden;pointer-events:none;transition:visibility 0s .3s}
.hd.is-open .m-panel{visibility:visible;pointer-events:auto;transition:none}
.m-card{border-radius:28px;border:1px solid rgba(255,255,255,.7);background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(234,246,243,.95));backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-10px) scale(.97);transform-origin:top right;transition:opacity .2s,transform .3s var(--ease)}
.hd.is-open .m-card{opacity:1;transform:none;transition:opacity .3s,transform .45s var(--ease)}
.hd.is-open .m-card:nth-child(2){transition-delay:.05s}.hd.is-open .m-card:nth-child(3){transition-delay:.1s}.hd.is-open .m-card:nth-child(4){transition-delay:.15s}
.m-main{padding:14px 22px}
.m-label{margin:0;padding:10px 0 2px;font:600 .75rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.m-main a{display:flex;align-items:center;justify-content:space-between;min-height:56px;color:var(--navy);text-decoration:none;font:500 1.55rem/1.1 var(--serif);border-bottom:1px solid var(--line)}
.m-main a:last-child{border-bottom:0}
.m-main a::after,.m-list a::after{content:"\2192";font:400 1rem var(--sans);color:var(--teal);opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .35s var(--ease)}
.m-panel a:hover::after,.m-panel a:focus-visible::after{opacity:1;transform:none}
.m-main a:hover{color:var(--teal)}
.m-list{padding:10px 22px 14px}
.m-list a{display:flex;align-items:center;justify-content:space-between;min-height:48px;color:var(--ink);text-decoration:none;font-weight:500;font-size:1.02rem;border-bottom:1px solid var(--line)}
.m-list a:last-child{border-bottom:0}.m-list a:hover{color:var(--teal)}
.m-cta{background:var(--teal);border-color:var(--teal)}
.m-cta a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:0 26px;border-radius:28px;color:#fff;text-decoration:none;font:600 1.3rem/1.2 var(--serif)}
.m-cta a::after{display:none}
.m-cta svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.m-cta a:hover svg{transform:translateX(5px)}
.m-cta:hover{background:var(--teal-deep)}
.m-foot{padding:14px 22px;display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.m-foot a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;border-radius:12px;color:var(--navy);font-weight:600;text-decoration:none}
.m-foot a:hover{color:var(--teal)}
.m-foot .tel{flex:1 0 100%;padding:0 0 0 10px;font-size:1.05rem}
.m-foot small{flex:1 0 100%;padding-left:10px;color:var(--muted);font-size:.85rem}
@media (max-width:640px){.m-panel{right:12px;width:calc(100vw - 24px)}.m-main a{font-size:1.4rem}.hd .brand-text span{display:none}.hd .brand strong{font-size:.95rem}.hd .brand svg{width:40px;height:40px}.hd-in{gap:8px}.hd-act{gap:6px}.hd-act .btn{padding:.8em 1em}.m-btn{padding-left:14px;gap:8px}.m-ico{width:28px;height:28px}.m-ico i{left:7px;right:7px}.m-ico i:first-child{top:10px}.m-ico i:last-child{top:16px}.hd.is-open .m-ico i{top:13px}.book-long{display:none}}
@media (min-width:641px){.book-short{display:none}}
@media (prefers-reduced-motion:reduce){.hd *,.hd *::before,.hd *::after{transition:none!important;animation:none!important}}
.hd.is-open{z-index:200}
