
/* Society of Curious Cases accessibility and responsive layer */
.skip-link{position:fixed;left:12px;top:8px;z-index:1000;transform:translateY(-150%);background:#f2c864;color:#1c1008;padding:10px 14px;border-radius:4px;font-weight:700}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #f2c864;outline-offset:3px}
img{max-width:100%;height:auto}
button,[role="button"],a{touch-action:manipulation}

@media(max-width:700px){
  body{background-attachment:scroll!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.scc-footer-contact{color:#d6aa45;text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.scc-footer-contact:hover,.scc-footer-contact:focus{color:#fff0bd;text-decoration:underline}


/* WordPress integration */
html, body { max-width: 100%; }
body.admin-bar .topbar { top: 32px; }
@media screen and (max-width:782px){ body.admin-bar .topbar { top:46px; } }
.scc-vault-coming-soon{margin:22px auto 4px;max-width:820px;padding:15px 18px;border:1px solid rgba(221,171,62,.55);border-radius:10px;background:rgba(42,20,12,.68);color:#f2d37d;text-align:center;font-weight:700;line-height:1.45}
.scc-prelaunch-note{margin:0 0 18px;padding:13px 15px;border:1px solid #9a743b;border-radius:8px;background:#f8edcf;color:#5b281d;font-weight:700;line-height:1.4}
.scc-site input:disabled,.scc-site button:disabled{opacity:.65;cursor:not-allowed}

/* v1.0.2 navigation refinement: keep labels on one line and use the menu toggle before the header becomes cramped. */
.scc-site .topbar .menu a,
.scc-site .site-header .menu a,
.scc-site .header .menu a{
  white-space:nowrap;
  border-bottom:0!important;
  text-decoration:none!important;
}
.scc-site .topbar .menu a.active,
.scc-site .site-header .menu a.active,
.scc-site .header .menu a.active{
  border-bottom:0!important;
  text-decoration:none!important;
}
@media(max-width:1180px){
  .scc-site .topbar .nav,
  .scc-site .site-header .header-inner,
  .scc-site .header .header-inner{
    position:relative;
  }
  .scc-site .topbar .mobile-toggle,
  .scc-site .topbar .menu-toggle,
  .scc-site .site-header .menu-toggle,
  .scc-site .header .menu-toggle{
    display:block!important;
    flex:0 0 auto;
  }
  .scc-site .topbar .menu,
  .scc-site .site-header .menu,
  .scc-site .header .menu{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    z-index:100!important;
    margin:0!important;
    padding:18px 24px!important;
    background:#090604!important;
    border-top:1px solid rgba(212,161,62,.45);
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
  }
  .scc-site .topbar .menu.open,
  .scc-site .site-header .menu.open,
  .scc-site .header .menu.open{
    display:flex!important;
  }
  .scc-site .topbar .menu a,
  .scc-site .site-header .menu a,
  .scc-site .header .menu a{
    display:block;
    padding:8px 4px;
  }
}


/* v1.0.3 approved header refinements. */
.scc-home .topbar .menu a.cta{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
}
.scc-home .topbar .menu a.cta:hover,
.scc-home .topbar .menu a.cta:focus{
  color:var(--gold2)!important;
  background:none!important;
}
.scc-site .topbar .brand,
.scc-site .site-header .brand,
.scc-site .header .brand{
  flex-shrink:0;
}
.scc-site .topbar .brand-copy,
.scc-site .site-header .brand-copy,
.scc-site .header .brand-copy,
.scc-site .topbar .brand-text,
.scc-site .site-header .brand-text,
.scc-site .header .brand-text{
  flex-shrink:0;
}

/* v1.0.7 — one authoritative homepage-style header across the entire site. */
body.scc-site{
  margin:0!important;
  padding:0!important;
}
.scc-site .scc-standard-header{
  position:sticky!important;
  top:0;
  z-index:80!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:rgba(7,5,3,.96)!important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(224,171,59,.55)!important;
  box-shadow:none!important;
}
.scc-site .scc-standard-header .nav{
  width:100%!important;
  max-width:1500px!important;
  min-height:118px!important;
  margin:0 auto!important;
  padding:10px 24px!important;
  display:flex!important;
  align-items:center!important;
  gap:26px!important;
  box-sizing:border-box!important;
}
.scc-site .scc-standard-header .brand{
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
  flex:0 0 auto!important;
  min-width:0!important;
  color:#f2c864!important;
  text-decoration:none!important;
  line-height:1.02!important;
}
.scc-site .scc-standard-header .brand img{
  display:block!important;
  width:112px!important;
  height:112px!important;
  max-width:112px!important;
  object-fit:contain!important;
  flex:0 0 112px!important;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.45));
}
.scc-site .scc-standard-header .brand-text{
  display:block!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.scc-site .scc-standard-header .brand-text strong{
  display:block!important;
  color:#f2c864!important;
  font-family:"Playfair Display",Georgia,"Times New Roman",serif!important;
  font-size:28px!important;
  font-weight:700!important;
  line-height:1.02!important;
  letter-spacing:.03em!important;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}
.scc-site .scc-standard-header .brand-text small{
  display:block!important;
  margin-top:7px!important;
  color:#9f332d!important;
  font-family:"Playfair Display",Georgia,"Times New Roman",serif!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.1!important;
  letter-spacing:.18em!important;
  white-space:nowrap!important;
}
.scc-site .scc-standard-header .menu{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:26px!important;
  white-space:nowrap!important;
}
.scc-site .scc-standard-header .menu a,
.scc-site .scc-standard-header .menu a.cta,
.scc-site .scc-standard-header .menu a.active{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:#ead7ac!important;
  font-family:"Playfair Display",Georgia,"Times New Roman",serif!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:.06em!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.scc-site .scc-standard-header .menu a.active,
.scc-site .scc-standard-header .menu a:hover,
.scc-site .scc-standard-header .menu a:focus{
  color:#f2c864!important;
}
.scc-site .scc-standard-header .mobile-toggle{
  display:none!important;
  margin-left:auto!important;
  padding:10px 12px!important;
  border:1px solid rgba(224,171,59,.55)!important;
  border-radius:0!important;
  background:none!important;
  color:#f2c864!important;
  box-shadow:none!important;
  font-weight:700!important;
}
@media(max-width:1180px){
  .scc-site .scc-standard-header .nav{
    position:relative!important;
  }
  .scc-site .scc-standard-header .mobile-toggle{
    display:block!important;
    flex:0 0 auto!important;
  }
  .scc-site .scc-standard-header .menu{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    z-index:100!important;
    margin:0!important;
    padding:18px 24px!important;
    background:#090604!important;
    border-top:1px solid rgba(212,161,62,.45)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
  }
  .scc-site .scc-standard-header .menu.open{
    display:flex!important;
  }
  .scc-site .scc-standard-header .menu a{
    display:block!important;
    padding:8px 4px!important;
  }
}
@media(max-width:700px){
  .scc-site .scc-standard-header .nav{
    min-height:84px!important;
    padding:8px 14px!important;
    gap:12px!important;
  }
  .scc-site .scc-standard-header .brand{
    gap:11px!important;
  }
  .scc-site .scc-standard-header .brand img{
    width:66px!important;
    height:66px!important;
    max-width:66px!important;
    flex-basis:66px!important;
  }
  .scc-site .scc-standard-header .brand-text strong{
    font-size:18px!important;
  }
  .scc-site .scc-standard-header .brand-text small{
    margin-top:4px!important;
    font-size:8px!important;
    letter-spacing:.12em!important;
  }
}
@media(max-width:420px){
  .scc-site .scc-standard-header .brand-text strong{
    font-size:16px!important;
  }
  .scc-site .scc-standard-header .brand img{
    width:58px!important;
    height:58px!important;
    max-width:58px!important;
    flex-basis:58px!important;
  }
}


/* v1.0.8 — keep the complete Vault layout centred in the full browser viewport. */
html:has(body.scc-vault){
  width:100%!important;
  max-width:none!important;
  overflow-x:hidden!important;
}
body.scc-vault{
  width:100vw!important;
  min-width:100vw!important;
  max-width:none!important;
  margin:0!important;
  overflow-x:hidden!important;
  position:relative!important;
}
body.scc-vault .scc-standard-header{
  width:100vw!important;
  max-width:none!important;
  margin:0!important;
  left:0!important;
  right:0!important;
}
body.scc-vault .scc-standard-header .nav{
  width:100%!important;
  max-width:1500px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.scc-vault .hero{
  width:calc(100% - 40px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.scc-vault .page{
  width:calc(100% - 40px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:700px){
  body.scc-vault .hero,
  body.scc-vault .page{
    width:100%!important;
  }
}

/* v1.0.9 — keep the Vault header flush with the top edge in logged-in review mode. */
body.scc-vault.admin-bar .scc-standard-header{
  top:0!important;
}
@media screen and (max-width:782px){
  body.scc-vault.admin-bar .scc-standard-header{
    top:0!important;
  }
}

/* v1.0.12 — keep the Vault header visible while scrolling. */
body.scc-vault{
  padding-top:118px!important;
}
body.scc-vault .scc-standard-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:1000!important;
}
body.scc-vault.admin-bar .scc-standard-header{
  top:32px!important;
}
@media screen and (max-width:782px){
  body.scc-vault.admin-bar .scc-standard-header{
    top:46px!important;
  }
}
@media(max-width:700px){
  body.scc-vault{
    padding-top:84px!important;
  }
}

/* v1.0.37 consistent Society motto colour.
   Warm brick red: less pink than v1.0.36 while retaining readable contrast
   against the near-black header and footer. */
.scc-site .scc-standard-header .brand-text small,
.scc-site .scc-standard-header .brand small,
.scc-site .scc-footer-motto,
.scc-site .footer-latin-motto{color:#9f332d!important;}


/* v1.0.38 desktop header and About-page stability correction.
   Mobile rules are deliberately unchanged. */
.scc-site .scc-standard-header .brand-text small,
.scc-site .scc-standard-header .brand small,
.scc-site .scc-footer-motto,
.scc-site .footer-latin-motto{
  color:#9f332d!important;
}

@media (min-width:701px){
  .scc-site .scc-standard-header .nav{
    min-height:92px!important;
    max-width:1450px!important;
    padding:9px 24px!important;
    gap:20px!important;
  }
  .scc-site .scc-standard-header .brand{
    gap:16px!important;
  }
  .scc-site .scc-standard-header .brand img{
    width:74px!important;
    height:74px!important;
    max-width:74px!important;
    flex-basis:74px!important;
  }
  .scc-site .scc-standard-header .brand-text strong{
    font-size:24px!important;
    line-height:1.02!important;
  }
  .scc-site .scc-standard-header .brand-text small{
    margin-top:5px!important;
    font-size:11px!important;
    letter-spacing:.16em!important;
  }
  body.scc-vault{
    padding-top:92px!important;
  }
}

/* v1.0.40 desktop About-frame refinement.
   The ornate frame remains the top background layer. A parchment fallback is
   limited to the inner letter area, so transparent space outside the frame
   reveals the green wallpaper instead of creating a flat cream rectangle. */
@media (min-width:961px){
  body.scc-about .frame-stage{
    background-color:transparent!important;
    background-image:
      url("images/about-frame.webp?v=1040"),
      linear-gradient(#ead9ae,#ead9ae)!important;
    background-position:center,center 50.5%!important;
    background-size:100% 100%,65.4% 77.9%!important;
    background-repeat:no-repeat,no-repeat!important;
    border:0!important;
  }
  body.scc-about .frame-picture{
    display:none!important;
  }
}
