/* BEN – premium mega-menu header (brand colours only) */
.site-header{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);transition:box-shadow .3s,background .3s;position:sticky}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,#006A4E 0 30%,#C9A14A 30% 36%,#F42A41 36% 70%,#F5D27A 70% 74%,#006A4E 74%);background-size:200% 100%;animation:nvFlow 9s linear infinite;pointer-events:none}
@keyframes nvFlow{to{background-position:200% 0}}
.site-header .header-in{height:74px;transition:height .3s}
.site-header.scrolled{box-shadow:0 12px 34px rgba(0,56,42,.2)}.site-header.scrolled .header-in{height:62px}
.site-header .brand img{transition:transform .4s cubic-bezier(.2,.7,.2,1);height:46px}.site-header.scrolled .brand img{height:40px}.site-header .brand:hover img{transform:scale(1.06) rotate(-2deg)}

#nav.nv{display:flex;align-items:center;gap:2px;margin-left:auto;position:relative}
:where(#nav.nv) a{text-decoration:none}
.nv-item{position:relative}
.nv-top{display:flex!important;align-items:center;gap:7px;padding:10px 13px!important;border-radius:99px!important;font-weight:700;font-size:14.5px;color:#0f2a22!important;text-decoration:none;white-space:nowrap;transition:color .25s,background .25s}
.nv-ti{width:17px;height:17px;display:grid;place-items:center;color:#C9A14A;transition:transform .35s cubic-bezier(.2,.7,.2,1),color .25s}.nv-ti svg{width:17px;height:17px}
.nv-car{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55;transition:transform .3s}
.nv-item:hover>.nv-top,.nv-item.open>.nv-top,.nv-item.on>.nv-top{color:#006A4E!important;background:#fff}
.nv-item:hover .nv-ti,.nv-item.open .nv-ti{transform:translateY(-2px) scale(1.15);color:#F42A41}
.nv-item.open .nv-car{transform:rotate(225deg) translateY(-2px)}
.nv-item.on .nv-top{color:#006A4E!important}
.nv-ind{position:absolute;left:0;bottom:2px;height:3px;border-radius:3px;background:linear-gradient(90deg,#F42A41,#C9A14A);transition:transform .45s cubic-bezier(.2,.7,.2,1),width .45s cubic-bezier(.2,.7,.2,1),opacity .3s;opacity:0;pointer-events:none}
/* the hot item: budget */
.nv-item.hot>.nv-top{background:linear-gradient(135deg,#F42A41,#c4162b);color:#fff!important;box-shadow:0 0 0 2px rgba(245,210,122,.85),0 8px 18px rgba(196,22,43,.35);position:relative;overflow:hidden;animation:nvPulse 2.8s infinite}
.nv-item.hot>.nv-top::before{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-130%) skewX(-18deg);animation:mShine 3.4s 1s infinite}
.nv-item.hot .nv-ti{color:#F5D27A}.nv-item.hot:hover>.nv-top,.nv-item.hot.open>.nv-top{background:linear-gradient(135deg,#F42A41,#c4162b);color:#fff!important}
@keyframes nvPulse{0%,100%{box-shadow:0 0 0 2px rgba(245,210,122,.85),0 8px 18px rgba(196,22,43,.35)}50%{box-shadow:0 0 0 5px rgba(245,210,122,.35),0 10px 24px rgba(196,22,43,.5)}}

/* mega panel */
.nv-panel{position:absolute;top:calc(100% + 12px);left:-10px;width:min(640px,92vw);display:grid;grid-template-columns:210px 1fr;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 70px rgba(0,56,42,.32),0 0 0 1px rgba(201,161,74,.4);opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:top left;transition:opacity .28s,transform .35s cubic-bezier(.2,.7,.2,1),visibility .28s;z-index:70}
.nv-panel.nv-r{left:auto;right:-10px;transform-origin:top right}
.nv-panel::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.nv-item.open>.nv-panel{opacity:1;visibility:visible;transform:none}
.nv-intro{position:relative;padding:22px 18px;color:#fff;background:radial-gradient(260px 200px at 100% 0,rgba(244,42,65,.55),transparent 62%),linear-gradient(160deg,#00382a,#006A4E);overflow:hidden}
.nv-intro::after{content:"";position:absolute;inset:0;background:var(--pat);background-size:44px 44px;opacity:.7;pointer-events:none}
.nv-intro>*{position:relative;z-index:1}
.nv-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(245,210,122,.2);color:#F5D27A;margin-bottom:10px;animation:mFloat 3.4s ease-in-out infinite}.nv-ic svg{width:22px;height:22px}
.nv-intro b{display:block;font-size:19px;line-height:1.25}
.nv-intro p{margin:8px 0 14px;font-size:13.5px;opacity:.92;line-height:1.5}
#nav.nv a.nv-all{display:inline-block;background:#F5D27A;color:#3a2800;font-weight:800;font-size:13px;padding:8px 14px;border-radius:99px;text-decoration:none;transition:transform .25s}
#nav.nv a.nv-all:hover{transform:translateX(4px);background:#fff}
.nv-grid{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;align-content:start;background:#fff}
#nav.nv a.nv-sub{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border-radius:14px;background:#fff;border:1px solid #e3ede8;text-decoration:none;color:#0f2a22;opacity:0;transform:translateY(8px);transition:transform .25s,box-shadow .25s,border-color .25s}
#nav.nv .nv-item.open a.nv-sub{opacity:1;transform:none;transition:opacity .35s calc(.05s + var(--k)*.05s),transform .35s calc(.05s + var(--k)*.05s),box-shadow .25s,border-color .25s}
#nav.nv a.nv-sub:hover{transform:translateY(-3px);border-color:#C9A14A;box-shadow:0 12px 24px rgba(0,56,42,.14)}
.nv-sic{flex:0 0 36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#fff,#fff);color:#006A4E;display:grid;place-items:center;transition:transform .3s,background .3s,color .3s}.nv-sic svg{width:18px;height:18px}
#nav.nv a.nv-sub:hover .nv-sic{background:linear-gradient(135deg,#006A4E,#0b8f6a);color:#fff;transform:rotate(-8deg) scale(1.08)}
.nv-sub b{display:block;font-size:14px;line-height:1.3}.nv-sub small{display:block;color:#566860;font-size:12px;line-height:1.35;margin-top:2px}

/* header actions */
.header-actions .btn-red{position:relative;overflow:hidden}
.header-actions .btn-red::before{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-130%) skewX(-18deg);animation:mShine 4s 2s infinite}

/* mobile */
@media (max-width:1020px){
  .site-header .header-in{height:64px}
  #nav.nv{position:absolute;left:0;right:0;top:64px;margin:0;background:#fff;display:none;flex-direction:column;align-items:stretch;gap:4px;padding:12px 14px 18px;max-height:calc(100vh - 64px);overflow:auto;border-bottom:3px solid #C9A14A;box-shadow:0 24px 40px rgba(0,56,42,.25)}
  #nav.nv.open{display:flex;animation:mFadeUp .35s both}
  .nv-ind{display:none}
  .nv-top{justify-content:flex-start;padding:13px 14px!important;background:#fff;border-radius:14px!important}.nv-car{margin-left:auto}
  .nv-panel{position:static;display:none;width:auto;opacity:1;visibility:visible;transform:none;margin:6px 0 8px;grid-template-columns:1fr;box-shadow:0 0 0 1px rgba(201,161,74,.4)}
  .nv-item.open>.nv-panel{display:grid}
  .nv-grid{grid-template-columns:1fr}.nv-intro{padding:16px}
  #nav.nv .nv-item.open a.nv-sub{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){.site-header::after,.nv-ic,.nv-item.hot>.nv-top,.nv-item.hot>.nv-top::before{animation:none!important}}

@media (max-width:1300px) and (min-width:1021px){.nv-ti,.nv-car{display:none}.nv-top{padding:10px 10px!important;font-size:14px}.nv-item.hot .nv-ti{display:grid}}
@media (max-width:1140px) and (min-width:1021px){.nv-top{padding:10px 7px!important;font-size:13.5px}.nv-item.hot .nv-ti{display:none}}
/* keep everything on one line on laptop widths */
@media (max-width:1560px) and (min-width:1021px){.nv-ti{display:none}.nv-item.hot .nv-ti{display:grid}.nv-top{padding:10px 11px!important;font-size:14px}.header-in{gap:12px}}
@media (max-width:1400px) and (min-width:1021px){.nv-car{display:none}.nv-item.hot .nv-ti{display:none}.nv-top{padding:10px 9px!important;font-size:13.8px}}

/* ===== colourful, moving menu text (green ⇄ red) ===== */
.nv-top>span:nth-child(2){
  background:linear-gradient(100deg,#00513b 0%,#0b8f6a 28%,#00513b 50%,#0b8f6a 72%,#00513b 100%);background-size:260% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  animation:nvTxt 7s linear infinite;transition:transform .3s cubic-bezier(.2,.7,.2,1),letter-spacing .3s;display:inline-block}
@keyframes nvTxt{to{background-position:-260% 0}}
/* hover / open / current section: green flows into red */
.nv-item:hover>.nv-top>span:nth-child(2),.nv-item.open>.nv-top>span:nth-child(2),.nv-item.on>.nv-top>span:nth-child(2){
  background-image:linear-gradient(100deg,#006A4E 0%,#F42A41 33%,#C9A14A 55%,#006A4E 80%,#F42A41 100%);background-size:300% 100%;animation-duration:2.6s;
  transform:translateY(-2px);letter-spacing:.015em}
.nv-item>.nv-top{position:relative}
/* little coloured dot above the current section */
.nv-item.on>.nv-top::before{content:"";position:absolute;left:50%;top:-1px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:radial-gradient(circle,#F42A41,#c4162b);box-shadow:0 0 0 3px rgba(244,42,65,.2);animation:nvDot 1.8s ease-in-out infinite}
@keyframes nvDot{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.25)}}
/* soft colour wash behind the hovered item */
.nv-item:hover>.nv-top,.nv-item.open>.nv-top{background:linear-gradient(135deg,rgba(0,106,78,.1),rgba(244,42,65,.1))!important}
.nv-item.on>.nv-top{background:linear-gradient(135deg,rgba(0,106,78,.07),rgba(245,210,122,.18))}
/* the red cost-estimate pill keeps white text */
.nv-item.hot>.nv-top>span:nth-child(2){background:none!important;-webkit-text-fill-color:#fff;color:#fff;animation:none;transform:none!important;letter-spacing:0!important}
.nv-item.hot:hover>.nv-top,.nv-item.hot.open>.nv-top{background:linear-gradient(135deg,#F42A41,#c4162b)!important}
.nv-item.hot.on>.nv-top::before{display:none}
/* header button: single line */
.header-actions .btn,.header-actions .btn-sm{white-space:nowrap;padding:10px 18px;font-weight:800;border-radius:99px}
.header-actions .lang{font-weight:800}
@media (max-width:1020px){.nv-top>span:nth-child(2){animation:none;background:none;-webkit-text-fill-color:#0f2a22;color:#0f2a22}.nv-item.on>.nv-top::before{display:none}}
@media (prefers-reduced-motion:reduce){.nv-top>span:nth-child(2){animation:none!important}}

/* ten top-level items: keep the header on one line */
.header-in a,.header-in button{white-space:nowrap}
@media (max-width:1400px) and (min-width:1021px){.nv-top{padding:10px 7px!important;font-size:13.4px}.header-in{gap:8px}}

/* ===== luxury header menu: every option is a pill, cycling red / green / gold ===== */
.nv-ind{display:none!important}
.nv-item>.nv-top{position:relative;overflow:hidden;color:#fff!important;border:1px solid rgba(245,210,122,.8)!important;padding:9px 12px!important;font-weight:800;text-shadow:0 1px 1px rgba(0,0,0,.28);box-shadow:0 4px 12px rgba(0,56,42,.24),inset 0 1px 0 rgba(255,255,255,.38);animation:nvFloat 5.2s ease-in-out infinite;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,filter .3s}
.nv-item:nth-child(3n+1)>.nv-top{background:linear-gradient(135deg,#FA5568 0%,#F42A41 46%,#B3152A 100%)!important}
.nv-item:nth-child(3n+2)>.nv-top{background:linear-gradient(135deg,#17B089 0%,#006A4E 52%,#00382a 100%)!important;animation-duration:5.8s}
.nv-item:nth-child(3n)>.nv-top{background:linear-gradient(135deg,#FBE7A4 0%,#E3BF62 52%,#C9A14A 100%)!important;color:#2a2108!important;text-shadow:none;animation-duration:6.4s}
.nv-item>.nv-top::before{content:"";position:absolute;top:-30%;bottom:-30%;width:36%;left:-60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:nvLuxShine 4.4s ease-in-out infinite;pointer-events:none}
.nv-item:nth-child(3n+2)>.nv-top::before{animation-delay:1.3s}.nv-item:nth-child(3n)>.nv-top::before{animation-delay:2.6s}
.nv-item>.nv-top::after{display:none!important}
.nv-item:hover>.nv-top,.nv-item.open>.nv-top{transform:translateY(-2px)!important;filter:brightness(1.1) saturate(1.1);box-shadow:0 10px 22px rgba(0,56,42,.34),0 0 0 2px rgba(245,210,122,.75),inset 0 1px 0 rgba(255,255,255,.45)}
.nv-item.on>.nv-top{box-shadow:0 0 0 3px rgba(245,210,122,.9),0 8px 18px rgba(0,56,42,.32),inset 0 1px 0 rgba(255,255,255,.4)}
.nv-item .nv-ti{animation:nvLuxIc 3.2s ease-in-out infinite}
@keyframes nvFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.6px)}}
@keyframes nvLuxShine{0%,55%{left:-60%}100%{left:140%}}
@keyframes nvLuxIc{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(10deg)}}
@media (max-width:1500px) and (min-width:1021px){.nv-item>.nv-top{padding:9px 10px!important;font-size:14px}}
@media (max-width:1400px) and (min-width:1021px){.nv-item>.nv-top{padding:8px 8px!important;font-size:13.2px}.nv-item .nv-ti{display:none!important}}
@media (max-width:1200px) and (min-width:1021px){.nv-item>.nv-top{padding:8px 6px!important;font-size:12.6px}}
@media (max-width:1020px){.nv-item>.nv-top{padding:13px 14px!important;border-radius:14px!important;animation:none}}
/* dropdown panels: gold hairline, soft depth, sliding gold marker on each option */
.nv-panel{border:1px solid rgba(201,161,74,.55)!important;box-shadow:0 26px 54px rgba(0,56,42,.3),0 0 0 1px rgba(255,255,255,.6) inset!important}
.nv-sub{position:relative;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s}
.nv-sub::before{content:"";position:absolute;left:0;top:16%;bottom:16%;width:3px;border-radius:3px;background:linear-gradient(#F5D27A,#C9A14A);transform:scaleY(0);transition:transform .28s}
.nv-sub:hover{transform:translateX(3px);box-shadow:0 10px 22px rgba(0,56,42,.14)}.nv-sub:hover::before{transform:scaleY(1)}
@media (prefers-reduced-motion:reduce){.nv-item>.nv-top,.nv-item>.nv-top::before,.nv-item .nv-ti{animation:none!important}.nv-sub{transition:none}}
/* ===== clearer, brighter labels + the same colourful motion on login / language / registration ===== */
.nv-item>.nv-top>span,.nv-item>.nv-top .nv-ti{position:relative;z-index:2}
.nv-item>.nv-top::before{z-index:1}
.nv-item:nth-child(3n+1)>.nv-top{background:linear-gradient(135deg,#EE3248 0%,#C4162B 55%,#8F0E20 100%)!important}
.nv-item:nth-child(3n+2)>.nv-top{background:linear-gradient(135deg,#0E9873 0%,#006A4E 55%,#00382a 100%)!important}
.nv-item>.nv-top{color:#fff!important;font-size:14.4px;letter-spacing:.15px;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 10px rgba(0,0,0,.18)}
.nv-item:nth-child(3n)>.nv-top{color:#1d1605!important;text-shadow:0 1px 0 rgba(255,255,255,.6)}
@media (max-width:1500px) and (min-width:1021px){.nv-item>.nv-top{font-size:14px}}
@media (max-width:1400px) and (min-width:1021px){.nv-item>.nv-top{font-size:13.3px}}
@media (max-width:1200px) and (min-width:1021px){.nv-item>.nv-top{font-size:12.7px}}
/* login = green pill, language = gold pill, registration keeps its red but gets the same shimmer */
.hm-login,.header-actions .lang,.header-actions .btn{position:relative;overflow:hidden;font-weight:800;border:1px solid rgba(245,210,122,.85)!important;border-radius:99px!important;box-shadow:0 4px 12px rgba(0,56,42,.24),inset 0 1px 0 rgba(255,255,255,.38);animation:nvFloat 5.6s ease-in-out infinite;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,filter .3s;text-decoration:none!important}
.hm-login{background:linear-gradient(135deg,#0E9873,#006A4E 55%,#00382a)!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.6);padding:8px 14px!important}
.header-actions .lang{background:linear-gradient(135deg,#FBE7A4,#E3BF62 52%,#C9A14A)!important;color:#1d1605!important;text-shadow:0 1px 0 rgba(255,255,255,.6)}
.header-actions .btn{background:linear-gradient(135deg,#EE3248,#C4162B 55%,#8F0E20)!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.hm-login::before,.header-actions .lang::before,.header-actions .btn::before{content:"";position:absolute;top:-30%;bottom:-30%;width:36%;left:-60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.7),transparent);transform:skewX(-20deg);animation:nvLuxShine 4.4s ease-in-out infinite;pointer-events:none;z-index:1}
.header-actions .lang::before{animation-delay:1.3s}.header-actions .btn::before{animation-delay:2.6s}
.hm-login:hover,.header-actions .lang:hover,.header-actions .btn:hover{transform:translateY(-2px);filter:brightness(1.1) saturate(1.1);box-shadow:0 10px 22px rgba(0,56,42,.34),0 0 0 2px rgba(245,210,122,.75),inset 0 1px 0 rgba(255,255,255,.45)}
@media (prefers-reduced-motion:reduce){.hm-login,.header-actions .lang,.header-actions .btn,.hm-login::before,.header-actions .lang::before,.header-actions .btn::before{animation:none!important}}

/* the older gradient-text label style made the labels dim on the new pills: use plain solid text */
.nv .nv-item>.nv-top>span,.nv-item>.nv-top>span{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;color:inherit!important;opacity:1!important;filter:none!important}

/* keep the pills the same compact size the menu had before */
@media (min-width:1021px){.nv-item>.nv-top{padding-top:8px!important;padding-bottom:8px!important;font-weight:700}}
@media (min-width:1501px){.nv-item>.nv-top{padding-left:12px!important;padding-right:12px!important;font-size:14.3px}}
@media (min-width:1021px){.hm-login{padding:7px 12px!important}}
