/* Luna Aerial — shared main navigation */
body.custom-cursor-active .hamburger{cursor:none;}

#nav{position:fixed;top:0;left:0;right:0;z-index:200;transition:transform .35s ease;}
#nav.nav-hidden{transform:translateY(-100%);}
#nav::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(13,13,13,0.72) 0%,rgba(13,13,13,0.45) 45%,rgba(13,13,13,0.12) 80%,rgba(13,13,13,0) 100%);transition:opacity .5s ease;}
#nav.solid::before{opacity:0;}
.nav-bar{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 56px;height:60px;background:transparent;border-bottom:none;transition:background .5s ease;}
#nav.solid .nav-bar{background:var(--obsidian);}
@media(min-width:961px){
#nav::before{display:none;}
#nav{background:var(--obsidian);border-bottom:none;transition:transform .35s ease;}
.nav-bar{background:var(--obsidian);border-bottom:none;}
.nav-tabs{border-bottom:1px solid rgba(255,255,255,0.06);}
.mobile-menu{display:none;}
}
@media(max-width:960px){
#nav.solid .nav-bar{border-bottom:1px solid rgba(255,255,255,0.06);}
#nav.solid .nav-logo-tag{opacity:0;max-height:0;margin-top:0;overflow:hidden;}
}
.nav-bar-left{justify-self:start;}
.nav-bar-center{justify-self:center;min-width:0;max-width:100%;}
.nav-bar-right{justify-self:end;display:flex;align-items:center;gap:16px;}
.nav-search{display:inline-flex;align-items:center;gap:7px;padding:0;border:none;background:transparent;color:rgba(242,242,242,0.82);font-family:var(--sans);font-size:11px;font-weight:300;letter-spacing:0.08em;text-transform:none;cursor:pointer;transition:color .3s ease;}
.nav-search:hover{color:#fff;}
.nav-search-icon{display:block;flex-shrink:0;}
.nav-logo-wrap{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1;justify-content:center;text-align:center;text-decoration:none;white-space:nowrap;}
.nav-logo-name{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:0.14em;color:#ffffff;-webkit-font-smoothing:antialiased;}
.nav-logo-tag{font-family:var(--sans);font-size:8px;font-weight:300;letter-spacing:0.4em;text-transform:uppercase;color:rgba(242,242,242,0.75);margin-top:3px;transition:opacity .3s ease,max-height .3s ease,margin .3s ease;}
.nav-begin{display:inline-block;padding:6px 2px 4px;font-family:var(--sans);font-size:12.5px;font-weight:300;letter-spacing:0.06em;color:#fff;text-decoration:none;border-bottom:1.5px solid var(--rose);transition:color .3s ease,border-color .3s ease,opacity .3s ease;}
.nav-begin:hover{color:#fff;border-bottom-color:var(--rose-pale);opacity:0.92;}
.nav-tabs{position:relative;z-index:1;list-style:none;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:30px;margin:0;padding:4px 56px 12px;}
.nav-tabs > li > a,.nav-tabs .nav-dd-trigger{font-family:var(--sans);font-size:12px;font-weight:300;letter-spacing:0.04em;text-transform:none;color:rgba(242,242,242,0.6);text-decoration:none;position:relative;transition:color .3s ease;}
.nav-tabs > li > a::after,.nav-tabs .nav-dd-trigger::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--rose);transition:width .3s var(--ease-out);}
.nav-tabs > li > a:hover,.nav-tabs .nav-dd-trigger:hover{color:#fff;}
.nav-tabs > li > a:hover::after,.nav-tabs .nav-dd-trigger:hover::after,.nav-item-has-dropdown:hover .nav-dd-trigger::after,.nav-item-has-dropdown:focus-within .nav-dd-trigger::after{width:100%;}
.nav-item-has-dropdown{position:relative;}
.nav-item-has-dropdown:hover .nav-dd-trigger,.nav-item-has-dropdown:focus-within .nav-dd-trigger{color:#fff;}
.nav-dd-trigger{display:inline-flex;align-items:center;}
.nav-dropdown{position:absolute;top:calc(100% - 4px);left:50%;transform:translateX(-50%) translateY(10px);margin-top:0;padding:42px 30px 30px 30px;list-style:none;display:flex;gap:50px;align-items:flex-start;background:#2b282c;box-shadow:0 14px 48px rgba(0,0,0,0.35);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s var(--ease-out),visibility .28s,transform .28s var(--ease-out);z-index:250;}
.nav-item-has-dropdown:hover .nav-dropdown,.nav-item-has-dropdown:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:all;transform:translateX(-50%) translateY(0);}
.nav-dropdown li{flex-shrink:0;}
.nav-dropdown li a{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0;text-decoration:none;background:transparent;color:#fff;white-space:nowrap;transition:color .3s ease;}
.nav-dropdown li a::after{display:none;}
.nav-dropdown li a:hover{background:transparent;}
.nav-dropdown li a:hover .nav-dd-name{color:var(--rose);}
.nav-dd-name{font-family:var(--serif);font-size:17px;font-weight:400;letter-spacing:0.02em;color:#fff;line-height:1.2;}
.nav-dd-desc{font-family:var(--sans);font-size:10.5px;font-weight:300;letter-spacing:0.03em;color:rgba(242,242,242,0.7);margin-top:6px;line-height:1.4;}
.nav-dd-ages{font-family:var(--serif);font-size:9.5px;font-style:italic;font-weight:400;letter-spacing:0.04em;color:var(--rose-pale);line-height:1.3;}
.nav-dd-desc + .nav-dd-ages{margin-top:4px;}
.nav-item-has-dropdown[data-dd-closed] .nav-dropdown,.nav-item-has-dropdown[data-dd-closed]:hover .nav-dropdown,.nav-item-has-dropdown[data-dd-closed]:focus-within .nav-dropdown{opacity:0;visibility:hidden;pointer-events:none;}
.nav-search:focus-visible,.nav-begin:focus-visible,.nav-logo-wrap:focus-visible,.nav-dropdown li a:focus-visible,.hamburger:focus-visible,.mobile-menu-close:focus-visible,.mobile-link:focus-visible,.mobile-begin:focus-visible{outline:2px solid var(--rose-pale);outline-offset:3px;}
.nav-tabs > li > a:focus-visible,.nav-tabs .nav-dd-trigger:focus-visible{color:#fff;outline:none;}
.nav-tabs > li > a:focus-visible::after,.nav-tabs .nav-dd-trigger:focus-visible::after{width:100%;background:var(--rose-pale);}
@media(max-width:960px){.nav-tabs{display:none;}.nav-bar{padding:0 28px;}.nav-logo-name{color:#ffffff;font-weight:600;letter-spacing:0.1em;}.nav-logo-tag{color:rgba(242,242,242,0.85);}}

.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:4px;cursor:pointer;z-index:300;flex-shrink:0;}
.ham-line{display:block;width:22px;height:1px;background:rgba(242,242,242,0.9);transition:transform .35s var(--ease-out),opacity .25s ease,width .3s ease;transform-origin:center;}
.hamburger.open .ham-line:nth-child(1){transform:translateY(6px) rotate(45deg);}
.hamburger.open .ham-line:nth-child(2){opacity:0;width:0;}
.hamburger.open .ham-line:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
.mobile-menu{position:fixed;inset:0;background:#2b282c;z-index:150;display:flex;flex-direction:column;justify-content:flex-start;padding:0;overflow:hidden;transform:translateX(100%);transition:transform .5s var(--ease-out);pointer-events:none;}
.mobile-menu.open{transform:translateX(0);pointer-events:all;}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px 0;flex-shrink:0;}
.mobile-menu-label{font-family:var(--sans);font-size:11px;font-weight:300;letter-spacing:0.22em;text-transform:uppercase;color:rgba(242,242,242,0.55);}
.mobile-menu-close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;background:transparent;color:var(--rose-pale);font-family:var(--sans);font-size:28px;font-weight:300;line-height:1;cursor:pointer;transition:opacity .3s ease;}
.mobile-menu-close:hover{opacity:0.85;}
.mobile-nav{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;padding:20px 32px 24px;margin-bottom:0;}
.mobile-nav > *{opacity:0;transform:translateX(20px);transition:opacity .4s ease,transform .4s var(--ease-out),color .3s ease,padding-left .3s var(--ease-out);}
.mobile-menu.open .mobile-nav > *{opacity:1;transform:translateX(0);}
.mobile-menu.open .mobile-nav > *:nth-child(1){transition-delay:.05s;}
.mobile-menu.open .mobile-nav > *:nth-child(2){transition-delay:.1s;}
.mobile-menu.open .mobile-nav > *:nth-child(3){transition-delay:.15s;}
.mobile-menu.open .mobile-nav > *:nth-child(4){transition-delay:.2s;}
.mobile-menu.open .mobile-nav > *:nth-child(5){transition-delay:.25s;}
.mobile-menu.open .mobile-nav > *:nth-child(6){transition-delay:.3s;}
.mobile-menu.open .mobile-nav > *:nth-child(7){transition-delay:.35s;}
.mobile-menu.open .mobile-nav > *:nth-child(8){transition-delay:.4s;}
.mobile-menu.open .mobile-nav > *:nth-child(9){transition-delay:.45s;}
.mobile-menu.open .mobile-nav > *:nth-child(10){transition-delay:.5s;}
.mobile-menu.open .mobile-nav > *:nth-child(11){transition-delay:.55s;}
.mobile-link{font-family:var(--serif);font-size:18px;font-weight:300;color:#fff;letter-spacing:0.02em;padding:13px 0;border-bottom:1px solid rgba(242,242,242,0.1);display:block;text-decoration:none;}
.mobile-sublink{font-family:var(--sans);font-size:13.5px;font-weight:300;color:rgba(242,242,242,0.82);letter-spacing:0.02em;padding:9px 0 9px 16px;border-bottom:none;}
.mobile-nav-heading{display:block;font-family:var(--sans);font-size:11px;font-weight:300;letter-spacing:0.22em;text-transform:uppercase;color:rgba(242,242,242,0.55);margin-top:24px;margin-bottom:8px;padding:0;border-bottom:none;}
.mobile-link:hover{color:#fff;padding-left:8px;}
.mobile-sublink:hover{color:var(--rose-pale);padding-left:24px;}
.mobile-footer{display:flex;flex-direction:column;gap:18px;align-items:flex-start;padding:24px 32px 40px;border-top:1px solid rgba(242,242,242,0.12);margin-top:auto;flex-shrink:0;}
.mobile-begin{display:inline-block;padding:6px 2px 4px;font-family:var(--sans);font-size:12.5px;font-weight:300;letter-spacing:0.06em;color:#fff;text-decoration:none;border-bottom:1.5px solid var(--rose);transition:color .3s ease,border-color .3s ease,opacity .3s ease;}
.mobile-begin:hover{color:#fff;border-bottom-color:var(--rose-pale);opacity:0.92;}
.mobile-phone{font-size:13px;font-weight:300;letter-spacing:0.1em;color:rgba(242,242,242,0.45);text-decoration:none;}
.mobile-phone:hover{color:rgba(242,242,242,0.65);}

@media(max-width:768px){
  .nav-search{display:none;}
  .nav-bar{padding:0 20px;height:52px;}
  .nav-tabs{display:none;}
  .nav-begin{display:none;}
  .hamburger{display:flex;}
  .nav-logo-name{font-size:19px;color:#ffffff;font-weight:600;letter-spacing:0.08em;}
  .nav-logo-tag{letter-spacing:0.26em;color:rgba(242,242,242,0.85);}
}

/* ── Site search overlay ── */
#site-search{position:fixed;inset:0;z-index:10000;display:none;align-items:flex-start;justify-content:center;padding:14vh 24px 0;background:rgba(8,8,8,0.92);backdrop-filter:blur(8px);}
#site-search.open{display:flex;}
.search-panel{width:100%;max-width:560px;}
.search-input{width:100%;box-sizing:border-box;background:transparent;border:none;border-bottom:1px solid rgba(242,242,242,0.25);padding:18px 4px;font-family:'Cormorant','Georgia',serif;font-size:30px;font-weight:300;color:#f2f2f2;outline:none;letter-spacing:0.01em;}
.search-input::placeholder{color:rgba(242,242,242,0.3);}
.search-results{list-style:none;margin:26px 0 0;padding:0;}
.search-results li a{display:block;padding:14px 8px;border-bottom:1px solid rgba(242,242,242,0.07);text-decoration:none;transition:background .25s ease;}
.search-results li a:hover,.search-results li a:focus{background:rgba(166,68,93,0.12);outline:none;}
.search-r-title{display:block;font-family:'Cormorant','Georgia',serif;font-size:20px;font-weight:400;color:#fff;}
.search-r-sub{display:block;font-size:11px;font-weight:300;letter-spacing:0.06em;color:rgba(242,242,242,0.45);margin-top:3px;}
.search-empty{padding:22px 8px;font-size:13px;font-weight:300;color:rgba(242,242,242,0.5);}
.search-hint{margin-top:18px;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(242,242,242,0.25);text-align:center;}

/* ── Mobile search trigger (inside the mobile menu) ── */
.mobile-search{display:none;align-items:center;gap:10px;background:transparent;border:none;padding:0 0 4px;color:rgba(242,242,242,0.82);font-family:var(--sans);font-size:15px;font-weight:300;letter-spacing:0.02em;cursor:pointer;text-align:left;}
.mobile-search:hover,.mobile-search:focus-visible{color:#fff;}
.mobile-search:focus-visible{outline:2px solid var(--rose-pale);outline-offset:3px;}
@media(max-width:768px){ .mobile-search{display:inline-flex;} }
#site-search{z-index:10001;}

/* ── Search overlay: mobile close affordance ── */
.search-close{position:absolute;top:18px;right:18px;background:transparent;border:none;color:rgba(242,242,242,0.55);font-size:30px;line-height:1;padding:6px 10px;cursor:pointer;}
.search-close:hover,.search-close:focus-visible{color:#fff;}
.search-close:focus-visible{outline:2px solid var(--rose-pale);outline-offset:2px;}
.search-hint .hint-desktop{display:inline;}
.search-hint .hint-mobile{display:none;}
@media(max-width:768px){ .search-hint .hint-desktop{display:none;} .search-hint .hint-mobile{display:inline;} }
