
:root{
  --v89-navy:#12376c;
  --v89-navy-2:#244b78;
  --v89-gold:#98610a;
  --v89-gold-2:#c9952b;
  --v89-ink:#203f68;
  --v89-muted:#5b708d;
  --v89-line:rgba(151,104,24,.18);
  --v89-soft:rgba(255,255,255,.55);
}
*{box-sizing:border-box}
html{
  width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth;
  overscroll-behavior-x:none;
}
body.v89-core{
  width:100%;max-width:100%;min-height:100vh;margin:0;overflow-x:hidden;
  color:var(--v89-ink);
  font-family:Arial,Helvetica,sans-serif;
  background:
    linear-gradient(180deg,rgba(249,253,255,.76),rgba(255,252,244,.70) 46%,rgba(249,253,255,.68)),
    url("theme-backgrounds/bright-gateway-world.webp") center top/cover no-repeat fixed,
    #f6fbff;
}
a{color:inherit}
button,input{font:inherit}
.v89-core-header{
  width:min(1180px,calc(100% - 18px));
  margin:8px auto 0;padding:8px 10px;
  display:grid;grid-template-columns:auto minmax(0,1fr) 38px;align-items:center;gap:10px;
  background:transparent;border:0;box-shadow:none;
}
.v89-core-brand{
  display:flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap;min-width:0
}
.v89-core-cross{font-size:1.8rem;line-height:1;color:var(--v89-gold)}
.v89-core-brand strong{
  display:block;font:700 1.4rem/1 Georgia,"Times New Roman",serif;color:var(--v89-navy)
}
.v89-core-brand small{
  display:block;margin-top:3px;font:800 .46rem/1 Arial,sans-serif;letter-spacing:.15em;color:#667892
}
.v89-core-nav{
  display:flex;gap:4px;justify-content:flex-end;align-items:center;min-width:0;overflow:hidden
}
.v89-core-nav a{
  padding:7px 8px;border-radius:999px;text-decoration:none;
  color:var(--v89-navy);font:800 .68rem/1 Arial,sans-serif;white-space:nowrap
}
.v89-core-nav a.active{color:var(--v89-gold);text-decoration:underline;text-underline-offset:3px}
.v89-core-share{
  width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--v89-navy);
  font-size:1.05rem;font-weight:900;cursor:pointer
}
.v89-page-shell{
  width:min(1100px,calc(100% - 18px));margin:0 auto;padding:4px 0 28px;
  background:transparent;border:0;box-shadow:none;overflow:visible
}
.v89-page-masthead{
  text-align:center;padding:18px 10px 8px;background:transparent
}
.v89-page-masthead .cm-welcome{
  color:var(--v89-gold);font:900 .62rem/1 Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase
}
.v89-page-masthead .cm-brand{display:none}
.v89-page-masthead .cm-page{
  margin-top:5px;color:var(--v89-navy);font:700 clamp(1.85rem,4vw,3.1rem)/1 Georgia,"Times New Roman",serif
}
.v89-page-masthead .cm-cross{display:none}
.v89-page-masthead .cm-sub{
  max-width:720px;margin:7px auto 0;color:#385779;font:600 .88rem/1.45 Arial,sans-serif
}
.v89-core-footer{
  width:min(1100px,calc(100% - 18px));margin:0 auto;padding:17px 8px 22px;
  border-top:1px solid var(--v89-line);text-align:center;color:#5d718c;font-size:.67rem
}
.v89-core-footer nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:8px}
.v89-core-footer a{color:var(--v89-navy);font-weight:800;text-decoration:none}
.v89-core button:focus-visible,.v89-core a:focus-visible,.v89-core input:focus-visible{
  outline:2px solid rgba(152,97,10,.46);outline-offset:2px
}
@media(max-width:900px){
  body.v89-core{background-attachment:scroll}
  .v89-core-header{grid-template-columns:auto 1fr 36px}
  .v89-core-nav{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
  .v89-core-nav::-webkit-scrollbar{display:none}
}
@media(max-width:620px){
  .v89-core-header{width:calc(100% - 10px);padding:7px 4px}
  .v89-core-brand strong{font-size:1.18rem}
  .v89-core-brand small{display:none}
  .v89-core-cross{font-size:1.55rem}
  .v89-core-nav a{padding:6px;font-size:.61rem}
  .v89-page-shell{width:calc(100% - 12px)}
  .v89-page-masthead{padding-top:12px}
}


/* V89 COPYRIGHT LOCK — visible in portrait + landscape on every migrated page */
.v89-core-footer{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:min(1100px,calc(100% - 18px))!important;
  max-width:calc(100vw - 18px)!important;
  min-height:0!important;
  overflow:visible!important;
}
.v89-core-footer nav,
.v89-core-footer div{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}
.v89-core-footer div{
  justify-content:center!important;
}
@media (orientation:portrait),(orientation:landscape){
  .v89-core-footer{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
}


/* =========================================================
   V89.22 MOBILE/TABLET NAV LOCK
   Brand stays readable. Navigation gets its own scroll row.
   ========================================================= */
@media(max-width:900px){
  .v89-core-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "brand share"
      "nav nav"!important;
    gap:5px 8px!important;
    align-items:center!important;
    width:min(1180px,calc(100% - 12px))!important;
    max-width:calc(100vw - 12px)!important;
    padding:8px 6px 6px!important;
    overflow:hidden!important;
  }

  .v89-core-brand{
    grid-area:brand!important;
    min-width:0!important;
    justify-self:start!important;
  }

  .v89-core-brand strong{
    white-space:nowrap!important;
    font-size:1.28rem!important;
  }

  .v89-core-share{
    grid-area:share!important;
    justify-self:end!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
  }

  .v89-core-nav{
    grid-area:nav!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:4px 1px 3px!important;
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    gap:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    white-space:nowrap!important;
    scroll-snap-type:x proximity!important;
  }

  .v89-core-nav::-webkit-scrollbar{display:none!important}

  .v89-core-nav a{
    flex:0 0 auto!important;
    min-width:max-content!important;
    padding:7px 9px!important;
    font-size:.69rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    scroll-snap-align:start!important;
  }
}

@media(max-width:520px){
  .v89-core-header{
    width:calc(100% - 8px)!important;
    max-width:calc(100vw - 8px)!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }
  .v89-core-cross{font-size:1.45rem!important}
  .v89-core-brand strong{font-size:1.15rem!important}
  .v89-core-brand small{display:none!important}
  .v89-core-nav a{padding:7px 8px!important;font-size:.66rem!important}
}


/* V89.23 OFFICIAL 321 PRAY BRAND — Option 3 Modern Wordmark */
.v89-core-brand .v89-official-logo{
  display:block!important;
  width:auto!important;
  height:48px!important;
  max-width:min(330px,36vw)!important;
  object-fit:contain!important;
}
@media(max-width:900px){
  .v89-core-brand .v89-official-logo{
    height:42px!important;
    max-width:min(290px,58vw)!important;
  }
}
@media(max-width:520px){
  .v89-core-brand .v89-official-logo{
    content:url("brand/321-pray-logo-compact.svg?v=923");
    height:38px!important;
    max-width:min(240px,64vw)!important;
  }
}
