/* ENTYRE — editorial category navigation: desktop hover/focus, mobile disclosure */
.site-header { overflow: visible !important; }
.site-header nav#main-nav { display:flex; align-items:center; gap:clamp(9px,1.1vw,18px)!important; overflow:visible; }
.site-header nav#main-nav > .nav-group { position:relative; display:inline-flex; align-items:center; gap:1px; min-height:42px; flex-shrink:0; }
.site-header nav#main-nav > .nav-group > .nav-parent { display:inline-flex; align-items:center; padding:8px 0; white-space:nowrap; font:300 10px/1.4 "Overpass",Arial,sans-serif; letter-spacing:.095em; text-transform:uppercase; color:#f3e9db; text-decoration:none; }
.site-header nav#main-nav > .nav-group > .nav-parent:hover,
.site-header nav#main-nav > .nav-group-active > .nav-parent { color:#d5b99a; }
.site-header nav#main-nav .nav-chevron { display:inline-grid; place-items:center; padding:0; border:0; background:none; color:#d1bea9; cursor:pointer; width:19px; height:35px; flex:0 0 19px; }
.site-header nav#main-nav .nav-chevron svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }
.site-header nav#main-nav > .nav-group:hover > .nav-chevron svg,
.site-header nav#main-nav > .nav-group:focus-within > .nav-chevron svg,
.site-header nav#main-nav > .nav-group.is-open > .nav-chevron svg { transform:rotate(180deg); }
.site-header nav#main-nav > .nav-group .nav-panel { display:block; position:absolute; z-index:1500; top:100%; left:-20px; width:max-content; min-width:245px; max-width:min(680px,90vw); background:#f8f4ef; color:#29241f; border:1px solid #d8ccbf; border-top:2px solid #b39b83; box-shadow:0 22px 45px rgba(14,11,8,.18); padding:25px 26px 19px; opacity:0; visibility:hidden; transform:translateY(7px); pointer-events:none; transition:opacity .19s ease,transform .19s ease,visibility .19s ease; max-height:calc(100dvh - 94px); overflow-y:auto; }
.site-header nav#main-nav > .nav-group:hover .nav-panel,
.site-header nav#main-nav > .nav-group:focus-within .nav-panel,
.site-header nav#main-nav > .nav-group.is-open .nav-panel { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.site-header nav#main-nav > .nav-group-med .nav-panel { min-width:530px; left:-38px; }
.site-header nav#main-nav > .nav-group-skin .nav-panel { min-width:455px; left:-35px; }
.site-header nav#main-nav > .nav-group-hair .nav-panel { min-width:410px; left:-50px; }
.site-header nav#main-nav > .nav-group-bridal .nav-panel { min-width:500px; left:-85px; }
.site-header nav#main-nav > .nav-group-about .nav-panel { right:-10px; left:auto; min-width:380px; }
.site-header nav#main-nav .nav-panel-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:12px 28px; }
.site-header nav#main-nav .nav-panel-column { min-width:0; display:flex; flex-direction:column; gap:0; }
.site-header nav#main-nav .nav-panel-kicker { color:#967b62; font:300 9px/1.6 "Overpass",Arial,sans-serif; text-transform:uppercase; letter-spacing:.19em; margin:0 0 13px; }
.site-header nav#main-nav .nav-panel-column > a { display:block!important; min-height:0!important; padding:9px 0!important; border:0!important; border-bottom:1px solid #e7ded4!important; margin:0!important; text-align:left!important; background:none!important; color:#332c25!important; white-space:normal; font:300 12px/1.5 "Overpass",Arial,sans-serif!important; letter-spacing:.015em!important; text-transform:none!important; transition:color .2s ease,padding-left .2s ease; }
.site-header nav#main-nav .nav-panel-column > a:hover,
.site-header nav#main-nav .nav-panel-column > a:focus-visible { color:#95745a!important; padding-left:5px!important; }
.site-header nav#main-nav .nav-panel-view-all { display:inline-flex!important; align-items:center; gap:6px; margin:18px 0 0!important; padding:0 0 5px!important; width:auto!important; min-height:0!important; border:0!important; border-bottom:1px solid #a9927d!important; background:transparent!important; color:#3c3128!important; font:300 10px/1.5 "Overpass",Arial,sans-serif!important; text-transform:uppercase!important; letter-spacing:.12em!important; }
.site-header nav#main-nav .nav-panel-view-all .inline-arrow-icon { width:14px; height:14px; }
.site-header nav#main-nav > a.nav-book { display:inline-flex; align-items:center; }
.site-header nav#main-nav .nav-group [aria-current="page"] { color:#9c7859!important; }
@media(max-width:1180px) {
 .site-header nav#main-nav { flex-direction:column!important; align-items:stretch!important; gap:0!important; overflow-y:auto!important; }
 .site-header nav#main-nav > .nav-group { width:100%; display:flex!important; flex-wrap:wrap!important; align-items:center!important; min-height:0!important; gap:0!important; border-bottom:1px solid rgba(255,255,255,.15); }
 .site-header nav#main-nav > .nav-group > .nav-parent { flex:1 1 auto; min-width:0; padding:16px 10px!important; font-size:13px!important; line-height:1.4!important; color:#f8f1e8!important; letter-spacing:.1em!important; border:0!important; }
 .site-header nav#main-nav > .nav-group > .nav-chevron { display:inline-grid!important; width:52px; height:50px; flex:0 0 52px; color:#f0dfcf; border-left:1px solid rgba(255,255,255,.1); }
 .site-header nav#main-nav > .nav-group > .nav-chevron svg { width:17px; height:17px; }
 .site-header nav#main-nav > .nav-group .nav-panel { display:none!important; position:static!important; width:100%!important; max-width:none!important; min-width:0!important; max-height:none!important; flex:0 0 100%!important; padding:14px 19px 20px!important; margin:0!important; background:#292521!important; color:#eee5d9!important; box-shadow:none!important; border:0!important; border-top:1px solid rgba(255,255,255,.12)!important; transform:none!important; opacity:1!important; visibility:visible!important; pointer-events:auto!important; overflow:visible!important; }
 .site-header nav#main-nav > .nav-group.is-open .nav-panel { display:block!important; }
 .site-header nav#main-nav .nav-panel-grid { grid-template-columns:1fr!important; gap:17px!important; }
 .site-header nav#main-nav .nav-panel-kicker { color:#b7a18a; }
 .site-header nav#main-nav .nav-panel-column > a { color:#f2e9df!important; border-color:rgba(255,255,255,.12)!important; font-size:12px!important; padding:11px 0!important; }
 .site-header nav#main-nav .nav-panel-column > a:hover,
 .site-header nav#main-nav .nav-panel-column > a:focus-visible { color:#e0b68f!important; background:transparent!important; }
 .site-header nav#main-nav .nav-panel-view-all { border-color:#b9a18b!important; color:#f3eadd!important; font-size:11px!important; padding-bottom:8px!important; }
 .site-header nav#main-nav > .nav-group:hover .nav-panel,
 .site-header nav#main-nav > .nav-group:focus-within .nav-panel { display:none!important; }
 .site-header nav#main-nav > .nav-group.is-open:hover .nav-panel,
 .site-header nav#main-nav > .nav-group.is-open:focus-within .nav-panel { display:block!important; }
 .site-header nav#main-nav > a.nav-book { margin-top:15px; justify-content:center!important; }
}
@media(prefers-reduced-motion:reduce) { .site-header .nav-panel,.site-header .nav-chevron svg { transition:none!important; } }

