/* ============================================================
   DHALMIA — Navigation v3.2 — "the wayfinding frame"
   Bar · gliding copper frame · material-swap tabs · mega panels · drawer
   Requires: template-parts/dh-header.php (v3), assets/js/modules/nav-v1.1.js
   Replaces: dh-nav-drawer-v2.2.css
   ============================================================ */

.dh-nv.dh-nv,.dh-megas.dh-megas,.dh-drawer.dh-drawer,.dh-nv-scrim.dh-nv-scrim{--slate-950:#141617;--slate-900:#1A1C1D;--slate-850:#212121;--slate-800:#272A2B;--ink-0:#F1F2F2;--ink-1:#BEC2C3;--muted:#8C9092;--copper:#C87E33;--copper-bright:#E29A55;--copper-frame:rgba(200,126,51,.34);--copper-metal:linear-gradient(125deg,#E8A75E 0%,#C87E33 46%,#98601F 100%);--hair:rgba(241,242,242,.09);--hair-strong:rgba(241,242,242,.16);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',system-ui,sans-serif;--ease:cubic-bezier(.16,1,.3,1);--t-xs:clamp(.68rem,.64rem + .15vw,.74rem);--pad-x:clamp(1.15rem,.5rem + 4vw,5.5rem);--nav-h:4.5rem;--nav-h-top:5.5rem;--wrap:1560px}
.dh-nv.dh-nv *,.dh-megas.dh-megas *,.dh-drawer.dh-drawer *{box-sizing:border-box;margin:0;padding:0}
.dh-nv.dh-nv a,.dh-megas.dh-megas a,.dh-drawer.dh-drawer a{color:inherit;text-decoration:none}
.dh-nv.dh-nv button,.dh-megas.dh-megas button,.dh-drawer.dh-drawer button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.dh-megas.dh-megas ul,.dh-drawer.dh-drawer ul{list-style:none}
.dh-megas.dh-megas h2,.dh-megas.dh-megas h3{font-family:var(--serif);font-weight:300;color:var(--ink-0);line-height:1.06}
.dh-ovl.dh-ovl{display:inline-flex;align-items:center;gap:.9rem;font-size:var(--t-xs);letter-spacing:.32em;text-transform:uppercase;color:var(--copper-bright);font-weight:500;font-family:var(--sans)}
.dh-ovl.dh-ovl::before{content:"";width:2.4rem;height:1px;background:var(--copper)}
.dh-nv.dh-nv{font-family:var(--sans);font-weight:300;line-height:1.7;color:var(--ink-0);-webkit-font-smoothing:antialiased}
.dh-megas.dh-megas,.dh-drawer.dh-drawer{font-family:var(--sans);font-weight:300;line-height:1.7;color:var(--ink-1);-webkit-font-smoothing:antialiased}
.dh-nv__logo.dh-nv__logo span{display:inline-block}
.dh-m__empty.dh-m__empty{padding:.6rem 0;font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* ══ BAR ══ */
.dh-nv.dh-nv{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h-top);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding-inline:var(--pad-x);color:var(--ink-0);background:rgba(20,22,23,.96);border-bottom:1px solid var(--hair);transition:transform .55s var(--ease),height .5s var(--ease)}
.dh-nv.dh-nv::after{content:"";position:absolute;left:var(--pad-x);right:var(--pad-x);bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--copper-frame),transparent);pointer-events:none}
.dh-nv.dh-nv.is-scrolled,.dh-nv.dh-nv.is-open{height:var(--nav-h)}
.dh-nv.dh-nv.is-hidden{transform:translateY(-100%)}
.dh-nv__logo.dh-nv__logo{display:flex;align-items:center;gap:.8rem;font-family:var(--serif);letter-spacing:.4em;font-size:1.25rem;font-weight:400;transition:letter-spacing .6s var(--ease)}
.dh-nv.dh-nv.is-scrolled .dh-nv__logo{letter-spacing:.3em}.dh-nv__logo svg{width:2rem;height:1.2rem}
.dh-tabs.dh-tabs{display:flex;justify-content:center;gap:.4rem;height:100%}
.dh-tabs.dh-tabs{position:relative}
/* the wayfinding frame: one copper hairline rectangle that glides along the bar — resting on the page you are on, following the tab you are over */
.dh-tabs.dh-tabs .dh-tabs__frame{position:absolute;top:50%;left:0;width:0;height:2.4rem;transform:translate(0,-50%);border:1px solid var(--copper-frame);pointer-events:none;opacity:0;transition:transform .6s cubic-bezier(.3,1.25,.35,1),width .6s cubic-bezier(.3,1.25,.35,1),opacity .4s,border-color .4s}
.dh-tabs.dh-tabs .dh-tabs__frame.on{opacity:1}
.dh-tabs.dh-tabs .dh-tabs__frame.hold{border-color:var(--copper)}
.dh-tabs.dh-tabs .dh-tabs__frame i{position:absolute;width:7px;height:7px;border-style:solid;border-color:var(--copper);border-width:0;transform:scale(0);transition:transform .4s var(--ease)}
.dh-tabs.dh-tabs .dh-tabs__frame i:nth-child(1){top:-1px;left:-1px;border-top-width:1px;border-left-width:1px;transform-origin:top left}
.dh-tabs.dh-tabs .dh-tabs__frame i:nth-child(2){top:-1px;right:-1px;border-top-width:1px;border-right-width:1px;transform-origin:top right;transition-delay:.06s}
.dh-tabs.dh-tabs .dh-tabs__frame i:nth-child(3){bottom:-1px;left:-1px;border-bottom-width:1px;border-left-width:1px;transform-origin:bottom left;transition-delay:.12s}
.dh-tabs.dh-tabs .dh-tabs__frame i:nth-child(4){bottom:-1px;right:-1px;border-bottom-width:1px;border-right-width:1px;transform-origin:bottom right;transition-delay:.18s}
.dh-tabs.dh-tabs .dh-tabs__frame.hold i{transform:scale(1)}
@media (prefers-reduced-motion:reduce){.dh-tabs .dh-tabs__frame{transition:opacity .2s}}
.dh-tab.dh-tab{position:relative;height:100%;display:flex;align-items:center}
.dh-tab.dh-tab > a,.dh-tab.dh-tab > button{position:relative;display:flex;align-items:center;gap:.5rem;height:100%;padding:0 1.15rem}
/* masked label pair: sans small-caps rises out, copper italic serif rises in — a material change, not a colour fill */
.dh-lb.dh-lb{position:relative;display:block;overflow:hidden;line-height:1.6}
.dh-lb.dh-lb .l1,.dh-lb.dh-lb .l2{display:block;transition:transform .55s var(--ease),opacity .4s}
.dh-lb.dh-lb .l1{font-size:var(--t-xs);letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--ink-1)}
.dh-lb.dh-lb .l2{position:absolute;inset:0;transform:translateY(110%);font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.02rem;letter-spacing:.02em;text-transform:none;display:flex;align-items:center;justify-content:center;background:var(--copper-metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.dh-tab.dh-tab:hover .l1,.dh-tab.dh-tab.on .l1,.dh-tab.dh-tab > a[aria-current] .l1{transform:translateY(-110%);opacity:0}
.dh-tab.dh-tab:hover .l2,.dh-tab.dh-tab.on .l2,.dh-tab.dh-tab > a[aria-current] .l2{transform:none}
.dh-tab.dh-tab svg{width:.5rem;height:.5rem;stroke:var(--muted);fill:none;stroke-width:1.5;transition:transform .45s var(--ease),stroke .3s}
.dh-tab.dh-tab:hover svg,.dh-tab.dh-tab.on svg{stroke:var(--copper-bright)}
.dh-tab.dh-tab.on svg{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.dh-lb .l1,.dh-lb .l2,.dh-tab .dot{transition:none}}
.dh-nv__r.dh-nv__r{display:flex;align-items:center;gap:1.4rem}
.dh-nv__r.dh-nv__r .dh-nv__cta{position:relative}
.dh-nv__portal.dh-nv__portal{position:relative;padding-right:1.4rem}
.dh-nv__portal.dh-nv__portal::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:1.1rem;background:var(--hair-strong)}
.dh-nv__portal.dh-nv__portal{white-space:nowrap;font-size:var(--t-xs);letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--muted);transition:color .3s}.dh-nv__portal:hover{color:var(--ink-0)}
.dh-nv__cta.dh-nv__cta{position:relative;font-size:var(--t-xs);letter-spacing:.24em;text-transform:uppercase;font-weight:600;padding:.75rem 1.3rem;border:1px solid var(--copper);color:var(--copper-bright);transition:background .35s,color .35s,letter-spacing .5s var(--ease);white-space:nowrap}
.dh-nv__cta.dh-nv__cta i{position:absolute;width:7px;height:7px;border:0 solid var(--copper-bright);transform:scale(0);transition:transform .4s var(--ease)}
.dh-nv__cta.dh-nv__cta i:nth-child(1){top:-4px;left:-4px;border-top-width:1px;border-left-width:1px;transform-origin:top left}
.dh-nv__cta.dh-nv__cta i:nth-child(2){top:-4px;right:-4px;border-top-width:1px;border-right-width:1px;transform-origin:top right;transition-delay:.05s}
.dh-nv__cta.dh-nv__cta i:nth-child(3){bottom:-4px;left:-4px;border-bottom-width:1px;border-left-width:1px;transform-origin:bottom left;transition-delay:.1s}
.dh-nv__cta.dh-nv__cta i:nth-child(4){bottom:-4px;right:-4px;border-bottom-width:1px;border-right-width:1px;transform-origin:bottom right;transition-delay:.15s}
.dh-nv__cta.dh-nv__cta:hover{background:var(--copper);color:var(--slate-950);letter-spacing:.3em}
.dh-nv__cta.dh-nv__cta:hover i{transform:scale(1)}
.dh-nv__burger.dh-nv__burger{display:none;width:2rem;height:1rem;position:relative}.dh-nv__burger i{position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .5s var(--ease),opacity .3s}.dh-nv__burger i:nth-child(1){top:0}.dh-nv__burger i:nth-child(2){top:50%}.dh-nv__burger i:nth-child(3){bottom:0}
/* ══ MEGA ══ */
.dh-megas.dh-megas{position:fixed;left:0;right:0;top:var(--nav-h);z-index:99;pointer-events:none}
.dh-nv.dh-nv:not(.is-scrolled):not(.is-open) ~ .dh-megas{top:var(--nav-h-top)}
.dh-mega.dh-mega{position:absolute;left:0;right:0;top:0;background:rgba(20,22,23,.97);border-bottom:1px solid var(--hair);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .45s var(--ease),transform .55s var(--ease),visibility 0s .5s;pointer-events:none}
.dh-mega.dh-mega::before{content:"";position:absolute;left:var(--pad-x);right:var(--pad-x);top:-1px;height:1px;background:linear-gradient(90deg,var(--copper-bright),var(--copper) 40%,transparent 85%);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease) .1s}
.dh-mega.dh-mega.on::before{transform:scaleX(1)}
.dh-mega.dh-mega.on{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .45s var(--ease),transform .55s var(--ease)}
.dh-mega__in.dh-mega__in{max-width:var(--wrap);margin-inline:auto;padding:clamp(1.8rem,3vw,3rem) var(--pad-x) clamp(2rem,3.4vw,3.4rem);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6.2fr) minmax(0,2.8fr);gap:clamp(1.5rem,3vw,3.5rem);align-items:start}
.dh-mega__intro.dh-mega__intro h2{font-size:clamp(1.5rem,1rem + 1.6vw,2.5rem);margin:.7rem 0 .8rem;max-width:18ch}
.dh-mega__intro.dh-mega__intro h2 em{font-style:italic;background:var(--copper-metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.dh-mega__intro.dh-mega__intro p:last-of-type{color:var(--muted);max-width:40ch;font-size:.92rem}
.dh-mega__all.dh-mega__all{display:inline-flex;gap:.7rem;align-items:center;margin-top:1.2rem;font-size:var(--t-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--copper-bright);font-weight:500}.dh-mega__all i{width:2rem;height:1px;background:var(--copper);transition:width .4s var(--ease)}.dh-mega__all:hover i{width:3rem}
.dh-mega__cols.dh-mega__cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(1.5rem,3vw,3rem)}
.dh-mega__cols.dh-mega__cols h3{font-family:var(--sans);font-size:var(--t-xs);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:.6rem}
.dh-m__list.dh-m__list{border-top:1px solid var(--hair-strong)}
.dh-m__list.dh-m__list li a{display:grid;grid-template-columns:1.4rem minmax(0,1fr) 1rem;grid-template-areas:'n b go' 'n m go';align-items:center;column-gap:.9rem;row-gap:.1rem;padding:.55rem 0;border-bottom:1px solid var(--hair);color:var(--ink-1);transition:color .3s;position:relative}
.dh-m__list.dh-m__list li a b{grid-area:b;font-family:var(--serif);font-weight:300;font-size:clamp(1.05rem,.95rem + .5vw,1.3rem);line-height:1.15;color:var(--ink-0);transition:transform .5s var(--ease),color .3s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dh-m__n.dh-m__n{grid-area:n;position:relative;height:1px;background:var(--hair-strong);align-self:center;transition:background .3s}
.dh-m__list.dh-m__list li a:hover .dh-m__n,.dh-m__list.dh-m__list li a:focus-visible .dh-m__n,.dh-m__list.dh-m__list li a.on .dh-m__n{background:var(--copper)}
.dh-m__list.dh-m__list li a:hover b,.dh-m__list.dh-m__list li a.on b{color:var(--copper-bright);transform:translateX(4px)}
.dh-m__meta.dh-m__meta{grid-area:m;font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap;line-height:1.3}
.dh-m__meta.dh-m__meta.st{display:inline-flex;align-items:center;gap:.5rem}.dh-m__meta.st::before{content:"";width:.4rem;height:.4rem;border-radius:50%;border:1px solid var(--copper)}.dh-m__meta.st--site::before{background:var(--copper)}
.dh-m__go.dh-m__go{grid-area:go;color:var(--copper-bright);opacity:0;transform:translateX(-4px);transition:opacity .3s,transform .4s var(--ease)}.dh-m__list li a:hover .dh-m__go{opacity:1;transform:none}
.dh-mega__prev.dh-mega__prev{position:relative;border:1px solid var(--copper-frame);padding:.75rem}
.dh-mega__stack.dh-mega__stack{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--slate-900)}
.dh-mega__stack.dh-mega__stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9);opacity:0;transform:scale(1.05);transition:opacity .7s var(--ease),transform 2.4s var(--ease)}.dh-mega__stack img.on{opacity:1;transform:scale(1)}
.dh-mega__cap.dh-mega__cap{margin-top:.6rem;display:flex;justify-content:space-between;gap:.8rem;font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.dh-mega__cap b{font-family:var(--serif);font-style:italic;font-weight:300;letter-spacing:0;text-transform:none;font-size:1rem;color:var(--ink-0)}
.dh-mega.dh-mega .dh-m__list li a{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease),transform .6s var(--ease),color .3s}
.dh-mega.dh-mega.on .dh-m__list li a{opacity:1;transform:none}
.dh-mega.dh-mega.on .dh-m__list li:nth-child(1) a{transition-delay:.12s}.dh-mega.on .dh-m__list li:nth-child(2) a{transition-delay:.17s}.dh-mega.on .dh-m__list li:nth-child(3) a{transition-delay:.22s}.dh-mega.on .dh-m__list li:nth-child(4) a{transition-delay:.27s}.dh-mega.on .dh-m__list li:nth-child(5) a{transition-delay:.32s}
.dh-mega__intro.dh-mega__intro,.dh-mega__prev.dh-mega__prev{opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease) .1s,transform .6s var(--ease) .1s}.dh-mega.on .dh-mega__intro,.dh-mega.on .dh-mega__prev{opacity:1;transform:none}
.dh-nv-scrim.dh-nv-scrim{position:fixed;inset:0;z-index:98;background:rgba(20,22,23,.45);opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}.dh-nv-scrim.on{opacity:1;pointer-events:auto}
/* ══ mobile drawer ══ */
.dh-drawer.dh-drawer{position:fixed;inset:0 0 0 auto;width:min(92vw,440px);z-index:101;background:var(--slate-950);border-left:1px solid var(--hair);transform:translateX(100%);transition:transform .6s var(--ease);overflow:auto;padding:calc(var(--nav-h) + 1rem) var(--pad-x) 2rem;display:none;flex-direction:column}
.dh-drawer.dh-drawer.on{transform:none}
.dh-d__list.dh-d__list{border-top:1px solid var(--hair-strong)}
.dh-d__list.dh-d__list > li{border-bottom:1px solid var(--hair)}
.dh-d__list.dh-d__list > li > a,.dh-d__list.dh-d__list > li > button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem 0;font-family:var(--serif);font-size:1.7rem;color:var(--ink-0);text-align:left}
.dh-d__list.dh-d__list > li > button svg{width:.7rem;height:.7rem;stroke:currentColor;fill:none;stroke-width:1.6;transition:transform .4s var(--ease)}.dh-d__list > li.on > button svg{transform:rotate(180deg)}
.dh-d__sub.dh-d__sub{display:none;padding:0 0 1rem}.dh-d__list > li.on .dh-d__sub{display:block}
.dh-d__sub.dh-d__sub a{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid var(--hair);color:var(--ink-1)}.dh-d__sub a b{font-family:var(--serif);font-weight:300;font-size:1.1rem;color:var(--ink-0)}.dh-d__sub a span{font-size:var(--t-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.dh-d__foot.dh-d__foot{margin-top:auto;padding-top:1.5rem;display:flex;flex-direction:column;gap:.9rem}
@media (max-width:1100px){.dh-tabs,.dh-nv__portal{display:none}.dh-nv{grid-template-columns:auto 1fr auto}.dh-nv__burger{display:block}.dh-drawer{display:flex}.dh-megas{display:none}}
@media (max-width:640px){.dh-nv__cta{display:none}}
@media (prefers-reduced-motion:reduce){.dh-mega,.dh-mega *,.dh-mega__stack img,.dh-drawer,.dh-nv{transition:none!important}}


/* ============================================================
   — page-builder shield + admin bar
   Elementor kit CSS (loaded after this sheet) styles bare
   button/a/p/h/ul with .elementor-kit-N selectors; everything
   above is specificity-doubled to outrank it, and the button
   chrome below is pinned hard — the kit must never paint the
   tab triggers or the burger.
   ============================================================ */
.dh-nv button,.dh-megas button,.dh-drawer button{background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;outline-offset:2px}
.dh-nv.dh-nv button,.dh-megas.dh-megas button,.dh-drawer.dh-drawer button{margin:0;color:inherit;font-family:var(--sans);line-height:inherit;text-shadow:none}
.dh-nv.dh-nv .dh-tab > button{padding:0 1.15rem}
.dh-nv.dh-nv .dh-nv__burger{padding:0}
.dh-drawer.dh-drawer .dh-d__list > li > button{padding:1rem 0}
.dh-nv.dh-nv a,.dh-megas.dh-megas a,.dh-drawer.dh-drawer a{text-decoration:none;text-shadow:none}
.dh-megas.dh-megas p,.dh-megas.dh-megas h2,.dh-megas.dh-megas h3,.dh-megas.dh-megas ul{margin:0;padding:0}
.dh-megas.dh-megas ul{list-style:none}
/* WP admin bar: keep the fixed bar and the panels beneath it */
body.admin-bar .dh-nv{top:var(--wp-admin--admin-bar--height,32px)}
body.admin-bar .dh-megas{top:calc(var(--nav-h) + var(--wp-admin--admin-bar--height,32px))}
body.admin-bar .dh-nv:not(.is-scrolled):not(.is-open) ~ .dh-megas{top:calc(var(--nav-h-top) + var(--wp-admin--admin-bar--height,32px))}


/* ── — un-clipped: the nav wrappers no longer carry .dh-scope
   (dh-global's .dh-scope{overflow:clip} was clipping the zero-height
   .dh-megas wrapper, hiding every panel; .dh-scope also invited
   dh-stacking-fix isolation and hijacked the reveals module's
   first-scope lookup). Belt-and-braces below in case any future
   sheet clips these roots again. ── */
.dh-nv.dh-nv{overflow:visible}
.dh-megas.dh-megas{overflow:visible;background:transparent;isolation:auto;contain:none}
.dh-nv-scrim.dh-nv-scrim{overflow:visible;background:rgba(20,22,23,.45)}
