/* =========================================================
   SNOWTAILORS · layout.css
   Topbar, header, mobile menu, footer, prefooter, hero,
   stations grid, services, team, rates, concierge, reviews.
   ========================================================= */

/* ========== TOPBAR ========== */
.topbar{
  background:#08111F;color:rgba(255,255,255,.78);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  padding:8px 0;position:relative;z-index:60;
}
.topbar__inner{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.topbar__center{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.topbar__center a{color:rgba(255,255,255,.78);transition:color var(--duration) var(--ease-luxe)}
.topbar__center a:hover{color:var(--gold)}
.topbar__sep{color:rgba(255,255,255,.3)}
.topbar__icon{color:var(--gold);font-size:14px}
.topbar__right{display:flex;gap:6px}
.topbar__lang{
  padding:3px 8px;color:rgba(255,255,255,.55);transition:color var(--duration) var(--ease-luxe);
}
.topbar__lang:hover{color:#fff}
.topbar__lang.is-active{color:var(--gold);border:1px solid var(--gold)}
@media (max-width: 768px){
  .topbar__center{display:none}
  .topbar__inner{justify-content:space-between}
}

/* ========== HEADER ========== */
.header{
  position:fixed;top:32px;left:0;right:0;z-index:50;
  background:linear-gradient(180deg,rgba(15,27,60,.55),transparent);
  padding:18px 0;color:#fff;
}
.header.is-scrolled{top:0}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:32px}
.header__logo{flex-shrink:0}
.logo-text{
  font-family:var(--font-display);font-size:28px;font-weight:500;letter-spacing:.06em;color:#fff;
  display:inline-block;
}
.logo-text em{color:var(--gold);font-style:italic;font-weight:300}
.header__nav{flex:1;display:flex;justify-content:center}
.nav-list{display:flex;gap:38px;align-items:center}
.nav-list > li{display:flex;align-items:center;line-height:1}
.nav-link{
  font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:#fff;opacity:.85;padding:8px 0;position:relative;
  display:inline-flex;align-items:center;gap:8px;line-height:1;
  transition:opacity var(--duration) var(--ease-luxe),color var(--duration) var(--ease-luxe);
}
.nav-link:hover,
.nav-link.is-active{opacity:1;color:var(--gold)}
/* Gold underline that draws from right to left on hover — uses scale-x to avoid sub-pixel artefacts */
.nav-link::before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);
  transform:scaleX(0);transform-origin:right;
  transition:transform .55s var(--ease-out-expo);
  pointer-events:none;
}
.nav-link:hover::before{transform:scaleX(1);transform-origin:left}

.header__cta{display:flex;gap:16px;align-items:center}
.header__burger{
  display:none;width:32px;height:32px;flex-direction:column;justify-content:center;gap:5px;
  background:none;border:none;cursor:pointer;
}
.header__burger span{
  display:block;width:24px;height:1px;background:#fff;transition:transform .35s var(--ease-luxe),opacity .25s;
}
body.menu-open .header__burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.menu-open .header__burger span:nth-child(2){opacity:0}
body.menu-open .header__burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width: 1024px){
  .header__nav,.header__cta .btn{display:none}
  .header__burger{display:flex}
}

/* Adjust top space when topbar is hidden by scroll */
body{padding-top:0}

/* ========== MOBILE MENU ========== */
.mobile-menu{
  position:fixed;inset:0;z-index:40;
  background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .5s var(--ease-luxe);
}
body.menu-open .mobile-menu{opacity:1;pointer-events:auto}
.mobile-menu__inner{padding:32px;text-align:center}
.mobile-menu__list{display:flex;flex-direction:column;gap:24px;margin-bottom:48px}
.mobile-menu__list a{
  font-family:var(--font-display);font-size:36px;color:#fff;font-weight:300;
  transition:color .25s ease;
}
.mobile-menu__list a:hover{color:var(--gold)}
.mobile-menu__contact{display:flex;flex-direction:column;gap:8px;color:rgba(255,255,255,.65);font-size:14px}
.mobile-menu__contact a:hover{color:var(--gold)}

