.dn{--dn-pad:.9rem;position:relative;z-index:9990;width:100%;font-family:var(--dn-font);color:var(--dn-text);line-height:1.4}
.dn *,.dn *::before,.dn *::after{box-sizing:border-box}
.dn--sticky{position:sticky;top:0}
.dn--transparent{position:absolute;top:0;left:0;right:0}
.dn--transparent.dn--sticky{position:fixed}
.admin-bar .dn--sticky,.admin-bar .dn--transparent{top:32px}
@media (max-width:782px){.admin-bar .dn--sticky,.admin-bar .dn--transparent{top:46px}}
.dn--shrink.is-scrolled{--dn-pad:.45rem}

/* Top bar */
.dn-topbar{position:relative;z-index:2;background:#2b1d14;color:#f4e8d4;font-size:.78rem;letter-spacing:.04em}
.dn-topbar-in{max-width:var(--dn-max);margin:0 auto;padding:.4rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.dn-topbar a{color:inherit;font-weight:600;text-decoration:none}
.dn-topbar a:hover{color:var(--dn-accent)}
.dn-topbar-links{display:flex;gap:1.25rem}
.dn--transparent:not(.is-scrolled):not(.is-open) .dn-topbar{background:rgba(0,0,0,.3)}

/* Bar */
.dn-bar{position:relative;background:var(--dn-bg);transition:background-color .25s ease}
.dn--transparent:not(.is-scrolled):not(.is-open) .dn-bar{background:transparent}
.dn-inner{position:relative;z-index:2;max-width:var(--dn-max);margin:0 auto;padding:var(--dn-pad) 1.25rem;display:flex;align-items:center;gap:1.5rem;transition:padding .25s ease}

/* Brand */
.dn-brand{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--dn-text);text-decoration:none}
.dn-logo{display:block;height:var(--dn-logo-h);width:auto;max-width:220px;transition:height .25s ease}
.dn--shrink.is-scrolled .dn-logo{height:calc(var(--dn-logo-h) * .78)}
.dn-brand-text{font-size:1.5rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1}

/* Menu */
.dn-menu,.dn-menu ul{list-style:none;margin:0;padding:0}
.dn-menu a{color:var(--dn-text);font-weight:600;text-decoration:none}
.dn a:focus-visible,.dn button:focus-visible{outline:2px solid var(--dn-accent);outline-offset:3px;border-radius:4px}

.dn-sub-toggle{position:relative;width:1.75rem;height:1.75rem;padding:0;border:0;background:none;color:var(--dn-text);cursor:pointer;flex:0 0 auto}
.dn-sub-toggle::before{content:"";position:absolute;left:50%;top:50%;width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s ease}
.dn li.is-open>.dn-sub-toggle::before{transform:translate(-50%,-30%) rotate(-135deg)}

/* Button */
.dn .dn-cta{display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.4rem;background:var(--dn-accent);color:var(--dn-accent-text);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;white-space:nowrap;text-decoration:none;border-radius:var(--dn-radius);transition:filter .2s ease,transform .2s ease}
.dn .dn-cta:hover{filter:brightness(1.08);transform:translateY(-1px)}

/* Burger */
.dn-toggle{display:none;position:relative;padding:0;border:0;background:none;cursor:pointer;color:var(--dn-text)}
.dn-burger,.dn-burger::before,.dn-burger::after{display:block;width:24px;height:2px;border-radius:2px;background:var(--dn-text);transition:transform .25s ease,background-color .2s ease}
.dn-burger{position:relative}
.dn-burger::before,.dn-burger::after{content:"";position:absolute;left:0}
.dn-burger::before{top:-7px}
.dn-burger::after{top:7px}
.dn.is-open .dn-burger{background:transparent}
.dn.is-open .dn-burger::before{transform:translateY(7px) rotate(45deg)}
.dn.is-open .dn-burger::after{transform:translateY(-7px) rotate(-45deg)}

/* Thin gold line edge */
.dn--line .dn-bar{border-bottom:1px solid color-mix(in srgb,var(--dn-accent) 45%,transparent)}
.dn--transparent:not(.is-scrolled):not(.is-open).dn--line .dn-bar{border-bottom-color:transparent}

/* Dune edge */
.dn-dunes{display:none;position:absolute;left:0;right:0;top:100%;width:100%;height:10px;margin-top:-1px;fill:var(--dn-bg);pointer-events:none;transition:opacity .25s ease}
.dn--dunes .dn-dunes{display:block}
.dn--transparent:not(.is-scrolled):not(.is-open) .dn-dunes,.dn.is-open .dn-dunes{opacity:0}

.dn-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.dn-lock{overflow:hidden}

@media (prefers-reduced-motion:reduce){.dn *,.dn *::before,.dn *::after{transition:none!important;animation:none!important}}
