/* Shared public pages reuse the club's existing palette, cards and artwork. */
body.hub-section-route:not(.hub-section-character)>main.wrap{padding-top:30px!important}
.hub-public-page a:focus-visible,.hub-page-cta:focus-visible{outline:2px solid #e8be66;outline-offset:4px;border-radius:5px}
.hub-public-page{width:100%;max-width:1140px;margin:0 auto 36px}
.hub-public-page-head{position:relative}
.hub-public-page-back{
  position:absolute;
  top:0;
  left:0;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(202,155,66,.86);
  border-radius:50%;
  background:rgba(3,16,10,.58);
  color:#e4ba5b;
  box-shadow:inset 0 0 12px rgba(0,0,0,.3),0 3px 10px rgba(0,0,0,.18);
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease;
  z-index:2;
}
.hub-public-page-back::before{content:'‹';font:33px/1 Georgia,serif;transform:translateY(-1px)}
.hub-public-page-back:hover{transform:scale(1.06);border-color:#f0ca72;color:#ffe29a;background:rgba(19,45,31,.78)}
.hub-public-page-back:focus-visible{outline:2px solid #efca73;outline-offset:4px}
.hub-public-page-back.hidden{display:none}
.hub-public-page-head h1{display:flex;align-items:center;justify-content:center;gap:24px;margin:0 0 28px;color:#e7bf66;font:700 clamp(28px,2.8vw,38px)/1.18 Georgia,serif;letter-spacing:.055em;text-align:center;text-shadow:0 3px 12px #0009}
.hub-public-page-head h1:focus{outline:none}
.hub-public-page-head h1::before,.hub-public-page-head h1::after{content:'';height:1px;flex:1;max-width:160px;background:linear-gradient(90deg,transparent,#a87b2c)}
.hub-public-page-head h1::after{background:linear-gradient(90deg,#a87b2c,transparent)}
.hub-public-page-body{min-width:0;padding:28px;border:1px solid #98743d80;border-radius:18px;background:linear-gradient(145deg,#0a2118e6,#07160fd9);box-shadow:inset 0 0 36px #0002,0 12px 35px #0004;color:#f3ead8;font:16px/1.65 Georgia,serif}
.hub-public-page-body>p.hub-modal-subtitle{display:block!important;margin:0 0 24px;text-align:center;color:#cbbb97;font:16px/1.5 Georgia,serif}
.hub-public-page-body img{max-width:100%}
.hub-page-footer{display:flex;align-items:center;justify-content:center;width:100%;max-width:1140px;margin:28px auto 8px;padding:0}
.hub-page-cta{display:block;width:clamp(270px,24vw,420px);max-width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;line-height:0;text-decoration:none;filter:drop-shadow(0 8px 14px rgba(0,0,0,.68));transition:transform .18s ease,filter .18s ease}
.hub-page-cta img{display:block;width:100%;height:auto;margin:0;padding:0;pointer-events:none;user-select:none}
@media(hover:hover){.hub-page-cta:hover{transform:translateY(-3px) scale(1.02);filter:brightness(1.08) drop-shadow(0 12px 18px rgba(0,0,0,.78))}}
.hub-page-cta:active{transform:scale(.99)}
#hubInfoPage .hub-faq-trigger{font-size:18px!important}
#hubInfoPage .hub-faq-answer{font-size:16px!important;line-height:1.65!important}
#hubInfoPage .hub-guilds-intro{padding:0!important;font-size:16px;line-height:1.65}
#hubInfoPage .hub-guild-tab{display:flex;align-items:center;justify-content:center;text-decoration:none}
#hubInfoPage .hub-master-card{text-decoration:none}
#hubInfoPage .hub-pricing-loyalty-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.hub-master-page{display:grid;grid-template-columns:minmax(180px,320px) minmax(0,1fr);align-items:center;gap:32px;max-width:850px;margin:auto}
.hub-master-page>img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid #ab8545;border-radius:12px}
.hub-master-page h2{font-size:28px;color:#e7bf66}
.hub-master-page p{color:#dcccaa}
.hub-master-page a{display:inline-block;margin:8px 0;color:#e9c777}

.hub-master-page--video{
  grid-template-columns:minmax(250px,320px) minmax(0,1fr);
  align-items:start;
  gap:clamp(28px,4vw,56px);
  max-width:960px;
}
.hub-master-page--video .hub-master-video-block{min-width:0;width:100%;margin:0}
.hub-master-page--video .hub-master-page-content{min-width:0;padding:clamp(8px,2vw,24px) 0}
.hub-master-page--video h2{
  margin:0 0 8px!important;
  color:#e7bf66;
  font:700 clamp(28px,3vw,38px)/1.15 Georgia,serif;
}
.hub-master-page--video .hub-master-page-role{
  margin:0!important;
  color:#e5bd6d!important;
  font:700 20px/1.25 Georgia,serif!important;
}
.hub-master-page--video .hub-master-about{margin:18px 0 24px;padding:0;border:0}
.hub-master-page--video .hub-master-about-copy{
  margin:0;
  color:#ebdfc9;
  font:16px/1.7 Georgia,serif;
  white-space:pre-line;
}
.hub-master-page--video .hub-master-about-copy.is-placeholder{color:#b5a88f;font-style:italic}

@media(min-width:701px){
  body.hub-section-route:not(.hub-section-character) #hubDesktopAccountPlaque{display:block!important;padding:0;margin:0;border:0;background:transparent;line-height:0;z-index:9999;filter:drop-shadow(0 8px 16px #0009)}
  body.hub-section-route:not(.hub-section-character) #hubDesktopAccountPlaque img{display:block;width:100%;height:auto;pointer-events:none}
  body.hub-section-route:not(.hub-section-character) #hubDesktopAccountPlaque:hover{filter:brightness(1.07) drop-shadow(0 8px 16px #0009)}
}
@media(max-width:700px){
  body.hub-section-route:not(.hub-section-character)>main.wrap{padding-top:calc(clamp(60px,18.5vw,82px) + 24px)!important}
  .hub-public-page{margin-bottom:24px}
  /* Public information pages share one compact row with the fixed side badges. */
  body.hub-section-route:not(.hub-section-character)>main.wrap:has(>#hubInfoPage:not(.hidden)){
    --hub-page-badge-size:clamp(60px,18.5vw,82px);
    --hub-page-badge-edge:clamp(7px,2vw,10px);
    padding-top:4px!important;
  }
  #hubInfoPage .hub-public-page-head{
    display:flex;align-items:center;justify-content:center;
    min-height:calc(var(--hub-page-badge-size,72px) * 1.14 + 4px);
    margin:0 0 10px;
    padding:8px calc(var(--hub-page-badge-size,72px) + var(--hub-page-badge-edge,8px) - 4px);
  }
  #hubInfoPage .hub-public-page-head:has(.hub-public-page-back:not(.hidden)){margin-bottom:58px}
  #hubInfoPage .hub-public-page-back{top:calc(100% + 4px);left:2px;width:40px;height:40px}
  #hubInfoPage .hub-public-page-head h1{width:100%;min-width:0;gap:8px;margin:0;font-size:clamp(22px,6.9vw,27px);letter-spacing:.025em}
  #hubInfoPage .hub-public-page-head h1::before,#hubInfoPage .hub-public-page-head h1::after{max-width:24px}
  .hub-public-page-body{padding:18px 14px;border-radius:13px}
  .hub-public-page-body>p.hub-modal-subtitle{font-size:15px;margin-bottom:20px}
  #hubInfoPage .hub-faq-trigger{font-size:17px!important}
  #hubInfoPage .hub-faq-answer{font-size:16px!important}
  .hub-page-footer{margin:24px auto 6px}
  .hub-page-cta{width:min(86vw,360px)}
  .hub-master-page{grid-template-columns:1fr;gap:24px}
  .hub-master-page>img{max-width:260px;justify-self:center}
  .hub-master-page>div{text-align:center}
  .hub-master-page--video{grid-template-columns:1fr;gap:24px}
  .hub-master-page--video .hub-master-video-block{width:min(100%,300px);justify-self:center}
  .hub-master-page--video .hub-master-page-content{width:100%;padding:0 2px;text-align:left}
  .hub-master-page--video h2{font-size:29px}
  .hub-master-page--video .hub-master-about{margin:16px 0;padding:0}

  body.hub-section-route:not(.hub-section-character) :is(#hubDesktopHome,#hubDesktopAccountPlaque){display:block!important;position:fixed!important;top:4px!important;width:clamp(60px,18.5vw,82px)!important;height:auto;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;line-height:0;z-index:10000!important;filter:drop-shadow(0 5px 10px #0008)}
  body.hub-section-route:not(.hub-section-character) #hubDesktopHome{left:clamp(7px,2vw,10px)!important;right:auto!important}
  body.hub-section-route:not(.hub-section-character) #hubDesktopAccountPlaque{right:clamp(7px,2vw,10px)!important;left:auto!important}
  body.hub-section-route:not(.hub-section-character) #hubDesktopAccountPlaque img{display:block;width:100%;height:auto;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.hub-public-page *,.hub-page-footer *{scroll-behavior:auto!important;transition:none!important}.hub-page-cta:hover,.hub-page-cta:active{transform:none}}
