/* Our Angel Number: "celestial editorial" design system */
:root{
  --oan-midnight:#1E1B3A;--oan-indigo:#4B3F8F;--oan-lavender:#EEE9F8;--oan-gold:#C9A86A;--oan-gold-deep:#9C7A3C;
  --oan-cream:#FBF8F2;--oan-text:#2B2838;--oan-muted:#6B6680;--oan-rose:#D8A7B1;--oan-line:#E7E1D6;--oan-white:#fff;
  --oan-serif:Fraunces,Georgia,serif;--oan-sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
/* numbers are the product here: always lining figures */
*{font-variant-numeric:lining-nums}

/* ---------- GeneratePress base overrides ---------- */
body{background:var(--oan-cream);color:var(--oan-text);font:400 18px/1.7 var(--oan-sans);-webkit-font-smoothing:antialiased}
a{color:var(--oan-indigo)}
a:hover{color:var(--oan-gold-deep)}
.site.grid-container{max-width:780px;padding:0 20px}
/* GP makes .site-content a flex row (content + sidebar); we never use a sidebar, so stack everything */
.site-content{display:block!important}
.site,.container.grid-container,.one-container .container,.separate-containers .site-main>*{background:transparent!important}
.oan-fullbleed .site.grid-container,.oan-fullbleed .site-content{max-width:none;padding:0;width:100%}
.oan-fullbleed .content-area{width:100%}
.separate-containers .inside-article,.one-container .site-content,.inside-article{background:transparent;padding:0}
.one-container .site-content{padding:0}
.site-main{margin:0!important}
h1,h2,h3,h4{font-family:var(--oan-serif);color:var(--oan-midnight);font-weight:600;letter-spacing:-.005em}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

.oan-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.oan-narrow{max-width:740px;margin:0 auto;padding:0 20px}
.oan-stars{background:
  radial-gradient(1px 1px at 12% 22%,#fff8 50%,transparent),radial-gradient(1px 1px at 72% 18%,#fff9 50%,transparent),
  radial-gradient(1.5px 1.5px at 38% 68%,#fff6 50%,transparent),radial-gradient(1px 1px at 88% 58%,#fff8 50%,transparent),
  radial-gradient(1px 1px at 55% 38%,#fff5 50%,transparent),radial-gradient(1.5px 1.5px at 22% 82%,#fff7 50%,transparent),
  radial-gradient(1px 1px at 93% 88%,#fff6 50%,transparent),radial-gradient(1px 1px at 5% 50%,#fff6 50%,transparent),
  radial-gradient(ellipse at 70% 0%,#4B3F8F 0%,transparent 60%),radial-gradient(ellipse at 10% 100%,#3a2f6e 0%,transparent 55%),var(--oan-midnight)}
.oan-eyebrow{font:600 12px/1.4 var(--oan-sans);letter-spacing:2.5px;text-transform:uppercase;color:var(--oan-gold);margin:0}
.oan-eyebrow--dark{color:var(--oan-gold-deep)}

/* ---------- header ---------- */
.oan-head{background:var(--oan-midnight);color:#fff;position:relative;z-index:20}
.oan-head__in{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.oan-logo{font:600 24px/1 var(--oan-serif);color:#fff!important;text-decoration:none;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.oan-halo{width:28px;height:28px;border-radius:50%;border:2px solid var(--oan-gold);box-shadow:0 0 14px rgba(201,168,106,.6);display:grid;place-items:center;font:700 13px/1 var(--oan-serif);color:var(--oan-gold)}
.oan-nav{display:flex;align-items:center;gap:24px;font-size:15px}
.oan-nav a{color:#E8E4F5;text-decoration:none;white-space:nowrap}
.oan-nav a:hover,.oan-nav a[aria-current]{color:var(--oan-gold)}
.oan-nav .oan-nav__cta{border:1px solid var(--oan-gold);padding:7px 15px;border-radius:99px;color:var(--oan-gold)}
.oan-menu-btn{display:none;background:none;border:1px solid var(--oan-gold);color:var(--oan-gold);border-radius:99px;padding:6px 14px;font:500 14px var(--oan-sans);cursor:pointer}
@media(max-width:1000px){
  .oan-menu-btn{display:block}
  .oan-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:0;background:var(--oan-midnight);padding:8px 20px 20px;border-top:1px solid #ffffff1a}
  .oan-nav.is-open{display:flex}
  .oan-nav a{padding:10px 0;width:100%}
  .oan-nav .oan-nav__cta{width:auto;margin-top:8px;padding:8px 16px}
}
@media(max-width:420px){.oan-logo{font-size:20px;gap:8px}}

/* ---------- shared components ---------- */
.oan-search{max-width:520px;margin:0 auto;display:flex;background:#fff;border-radius:99px;padding:6px;box-shadow:0 10px 40px rgba(0,0,0,.35)}
.oan-search input{flex:1;min-width:0;border:0!important;outline:0;font:500 18px var(--oan-sans);padding:10px 18px;color:var(--oan-text);background:transparent!important;box-shadow:none!important}
.oan-search button{background:var(--oan-gold);color:var(--oan-midnight);border:0;border-radius:99px;padding:0 22px;font:600 15px var(--oan-sans);cursor:pointer;white-space:nowrap}
.oan-search button:hover{background:#d8bb83;color:var(--oan-midnight)}
.oan-chips{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.oan-chips a{display:inline-block;padding:7px 16px;border-radius:99px;border:1px solid var(--oan-line);background:#fff;color:var(--oan-indigo);text-decoration:none;font:500 15px/1.3 var(--oan-sans)}
.oan-chips a:hover{border-color:var(--oan-gold);color:var(--oan-indigo)}
.oan-chips--dark{justify-content:center;margin-top:22px}
.oan-chips--dark a{background:transparent;border-color:rgba(201,168,106,.55);color:#F1E6CF}
.oan-chips--dark a:hover{background:rgba(201,168,106,.15);color:#fff}
.oan-btn{display:inline-block;padding:10px 20px;border-radius:99px;border:1px solid var(--oan-gold);color:var(--oan-indigo);text-decoration:none;font:600 15px var(--oan-sans);background:#fff}

.oan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0 0 24px}
@media(max-width:900px){.oan-grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.oan-card{display:block;background:#fff;border:1px solid var(--oan-line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--oan-text);transition:transform .2s,box-shadow .2s,border-color .2s}
.oan-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(30,27,58,.10);border-color:var(--oan-gold);color:var(--oan-text)}
.oan-card__num{display:grid;place-items:center;height:110px;font:600 50px/1 var(--oan-serif);color:var(--oan-gold);text-shadow:0 0 18px rgba(201,168,106,.45);background:radial-gradient(1px 1px at 20% 30%,#fff8 50%,transparent),radial-gradient(1px 1px at 80% 70%,#fff7 50%,transparent),radial-gradient(1px 1px at 60% 20%,#fff6 50%,transparent),radial-gradient(ellipse at 70% 0%,#4B3F8F 0%,transparent 70%),var(--oan-midnight)}
.oan-card__body{display:block;padding:12px 16px 15px}
.oan-card__t{display:block;font:600 15px/1.35 var(--oan-sans);color:var(--oan-midnight)}
.oan-card__d{display:block;font-size:14px;line-height:1.45;color:var(--oan-muted);margin-top:2px}
.oan-card[hidden]{display:none}
.oan-grid--related .oan-card__num{height:84px;font-size:36px}

/* ---------- homepage ---------- */
.oan-home-hero{color:#fff;text-align:center;padding:84px 0 92px}
.oan-home-hero h1{font:600 clamp(38px,6vw,66px)/1.06 var(--oan-serif);color:#fff;margin:16px auto 14px;max-width:820px}
.oan-home-hero h1 em{color:var(--oan-gold);font-weight:500}
.oan-home-hero__sub{color:#CFC9E6;max-width:580px;margin:0 auto 30px}
.oan-section{padding:72px 0}
.oan-section--tight{padding-top:0}
.oan-section--white{background:#fff;border-top:1px solid var(--oan-line);border-bottom:1px solid var(--oan-line)}
.oan-sec-head{text-align:center;margin-bottom:36px}
.oan-sec-head h2{font-size:clamp(30px,4vw,44px);line-height:1.1;margin:8px 0 0}
.oan-sec-head p{color:var(--oan-muted);max-width:560px;margin:10px auto 0}
.oan-hubs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.oan-hubs{grid-template-columns:1fr}}
.oan-hub{display:block;border-radius:20px;padding:28px;text-decoration:none;color:var(--oan-text);background:var(--oan-lavender);transition:transform .2s}
.oan-hub:hover{transform:translateY(-3px);color:var(--oan-text)}
.oan-hub.rose{background:#F7E9EC}.oan-hub.gold{background:#F5EEDF}
.oan-hub__ic{display:block;font:600 26px var(--oan-serif);color:var(--oan-gold-deep)}
.oan-hub__t{display:block;font:600 25px/1.2 var(--oan-serif);color:var(--oan-midnight);margin:6px 0}
.oan-hub__d{display:block;font-size:15px;color:var(--oan-muted)}
.oan-hub__go{display:inline-block;margin-top:14px;font:600 14px var(--oan-sans);color:var(--oan-indigo)}
.oan-explain{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
@media(max-width:900px){.oan-explain{grid-template-columns:1fr}}
.oan-explain h2{font-size:40px;line-height:1.1;margin:8px 0 14px}
.oan-orbit{aspect-ratio:1;border-radius:24px;display:grid;place-items:center;position:relative;overflow:hidden}
.oan-orbit__num{font:600 clamp(70px,10vw,120px)/1 var(--oan-serif);color:var(--oan-gold);text-shadow:0 0 40px rgba(201,168,106,.6)}
.oan-orbit__ring{position:absolute;inset:16%;border:1px solid rgba(201,168,106,.35);border-radius:50%}
.oan-orbit__ring--2{inset:28%}
.oan-trust{background:#fff;border-top:1px solid var(--oan-line);padding:30px 0}
.oan-trust .oan-wrap{display:flex;gap:28px;justify-content:space-around;flex-wrap:wrap;text-align:center}
.oan-trust b{display:block;font:600 30px var(--oan-serif);color:var(--oan-midnight)}
.oan-trust span{font-size:14px;color:var(--oan-muted)}

/* ---------- hubs ---------- */
.oan-hub-hero{color:#fff;padding:26px 0 70px;text-align:center}
.oan-hub-hero h1{font:600 clamp(36px,5vw,56px)/1.06 var(--oan-serif);color:#fff;margin:12px 0}
.oan-hub-hero .oan-crumbs{text-align:left;color:#B9B3D6;padding:0 0 26px}
.oan-hub-hero .oan-crumbs a{color:#B9B3D6}
.oan-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:-22px auto 30px;position:relative}
.oan-tabs button{background:#fff;border:1px solid var(--oan-line);border-radius:99px;padding:9px 18px;font:500 15px var(--oan-sans);color:var(--oan-text);cursor:pointer;box-shadow:0 4px 14px rgba(30,27,58,.06)}
.oan-tabs button[aria-selected=true]{background:var(--oan-midnight);color:#fff;border-color:var(--oan-midnight)}
.page-template-templates-hub .oan-grid{margin-top:34px}
.page-template-templates-hub .oan-tabs + .oan-grid{margin-top:0}

/* ---------- single article ---------- */
.oan-crumbs{font-size:14px;color:var(--oan-muted);padding:20px 0 0;line-height:1.5}
.oan-crumbs a{color:var(--oan-muted);text-decoration:none}
.oan-crumbs a:hover{color:var(--oan-indigo)}
.oan-hero{color:#fff;border-radius:24px;margin:14px 0 0;padding:34px 34px 30px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.oan-hero__title{font:600 clamp(30px,4.4vw,44px)/1.1 var(--oan-serif);color:#fff;margin:10px 0 0}
.oan-hero__title em{display:block;color:var(--oan-gold);font-weight:500;font-size:.82em;margin-top:4px}
.oan-hero__num{font:600 clamp(64px,10vw,116px)/1 var(--oan-serif);color:var(--oan-gold);text-shadow:0 0 30px rgba(201,168,106,.55)}
@media(max-width:620px){.oan-hero{grid-template-columns:1fr;padding:24px 22px}.oan-hero__num{display:none}}
.oan-byline{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--oan-muted);margin:18px 0 8px;line-height:1.5}
.oan-byline a{color:var(--oan-text);text-decoration:none}
.oan-avatar{flex:none;width:38px;height:38px;border-radius:50%;background:var(--oan-lavender);display:grid;place-items:center;font:600 18px var(--oan-serif);color:var(--oan-indigo)}
.oan-avatar--lg{width:64px;height:64px;font-size:28px}

.entry-content{font-size:18px}
.entry-content p{margin:0 0 16px}
.entry-content h2{font-size:clamp(28px,3.4vw,34px);line-height:1.15;margin:46px 0 12px;scroll-margin-top:20px}
.entry-content h2::before{content:"✦ ";color:var(--oan-gold);font-size:.62em;vertical-align:middle}
.entry-content h2#love::before{content:"♡ ";color:var(--oan-rose)}
.entry-content h3{font:600 20px/1.35 var(--oan-sans);color:var(--oan-midnight);margin:24px 0 6px}
.entry-content ul,.entry-content ol{margin:0 0 16px 22px}
.entry-content li{margin:5px 0}
.entry-content img{border-radius:18px}
.oan-figure{margin:0 0 22px}
.oan-figure img{width:100%;height:auto;display:block}

.oan-answer{background:var(--oan-lavender);border-left:4px solid var(--oan-gold);border-radius:4px 16px 16px 4px;padding:20px 24px;margin:10px 0 22px}
.oan-answer p{margin:0}
.oan-answer .oan-label{font:600 12px var(--oan-sans);letter-spacing:2px;text-transform:uppercase;color:var(--oan-gold-deep);margin:0 0 6px}
.oan-glance{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 24px}
@media(max-width:620px){.oan-glance{grid-template-columns:repeat(2,1fr)}}
.oan-glance div{background:#fff;border:1px solid var(--oan-line);border-radius:14px;padding:12px 14px;line-height:1.35}
.oan-glance small{display:block;font:600 11px var(--oan-sans);letter-spacing:1.6px;text-transform:uppercase;color:var(--oan-muted);margin-bottom:3px}
.oan-glance b{font:600 19px var(--oan-serif);color:var(--oan-midnight)}
.entry-content .oan-chips{margin:0 0 24px}
.oan-psych{border:1px dashed var(--oan-indigo);border-radius:14px;padding:16px 20px;margin:18px 0;background:#fff;font-size:16.5px}
.oan-psych strong{color:var(--oan-indigo)}
.oan-try{background:#F5EEDF;border-radius:14px;padding:16px 20px;margin:18px 0;font-size:17px}
.oan-try strong{color:var(--oan-gold-deep)}
.oan-psych p:last-child,.oan-try p:last-child{margin:0}
.entry-content table{width:100%;border-collapse:separate;border-spacing:0;margin:14px 0 22px;font-size:16px;background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--oan-line)}
.entry-content th{background:var(--oan-midnight);color:#fff;text-align:left;font:600 14px var(--oan-sans);padding:11px 14px;border:0}
.entry-content td{padding:11px 14px;border:0;border-top:1px solid var(--oan-line);vertical-align:top}
.entry-content tr:nth-child(even) td{background:#FCFAF6}
@media(max-width:520px){.entry-content th,.entry-content td{padding:9px 10px;font-size:15px}}
.oan-faq details{background:#fff;border:1px solid var(--oan-line);border-radius:14px;padding:14px 18px;margin:10px 0}
.oan-faq summary{font:600 17px/1.4 var(--oan-sans);cursor:pointer;color:var(--oan-midnight);list-style:none;display:flex;justify-content:space-between;gap:12px}
.oan-faq summary::-webkit-details-marker{display:none}
.oan-faq summary::after{content:"+";color:var(--oan-gold-deep);font-size:22px;line-height:1}
.oan-faq details[open] summary::after{content:"–"}
.oan-faq details p{margin:10px 0 0;font-size:17px}
.oan-disclaimer{font-size:14px;color:var(--oan-muted);border-top:1px solid var(--oan-line);padding-top:14px;margin-top:30px}
.oan-author{display:flex;gap:18px;background:#fff;border:1px solid var(--oan-line);border-radius:18px;padding:22px;margin:40px 0 60px}
.oan-author p{font-size:16px;color:var(--oan-muted);margin:0}
.oan-author .oan-author__name{font:600 22px var(--oan-serif);color:var(--oan-midnight);margin:0 0 4px}

/* Easy Table of Contents plugin, restyled */
#ez-toc-container,div#ez-toc-container{background:#fff!important;border:1px solid var(--oan-line)!important;border-radius:16px!important;padding:16px 22px!important;box-shadow:none!important;width:100%!important;margin:26px 0!important}
#ez-toc-container .ez-toc-title{font:600 15px var(--oan-sans)!important;color:var(--oan-midnight)!important}
#ez-toc-container a{color:var(--oan-indigo)!important;font-size:16px}
#ez-toc-container nav>ul,#ez-toc-container .ez-toc-list{columns:2;column-gap:28px}
#ez-toc-container ul ul{display:none} /* H2s only: keeps the box short and readable */
#ez-toc-container li{break-inside:avoid;margin:3px 0}
@media(max-width:620px){#ez-toc-container nav>ul,#ez-toc-container .ez-toc-list{columns:1}}

/* ---------- footer ---------- */
.site-footer{background:none}
.oan-foot{color:#CFC9E6;padding:56px 0 30px;font-size:15px}
.oan-foot__cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
@media(max-width:760px){.oan-foot__cols{grid-template-columns:1fr 1fr}.oan-foot__cols>div:first-child{grid-column:1/-1}}
.oan-foot__h{font:600 13px var(--oan-sans);letter-spacing:2px;text-transform:uppercase;color:var(--oan-gold);margin:0 0 10px}
.oan-foot a:not(.oan-logo){display:block;color:#CFC9E6;text-decoration:none;margin:4px 0}
.oan-foot a:hover{color:var(--oan-gold)}
.oan-foot p{margin:10px 0 0}
.oan-foot__small{margin-top:34px!important;border-top:1px solid #ffffff1a;padding-top:18px;color:#9993B5;font-size:13px}

/* archives & search */
.archive .site-main article,.search .site-main article,.blog .site-main article{background:#fff;border:1px solid var(--oan-line);border-radius:18px;padding:22px 24px;margin:0 0 16px}
.archive .page-header,.search .page-header{padding:30px 0 10px}