/* Launch category separation for lash and scalp in Skin Studio. */
@media(min-width:1181px){.site-header nav#main-nav>.nav-group-skin .nav-panel{min-width:630px;left:-100px}}

/* ENTYRE simplified launch navigation: salon and about link directly; bridal and event beauty have two clear choices. */
.site-header nav#main-nav > a[aria-current="page"]{color:#d5b99a!important}
.site-header nav#main-nav > .nav-group-bridal .nav-panel{min-width:270px;left:-36px;padding:16px 22px 12px}
.site-header nav#main-nav > .nav-group-bridal .nav-panel-grid{display:block;grid-template-columns:1fr}
@media(max-width:1180px){.site-header nav#main-nav > .nav-group-bridal .nav-panel{width:100%!important;min-width:0!important;padding:10px 20px 15px!important}}

/* ENTYRE category-first menu refinement: roomy editorial mega menu, not a long treatment list. */
@media(min-width:1181px){.site-header nav#main-nav>.nav-group-med .nav-panel{min-width:650px;left:-44px}.site-header nav#main-nav>.nav-group-skin .nav-panel{min-width:615px;left:-90px}.site-header nav#main-nav .nav-panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px}.site-header nav#main-nav .nav-panel-column>a{padding:11px 0!important;line-height:1.45!important}.site-header nav#main-nav .nav-panel-kicker{margin-bottom:15px}}
