@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Teko:wght@500;600;700&display=swap');

/* Production public surface styles. */
:root{
  --ops-bg:#0d0812;
  --ops-bg-deep:#09060d;
  --ops-text:#f7f2f8;
  --ops-muted:#aaa0ad;
  --ops-dim:#766d7a;
  --ops-line:rgba(244,232,249,.095);
  --ops-line-strong:rgba(244,232,249,.16);
  --ops-violet:#b77cc1;
  --ops-violet-2:#d8acd9;
  --ops-cyan:#99daef;
  --ops-cyan-2:#4c9ecd;
}

body.oracryn-public-v2{
  color:var(--ops-text);
  background:
    radial-gradient(circle at 84% 8%,rgba(113,52,132,.13),transparent 31rem),
    radial-gradient(circle at 5% 36%,rgba(69,45,108,.09),transparent 28rem),
    linear-gradient(180deg,var(--ops-bg) 0%,#0a070f 56%,var(--ops-bg-deep) 100%);
  font-family:"Manrope",Inter,ui-sans-serif,system-ui,sans-serif;
}

body.oracryn-public-v2::before{
  inset:0;
  opacity:.34;
  filter:none;
  background-image:
    linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);
  background-size:72px 72px;
  animation:none;
  mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.64) 38%,transparent 78%);
}

body.oracryn-public-v2::after{
  top:-32rem;
  left:15%;
  width:105%;
  height:50rem;
  bottom:auto;
  opacity:.08;
  background:linear-gradient(113deg,
    transparent 30%,
    rgba(153,218,239,.45) 39%,
    rgba(172,107,196,.46) 47%,
    rgba(159,63,125,.36) 54%,
    transparent 66%);
  filter:blur(18px);
  mix-blend-mode:normal;
  transform:rotate(-8deg);
  animation:none;
}

body.oracryn-public-v2 .shell{
  width:min(1220px,calc(100% - 54px));
}

/* Shared section-style header */
body.oracryn-public-v2 .site-header{
  position:sticky;
  top:0;
  z-index:80;
  min-height:72px;
  background:rgba(9,6,13,.9);
  border-bottom:1px solid var(--ops-line);
  box-shadow:none;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}

body.oracryn-public-v2 .site-header .nav{
  min-height:72px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:30px;
}

body.oracryn-public-v2 .brand{
  gap:11px;
  color:var(--ops-text);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.15em;
  white-space:nowrap;
}

