/* ===== RainJay editorial menu system v4 ===== */
:root{
  --editorial-ink:#43343d;
  --editorial-muted:#8b7480;
  --editorial-line:rgba(86,59,72,.11);
  --editorial-accent:#e94f91;
  --editorial-paper:rgba(255,255,255,.92);
}
.topbar{background:rgba(255,252,253,.9)!important;border-bottom:1px solid rgba(85,58,72,.07)!important}
.topbar-inner{height:76px!important}
.desktop-nav{
  gap:2px!important;padding:4px!important;border-radius:16px!important;
  background:rgba(255,255,255,.72)!important;border:1px solid rgba(88,57,71,.08)!important;
  box-shadow:0 12px 34px rgba(112,67,88,.07)!important;
}
.desktop-nav a,.desktop-nav a:nth-child(n),.desktop-nav .nav-link{
  position:relative;min-height:42px!important;padding:0 16px!important;border-radius:12px!important;
  background:transparent!important;color:#705563!important;font-size:12px!important;font-weight:800!important;
}
.desktop-nav a:first-child,.desktop-nav a:nth-child(1){background:#fff!important;color:#3f3038!important;box-shadow:0 6px 18px rgba(89,55,72,.08)!important}
.desktop-nav a:first-child::after{
  content:"";position:absolute;left:16px;right:16px;bottom:5px;height:2px;border-radius:2px;background:var(--editorial-accent)
}
.desktop-nav a:hover,.desktop-nav .nav-link:hover{background:#fff!important;color:#c63e78!important;transform:none!important;box-shadow:none!important}

.menu-tabs{
  top:82px!important;gap:0!important;padding:5px!important;border-radius:16px!important;
  background:rgba(255,255,255,.84)!important;border:1px solid rgba(83,56,69,.08)!important;
  box-shadow:0 14px 36px rgba(108,65,86,.08)!important;
}
.menu-tabs a,.menu-tabs a:nth-child(n){
  position:relative;min-height:44px!important;padding:0 19px!important;border-radius:11px!important;
  background:transparent!important;color:#806572!important;font-size:12px!important;font-weight:850!important;box-shadow:none!important;
}
.menu-tabs a+a::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:rgba(86,59,72,.08)}
.menu-tabs a.active{background:#fff!important;color:#3f3038!important;box-shadow:0 6px 18px rgba(93,57,75,.08)!important}
.menu-tabs a.active::after{content:"";position:absolute;left:20px;right:20px;bottom:4px;height:2px;border-radius:2px;background:var(--editorial-accent)}

.catalog-toolbar{padding:9px 12px 9px 16px!important;border:1px solid rgba(83,56,69,.09)!important;background:rgba(255,255,255,.9)!important;box-shadow:0 16px 40px rgba(108,65,86,.07)!important}
.search-box{min-height:48px!important;background:transparent!important}
.catalog-toolbar p{background:#fff8fb!important;border:1px solid rgba(226,93,149,.09)!important}

.subnav{
  top:140px!important;gap:3px!important;padding:5px!important;border-radius:17px!important;
  background:rgba(255,255,255,.9)!important;border:1px solid rgba(83,56,69,.08)!important;
  box-shadow:0 14px 34px rgba(108,65,86,.07)!important;
}
.subnav a,.subnav a:first-child,.subnav a:nth-child(n){
  position:relative;min-height:42px!important;padding:0 12px!important;border-radius:11px!important;
  background:transparent!important;color:#7f6873!important;box-shadow:none!important;font-size:10px!important;
}
.subnav a.active,.subnav a:first-child.active{background:#4a3a42!important;color:#fff!important;box-shadow:0 7px 18px rgba(61,43,52,.16)!important}
.subnav small{min-width:22px!important;height:22px!important;background:rgba(96,68,82,.07)!important;color:inherit!important}
.subnav a.active small{background:rgba(255,255,255,.16)!important}

.season-group{
  --season-accent:#df5b93;--season-soft:#fff0f6;position:relative;isolation:isolate;
  scroll-margin-top:218px;margin-top:38px;padding:30px;border-radius:34px;
  background:linear-gradient(132deg,rgba(255,246,250,.97),rgba(255,255,255,.98) 48%,rgba(242,247,255,.96));
  border:1px solid rgba(82,58,69,.1);box-shadow:0 22px 54px rgba(102,64,83,.09);overflow:hidden;
}
.season-important{--season-accent:#be7b3e;--season-soft:#fff4de}.season-red{--season-accent:#d44370;--season-soft:#fff0f4}
.season-buff{--season-accent:#7b72bf;--season-soft:#f2efff}.season-budget{--season-accent:#b98a2f;--season-soft:#fff6d9}
.season-role{--season-accent:#8c68b8;--season-soft:#f5efff}.season-experience{--season-accent:#3f9a82;--season-soft:#eaf8f3}
.season-s10{--season-accent:#c84b61;--season-soft:#fff0f1}.season-hot{--season-accent:#d94d88}.season-new{--season-accent:#5f83b9;--season-soft:#edf5ff}
.season-orb{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.season-orb-a{width:230px;height:230px;right:-82px;top:-96px;background:color-mix(in srgb,var(--season-soft) 92%,transparent)}
.season-orb-b{width:170px;height:170px;left:-76px;bottom:-82px;background:rgba(207,226,245,.28)}
.season-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:28px;padding:0 3px 22px;border-bottom:1px solid var(--editorial-line)}
.season-heading-copy{min-width:0}.season-kicker{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:#39383e;color:#fff;font-size:8px;font-weight:950;letter-spacing:.16em}
.season-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}.season-title-line h3{margin:0;color:var(--editorial-ink);font-size:clamp(30px,3.8vw,44px);line-height:1;letter-spacing:-.05em}
.season-title-line .pin-label{min-height:27px!important;margin:0!important;padding:0 10px!important;border-radius:9px!important;background:var(--season-soft)!important;color:var(--season-accent)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.78)!important;font-size:9px!important;font-weight:900!important}
.season-heading-copy p{max-width:650px;margin:11px 0 0;color:var(--editorial-muted);font-size:11px;line-height:1.75}
.season-count{width:86px;height:86px;display:grid;place-items:center;align-content:center;border-radius:23px;background:rgba(255,255,255,.86);border:1px solid rgba(76,52,64,.07);box-shadow:0 12px 28px rgba(86,55,70,.07)}
.season-count b{font-size:29px;line-height:1;color:#493d44;font-variant-numeric:tabular-nums}.season-count span{margin-top:7px;color:var(--season-accent);font-size:7px;font-weight:950;letter-spacing:.12em}
.season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.season-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border-radius:25px;background:rgba(255,255,255,.96);border:1px solid rgba(84,58,70,.06);box-shadow:0 14px 34px rgba(77,55,68,.09);opacity:0;transform:translateY(10px);transition:opacity 320ms ease-out,transform 220ms ease-out,box-shadow 220ms ease-out}
.season-card.visible{opacity:1;transform:none}.season-visual{position:relative;width:100%;aspect-ratio:1.31/1;padding:0;border:0;overflow:hidden;background:var(--season-soft);cursor:pointer}
.season-backdrop{position:absolute;inset:-22px;background-position:center top;background-size:cover;filter:blur(22px) saturate(.74);opacity:.29;transform:scale(1.12)}
.season-visual img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform 300ms cubic-bezier(.2,.8,.2,1),filter 220ms ease}
.season-visual::after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(36,31,34,.18));pointer-events:none}
.season-card-no,.season-limited{position:absolute;z-index:3;top:13px;display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(10px)}
.season-card-no{left:13px;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.9);color:#4f444a;font-size:10px;font-weight:950;box-shadow:0 7px 16px rgba(48,37,43,.1)}
.season-limited{right:13px;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(48,45,51,.84);color:#fff;font-size:7px;font-weight:950;letter-spacing:.1em}
.season-body{flex:1;display:flex;flex-direction:column;padding:17px 17px 18px}.season-tags{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#a08391;font-size:8px;font-weight:900}
.season-tags span:first-child{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:8px;background:var(--season-soft);color:var(--season-accent)}
.season-body h4{margin:10px 0 7px;color:#493d44;font-size:19px;line-height:1.28;letter-spacing:-.03em}.season-body p{margin:0 0 16px;color:#917783;font-size:10.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.season-actions{margin-top:auto;display:grid;grid-template-columns:.88fr 1.12fr;gap:8px}.season-actions button{min-height:42px;border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:9px;font-weight:900;cursor:pointer}.season-actions svg{width:14px;height:14px}.season-view{background:#f7f3f5;color:#826c77}.season-add{background:var(--season-soft);color:var(--season-accent)}.season-add.added{background:#e5f6ee;color:#28765b}
.dialog-gallery-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px}.dialog-gallery-controls[hidden]{display:none}.dialog-gallery-controls button{width:44px;height:44px;border:1px solid rgba(80,56,68,.09);border-radius:14px;background:#fff;color:#6c5360;display:grid;place-items:center;cursor:pointer}.dialog-gallery-controls button:first-child svg{transform:rotate(180deg)}.dialog-gallery-controls svg{width:18px;height:18px}.dialog-gallery-controls span{min-width:54px;text-align:center;color:#806674;font-size:12px;font-weight:900;font-variant-numeric:tabular-nums}

.flow-section{padding:52px 0!important}.flow-card{grid-template-columns:1.2fr .8fr!important;gap:18px!important;padding:24px!important;border-radius:28px!important}.flow-heading{margin-bottom:14px!important}.flow-heading h2{font-size:clamp(28px,3.5vw,40px)!important}.flow-grid{gap:8px!important}.flow-grid article{min-height:84px!important;padding:12px!important;border-radius:17px!important}.flow-grid article>span{width:36px!important;height:36px!important;border-radius:12px!important}.flow-grid h3{font-size:13px!important}.flow-grid p{font-size:9px!important}.flow-poster{padding:15px!important;border-radius:21px!important}.flow-poster h3{font-size:20px!important}.notice-image,.notice-image img{height:154px!important;max-height:154px!important;border-radius:16px!important}
.footer-note small{display:block;margin-top:7px}

@media (hover:hover) and (pointer:fine){
  .season-card:hover{transform:translateY(-5px);box-shadow:0 21px 44px rgba(77,55,68,.13)}
  .season-card:hover .season-visual img{transform:scale(1.035);filter:saturate(1.04)}
  .season-actions button:hover,.dialog-gallery-controls button:hover{filter:brightness(.98)}
}
@media (max-width:900px){.season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-card{grid-template-columns:1fr!important}}
@media (max-width:700px){
  .menu-tabs{position:relative!important;top:auto!important;width:100%!important;max-width:100%!important;margin-right:0!important;padding:4px!important;border-radius:15px!important;background:rgba(255,255,255,.86)!important;box-shadow:0 12px 30px rgba(108,65,86,.07)!important;overflow-x:auto!important;flex-wrap:nowrap!important}
  .menu-tabs a,.menu-tabs a:nth-child(n){min-height:44px!important;padding:0 15px!important;border-radius:10px!important;box-shadow:none!important}.menu-tabs a+a::before{display:none}
  .subnav{position:relative!important;top:auto!important;width:calc(100% + 14px)!important;max-width:calc(100% + 14px)!important;margin-right:-14px!important;padding:5px 14px 7px 1px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow-x:auto!important}
  .subnav a,.subnav a:first-child,.subnav a:nth-child(n){flex:0 0 auto;background:#fff!important;border:1px solid rgba(83,56,69,.08)!important;box-shadow:0 7px 17px rgba(108,65,86,.06)!important}.subnav a.active,.subnav a:first-child.active{background:#493a42!important;color:#fff!important}
  .season-group{margin-top:28px;padding:18px 12px 16px;border-radius:26px}.season-heading{grid-template-columns:1fr;gap:12px;margin-bottom:16px;padding:0 5px 16px}.season-title-line{margin-top:11px;gap:8px}.season-title-line h3{font-size:29px}.season-heading-copy p{font-size:10px}.season-count{display:none}.season-grid{grid-template-columns:1fr;gap:12px}.season-body{padding:15px}.season-body h4{font-size:18px}.season-actions{grid-template-columns:1fr 1fr}.season-actions button{min-height:44px}.season-card-no{width:32px;height:32px}.season-limited{font-size:6.5px}
  .flow-section{padding:40px 0!important}.flow-card{padding:16px!important}.flow-grid article{min-height:76px!important}.flow-poster{padding:12px!important}.notice-image,.notice-image img{height:140px!important;max-height:140px!important}
}
@media (prefers-reduced-motion:reduce){.season-card,.season-visual img{transition:none!important}.season-card{opacity:1!important;transform:none!important}}
