/* TG Vault v77 — sticky header + calm full-page footer fade + hidden Japanese name marks
   Goal: beauty first, but no visible shadow bars or heavy floating text blocks. */

:root{
  --tg-bordeaux:#5B1E2D;
  --tg-bordeaux-soft:#7D3A4B;
  --tg-bordeaux-deep:#2A1318;
  --tg-ink:#161311;
  --tg-cream:#F4EBDD;
  --tg-paper:#FFF8ED;
  --tg-gold:#D4B06A;
}

/* Header must always travel with the user. Keep announcement + nav above every page layer. */
body .ann-banner,
body .tg-lux-ann{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:99980!important;
  transform:none!important;
}
body .tgv-header-v72,
body.premium-theme .tgv-header-v72,
body.vault-page .tgv-header-v72,
body.legal-page .tgv-header-v72,
body.contact-page .tgv-header-v72{
  position:fixed!important;
  top:36px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  z-index:99970!important;
  width:min(calc(100% - 44px),1120px)!important;
  max-width:1120px!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  isolation:isolate!important;
}
body .tgv-mobile-v72,
body.premium-theme .tgv-mobile-v72{
  position:fixed!important;
  top:112px!important;
  z-index:99960!important;
}

/* Give pages enough breathing room under fixed header if a browser collapses old spacing. */
body.premium-theme:not(.home-page) main,
body.premium-theme:not(.home-page) .subpage-hero,
body.premium-theme:not(.home-page) .contact-shell-v72,
body.premium-theme:not(.home-page) .vault-shell,
body.premium-theme:not(.home-page) .faq-shell,
body.premium-theme:not(.home-page) .blog-shell{
  scroll-margin-top:135px!important;
}

/* Remove the old large Japanese text blocks from v75/v76 completely. */
body.premium-theme:not(.home-page)::before,
body.premium-theme:not(.home-page)::after{
  content:none!important;
  display:none!important;
}

/* Subtle, hidden-in-background name marks. Single names only, no shadow, very transparent. */
body.premium-theme:not(.home-page) main::before,
body.premium-theme:not(.home-page) main::after{
  pointer-events:none!important;
  position:fixed!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN","MS Mincho","Noto Serif JP",serif!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  line-height:1!important;
  z-index:0!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  text-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  white-space:nowrap!important;
}
body.premium-theme:not(.home-page) main::before{
  content:"ピカチュウ"!important;
  top:22vh!important;
  left:clamp(18px,5vw,84px)!important;
  font-size:clamp(44px,7vw,118px)!important;
  color:rgba(91,30,45,.055)!important;
  transform:rotate(-6deg)!important;
}
body.premium-theme:not(.home-page) main::after{
  content:"ゲンガー"!important;
  right:clamp(18px,5vw,90px)!important;
  bottom:22vh!important;
  font-size:clamp(40px,6.5vw,106px)!important;
  color:rgba(212,176,106,.050)!important;
  transform:rotate(5deg)!important;
}
body.legal-page main::before,
body.contact-page main::before{content:"ミュウ"!important;color:rgba(91,30,45,.045)!important;}
body.legal-page main::after,
body.contact-page main::after{content:"ルギア"!important;color:rgba(91,30,45,.060)!important;bottom:34vh!important;}
body.vault-page main::before{content:"リザードン"!important;color:rgba(91,30,45,.040)!important;}
body.vault-page main::after{content:"イーブイ"!important;color:rgba(22,19,17,.035)!important;}

/* Keep all content above those subtle marks. */
body.premium-theme:not(.home-page) main > *,
body.premium-theme:not(.home-page) .subpage-hero,
body.premium-theme:not(.home-page) .subpage-content,
body.premium-theme:not(.home-page) .contact-shell-v72,
body.premium-theme:not(.home-page) .vault-shell,
body.premium-theme:not(.home-page) .faq-shell,
body.premium-theme:not(.home-page) .blog-shell,
body.premium-theme:not(.home-page) .tgv-footer-v72{
  position:relative!important;
  z-index:2!important;
}

/* Unified deepest-page background for legal/contact/about-like pages.
   Starts fading around the middle, not directly above the footer. */