/* ========== HERO ========== */
.hero{
  position:relative;min-height:100vh;
  display:flex;align-items:center;
  color:#fff;overflow:hidden;
  padding:120px 0 60px;
}
.hero__bg{
  position:absolute;inset:-10% 0 0 0;height:120%;
  background-image:url('../img/hero/hero-main.jpg');
  background-size:cover;background-position:center;
  z-index:0;
}
.hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(15,27,60,.45) 0%,rgba(15,27,60,.7) 65%,rgba(15,27,60,.95) 100%);
}
.hero .container{position:relative;z-index:2;max-width:1180px}
.hero__eyebrow{display:block;margin-bottom:32px}
.hero h1{
  color:#fff;max-width:14ch;margin-bottom:36px;
}
.hero h1 em{color:var(--gold);font-style:italic;font-weight:300}
.hero__lede{
  max-width:46ch;font-size:18px;font-weight:300;color:rgba(255,255,255,.88);
  margin-bottom:48px;line-height:1.7;
}
.hero__actions{display:flex;gap:18px;flex-wrap:wrap}

.scroll-cue{
  position:absolute;bottom:84px;left:50%;transform:translateX(-50%);z-index:3;
  color:rgba(255,255,255,.7);font-size:11px;letter-spacing:.32em;text-transform:uppercase;
  display:flex;flex-direction:column;align-items:center;gap:18px;
}

/* Hero stats bar */
.hero-stats{
  position:absolute;bottom:0;left:0;right:0;z-index:3;
  background:rgba(15,27,60,.6);backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-top:1px solid var(--line);
  padding:22px 0;
}
.hero-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.hero-stats__item{
  text-align:center;border-right:1px solid var(--line);padding:0 16px;
}
.hero-stats__item:last-child{border-right:none}
.hero-stats__num{
  font-family:var(--font-display);font-size:clamp(24px,2.6vw,36px);font-weight:300;color:var(--gold);line-height:1.1;
  white-space:nowrap;
}
.hero-stats__lbl{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  opacity:.8;margin-top:10px;color:#fff;line-height:1.5;
}
@media (max-width: 768px){
  .hero-stats__grid{grid-template-columns:1fr 1fr}
  .hero-stats__item:nth-child(2){border-right:none}
  .hero-stats__item:nth-child(1),.hero-stats__item:nth-child(2){padding-bottom:18px;border-bottom:1px solid var(--line)}
  .hero-stats__item:nth-child(3),.hero-stats__item:nth-child(4){padding-top:18px}
  .scroll-cue{display:none}
}

/* ========== INTRO STATEMENT ========== */
.intro{padding:var(--gap-2xl) 0;background:var(--paper);text-align:center}
.intro h2{max-width:18ch;margin:36px auto;color:var(--navy)}
.intro h2 em{font-style:italic;color:var(--gold)}
.intro__lede{max-width:62ch;margin:0 auto;font-size:18px;color:var(--grey);font-weight:300;line-height:1.85}
.intro__signature{
  margin-top:48px;font-family:var(--font-display);font-style:italic;font-size:24px;color:var(--navy);
}
.intro__signature::before{content:"—";color:var(--gold);margin-right:14px}

/* ========== STATIONS ========== */
.stations{position:relative;overflow:hidden;padding:var(--gap-2xl) 0}
.stations__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--gap-lg);gap:48px;flex-wrap:wrap}
.stations__head-left{max-width:560px}
.stations__head-left h2{color:#fff;margin-top:24px}
.stations__head-left h2 em{color:var(--gold);font-style:italic}
.stations__head-right{max-width:380px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.8}
.stations__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}