body.oracryn-public-v2 .brand-mark{
  width:13px;
  height:13px;
  border-radius:3px;
  background:linear-gradient(135deg,#c35b9c,#7651b6);
  box-shadow:0 0 20px rgba(195,91,156,.2);
}

body.oracryn-public-v2 .nav-links{
  justify-self:end;
  min-width:0;
  display:flex;
  align-items:center;
  gap:2px;
  padding:4px;
  border:1px solid var(--ops-line);
  background:rgba(255,255,255,.014);
}

body.oracryn-public-v2 .nav-links a{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  color:#998f9d;
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.095em;
  text-transform:uppercase;
  transition:color .18s ease,background .18s ease,border-color .18s ease;
}

body.oracryn-public-v2 .nav-links a:hover{
  color:#f4edf5;
  background:rgba(255,255,255,.025);
}

body.oracryn-public-v2 .nav-links a[aria-current="page"]{
  color:#f0e7f2;
  background:rgba(183,124,193,.09);
  box-shadow:inset 0 -1px 0 rgba(183,124,193,.55);
}

/* Public page hero: editorial, not card-like. */
body.oracryn-public-v2 .public-page-intro,
body.oracryn-public-v2 .arcana-hero{
  position:relative;
  margin-top:0;
  min-height:0;
  padding:82px 0 48px;
  border:0;
  border-bottom:1px solid var(--ops-line);
  border-radius:0;
  background:none;
  box-shadow:none;
}

body.oracryn-public-v2 .public-page-intro{
  grid-template-columns:minmax(0,.88fr) minmax(320px,.52fr);
  gap:74px;
}

body.oracryn-public-v2 .public-page-intro::before,
body.oracryn-public-v2 .arcana-hero::before{
  content:"";
  position:absolute;
  left:0;
  top:46px;
  width:28px;
  height:1px;
  background:linear-gradient(90deg,var(--ops-violet),transparent);
}

body.oracryn-public-v2 .public-page-intro h1,
body.oracryn-public-v2 .arcana-hero h1{
  max-width:760px;
  margin:0;
  font-family:"Teko",sans-serif;
  font-size:clamp(3.7rem,6.4vw,5.9rem);
  line-height:.86;
  font-weight:600;
  letter-spacing:-.015em;
  text-transform:uppercase;
}

body.oracryn-public-v2 .public-page-intro-copy{
  max-width:500px;
  padding-bottom:5px;
}

body.oracryn-public-v2 .public-page-intro-copy p,
body.oracryn-public-v2 .arcana-hero-copy>p{
  color:#a59aa8;
  font-size:.76rem;
  line-height:1.76;
}

body.oracryn-public-v2 .public-page-meta{
  margin-top:13px;
  color:#756c79;
  font-size:.55rem;
  font-weight:700;
  letter-spacing:.095em;
  text-transform:uppercase;
}

/* Flat editorial legal pages */
body.oracryn-public-v2 .legal{
  width:min(1100px,calc(100% - 54px));
  padding-bottom:100px;
}

body.oracryn-public-v2 .legal-content-v2{
  width:min(780px,100%);
  margin:0 auto;
  padding-top:46px;
}

body.oracryn-public-v2 .legal .notice{
  margin:0 0 46px;
  padding:20px 0;
  border:0;
  border-top:1px solid rgba(153,218,239,.14);
  border-bottom:1px solid var(--ops-line);
  background:none;
  color:#d1c7d4;
  font-size:.76rem;
  line-height:1.72;
}

body.oracryn-public-v2 .legal h2{
  margin:42px 0 8px;
  font-size:2rem;
  line-height:1;
}

body.oracryn-public-v2 .legal p{
  max-width:72ch;
  margin:0 0 16px;
  color:#9e94a2;
  font-size:.74rem;
  line-height:1.8;
}

/* Support is two content columns rather than floating cards. */
body.oracryn-public-v2 .support-card{
  width:min(1100px,calc(100% - 54px));
  padding-bottom:100px;
}

body.oracryn-public-v2 .support-grid-v2{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;
  margin-top:0;
  border-bottom:1px solid var(--ops-line);
}

body.oracryn-public-v2 .support-panel,
body.oracryn-public-v2 .support-panel:first-child{
  min-height:285px;
  padding:36px 34px 38px 0;
  border:0;
  border-radius:0;
  border-top:1px solid var(--ops-line);
  background:none;
  box-shadow:none;
}

body.oracryn-public-v2 .support-panel+ .support-panel{
  padding-left:38px;
  border-left:1px solid var(--ops-line);
}

body.oracryn-public-v2 .support-panel h2{
  margin:0 0 9px;
  font-size:2.55rem;
  line-height:.92;
}

body.oracryn-public-v2 .support-panel p,
body.oracryn-public-v2 .support-panel li{
  color:#998f9d;
  font-size:.73rem;
  line-height:1.75;
}

body.oracryn-public-v2 .support-panel ul{
  margin-top:4px;
  padding-left:17px;
}

/* Buttons use the same restrained geometry as home v3. */
body.oracryn-public-v2 .button{
  min-height:43px;
  padding:0 16px;
  border-radius:0;
  border:1px solid var(--ops-line-strong);
  background:rgba(255,255,255,.015);
  color:#f3ecf4;
  font:800 .61rem/1 "Manrope",sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.oracryn-public-v2 .button.primary{
  border-color:rgba(183,124,193,.36);
  background:linear-gradient(112deg,rgba(112,58,136,.62),rgba(126,58,111,.6));
  box-shadow:none;
}

/* Arcana: preserve controls/behavior, remove the old floating-card shell. */
body.oracryn-public-v2 .arcana-page{
  width:min(1220px,calc(100% - 54px));
  padding-bottom:102px;
}

body.oracryn-public-v2 .arcana-hero{
  min-height:390px;
  grid-template-columns:minmax(0,.9fr) minmax(350px,.48fr);
  gap:72px;
  align-items:end;
}

body.oracryn-public-v2 .arcana-hero-copy .eyebrow{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:15px;
  color:#9f87a2;
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.17em;
}

body.oracryn-public-v2 .arcana-hero-tags{
  margin-top:20px;
  gap:6px;
}

body.oracryn-public-v2 .arcana-hero-tags span{
  padding:6px 8px;
  border:1px solid var(--ops-line);
  border-radius:0;
  background:rgba(255,255,255,.012);
  color:#827886;
  font-size:.52rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}

body.oracryn-public-v2 .account-check{
  min-height:108px;
  padding:22px 0 22px 24px;
  border:0;
  border-left:1px solid rgba(153,218,239,.16);
  border-radius:0;
  background:none;
}

body.oracryn-public-v2 .store-section{
  margin-top:0;
}

body.oracryn-public-v2 .store-panel,
body.oracryn-public-v2 .manual-payment{
  margin-top:0;
  padding:42px 0 46px;
  border:0;
  border-bottom:1px solid var(--ops-line);
  border-radius:0;
  background:none;
  box-shadow:none;
}

body.oracryn-public-v2 .store-heading{
  margin-bottom:25px;
  align-items:end;
}

body.oracryn-public-v2 .store-step{
  color:#806f84;
  font-size:.54rem;
  font-weight:800;
  letter-spacing:.14em;
}

body.oracryn-public-v2 .store-step span{
  color:#bd8ec0;
}

body.oracryn-public-v2 .store-heading h2,
body.oracryn-public-v2 .manual-payment h2{
  margin-top:7px;
  font-size:2.65rem;
  line-height:.94;
}

body.oracryn-public-v2 .store-heading p{
  color:#8d8391;
  font-size:.68rem;
  line-height:1.65;
}

body.oracryn-public-v2 .package-grid{
  gap:0;
  border-top:1px solid var(--ops-line);
  border-left:1px solid var(--ops-line);
}

body.oracryn-public-v2 .package-card{
  min-height:142px;
  padding:20px;
  border:0;
  border-right:1px solid var(--ops-line);
  border-bottom:1px solid var(--ops-line);
  border-radius:0;
  background:rgba(255,255,255,.01);
  box-shadow:none;
}

body.oracryn-public-v2 .package-card:hover{
  background:rgba(183,124,193,.035);
}

body.oracryn-public-v2 .package-card.featured{
  border-color:var(--ops-line);
  background:
    linear-gradient(135deg,rgba(183,124,193,.07),rgba(76,158,205,.025));
}

body.oracryn-public-v2 .payment-options{
  gap:12px;
}

body.oracryn-public-v2 .payment-group{
  padding:0;
  border:0;
  border-top:1px solid var(--ops-line);
  border-radius:0;
  background:none;
}

body.oracryn-public-v2 .payment-group-head{
  padding:19px 0 14px;
}

body.oracryn-public-v2 .payment-grid{
  gap:0;
  border-left:1px solid var(--ops-line);
  border-top:1px solid var(--ops-line);
}

body.oracryn-public-v2 .payment-card{
  padding:20px;
  border:0;
  border-right:1px solid var(--ops-line);
  border-bottom:1px solid var(--ops-line);
  border-radius:0;
  background:rgba(255,255,255,.01);
  box-shadow:none;
}

body.oracryn-public-v2 .manual-payment{
  margin-bottom:0;
}

body.oracryn-public-v2 .proof-box,
body.oracryn-public-v2 .payment-overview,
body.oracryn-public-v2 .payment-address-block,
body.oracryn-public-v2 .paypal-action-block{
  border-radius:0;
}

/* 404 */
body.oracryn-public-v2 .error-page{
  min-height:calc(100vh - 72px);
  padding:60px 27px;
}

body.oracryn-public-v2 .error-shell-v2{
  width:min(760px,100%);
  padding:0;
  border:0;
  border-radius:0;
  background:none;
}

body.oracryn-public-v2 .error-code{
  color:#765f7a;
  font-size:clamp(5rem,13vw,9rem);
}

body.oracryn-public-v2 .error-page h1{
  font-size:clamp(3rem,6vw,5rem);
}

/* Footer */
body.oracryn-public-v2 .site-footer{
  border-top:1px solid var(--ops-line);
  background:rgba(8,5,11,.34);
}

body.oracryn-public-v2 .footer-row{
  min-height:74px;
  color:#716876;
  font-size:.59rem;
}

body.oracryn-public-v2 .footer-links{
  gap:18px;
}

body.oracryn-public-v2 .footer-links a{
  color:#8d8391;
}

@media(max-width:900px){
  body.oracryn-public-v2 .site-header .nav{
    gap:18px;
  }

  body.oracryn-public-v2 .nav-links a{
    padding:0 8px;
    font-size:.54rem;
  }

  body.oracryn-public-v2 .arcana-hero{
    gap:42px;
  }
}

@media(max-width:760px){
  body.oracryn-public-v2 .shell,
  body.oracryn-public-v2 .legal,
  body.oracryn-public-v2 .support-card,
  body.oracryn-public-v2 .arcana-page{
    width:min(100% - 28px,1220px);
  }

  body.oracryn-public-v2 .site-header{
    min-height:104px;
  }

  body.oracryn-public-v2 .site-header .nav{
    min-height:104px;
    grid-template-columns:1fr;
    gap:7px;
    padding:10px 0 8px;
  }

  body.oracryn-public-v2 .brand{
    justify-self:start;
  }

  body.oracryn-public-v2 .nav-links{
    width:100%;
    justify-self:stretch;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }

  body.oracryn-public-v2 .nav-links::-webkit-scrollbar{display:none}

  body.oracryn-public-v2 .nav-links a{
    flex:0 0 auto;
  }

  body.oracryn-public-v2 .public-page-intro,
  body.oracryn-public-v2 .arcana-hero{
    grid-template-columns:1fr;
    gap:24px;
    padding:68px 0 36px;
  }

  body.oracryn-public-v2 .public-page-intro::before,
  body.oracryn-public-v2 .arcana-hero::before{
    top:37px;
  }

  body.oracryn-public-v2 .public-page-intro h1,
  body.oracryn-public-v2 .arcana-hero h1{
    font-size:clamp(3.5rem,14vw,5rem);
  }

  body.oracryn-public-v2 .support-grid-v2{
    grid-template-columns:1fr;
  }

  body.oracryn-public-v2 .support-panel,
  body.oracryn-public-v2 .support-panel:first-child,
  body.oracryn-public-v2 .support-panel+ .support-panel{
    min-height:0;
    padding:28px 0 30px;
    border-left:0;
  }

  body.oracryn-public-v2 .account-check{
    max-width:none;
    padding:20px 0;
    border-left:0;
    border-top:1px solid rgba(153,218,239,.14);
    border-bottom:1px solid var(--ops-line);
  }

  body.oracryn-public-v2 .store-heading{
    display:block;
  }

  body.oracryn-public-v2 .store-heading>p{
    margin-top:10px;
  }
}

@media(max-width:520px){
  body.oracryn-public-v2 .public-page-intro,
  body.oracryn-public-v2 .arcana-hero{
    padding-top:60px;
  }

  body.oracryn-public-v2 .public-page-intro h1,
  body.oracryn-public-v2 .arcana-hero h1{
    font-size:3.45rem;
  }

  body.oracryn-public-v2 .legal-content-v2{
    width:100%;
    padding-top:36px;
  }

  body.oracryn-public-v2 .store-panel,
  body.oracryn-public-v2 .manual-payment{
    padding:34px 0 38px;
  }

  body.oracryn-public-v2 .package-card,
  body.oracryn-public-v2 .payment-card{
    padding:17px;
  }

  body.oracryn-public-v2 .footer-row{
    padding:18px 0;
  }
}

@media(prefers-reduced-motion:reduce){
  body.oracryn-public-v2::before,
  body.oracryn-public-v2::after{
    animation:none!important;
  }
}


/* v4.4 stronger desktop public navigation */
@media(min-width:821px){
  body.oracryn-public-v2 .nav-links{
    gap:3px;
    padding:5px;
  }

  body.oracryn-public-v2 .nav-links a{
    min-height:36px;
    padding:0 13px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.075em;
  }

  body.oracryn-public-v2 .nav-links a:hover{
    color:var(--ops-text);
    background:rgba(183,124,193,.07);
  }

  body.oracryn-public-v2 .nav-links a[aria-current="page"]{
    background:rgba(183,124,193,.105);
    box-shadow:inset 0 -2px 0 rgba(183,124,193,.68);
  }
}

@media(min-width:821px) and (max-width:1180px){
  body.oracryn-public-v2 .nav-links{gap:1px;padding:4px}
  body.oracryn-public-v2 .nav-links a{
    min-height:34px;
    padding:0 8px;
    font-size:9px;
    letter-spacing:.055em;
  }
}


/* v4.5 filled active public tab */
body.oracryn-public-v2 .nav-links a{
  border:1px solid transparent;
}
body.oracryn-public-v2 .nav-links a[aria-current="page"]{
  color:var(--ops-text)!important;
  border-color:var(--o4-nav-active-border)!important;
  background:var(--o4-nav-active)!important;
  box-shadow:none!important;
  clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%);
}
@media(max-width:820px){
  body.oracryn-public-v2 .nav-links a[aria-current="page"]{clip-path:none}
}


/* ------------------------------------------------------------------ */
/* v5 readability pass                                                 */
/* ------------------------------------------------------------------ */
body.oracryn-public-v2 .nav-links a{font-size:11px!important}
body.oracryn-public-v2 .public-page-intro-copy p,
body.oracryn-public-v2 .arcana-hero-copy>p{font-size:14px!important;line-height:1.72!important}
body.oracryn-public-v2 .public-page-meta{font-size:10px!important}
body.oracryn-public-v2 .legal .notice{font-size:14px!important}
body.oracryn-public-v2 .legal p{font-size:14px!important;line-height:1.75!important}
body.oracryn-public-v2 .support-panel p,
body.oracryn-public-v2 .support-panel li{font-size:13px!important;line-height:1.7!important}
body.oracryn-public-v2 .button{font-size:11px!important}
body.oracryn-public-v2 .arcana-hero-copy .eyebrow{font-size:10px!important}
body.oracryn-public-v2 .arcana-hero-tags span{font-size:10px!important}
body.oracryn-public-v2 .store-step{font-size:10px!important}
body.oracryn-public-v2 .store-heading p{font-size:13px!important;line-height:1.6!important}
body.oracryn-public-v2 .footer-row{font-size:10px!important}
@media(min-width:821px) and (max-width:1180px){body.oracryn-public-v2 .nav-links a{font-size:10px!important}}
@media(max-width:820px){body.oracryn-public-v2 .site-header .nav-links a{font-size:11px!important}}