body.legal-page,
body.contact-page,
body.premium-theme:not(.home-page):not(.vault-page):not(.faq-page):not(.blog-page){
  background:
    radial-gradient(circle at 14% 18%, rgba(212,176,106,.12), transparent 28%),
    radial-gradient(circle at 88% 24%, rgba(91,30,45,.09), transparent 30%),
    linear-gradient(180deg,
      #F8F0E4 0%,
      #F4EBDD 42%,
      #EAD8C2 55%,
      #C99A96 66%,
      #8C4858 76%,
      #5B1E2D 84%,
      #2A171A 93%,
      #151211 100%)!important;
  background-attachment:scroll!important;
}

/* Vault/shop keeps the brighter paper world. */
body.vault-page{
  background:
    radial-gradient(circle at 18% 14%, rgba(212,176,106,.14), transparent 28%),
    linear-gradient(180deg,#F8F0E4 0%,#F4EBDD 64%,#E8D8C4 100%)!important;
}

/* Remove all box-attached fade/shadow artifacts. */
body.legal-page .subpage-content,
body.contact-page .contact-shell-v72,
body.premium-theme:not(.home-page) .subpage-content{
  box-shadow:none!important;
  filter:none!important;
}
body.legal-page .subpage-content::after,
body.contact-page .contact-shell-v72::after,
body.legal-page .legal-section::after,
body.contact-page .contact-shell-v72 > *::after{
  content:none!important;
  display:none!important;
}

/* Footer: one consistent boutique footer. The page background already fades into it. */
body .tgv-footer-v72,
body.premium-theme .tgv-footer-v72,
body.legal-page .tgv-footer-v72,
body.contact-page .tgv-footer-v72,
body.vault-page .tgv-footer-v72{
  position:relative!important;
  margin-top:0!important;
  padding-top:105px!important;
  background:
    radial-gradient(circle at 18% 0%, rgba(212,176,106,.10), transparent 30%),
    radial-gradient(circle at 84% 16%, rgba(91,30,45,.20), transparent 32%),
    linear-gradient(180deg,
      #5B1E2D 0%,
      #341920 24%,
      #211818 58%,
      #141110 100%)!important;
  border-top:1px solid rgba(212,176,106,.16)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body .tgv-footer-v72::before,
body.premium-theme .tgv-footer-v72::before,
body.legal-page .tgv-footer-v72::before,
body.contact-page .tgv-footer-v72::before,
body.vault-page .tgv-footer-v72::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:100%!important;
  pointer-events:none!important;
  z-index:0!important;
  background:
    linear-gradient(180deg, rgba(255,248,237,.035) 0%, rgba(91,30,45,.06) 26%, rgba(22,19,17,0) 70%),
    radial-gradient(circle at 9% 7%, rgba(212,176,106,.12), transparent 22%)!important;
}
body .tgv-footer-v72::after,
body.premium-theme .tgv-footer-v72::after{
  content:"ゲンガー"!important;
  position:absolute!important;
  right:7vw!important;
  top:22%!important;
  z-index:0!important;
  pointer-events:none!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN","MS Mincho","Noto Serif JP",serif!important;
  font-size:clamp(48px,8vw,132px)!important;
  line-height:1!important;
  color:rgba(127,48,66,.105)!important;
  letter-spacing:.13em!important;
  text-shadow:none!important;
  transform:rotate(3deg)!important;
  white-space:nowrap!important;
}
body .tgv-footer-v72 .footer-top,
body .tgv-footer-v72 .footer-bottom{
  position:relative!important;
  z-index:3!important;
}

@media(max-width:760px){
  body .tgv-header-v72,
  body.premium-theme .tgv-header-v72{top:34px!important;width:calc(100% - 20px)!important;}
  body.premium-theme:not(.home-page) main::before,
  body.premium-theme:not(.home-page) main::after{font-size:42px!important;opacity:.65!important;}
  body .tgv-footer-v72{padding-top:76px!important;}
  body .tgv-footer-v72::after{font-size:56px!important;right:4vw!important;top:16%!important;}
}
