/* ============================================================
   OYL Chrome - unified Bright Energy layer for section pages.
   Loaded LAST. Light surfaces, Archivo headlines, blue accents.
   ============================================================ */

/* ---- STICKY CTA BAR: light glass ---- */
.sticky-cta{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(15,16,20,.08)!important;box-shadow:0 1px 6px rgba(15,16,20,.06)!important}
.sticky-cta .brand{color:#15161a!important}
.sticky-cta .btn-sm{background:#3b6cff!important;color:#fff!important}

/* ---- HEROES: bright, centered, dark Archivo headline + blue italic accent ---- */
.page-hero,.page-header,.contact-header-section,.blog-hero{background:#f7f8fa!important;padding:150px 24px 68px!important;text-align:center;border-bottom:1px solid rgba(15,16,20,.08)!important}
.page-hero h1,.page-header h1,.contact-header-section h1,.blog-hero h1{font-family:'Archivo',sans-serif!important;font-weight:800!important;letter-spacing:-.02em!important;color:#15161a!important}
.page-hero h1 em,.page-hero h1 i,.page-header h1 em,.page-header h1 i,.contact-header-section h1 i,.blog-hero h1 em{font-style:italic!important;color:#3b6cff!important;font-weight:700!important}
.page-hero .section-label,.page-header .eyebrow,.contact-header-section .eyebrow,.blog-hero .eyebrow{font-family:'Archivo',sans-serif!important;color:#3b6cff!important;font-weight:700!important;letter-spacing:.2em!important;text-transform:uppercase!important;font-size:.72rem!important}
.page-hero p,.page-header p,.contact-header-section p,.blog-hero p{color:#5b5e68!important}

/* ---- BREADCRUMBS ---- */
.breadcrumb,.breadcrumb-wrap .breadcrumb{font-family:'Archivo',sans-serif!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.64rem!important;color:#8a8e97!important}
.breadcrumb a{color:#3b6cff!important;text-decoration:none}

/* ---- CONTACT: white cards, blue accents ---- */
.contact-badge{background:#eef2ff!important;border:1px solid rgba(59,108,255,.25)!important;border-radius:50px!important;color:#2b52cc!important}
.contact-note-box{background:#eef2ff!important;border:1px solid rgba(59,108,255,.2)!important;border-left:3px solid #3b6cff!important;color:#2a2c33!important}
.contact-note-box,.contact-note-box *{color:#2a2c33!important}
.oyl-form{background:#ffffff!important;border:1px solid rgba(15,16,20,.08)!important;border-radius:16px!important;box-shadow:0 8px 32px rgba(15,16,20,.08)!important}
.form-header h2{color:#15161a!important}
.form-header p{color:#5b5e68!important}
.form-group label{color:#15161a!important;font-family:'Archivo',sans-serif!important}
.form-group input,.form-group textarea,.form-group select{background:#f7f8fa!important;border:1px solid rgba(15,16,20,.12)!important;border-radius:10px!important;color:#15161a!important}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{background:#ffffff!important;border-color:#3b6cff!important;outline:none!important}
.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:#8a8e97!important}
.form-success{background:#f0fdf4!important;border:1px solid rgba(22,101,52,.25)!important}
.form-success,.form-success *{color:#166534!important}
.form-success h3{color:#15161a!important}

/* ---- ABOUT: white stat boxes ---- */
.about-stat{background:#ffffff!important;border:1px solid rgba(15,16,20,.08)!important;border-radius:16px!important;box-shadow:0 1px 3px rgba(15,16,20,.05)!important}
.about-stat .num,.about-stat .num *{color:#15161a!important}
.about-stat .marker{color:#3b6cff!important}
.about-stat .label{color:#5b5e68!important}

/* ---- section headers site-wide: blue caps eyebrow ---- */
.section-label,.section-title .section-label,.narrative .section-label{font-family:'Archivo',sans-serif!important;color:#3b6cff!important;font-weight:700!important;letter-spacing:.2em!important;text-transform:uppercase!important;font-size:.72rem!important}
h2.section-title,h2{font-family:'Archivo',sans-serif!important;font-weight:800!important;letter-spacing:-.01em}

/* ---- CONTENT HEADINGS: dark, accents stay blue ---- */
.narrative h2,.real-results h2,.results-header h2,.process-header h2,.navy-cta h2,.about-cta h2,.editorial-heading h2,.cta-banner h2,.rr-item h3,.svc-card h3,.about-section h2,.about-section h3{color:#15161a!important}
.narrative h2 em,.narrative h2 i,.real-results h2 em,.cta-banner h2 em,.editorial-heading h2 em,.svc-card h3 em{color:#3b6cff!important;font-style:italic!important}

/* ---- FINAL CTA BANDS: bright blue gradient, white text ---- */
.about-cta,.navy-cta,.cta-banner{background:radial-gradient(700px 320px at 70% 10%,rgba(255,255,255,.22),transparent 70%),linear-gradient(135deg,#1f3a8f,#2b52cc 55%,#3b6cff)!important;padding:110px 24px!important;border-top:none!important}
.about-cta .section-label-cta,.navy-cta .section-label-cta,.navy-cta .section-label,.cta-banner .eyebrow,.cta-banner .section-label{color:rgba(255,255,255,.85)!important;font-family:'Archivo',sans-serif!important;letter-spacing:.2em!important;text-transform:uppercase!important}
.navy-cta h2,.about-cta h2,.cta-banner h2{color:#ffffff!important}
.navy-cta p,.about-cta p,.cta-banner p{color:rgba(255,255,255,.82)!important}
.navy-cta a,.about-cta a,.cta-banner .btn-primary{background:#ffffff!important;color:#15161a!important;font-family:'Archivo',sans-serif!important}
.navy-cta a:hover,.about-cta a:hover,.cta-banner .btn-primary:hover{background:#ffffff!important;transform:translateY(-1px)!important;box-shadow:0 8px 24px rgba(15,16,20,.18)!important}

/* ================= GLOBAL NAV - EXACT HOMEPAGE NAV ON ALL PAGES ================= */
nav{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:100!important;background:rgba(255,255,255,.78)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border-bottom:1px solid transparent!important;transition:background .25s,border-color .25s!important;display:block!important;padding:0!important;height:auto!important;box-shadow:none!important}
nav.solid{background:rgba(255,255,255,.95)!important;border-bottom-color:rgba(15,16,20,.08)!important}
nav .nav-inner{max-width:none!important;margin:0!important;padding:0 40px!important;height:120px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
nav .logo{display:flex!important;align-items:center!important;gap:10px!important;text-decoration:none!important}
nav .logo img{height:96px!important;width:auto!important;display:block!important}
nav .nav-links{display:flex!important;flex:1!important;justify-content:center!important;gap:28px!important;align-items:center!important;margin:0!important;padding:0!important}
nav .nav-links a{font-size:.85rem!important;font-weight:500!important;color:#5b5e68!important;text-decoration:none!important;font-family:'Inter',sans-serif!important;letter-spacing:normal!important;text-transform:none!important;transition:color .15s!important}
nav .nav-links a:hover{color:#15161a!important}
nav .nav-right{display:flex!important;align-items:center!important;gap:24px!important}
nav .spots{font-size:.78rem!important;color:#5b5e68!important;font-family:'Inter',sans-serif!important;white-space:nowrap!important}
nav .spots i{display:inline-block!important;width:6px!important;height:6px!important;border-radius:50%!important;background:#4ade80!important;margin-right:8px!important;vertical-align:1px!important}
nav .btn-white{display:inline-block!important;background:#3b6cff!important;color:#ffffff!important;padding:11px 22px!important;font-size:.85rem!important;font-weight:600!important;border:none!important;border-radius:0!important;text-decoration:none!important;font-family:'Inter',sans-serif!important;letter-spacing:normal!important;text-transform:none!important;transition:all .15s!important;cursor:pointer!important;white-space:nowrap!important;position:relative!important;overflow:hidden!important}
nav .btn-white:hover{background:#2b52cc!important;transform:translateY(-1px)!important}
nav .btn-white::after{content:""!important;position:absolute!important;top:0!important;left:-80%!important;width:50%!important;height:100%!important;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent)!important;transform:skewX(-20deg)!important;pointer-events:none!important}
nav .btn-white:hover::after{animation:ctasheen .8s ease!important}
@media(max-width:900px){nav .nav-links{display:none!important}nav .nav-inner{padding:0 20px!important}}

/* ================= CONTRAST FIXES - WCAG AA ON LIGHT ================= */
.faq-q{color:#15161a!important}
.breadcrumb span{color:#8a8e97!important}
.footer-bottom p{color:rgba(15,16,20,.6)!important}
.blog-body .excuse-box{color:#3d4048!important}
.form-group label .req{color:#dc2626!important}
.form-group .hint,.form-note{color:#6b7080!important}
.about-photo-caption{color:#6b7080!important}
.section-label{color:#3b6cff!important}
.page-header .eyebrow{color:#3b6cff!important}

/* programs: light cards */
.how-section{background:#ffffff!important}
.excuse-list{background:#f7f8fa!important;border-color:rgba(15,16,20,.08)!important;border-left-color:#3b6cff!important}
.excuse-list p{color:#3d4048!important}
.how-step h3{color:#15161a!important}
.hf-feature h4{color:#15161a!important}
.hf-feature .icon{background:rgba(59,108,255,.1)!important;color:#2b52cc!important;border-color:rgba(59,108,255,.25)!important}
.hf-mockup{background:#f7f8fa!important;border-color:rgba(15,16,20,.08)!important}

/* results: soft light hover */
.rr-item:hover{background:rgba(59,108,255,.04)!important;box-shadow:none!important}
.metric-card:hover{background:rgba(59,108,255,.04)!important;border-color:#3b6cff!important}

/* blog index: cta card sits on the blue band */
.cta-banner .cta-inner{background:transparent!important}
.cta-banner .cta-inner p{color:rgba(255,255,255,.82)!important}

/* ================= LEGACY PALETTE VARS -> BRIGHT EQUIVALENTS ================= */
:root{--text-main:#2a2c33;--text-body:#5b5e68;--text-muted:#6b7080;--dark-text:#15161a;--text-dark:#15161a;--heading-dark:#15161a;--text-heading:#15161a;--cream-alt:#ffffff;--bg-cream-darker:#f2f4f8}

/* ================= GLASS CARD SYSTEM (2026-09) ================= */
.step-panel,.metric-card,.faq-item,.rr-item,.app-card,.contact-note-box,.hf-mockup,.excuse-list,.process-card,.svc-card,.proc-head-card,.featured-card,.blog-card{
  background:rgba(255,255,255,.72)!important;
  backdrop-filter:blur(14px) saturate(1.5)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.5)!important;
  border:1px solid rgba(255,255,255,.95)!important;
  box-shadow:0 1px 2px rgba(15,16,20,.05),0 16px 40px -16px rgba(43,82,204,.18)!important;
  border-radius:16px!important;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease!important;
}
.step-panel:hover,.metric-card:hover,.faq-item:hover,.rr-item:hover,.app-card:hover,.process-card:hover,.svc-card:hover{
  transform:translateY(-4px)!important;
  border-color:rgba(59,108,255,.4)!important;
  box-shadow:0 2px 4px rgba(15,16,20,.06),0 24px 52px -16px rgba(43,82,204,.3)!important;
}
/* soft blue washes behind card grids so the frost reads */
.steps,.metrics-grid,.rr-grid,.faq-list,.hf-features,.process-grid,.svc-grid{
  position:relative;
}
.block:has(.steps)::before,.block:has(.metrics-grid)::before,.block:has(.rr-grid)::before,.block:has(.faq-list)::before,.block:has(.hf-features)::before,.block:has(.process-grid)::before,.block:has(.svc-grid)::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(600px 300px at 12% 22%,rgba(59,108,255,.09),transparent 65%),
    radial-gradient(560px 320px at 88% 78%,rgba(59,108,255,.08),transparent 65%);
}
/* step image inside glass card */
.step-img{border-radius:15px 15px 0 0!important}
/* mobile: lighter glass so text stays crisp */
@media(max-width:640px){
  .step-panel,.metric-card,.faq-item,.rr-item,.app-card,.contact-note-box,.process-card,.svc-card{
    background:rgba(255,255,255,.88)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
}

/* ================= FAQ: DIVIDER LIST -> GLASS ACCORDION CARDS ================= */
/* page CSS resets faq-item to a divider-list (0 padding, 0 margin, top hairline);
   glass system turned items into cards, so restore proper card spacing here */
.faq-list{border-bottom:none!important;max-width:820px!important}
.faq-item{padding:0 30px!important;margin:0 0 16px!important;border-top:none!important;border-bottom:1px solid rgba(255,255,255,.95)!important}
.faq-q{padding:24px 0!important}
.faq-item.open .faq-a{padding-bottom:24px!important}
@media(max-width:640px){
  .faq-item{padding:0 20px!important;margin:0 0 12px!important}
  .faq-q{padding:18px 0!important}
}

/* ================= FAQ SECTION: FIX WASHED-OUT GLASS ================= */
/* washes were scoped to .block wrappers; faq.html uses .section - cards sat on flat gray */
.section:has(.faq-list){position:relative;overflow:hidden}
.section:has(.faq-list)::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(600px 300px at 12% 22%,rgba(59,108,255,.10),transparent 65%),
    radial-gradient(560px 320px at 88% 78%,rgba(59,108,255,.08),transparent 65%)}
/* brighter card + visible cool border (white-on-white was invisible) */
.faq-item{background:rgba(255,255,255,.88)!important;border:1px solid #e2e8f5!important}
.faq-item:hover{border-color:rgba(59,108,255,.45)!important;transform:translateY(-2px)!important}
/* spotlight mouse-blob was built for the dark theme - kills it on bright */
.faq-item.spotlight-card::before{display:none!important}

/* ================= BEBAS NEUE - SITIDE DISPLAY TYPE ================= */
/* theme.json drives h1-h3; this layer covers everything else display-level.
   Body paragraphs stay in Inter for readability. */
nav a,.nav a,.nav-links a,.nav-cta,.breadcrumb a,.eyebrow,.section-label,.section-label-cta,
.btn,.btn-primary,.btn-white,.btn-acc,.btn-line,.sticky-cta,.spots,.toggle,
.faq-q,.metric-card .value,.metric-card .label,.about-stat .num,.about-stat .marker,
.step-num,.stat .num,.rr-number,.ba-tag,.results-header h2,.footer-brand,h4{
  font-family:'Bebas Neue','Archivo',sans-serif!important;
}
/* Bebas is single-weight and tight - give tiny caps labels a touch of air */
.eyebrow,.section-label,.section-label-cta,.ba-tag{letter-spacing:.08em!important}
/* headings: since Bebas renders lighter, keep them visually strong */
h1,h2,h3,.faq-q{font-weight:400!important}
/* Bebas reads small at same px - nudge mobile heading scale */
@media(max-width:640px){
  h1{font-size:clamp(3rem,11vw,4.2rem)!important}
}

/* ================= BEBAS NEUE - HEADING OVERRIDE (beats old glass layer) =================
   oyl-glass.css pins Archivo with !important at high specificity; mirror its selectors
   here - chrome loads after glass, so same-specificity ties resolve to Bebas */
h1,h2,h3,.section-title,.card h3,.process-card h3,.svc-card h3,.cta-banner h2,
.real-results h2,.rr-item h3,.page-hero h1,.page-header h1,.blog-hero h1,.blog-card h3,
.blog-body h2,.blog-body h3,.article-body h2,.article-body h3,.form-header h2,.form-success h3,
.hf-feature h4,.how-step h3,.how-step .num,.narrative h2,.navy-cta h2,.editorial-heading h2,
.footer-col h4,.contact-info h3,.process-num,.excuse-list p{
  font-family:'Bebas Neue','Archivo',sans-serif!important;font-style:normal!important
}
/* stragglers */
.about-cta h2,.about-cta h2 em,.about-cta h2 i{font-family:'Bebas Neue',sans-serif!important;font-style:normal!important}
/* blog stragglers: pages pin Playfair/Oswald via --font-serif/--font-label vars */
:root{--font-serif:'Bebas Neue',sans-serif!important;--font-label:'Bebas Neue',sans-serif!important;--font-head:'Bebas Neue',sans-serif!important}
.page-header h1,.featured-title,.blog-card .featured-title,.post-title,.entry-title{font-family:'Bebas Neue',sans-serif!important}

/* ================= UNIFIED FOOTER (go-live 2026-09-21) ================= */
footer{border-top:1px solid rgba(15,16,20,.08)!important;background:#ffffff!important;padding:24px!important}
footer .wrap{max-width:1080px;margin:0 auto;padding:0 8px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:48px 0!important}
.foot-brand p{font-size:.85rem!important;color:#5b5e68!important;max-width:30ch;margin-top:16px}
.foot-col h3,.foot-col h4{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#3d4048;margin-bottom:18px}
.foot-col a{display:block;font-size:.85rem;color:#5b5e68;text-decoration:none;padding:5px 0;transition:color .15s}
.foot-col a:hover{color:#15161a}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0 8px!important;border-top:1px solid rgba(15,16,20,.08)!important;flex-wrap:wrap;gap:16px}
.foot-bottom p{font-size:.78rem;color:#5b5e68}
.f-logo{opacity:.4;transition:opacity .2s}
.f-logo:hover{opacity:.8}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;gap:24px!important}}
@media(max-width:640px){.foot-grid{grid-template-columns:1fr;gap:24px!important;padding:32px 0!important}}

/* ================= MOBILE NAV (go-live 2026-09-21) ================= */
.nav-toggle{display:none}
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;cursor:pointer;padding:10px 0;margin-left:4px;flex:0 0 auto}
.nav-burger span{display:block;height:2px;width:26px;background:#15161a;border-radius:2px;transition:transform .25s,opacity .25s}
.nav-toggle:checked ~ .nav-inner .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle:checked ~ .nav-inner .nav-burger span:nth-child(2){opacity:0}
.nav-toggle:checked ~ .nav-inner .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
  nav .nav-inner{height:72px!important;padding:0 20px!important}
  nav .logo img{height:52px!important}
  nav .nav-burger{display:flex}
  nav .nav-right{margin-left:auto!important;gap:12px!important}
  nav .nav-links{display:none!important;position:fixed;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0!important;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,16,20,.08);box-shadow:0 16px 40px -16px rgba(15,16,20,.18);padding:8px 20px 16px;z-index:99}
  .nav-toggle:checked ~ .nav-inner .nav-links{display:flex!important}
  nav .nav-links a{display:block!important;padding:14px 4px!important;font-size:1rem!important;color:#15161a!important;border-bottom:1px solid rgba(15,16,20,.06)}
}
@media(max-width:640px){
  nav .spots{display:none!important}
  nav .btn-white,nav .btn-acc{padding:12px 16px!important;font-size:.8rem!important}
}
/* breadcrumb legibility */
.breadcrumb{font-size:.72rem!important}
.breadcrumb a{font-size:.72rem!important}
@media(max-width:640px){.foot-col a{padding:9px 0!important}}
