/* ===== SITE HEADER (shared across all pages) - transparent full-width bar ===== */
.sh{--sh-gold:#F3B400; --sh-green:#3E9A78; --sh-green-deep:#0E6B54; --sh-ink:#0b1512;
  position:fixed; top:0; left:0; right:0; z-index:1000; font-family:'Inter',sans-serif; color:#fff;
  background:linear-gradient(180deg, rgba(5,12,10,.45), rgba(5,12,10,0)); transition:background .35s ease, backdrop-filter .35s ease, box-shadow .35s ease;}
.sh *{box-sizing:border-box;}
.sh a{text-decoration:none; color:inherit;}
.sh.is-stuck{background:rgba(10,30,25,.45); backdrop-filter:blur(16px) saturate(1.3); -webkit-backdrop-filter:blur(16px) saturate(1.3); box-shadow:0 1px 0 rgba(255,255,255,.12), 0 10px 30px rgba(0,0,0,.15);}

.sh-inner{position:relative; max-width:1640px; margin:0 auto; height:96px; padding:0 clamp(20px,2.4vw,44px); display:flex; align-items:center; justify-content:space-between; gap:28px; transition:height .3s ease;}
.sh.is-stuck .sh-inner{height:74px;}

/* logo */
.sh-logo{display:inline-flex; align-items:center; gap:12px; font-weight:800; font-size:1.7rem; letter-spacing:.02em; text-transform:uppercase; flex-shrink:0;}
.sh-logo-mark{width:44px; height:44px; border-radius:50%; border:2px solid #fff; color:#fff; display:grid; place-items:center; font-size:1.35rem;}
.sh-logo b{color:var(--sh-gold); font-weight:800;}

/* menu */
.sh-nav{display:flex; align-items:center; gap:2px; margin:0 auto;}
.sh-link{position:relative; display:inline-flex; align-items:center; gap:6px; padding:12px 14px; font-size:.88rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:#fff; background:none; border:0; cursor:pointer; font-family:inherit; transition:color .25s ease;}
.sh-link:hover, .sh-item:hover > .sh-link, .sh-item:focus-within > .sh-link, .sh-link.is-active{color:var(--sh-gold);}
.sh-link i{font-size:.65rem; transition:transform .25s ease;}
.sh-item{position:static;}
.sh-item:hover > .sh-link i, .sh-item:focus-within > .sh-link i{transform:rotate(180deg);}

/* dropdown card: title row, then columns of grouped items */
.sh-drop{position:absolute; top:100%; left:50%; width:max-content; max-width:calc(100vw - 32px); margin-top:4px; padding:26px 30px 22px; border-radius:22px; background:#fff; color:var(--sh-ink); border:1px solid rgba(14,107,84,.08); box-shadow:0 30px 70px rgba(0,0,0,.3); opacity:0; visibility:hidden; transform:translate(-50%,10px); transition:opacity .25s ease, transform .25s ease, visibility .25s; text-transform:none; letter-spacing:0; font-weight:400;}
.sh-drop::before{content:""; position:absolute; left:0; right:0; top:-14px; height:14px;}
.sh-item:hover > .sh-drop, .sh-item:focus-within > .sh-drop{opacity:1; visibility:visible; transform:translate(-50%,0);}

.sh-drop-head{display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-bottom:16px; margin-bottom:18px; border-bottom:1px solid #e7ece9;}
.sh-drop-head strong{display:block; font-size:1.25rem; font-weight:700; letter-spacing:-.01em;}
.sh-drop-head small{display:block; margin-top:3px; color:#6b7a75; font-size:.92rem;}
.sh-drop-head a{display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:.98rem; color:var(--sh-green-deep); white-space:nowrap; margin-top:2px;}
.sh-drop-head a:hover{color:var(--sh-gold);}

.sh-cols{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(210px,1fr); gap:6px 34px;}
.sh-col h6{margin:0 0 12px; font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#8a99a5;}
.sh-col a{display:flex; align-items:center; gap:14px; padding:8px 8px; margin:0 -8px 2px; border-radius:12px; transition:background .2s ease;}
.sh-col a:hover, .sh-col a.is-current{background:#eef7f3;}
.sh-col a span.ic{width:34px; height:34px; border-radius:10px; background:#e5f3ed; color:var(--sh-green-deep); display:grid; place-items:center; font-size:1.2rem; flex-shrink:0;}
.sh-col a b{display:flex; align-items:center; gap:8px; font-size:1rem; font-weight:600; color:var(--sh-ink);}
.sh-col a small{display:block; margin-top:1px; font-size:.84rem; color:#6b7a75; font-weight:400;}
.sh-col em{font-style:normal; padding:2px 7px; border-radius:6px; background:#dbeafe; color:#2563eb; font-size:.62rem; font-weight:800; letter-spacing:.05em;}

/* right side: search, login, CTA */
.sh-cta{display:flex; align-items:center; gap:14px; flex-shrink:0;}
.sh-search{width:40px; height:40px; border:0; background:none; color:#fff; font-size:1.25rem; cursor:pointer; display:grid; place-items:center; transition:color .25s ease;}
.sh-search:hover{color:var(--sh-gold);}
.sh-btn{display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:4px; font-size:.88rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap; transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;}
.sh-btn-ghost{color:#fff; border:1.5px solid rgba(255,255,255,.55);}
.sh-btn-ghost:hover{background:#fff; color:var(--sh-ink); border-color:#fff;}
.sh-btn-gold{background:var(--sh-green); color:#fff!important;}
.sh-btn-gold:hover{background:var(--sh-gold); color:var(--sh-ink)!important; transform:translateY(-2px);}
.sh-btn-gold span{display:none;}

/* burger */
.sh-burger{display:none; width:44px; height:44px; border-radius:4px; border:1.5px solid rgba(255,255,255,.55); background:none; color:#fff; font-size:1.3rem; cursor:pointer; place-items:center;}

/* mobile panel */
@media(max-width:1100px){
  .sh-inner{height:74px;}
  .sh-nav{position:fixed; top:0; right:0; bottom:0; width:min(88vw,380px); margin:0; padding:90px 22px 28px; flex-direction:column; align-items:stretch; gap:2px; overflow-y:auto; background:#08231d; box-shadow:-20px 0 50px rgba(0,0,0,.4); transform:translateX(105%); transition:transform .4s cubic-bezier(.16,1,.3,1);}
  .sh.is-open .sh-nav{transform:translateX(0);}
  .sh-link{padding:14px; justify-content:space-between; width:100%; border-radius:6px;}
  .sh-drop{position:static; width:auto; max-width:none; margin:0 0 6px; padding:0 0 0 8px; background:none; color:#fff; border:0; box-shadow:none; opacity:1; visibility:visible; transform:none; display:none;}
  .sh-drop::before{display:none;}
  .sh-item.is-open > .sh-drop{display:block;}
  .sh-item:hover > .sh-drop, .sh-item:focus-within > .sh-drop{transform:none;}
  .sh-item.is-open > .sh-link i{transform:rotate(180deg);}
  .sh-drop-head{display:block; border:0; margin:0 0 6px; padding:0;}
  .sh-drop-head strong, .sh-drop-head small{display:none;}
  .sh-drop-head a{color:var(--sh-gold); font-size:.9rem; padding:8px 8px;}
  .sh-cols{display:block;}
  .sh-col{margin-bottom:10px;}
  .sh-col h6{color:rgba(255,255,255,.5); margin:8px 8px 4px;}
  .sh-col a:hover, .sh-col a.is-current{background:rgba(255,255,255,.08);}
  .sh-col a span.ic{background:rgba(243,180,0,.16); color:var(--sh-gold);}
  .sh-col a b{color:#fff; font-size:.95rem;}
  .sh-col a small{display:none;}
  .sh-burger{display:grid; z-index:2; position:relative;}
  .sh-cta{margin-left:auto;}
  .sh-scrim{position:fixed; inset:0; background:rgba(0,0,0,.5); opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s;}
  .sh.is-open .sh-scrim{opacity:1; visibility:visible;}
  .sh.is-open .sh-burger{position:fixed; right:22px; top:15px;}
}
@media(max-width:640px){
  .sh-btn-ghost, .sh-search{display:none;}
  .sh-btn{padding:11px 16px; font-size:.8rem;}
}
@media(prefers-reduced-motion:reduce){.sh, .sh *{transition:none!important;}}

/* login dropdown */
.sh-login{position:relative;}
.sh-login > .sh-btn{cursor:pointer; font-family:inherit; background:none;}
.sh-login > .sh-btn i{font-size:.65rem; transition:transform .25s ease;}
.sh-login:hover > .sh-btn i, .sh-login.is-open > .sh-btn i{transform:rotate(180deg);}
.sh-login:hover > .sh-btn, .sh-login.is-open > .sh-btn{background:#fff; color:var(--sh-ink); border-color:#fff;}
.sh-lmenu{position:absolute; top:100%; right:0; min-width:230px; margin-top:8px; padding:8px; border-radius:16px; background:#fff; color:var(--sh-ink); border:1px solid rgba(14,107,84,.08); box-shadow:0 24px 50px rgba(0,0,0,.3); opacity:0; visibility:hidden; transform:translateY(10px); transition:opacity .25s ease, transform .25s ease, visibility .25s;}
.sh-lmenu::before{content:""; position:absolute; left:0; right:0; top:-10px; height:10px;}
.sh-login:hover > .sh-lmenu, .sh-login.is-open > .sh-lmenu{opacity:1; visibility:visible; transform:translateY(0);}
.sh-lmenu a{display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:10px; font-size:.9rem; font-weight:600; color:var(--sh-ink); text-transform:none; letter-spacing:0; transition:background .2s ease;}
.sh-lmenu a:hover{background:#eef7f3;}
.sh-lmenu a span{width:34px; height:34px; border-radius:10px; background:#e5f3ed; color:#0E6B54; display:grid; place-items:center; font-size:1.1rem;}
@media(max-width:640px){.sh-login{display:none;}}

/* ===== responsive ===== */
html, body{overflow-x:clip;}
.sh-mob{display:none;}
@media(max-width:1100px){
  .sh-mob{display:grid; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid rgba(255,255,255,.14);}
  .sh-mob span{font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.5); font-weight:700; padding:0 14px;}
  .sh-mob a{display:flex; align-items:center; gap:12px; padding:13px 14px; border-radius:12px; background:rgba(255,255,255,.07); color:#fff; font-weight:600; font-size:.95rem;}
  .sh-mob a i{color:var(--sh-gold); font-size:1.2rem;}
  .sh-login{display:none;}
  .sh-inner{gap:12px;}
}
@media(max-width:640px){
  .sh-inner{height:64px; padding:0 14px; gap:8px;}
  .sh.is-stuck .sh-inner{height:60px;}
  .sh-logo{font-size:1.15rem; gap:8px;}
  .sh-logo-mark{width:34px; height:34px; font-size:1.05rem; border-width:1.5px;}
  .sh-btn{padding:9px 13px; font-size:.7rem;}
  .sh-burger{width:40px; height:40px; font-size:1.15rem; flex-shrink:0;}
  .sh-cta{gap:8px;}
  .sh.is-open .sh-burger{right:14px; top:12px;}
  .sh-nav{width:min(88vw,340px);}
}
@media(max-width:380px){ .sh-cta .sh-btn-gold{display:none;} }

/* mobile: solid bar so the logo is readable on light page heroes too */
@media(max-width:1100px){ .sh{background:rgba(8,40,32,.94); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);} }

/* ===== premium mega dropdown (desktop) ===== */
@media(min-width:1101px){
  .sh-drop{width:min(1040px, calc(100vw - 40px)); max-width:none; padding:0; margin-top:10px; border-radius:26px; overflow:visible; background:#fff; border:1px solid rgba(14,107,84,.12); box-shadow:0 40px 90px -20px rgba(4,30,24,.55), 0 0 0 1px rgba(255,255,255,.4) inset;}
  .sh-drop::after{content:""; position:absolute; top:-7px; left:var(--ax,50%); width:16px; height:16px; margin-left:-8px; background:#fff; transform:rotate(45deg); border-radius:3px 0 0 0; border-left:1px solid rgba(14,107,84,.12); border-top:1px solid rgba(14,107,84,.12);}
  .sh-drop::before{top:-22px; height:22px;}
  .sh-drop-head{position:relative; z-index:1; margin:0; padding:24px 32px 18px; border-bottom:1px solid #e7ece9; background:linear-gradient(180deg,#f6fbf8,#fff); border-radius:26px 26px 0 0;}
  .sh-drop-head strong{font-size:1.3rem; letter-spacing:-.02em; color:#0b1512;}
  .sh-drop-head small{font-size:.9rem; color:#6b7a75;}
  .sh-drop-head a{padding:9px 16px; border-radius:100px; background:#0E6B54; color:#fff; font-size:.85rem; font-weight:700; margin-top:0; transition:background .2s ease, color .2s ease, gap .2s ease;}
  .sh-drop-head a:hover{background:#F3B400; color:#0b1512; gap:10px;}
  .sh-cols{position:relative; z-index:1; padding:22px 32px 24px; gap:8px 28px; grid-auto-columns:minmax(0,1fr); text-transform:none; letter-spacing:0;}
  .sh-col h6{display:flex; align-items:center; gap:8px; margin:0 0 12px; font-size:.7rem; letter-spacing:.1em; color:#0E6B54;}
  .sh-col h6::before{content:""; width:14px; height:2px; border-radius:2px; background:#F3B400;}
  .sh-col a{position:relative; margin:0 -10px 4px; padding:10px 10px; border-radius:14px; overflow:hidden; transition:background .22s ease, transform .22s ease;}
  .sh-col a::before{content:""; position:absolute; left:0; top:22%; bottom:22%; width:3px; border-radius:0 3px 3px 0; background:#F3B400; transform:scaleY(0); transition:transform .22s ease;}
  .sh-col a:hover, .sh-col a.is-current{background:linear-gradient(90deg,#eef7f3,#f8fcfa); transform:translateX(3px);}
  .sh-col a:hover::before, .sh-col a.is-current::before{transform:scaleY(1);}
  .sh-col a span.ic{width:38px; height:38px; border-radius:11px; background:linear-gradient(145deg,#0E6B54,#084A3B); color:#F3B400; font-size:1.2rem; box-shadow:0 6px 14px -6px rgba(8,74,59,.6); transition:transform .22s ease;}
  .sh-col a:hover span.ic{transform:scale(1.08) rotate(-4deg);}
  .sh-col a b{font-size:.95rem; color:#0b1512;} .sh-col a small{font-size:.8rem; color:#6b7a75;}
  .sh-foot{position:relative; z-index:1; display:flex; align-items:center; gap:14px; padding:14px 32px; border-radius:0 0 26px 26px; background:linear-gradient(120deg,#0c3a2f,#06231c); color:#fff; text-transform:none; letter-spacing:0;}
  .sh-foot-ic{width:38px; height:38px; border-radius:50%; background:rgba(243,180,0,.16); border:1px solid rgba(243,180,0,.5); color:#F3B400; display:grid; place-items:center; font-size:1.15rem; flex-shrink:0;}
  .sh-foot b{display:block; font-size:.92rem;} .sh-foot small{display:block; font-size:.78rem; color:rgba(255,255,255,.65);}
  .sh-foot a{margin-left:auto; display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:100px; background:#F3B400; color:#0b1512; font-weight:700; font-size:.82rem; white-space:nowrap; transition:gap .2s ease;}
  .sh-foot a:hover{gap:12px;}
  .sh-item:hover > .sh-drop .sh-col{animation:shUp .35s ease both;} .sh-item:hover > .sh-drop .sh-col:nth-child(2){animation-delay:.04s;} .sh-item:hover > .sh-drop .sh-col:nth-child(3){animation-delay:.08s;} .sh-item:hover > .sh-drop .sh-col:nth-child(4){animation-delay:.12s;}
}
@keyframes shUp{from{opacity:0; transform:translateY(10px);}}
@media(max-width:1100px){.sh-foot{display:none;}}

/* keep menu labels on one line on laptop widths */
.sh-link{white-space:nowrap;}
@media(min-width:1101px) and (max-width:1440px){
  .sh-link{padding:12px 10px; font-size:.82rem;}
  .sh-btn{padding:12px 18px; font-size:.82rem;}
  .sh-logo{font-size:1.45rem;}
  .sh-inner{gap:16px;}
  .sh-cta{gap:10px;}
}

@media(min-width:1101px){ .sh-drop.is-narrow{width:min(660px, calc(100vw - 40px));} .sh-drop.is-narrow .sh-cols{grid-auto-columns:minmax(0,1fr);} }

/* menu labels: normal case (first letter capital only) */
.sh-link{text-transform:none; letter-spacing:0; font-size:.98rem; font-weight:600;}
@media(min-width:1101px) and (max-width:1440px){ .sh-link{font-size:.92rem; padding:12px 11px;} }

/* ===== premium header buttons ===== */
.sh-cta .sh-btn{text-transform:none; letter-spacing:0; font-size:.93rem; font-weight:700; border-radius:100px;}
.sh-login > .sh-btn.sh-btn-ghost{display:inline-flex; align-items:center; gap:8px; padding:11px 18px 11px 14px; background:rgba(255,255,255,.12); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.38); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.18);}
.sh-uic{font-size:1.25rem; color:#F3B400; transition:color .25s ease;}
.sh-login:hover > .sh-btn.sh-btn-ghost, .sh-login.is-open > .sh-btn.sh-btn-ghost{background:#fff; color:#0b1512; border-color:#fff;}
.sh-login:hover .sh-uic, .sh-login.is-open .sh-uic{color:#0E6B54;}
.sh-btn.sh-btn-gold{position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:12px; padding:6px 6px 6px 22px; background:linear-gradient(135deg,#FFD24D,#F3B400 55%,#E0A100); color:#0b1512!important; border:0; box-shadow:0 10px 24px -8px rgba(243,180,0,.75), inset 0 1px 0 rgba(255,255,255,.5);}
.sh-btn.sh-btn-gold span{display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#0b1512; color:#F3B400; font-size:.9rem; transition:transform .3s ease;}
.sh-btn.sh-btn-gold::after{content:""; position:absolute; top:0; left:-60%; width:40%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg); transition:left .6s ease;}
.sh-btn.sh-btn-gold:hover{transform:translateY(-2px); background:linear-gradient(135deg,#FFD24D,#F3B400 55%,#E0A100); color:#0b1512!important; box-shadow:0 14px 30px -8px rgba(243,180,0,.9), inset 0 1px 0 rgba(255,255,255,.5);}
.sh-btn.sh-btn-gold:hover::after{left:130%;}
.sh-btn.sh-btn-gold:hover span{transform:rotate(45deg);}
@media(min-width:1101px) and (max-width:1440px){ .sh-cta .sh-btn{font-size:.88rem;} .sh-login > .sh-btn.sh-btn-ghost{padding:10px 14px 10px 11px;} }
@media(max-width:640px){
  .sh-btn.sh-btn-gold{padding:4px 4px 4px 14px; gap:8px; font-size:.78rem;}
  .sh-btn.sh-btn-gold span{width:30px; height:30px; font-size:.8rem;}
}

.sh-login > .sh-btn.sh-btn-ghost{font-size:.95rem; font-weight:700; padding:14px 20px 14px 16px; line-height:1;}
.sh-login > .sh-btn.sh-btn-ghost .sh-uic{font-size:1.35rem;}
@media(max-width:1440px) and (min-width:1101px){ .sh-login > .sh-btn.sh-btn-ghost{font-size:.9rem; padding:13px 16px 13px 12px;} }

/* ===== two-tier header: info bar + main row ===== */
.sh-top{display:none;}
@media(min-width:1101px){
  .sh{background:linear-gradient(180deg,rgba(5,12,10,.62),rgba(5,12,10,.18));}
  .sh-top{display:block; border-bottom:1px solid rgba(255,255,255,.14); transition:max-height .3s ease, opacity .3s ease; max-height:50px; overflow:visible;}
  .sh.is-stuck .sh-top{max-height:0; opacity:0; overflow:hidden; border-width:0;}
  .sh-top-in{max-width:1640px; margin:0 auto; padding:0 clamp(20px,2.4vw,44px); height:46px; display:flex; align-items:center; justify-content:space-between;}
  .sh-top-l{display:flex; align-items:center; font-size:.84rem; color:rgba(255,255,255,.85);}
  .sh-top-l > *{display:inline-flex; align-items:center; gap:8px; padding:0 18px; border-left:1px solid rgba(255,255,255,.22);}
  .sh-top-l > *:first-child{padding-left:0; border-left:0;}
  .sh-top-l i{color:var(--sh-gold); font-size:1rem;}
  .sh-top-l a:hover{color:#fff;}
  .sh-top-hl{color:var(--sh-gold)!important; font-weight:600;}
  .sh-top-r{display:flex; align-items:stretch; height:100%;}
  .sh-top-r .sh-search{width:50px; height:100%; border-left:1px solid rgba(255,255,255,.14); border-radius:0; font-size:1.05rem;}
  .sh-top-r .sh-login{display:flex; border-left:1px solid rgba(255,255,255,.14); border-right:1px solid rgba(255,255,255,.14);}
  .sh-top-r .sh-login > .sh-btn.sh-btn-ghost{height:100%; border:0; border-radius:0; background:none; backdrop-filter:none; box-shadow:none; padding:0 20px; font-size:.86rem; font-weight:600;}
  .sh-top-r .sh-login:hover > .sh-btn.sh-btn-ghost, .sh-top-r .sh-login.is-open > .sh-btn.sh-btn-ghost{background:rgba(255,255,255,.1); color:#fff;}
  .sh-top-r .sh-login:hover .sh-uic, .sh-top-r .sh-login.is-open .sh-uic{color:var(--sh-gold);}
  .sh-top-r .sh-lmenu{margin-top:0; top:100%;}
  .sh-inner{height:84px;} .sh.is-stuck .sh-inner{height:70px;}
  .sh-nav{position:absolute; left:50%; transform:translateX(-50%); margin:0;}
}
@media(max-width:1100px){ .sh-top{display:none;} }

@media(min-width:1101px){ .sh:not(.is-stuck){background:linear-gradient(180deg,rgba(5,12,10,.62),rgba(5,12,10,.3) 60%,rgba(5,12,10,0));} }

/* login dropdown must sit above the main row */
.sh-top{position:relative; z-index:5;}
.sh-inner{position:relative; z-index:1;}
.sh-lmenu{z-index:20;}

/* ===== brand logo: UV symbol + wordmark text ===== */
.sh-logo{gap:12px; text-transform:none; letter-spacing:0;}
.sh-logo{margin-left:clamp(0px,.8vw,14px);}
.sh-logo img{display:block; height:88px; width:auto; filter:drop-shadow(0 6px 14px rgba(0,0,0,.35)); transition:height .3s ease;}
.sh.is-stuck .sh-logo img{height:64px;}
.sh-logo-txt{font-size:1.55rem; font-weight:800; letter-spacing:.01em; line-height:1; color:#fff;} .sh-logo-txt b{color:#3FD08F; font-weight:800; margin-left:.28em;}
@media(min-width:1101px) and (max-width:1440px){ .sh-logo-txt{font-size:1.35rem;} }
@media(max-width:640px){ .sh-logo{gap:8px;} .sh-logo img, .sh.is-stuck .sh-logo img{height:42px;} .sh-logo-txt{font-size:1.1rem;} }
/* ===== minimal dropdown (desktop): compact card, names only ===== */
@media(min-width:1101px){
  .sh-drop{width:min(900px, calc(100vw - 40px)); border-radius:18px; margin-top:8px;}
  .sh-drop.is-narrow{width:min(600px, calc(100vw - 40px));}
  .sh-drop::after{top:-6px; width:14px; height:14px; margin-left:-7px;}
  .sh-drop-head{padding:14px 24px 12px; border-radius:18px 18px 0 0; background:#fff; align-items:center;}
  .sh-drop-head strong{font-size:1rem; letter-spacing:-.01em;}
  .sh-drop-head small{display:none;}
  .sh-drop-head a{padding:0; background:none; color:#0E6B54; font-size:.84rem; font-weight:600;}
  .sh-drop-head a:hover{background:none; color:#C98A00; gap:10px;}
  .sh-cols{padding:12px 24px 18px; gap:2px 18px;}
  .sh-col h6{margin:0 0 6px; font-size:.66rem;}
  .sh-col a{margin:0 -8px 1px; padding:7px 8px; gap:10px; border-radius:10px;}
  .sh-col a::before{display:none;}
  .sh-col a:hover, .sh-col a.is-current{transform:none;}
  .sh-col a span.ic{width:30px; height:30px; border-radius:9px; font-size:1rem; box-shadow:none;}
  .sh-col a b{font-size:.88rem; font-weight:600;}
  .sh-col a small{display:none;}
  .sh-col a b em{font-size:.58rem; padding:2px 6px;}
  .sh-foot{display:none;}
}
@media(min-width:1101px){
  .sh-drop, .sh-drop.is-narrow{width:max-content; min-width:520px; max-width:calc(100vw - 40px);}
  .sh-cols, .sh-drop.is-narrow .sh-cols{grid-auto-columns:minmax(180px,max-content); gap:2px 28px;}
}

/* ===== dropdown, reference style: plain white card, plain icons, name + light description ===== */
@media(min-width:1101px){
  .sh-drop, .sh-drop.is-narrow{border-radius:16px; border:1px solid #e8ecea; box-shadow:0 24px 50px -18px rgba(8,30,24,.38); min-width:560px;}
  .sh-drop-head{display:flex; align-items:flex-start; padding:20px 0 14px; margin:0 24px; border-bottom:1px solid #eceff0; border-radius:0; background:none;}
  .sh-drop-head strong{font-size:1.05rem; font-weight:700; color:#0b1512;}
  .sh-drop-head small{display:block; margin-top:2px; font-size:.82rem; color:#6b7a75;}
  .sh-drop-head a{font-size:.8rem; margin-top:3px;}
  .sh-cols{padding:16px 24px 20px; gap:2px 34px;}
  .sh-col h6{margin:0 0 8px; font-size:.68rem; letter-spacing:.08em; color:#8a99a5;}
  .sh-col h6::before{display:none;}
  .sh-col a{padding:7px 8px; gap:12px; align-items:flex-start;}
  .sh-col a:hover, .sh-col a.is-current{background:#f4f7f6;}
  .sh-col a span.ic{width:26px; height:26px; margin-top:1px; background:none; box-shadow:none; color:#0E6B54; font-size:1.3rem; border-radius:0;}
  .sh-col a:hover span.ic{transform:none;}
  .sh-col a b{font-size:.92rem; font-weight:600; color:#0b1512;}
  .sh-col a small{display:block; margin-top:1px; font-size:.76rem; color:#6b7a75; font-weight:400;}
}

/* dropdown: no extra gap under the menu, equal columns and equal side padding */
@media(min-width:1101px){
  .sh-drop, .sh-drop.is-narrow{margin-top:0; min-width:0;}
  .sh-cols, .sh-drop.is-narrow .sh-cols{grid-auto-columns:1fr; gap:2px 40px;}
}

/* performance: lighter blur on the scrolled header (a big blur repaints the whole bar on every scroll frame) */
.sh.is-stuck{backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);}