.station{
  position:relative;height:540px;overflow:hidden;cursor:pointer;
  border:1px solid var(--line);
  transition:flex .8s var(--ease-luxe);
}
.station__img{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.05);
  transition:transform 1.5s var(--ease-luxe),filter 1s var(--ease-luxe);
  filter:brightness(.65) saturate(1.05);
}
.station:hover .station__img{transform:scale(1.12);filter:brightness(.78)}
.station__overlay{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 30%,rgba(15,27,60,.55) 55%,rgba(15,27,60,.96) 100%);
  z-index:1;
}
.station__content{position:absolute;left:0;right:0;bottom:0;padding:32px 24px;z-index:2;color:#fff}
.station__alt{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.station__name{font-family:var(--font-display);font-size:30px;font-weight:400;margin-bottom:8px}
.station__desc{
  font-size:13px;color:rgba(255,255,255,.82);line-height:1.7;
  max-height:0;overflow:hidden;
  transition:max-height .65s var(--ease-luxe),margin-top .55s var(--ease-luxe);
}
.station:hover .station__desc{max-height:140px;margin-top:8px}
.station__cta{
  margin-top:18px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:10px;color:var(--gold);
}
.station__cta::after{content:"→";transition:transform var(--duration) var(--ease-luxe)}
.station:hover .station__cta::after{transform:translateX(6px)}

@media (max-width: 1024px){.stations__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width: 640px){.stations__grid{grid-template-columns:1fr};.station{height:380px}}

/* ========== SERVICES ========== */
.services{padding:var(--gap-2xl) 0;background:var(--snow)}
.services__head{text-align:center;margin-bottom:var(--gap-lg)}
.services__head h2{color:var(--navy);max-width:24ch;margin:24px auto 0}
.services__head h2 em{font-style:italic;color:var(--gold)}
.services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#E5E7EB}
.service{
  padding:48px 32px;background:var(--paper);
  display:flex;flex-direction:column;min-height:380px;
  transition:background var(--duration) var(--ease-luxe),transform var(--duration) var(--ease-luxe);
}
.service:hover{background:#fff;transform:translateY(-6px);box-shadow:0 30px 60px -20px rgba(15,27,60,.18)}
.service__num{font-family:var(--font-display);font-style:italic;font-size:48px;color:var(--gold);font-weight:300;line-height:1}
.service__title{margin:18px 0 14px;color:var(--navy);font-size:24px}
.service__desc{font-size:14px;color:var(--grey);line-height:1.75;margin-bottom:20px;flex:1}
.service__list{font-size:13px;color:var(--navy);font-weight:500}
.service__list li{padding:8px 0;border-top:1px solid rgba(15,27,60,.08)}
.service__list li::before{content:"+";color:var(--gold);margin-right:10px;font-weight:600}
@media (max-width: 1024px){.services__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 640px){.services__grid{grid-template-columns:1fr}}

/* ========== REVIEWS / TRUST ========== */
.reviews{
  padding:var(--gap-2xl) 0;color:#fff;position:relative;
  background:
    linear-gradient(180deg,rgba(15,27,60,.92),rgba(15,27,60,.92)),
    url('../img/concierge/chalet.jpg') center/cover no-repeat;
  background-attachment:fixed;
}
.reviews__head{text-align:center;margin-bottom:var(--gap-lg)}
.reviews__head h2{color:#fff;max-width:22ch;margin:24px auto 0}
.reviews__head h2 em{color:var(--gold);font-style:italic}
.reviews__platforms{
  display:flex;align-items:center;justify-content:center;gap:48px;
  margin:48px 0 var(--gap-lg);flex-wrap:wrap;
}
.reviews__platform{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  color:rgba(255,255,255,.85);
}
.reviews__platform-name{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.reviews__platform-rating{font-family:var(--font-display);font-size:32px;font-weight:300;color:#fff}
.reviews__platform-count{font-size:11px;color:rgba(255,255,255,.55);letter-spacing:.1em}

.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.review{border-left:1px solid var(--gold);padding:8px 0 8px 32px}
.review__stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:18px}
.review__quote{
  font-family:var(--font-display);font-size:22px;font-style:italic;font-weight:300;
  line-height:1.55;margin-bottom:24px;color:#fff;
}
.review__quote::before{content:"« ";color:var(--gold)}
.review__quote::after{content:" »";color:var(--gold)}
.review__author{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.review__where{font-size:11px;color:rgba(255,255,255,.55);margin-top:4px}
@media (max-width: 1024px){
  .reviews__grid{grid-template-columns:1fr}
  .reviews{background-attachment:scroll}
}

/* ========== INSTRUCTORS ========== */
.team{padding:var(--gap-2xl) 0;background:var(--paper)}
.team__head{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:var(--gap-lg)}
.team__head h2{color:var(--navy)}
.team__head h2 em{font-style:italic;color:var(--gold)}
.team__head p{font-size:16px;color:var(--grey);line-height:1.85;font-weight:300}
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.instructor{position:relative;overflow:hidden;background:var(--navy)}
.instructor__photo{height:440px;width:100%;object-fit:cover;transition:transform 1s var(--ease-luxe),filter 1s var(--ease-luxe);filter:saturate(.92)}
.instructor:hover .instructor__photo{transform:scale(1.06)}
.instructor::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,transparent 35%,rgba(15,27,60,.6) 60%,rgba(15,27,60,.98) 100%);
}
.instructor__info{position:absolute;left:0;right:0;bottom:0;padding:28px 24px 26px;color:#fff;z-index:2}
.instructor__name{
  font-family:var(--font-display);font-size:26px;font-weight:500;
  color:#fff !important;margin-bottom:6px;letter-spacing:.005em;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.instructor__role{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold) !important;font-weight:600;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
}
.instructor__langs{
  font-size:12px;color:#fff;margin-top:12px;opacity:.85;
  text-shadow:0 1px 6px rgba(0,0,0,.4);
}
.team__more{margin-top:24px;font-size:13px;color:var(--grey);font-style:italic}
.team__more a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

@media (max-width: 1024px){
  .team__head{grid-template-columns:1fr;gap:32px}
  .team__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){.team__grid{grid-template-columns:1fr}}

/* ========== RATES ========== */
.rates{padding:var(--gap-2xl) 0;background:#fff}
.rates__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.rates__grid h2{color:var(--navy)}
.rates__grid h2 em{color:var(--gold);font-style:italic}
.rates__lede{font-size:16px;color:var(--grey);font-weight:300;line-height:1.85;margin-top:24px;max-width:48ch}
.rates__list{display:flex;flex-direction:column}
.rate-row{
  display:grid;grid-template-columns:1fr auto;gap:24px;
  padding:24px 0;border-bottom:1px solid #EFEDE7;align-items:center;
}
.rate-row:last-child{border-bottom:none}
.rate-row:hover .rate-row__price{color:var(--gold)}
.rate-row__title{font-family:var(--font-display);font-size:22px;color:var(--navy);font-weight:400;margin-bottom:4px}
.rate-row__desc{font-size:13px;color:var(--grey)}
.rate-row__price{
  font-family:var(--font-display);font-size:32px;color:var(--navy);font-weight:400;
  text-align:right;transition:color var(--duration) var(--ease-luxe);
}
.rate-row__price small{
  font-family:var(--font-body);font-size:11px;color:var(--gold);
  letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:2px;font-weight:600;
}
@media (max-width: 1024px){.rates__grid{grid-template-columns:1fr;gap:40px}}

/* ========== CONCIERGE ========== */
.concierge{
  padding:var(--gap-2xl) 0;color:#fff;position:relative;
  background:
    linear-gradient(180deg,rgba(15,27,60,.92),rgba(10,20,40,.96)),
    url('../img/concierge/alpine-bg.jpg') center/cover no-repeat;
  background-attachment:fixed;
}
@media (max-width: 1024px){.concierge{background-attachment:scroll}}
.concierge__grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.concierge__grid h2{color:#fff}
.concierge__grid h2 em{color:var(--gold);font-style:italic}
.concierge__lede{color:rgba(255,255,255,.82);font-size:16px;line-height:1.85;font-weight:300;margin-top:24px;max-width:46ch}
.concierge__list{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:14px 32px}
.concierge__list li{
  font-size:13px;padding-left:24px;position:relative;color:rgba(255,255,255,.88);
}
.concierge__list li::before{
  content:"";position:absolute;left:0;top:9px;width:8px;height:1px;background:var(--gold);
}
.concierge__img{width:100%;height:560px;object-fit:cover;border:1px solid var(--line)}
@media (max-width: 1024px){
  .concierge__grid{grid-template-columns:1fr;gap:40px}
  .concierge__img{height:380px}
}

/* ========== BOOK CTA ========== */
.book-cta{
  padding:var(--gap-2xl) 0;background:var(--paper);text-align:center;position:relative;
  background-image:radial-gradient(circle at top,rgba(201,169,97,.10),transparent 55%);
}
.book-cta h2{color:var(--navy);max-width:18ch;margin:24px auto 36px}
.book-cta h2 em{color:var(--gold);font-style:italic}
.book-cta p{max-width:54ch;margin:0 auto 48px;font-size:17px;color:var(--grey);font-weight:300;line-height:1.85}
.book-cta__actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}

/* ========== PREFOOTER ========== */
.prefooter{
  background:var(--navy);color:#fff;padding:var(--gap-lg) 0;
  position:relative;overflow:hidden;
  border-top:1px solid var(--line);
}
.prefooter::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(circle at right top,rgba(201,169,97,.12),transparent 50%);
}
.prefooter__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.prefooter__copy h3{
  margin-top:18px;color:#fff;font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.25;
}
.prefooter__copy h3 em{color:var(--gold);font-style:italic}
.prefooter__sub{
  margin-top:18px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.75;font-weight:300;max-width:46ch;
}
.prefooter__form{display:flex;flex-direction:column;gap:18px;max-width:440px;justify-self:end;width:100%}
.prefooter__legal{font-size:11px;color:rgba(255,255,255,.5);letter-spacing:.05em}
.prefooter__legal a{color:var(--gold)}
@media (max-width: 1024px){
  .prefooter__inner{grid-template-columns:1fr;gap:40px}
  .prefooter__form{justify-self:start}
}

/* ========== FOOTER ========== */
.footer{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:80px 0 32px;border-top:1px solid var(--line)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:64px}
.footer h5{color:#fff;font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:24px;font-family:var(--font-body);font-weight:600}
.footer__list li{padding:6px 0}
.footer__list a{font-size:14px;color:rgba(255,255,255,.65);line-height:1.7;transition:color var(--duration) var(--ease-luxe)}
.footer__list a:hover{color:var(--gold)}
.footer__brand .footer__logo{
  display:inline-block;font-family:var(--font-display);font-size:32px;color:#fff;letter-spacing:.06em;margin-bottom:18px;
}
.footer__brand .footer__logo em{color:var(--gold);font-style:italic;font-weight:300}
.footer__brand p{max-width:38ch;font-size:14px;line-height:1.85;color:rgba(255,255,255,.65)}
.footer__social{display:flex;gap:18px;margin-top:24px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.footer__social a{color:rgba(255,255,255,.65)}
.footer__social a:hover{color:var(--gold)}
.footer__bottom{
  padding-top:28px;border-top:1px solid rgba(255,255,255,.08);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
  font-size:12px;color:rgba(255,255,255,.45);
}
.footer__legal-links{display:flex;gap:14px}
.footer__legal-links a{color:rgba(255,255,255,.45)}
.footer__legal-links a:hover{color:var(--gold)}
@media (max-width: 1024px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width: 640px){.footer__grid{grid-template-columns:1fr}}

/* ========== TEAM GRID — fix 5-card orphan ========== */
/* On the dedicated /instructors page, 5 cards in a 4-col grid leaves a lonely 5th.
   Use auto-fit minmax so the row balances elegantly. */
.instructors-page .team__grid{
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}

/* ========== DROPDOWN NAVIGATION ========== */
.has-dropdown{position:relative;display:flex;align-items:center}
.has-dropdown > .nav-link{cursor:pointer}
/* Chevron rendered as a sibling icon-span via ::after — vertically centred with the text baseline */
.has-dropdown > .nav-link::after{
  content:"";display:inline-block;width:5px;height:5px;
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transform-origin:center;
  transition:transform .35s var(--ease-luxe);
  opacity:.65;
  flex-shrink:0;
}
.has-dropdown:hover > .nav-link::after,
.has-dropdown:focus-within > .nav-link::after{
  transform:translateY(1px) rotate(-135deg);opacity:1;
}

.dropdown{
  position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(-8px);
  background:rgba(15,27,60,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.1);
  min-width:280px;padding:14px 0;
  opacity:0;visibility:hidden;
  transition:opacity .35s var(--ease-luxe),transform .35s var(--ease-luxe),visibility .35s;
  z-index:80;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.45);
}
.dropdown::before{
  content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;background:rgba(15,27,60,.97);
  border-top:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.1);
}
.has-dropdown:hover > .dropdown,
.has-dropdown:focus-within > .dropdown{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);
}
.dropdown a{
  display:block;padding:11px 28px;
  font-family:var(--font-body);font-size:12px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.82);
  transition:color .25s var(--ease-luxe),background .25s var(--ease-luxe),padding-left .25s var(--ease-luxe);
  white-space:nowrap;
}
.dropdown a:hover{color:var(--gold);background:rgba(201,169,97,.08);padding-left:34px}
.dropdown__sep{
  display:block;height:1px;background:rgba(255,255,255,.08);margin:8px 28px;
}

@media (max-width: 1024px){
  .has-dropdown > .nav-link::after{display:none}
  .dropdown{
    position:static;transform:none;background:transparent;backdrop-filter:none;
    border:none;box-shadow:none;padding:0;min-width:0;opacity:1;visibility:visible;
    margin-top:14px;display:none;
  }
  .has-dropdown.is-open .dropdown{display:block}
  .dropdown::before{display:none}
  .dropdown a{padding:8px 0;font-size:14px;letter-spacing:.06em}
}

/* Mobile menu accordion */
.mobile-menu__list .has-dropdown-mobile > a{
  display:flex;justify-content:space-between;align-items:center;
}
.mobile-menu__list .has-dropdown-mobile > a::after{
  content:"+";font-family:var(--font-body);font-weight:300;font-size:24px;
  transition:transform .35s var(--ease-luxe);
}
.mobile-menu__list .has-dropdown-mobile.is-open > a::after{transform:rotate(45deg)}
.mobile-submenu{
  max-height:0;overflow:hidden;
  transition:max-height .55s var(--ease-luxe);
  padding-left:24px;
}
.mobile-menu__list .has-dropdown-mobile.is-open .mobile-submenu{max-height:600px}
.mobile-submenu a{
  display:block;padding:10px 0;font-family:var(--font-body);
  font-size:14px;letter-spacing:.06em;text-transform:none;color:rgba(255,255,255,.7);
}
.mobile-submenu a:hover{color:var(--gold)}
