/* ===== Cohesive header: mega-menu + unified CTA ===== */
header.nav .nav-inner{gap:14px}
header.nav .brand img{height:64px !important; width:auto !important}
nav.primary>ul{gap:16px; font-size:13.5px}
nav.primary li>a{white-space:nowrap; padding-bottom:20px}
nav.primary .caret{display:inline-block; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin:-3px 0 0 4px; opacity:.45; transition:transform .2s ease, opacity .2s}
nav.primary li:hover>a .caret{transform:rotate(225deg); opacity:.85}

.submenu{position:absolute; top:100%; margin-top:-8px; left:0; right:auto; transform:none; background:var(--white,#fff); border:1px solid var(--line,#E7E1D4); border-radius:16px; padding:16px; box-shadow:var(--shadow-lg,0 30px 70px -28px rgba(40,30,15,.34)); display:none; z-index:140}
.submenu::before{content:""; position:absolute; top:-14px; left:0; right:0; height:14px}
nav.primary li:hover>.submenu, nav.primary li:focus-within>.submenu{display:flex}
.submenu.a-center{left:50%; transform:translateX(-50%)}
.submenu.a-right{left:auto; right:0}
.submenu.simple{flex-direction:column; min-width:230px; gap:1px}
.submenu.simple a{display:block; padding:10px 13px; border-radius:10px; font-size:14px; font-weight:600; color:var(--ink-2,#423C33); transition:background .15s,color .15s}
.submenu.simple a:hover{background:var(--paper,#FAF8F3); color:var(--accent-deep,#BC5C20)}
.submenu.mega{flex-wrap:wrap; align-items:flex-start; gap:18px 30px; max-width:min(720px,92vw); padding:22px 26px}
.mgrp{display:flex; flex-direction:column; min-width:166px}
.mgrp.mgrp-2col{display:grid; grid-template-columns:1fr 1fr; gap:0 16px; align-content:start; min-width:220px}
.mgrp.mgrp-2col .mgrp-label{grid-column:1/-1}
.mgrp-label{font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--accent,#F08647); font-weight:600; margin-bottom:9px; padding-bottom:9px; border-bottom:1px solid var(--line,#E7E1D4)}
.mgrp a{display:block; padding:6px 0; font-size:13.5px; font-weight:600; color:var(--ink-2,#423C33); line-height:1.35; transition:color .15s}
.mgrp a:hover{color:var(--accent-deep,#BC5C20)}

/* ===== Unified CTA cluster ===== */
.nav-cta{display:flex; align-items:center; gap:10px}
.nav-search-btn{width:42px; height:42px; border-radius:50%; border:1px solid var(--line-strong,#D6CEBE); display:grid; place-items:center; background:transparent; color:var(--ink,#1B1916); transition:background .2s,color .2s,border-color .2s; flex-shrink:0; cursor:pointer; padding:0}
.nav-search-btn:hover{background:var(--ink,#1B1916); color:#fff; border-color:var(--ink,#1B1916)}
.nav-search-btn svg{width:17px; height:17px}
.nav-phone{font-weight:700; font-size:15px; color:var(--ink,#1B1916); display:none; align-items:center; gap:9px; padding:10px 16px; border:1px solid var(--line-strong,#D6CEBE); border-radius:999px; transition:background .2s,color .2s; white-space:nowrap; text-decoration:none}
.nav-phone:hover{background:var(--ink,#1B1916); color:#fff}
.nav-phone .ndot{width:7px; height:7px; border-radius:50%; background:#3FBF6F; flex-shrink:0; display:inline-block}
.nav-book{flex-shrink:0}
.nav-toggle{display:none; width:44px; height:44px; border:1px solid var(--line-strong,#D6CEBE); border-radius:50%; align-items:center; justify-content:center; background:transparent; flex-shrink:0; cursor:pointer; padding:0}
.nav-toggle>span{position:relative; display:block; width:18px; height:2px; background:var(--ink,#1B1916); border-radius:2px; transition:background .2s}
.nav-toggle>span::before,.nav-toggle>span::after{content:""; position:absolute; left:0; width:18px; height:2px; background:var(--ink,#1B1916); border-radius:2px; transition:transform .25s ease}
.nav-toggle>span::before{top:-6px}
.nav-toggle>span::after{top:6px}
body.drawer-open .nav-toggle>span{background:transparent}
body.drawer-open .nav-toggle>span::before{transform:translateY(6px) rotate(45deg)}
body.drawer-open .nav-toggle>span::after{transform:translateY(-6px) rotate(-45deg)}
body.drawer-open{overflow:hidden}

/* ===== Mobile accordion drawer ===== */
.drawer{position:fixed; inset:0; z-index:120; background:var(--paper,#FAF8F3); transform:translateX(100%); transition:transform .35s cubic-bezier(.22,1,.36,1); display:flex; flex-direction:column; padding:22px 24px; overflow-y:auto}
.drawer.open{transform:translateX(0)}
.drawer .cta-row{margin-top:20px; display:flex; flex-direction:column; gap:11px; flex-shrink:0}
.drawer-top{display:flex; align-items:center; justify-content:space-between}
.drawer-title{font-family:'JetBrains Mono',ui-monospace,monospace; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--muted,#6E675C)}
.drawer .x{width:46px; height:46px; border:1px solid var(--line-strong,#D6CEBE); border-radius:50%; background:var(--white,#fff); font-size:24px; line-height:1; color:var(--ink,#1B1916); cursor:pointer}
.dnav{display:flex; flex-direction:column; margin-top:16px; flex:1 1 auto; overflow-y:auto; -webkit-overflow-scrolling:touch}
.dnav .d-link{display:block; padding:15px 2px; border-bottom:1px solid var(--line,#E7E1D4); font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; font-size:25px; letter-spacing:-.01em; color:var(--ink,#1B1916)}
.d-sec{border-bottom:1px solid var(--line,#E7E1D4)}
.d-acc{display:flex; align-items:center; justify-content:space-between; width:100%; padding:15px 2px; background:none; border:0; font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; font-size:25px; letter-spacing:-.01em; color:var(--ink,#1B1916); cursor:pointer; text-align:left}
.d-caret{width:9px; height:9px; border-right:2px solid var(--accent,#F08647); border-bottom:2px solid var(--accent,#F08647); transform:rotate(45deg); transition:transform .25s ease; margin-right:6px; flex-shrink:0}
.d-acc[aria-expanded="true"] .d-caret{transform:rotate(-135deg)}
.d-panel{display:none; padding:2px 0 16px}
.d-sec.open .d-panel{display:block}
.d-panel a{display:block; padding:9px 0 9px 14px; font-size:16px; font-weight:600; color:var(--ink-2,#423C33)}
.d-panel a:hover{color:var(--accent-deep,#BC5C20)}
.d-grp{display:block; font-family:'JetBrains Mono',ui-monospace,monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--accent,#F08647); margin:14px 0 3px; font-weight:600}
.d-grp:first-child{margin-top:4px}

/* ===== Responsive: collapse to hamburger early enough to never overflow ===== */
@media (min-width:1500px){ .nav-phone{display:inline-flex} }
@media (max-width:1280px){
  nav.primary{display:none}
  .nav-toggle{display:inline-flex}
  .nav-phone{display:none}
  .nav-book{display:none}
  .nav-cta{gap:8px}
}
@media (max-width:1040px){ header.nav .brand img{height:58px !important} }
@media (max-width:560px){
  .nav-search-btn{width:40px; height:40px}
  .nav-toggle{width:42px; height:42px}
  header.nav .brand img{height:50px !important}
}
