/*
Theme Name: Oluma Gold
Theme URI: https://olumadigital.com/
Author: Ziyad R. Abdule
Author URI: https://olumadigital.com/
Description: Oluma Digital — Cyber Security Awareness. Gold v2.4.0 design system. CSS-only navigation, animated front page, and full footer (zero JavaScript, Pressable-safe).
Version: 2.4.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: oluma-gold
*/

/* ============================================================
   OLUMA GOLD v2.3.0 — TOKENS + BASE
   ============================================================ */
:root{
  --ol-gold:#f6c50b; --ol-gold-lt:#ffd84d; --ol-gold-dk:#cfa400;
  --ol-navy:#081735; --ol-navy-2:#0f295e; --ol-navy-3:#16386f;
  --ol-cream:#fff8e6; --ol-line:rgba(246,197,11,.18);
  --ol-radius:12px; --ol-shadow:0 18px 40px rgba(0,0,0,.35);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--ol-navy);
  color:var(--ol-cream);
  font-family:"Inter",system-ui,-apple-system,sans-serif;
  line-height:1.6;
}
a{color:var(--ol-gold-lt);}

/* ============================================================
   NAVIGATION (CSS-only, zero JS)
   ============================================================ */

/* Skip link */
.screen-reader-text{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.screen-reader-text:focus{left:16px;top:12px;width:auto;height:auto;padding:8px 14px;
  z-index:1000;background:var(--ol-gold);color:var(--ol-navy);border-radius:8px;font-weight:700;}

/* Header shell */
.ol-header{position:sticky;top:0;z-index:900;background:var(--ol-navy);
  border-bottom:1px solid var(--ol-line);font-family:"Inter",system-ui,sans-serif;}
.ol-nav-bar{position:relative;display:flex;align-items:center;gap:20px;
  max-width:1240px;margin:0 auto;padding:10px 20px;}

/* Brand */
.ol-brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto;}
.ol-logo{display:inline-flex;}
.ol-brand-text{display:flex;flex-direction:column;line-height:1;}
.ol-wordmark{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:1.35rem;color:var(--ol-gold);}
.ol-brand-rule{height:2px;width:100%;margin:3px 0;background:linear-gradient(90deg,var(--ol-gold),transparent);}
.ol-tagline{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ol-cream);opacity:.75;}

/* Desktop nav */
.ol-nav{display:flex;align-items:center;gap:4px;list-style:none;margin:0 auto 0 8px;padding:0;}
.ol-nav > li{position:relative;}
.ol-nav > li > a{display:flex;align-items:center;gap:6px;padding:10px 14px;border-radius:8px;
  color:var(--ol-cream);text-decoration:none;font-size:.92rem;font-weight:500;white-space:nowrap;
  transition:background .18s,color .18s;}
.ol-nav > li > a:hover,.ol-nav > li:focus-within > a{background:var(--ol-navy-2);color:var(--ol-gold-lt);}

/* Carets */
.ol-caret{width:0;height:0;margin-left:2px;border-left:4px solid transparent;
  border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.8;}
.ol-caret-r{border-top:4px solid transparent;border-bottom:4px solid transparent;
  border-left:5px solid currentColor;border-right:0;margin-left:auto;}

/* Dropdowns */
.ol-drop{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;margin:0;padding:8px;
  list-style:none;background:var(--ol-navy-2);border:1px solid var(--ol-line);
  border-radius:var(--ol-radius);box-shadow:var(--ol-shadow);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s,transform .18s,visibility .18s;z-index:950;}
.ol-has-drop:hover > .ol-drop,.ol-has-drop:focus-within > .ol-drop{
  opacity:1;visibility:visible;transform:translateY(0);}
.ol-drop li{position:relative;}
.ol-drop a{display:block;padding:8px 12px;border-radius:8px;color:var(--ol-cream);
  text-decoration:none;font-size:.88rem;white-space:nowrap;transition:background .15s,color .15s;}
.ol-drop a:hover,.ol-drop a:focus{background:var(--ol-navy-3);color:var(--ol-gold-lt);}

/* Side flyout (Frameworks) */
.ol-has-fly > a{display:flex;align-items:center;}
.ol-fly{position:absolute;top:-9px;left:100%;min-width:230px;margin-left:6px;padding:8px;
  list-style:none;background:var(--ol-navy-3);border:1px solid var(--ol-line);
  border-radius:var(--ol-radius);box-shadow:var(--ol-shadow);
  opacity:0;visibility:hidden;transform:translateX(6px);
  transition:opacity .18s,transform .18s,visibility .18s;
  max-height:min(74vh,560px);overflow-y:auto;z-index:960;}
.ol-has-fly:hover > .ol-fly,.ol-has-fly:focus-within > .ol-fly{
  opacity:1;visibility:visible;transform:translateX(0);}
.ol-fly li{position:relative;}
.ol-fly a{display:block;padding:7px 12px;border-radius:8px;color:var(--ol-cream);
  text-decoration:none;font-size:.86rem;white-space:nowrap;transition:background .15s,color .15s;}
.ol-fly a:hover,.ol-fly a:focus{background:var(--ol-navy-2);color:var(--ol-gold-lt);}

/* Section headers (non-clickable) */
.ol-fly-head{display:block;padding:10px 12px 4px;font-family:"Space Grotesk",sans-serif;
  font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ol-gold-lt);cursor:default;pointer-events:none;}
.ol-fly-head:not(:first-child){margin-top:6px;padding-top:10px;border-top:1px solid var(--ol-line);}

/* Wide multi-column panel (Cert Zone) — centered under its tab */
.ol-drop.ol-drop-wide{left:50%;right:auto;transform:translateX(-50%);
  width:760px;max-width:calc(100vw - 40px);padding:16px 20px;columns:3;column-gap:26px;}
.ol-has-drop:hover > .ol-drop.ol-drop-wide,
.ol-has-drop:focus-within > .ol-drop.ol-drop-wide{transform:translateX(-50%);}
.ol-drop.ol-drop-wide > li{break-inside:avoid;}
.ol-drop.ol-drop-wide a{white-space:normal;}
.ol-drop.ol-drop-wide .ol-fly-head{margin-top:12px;}
.ol-drop.ol-drop-wide .ol-fly-head:first-child{margin-top:0;}

/* Join button */
.ol-join{margin-left:auto;flex:0 0 auto;}
.ol-btn{display:inline-block;padding:9px 18px;border-radius:999px;font-weight:700;
  font-size:.9rem;text-decoration:none;transition:transform .15s,filter .15s;}
.ol-btn-gold{background:linear-gradient(135deg,var(--ol-gold-lt),var(--ol-gold-dk));
  color:var(--ol-navy);box-shadow:0 6px 16px rgba(246,197,11,.28);}
.ol-btn-gold:hover{transform:translateY(-1px);filter:brightness(1.05);}

/* Mobile controls hidden on desktop */
.ol-nav-toggle,.ol-burger,.ol-mobile{display:none;}

/* ============================ MOBILE (<=980px) ============================ */
@media (max-width:980px){
  .ol-nav,.ol-join{display:none;}

  .ol-burger{display:flex;flex-direction:column;gap:5px;margin-left:auto;padding:8px;cursor:pointer;}
  .ol-burger span{display:block;width:26px;height:3px;border-radius:2px;background:var(--ol-gold);
    transition:transform .2s,opacity .2s;}
  .ol-nav-toggle:checked ~ .ol-burger span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .ol-nav-toggle:checked ~ .ol-burger span:nth-child(2){opacity:0;}
  .ol-nav-toggle:checked ~ .ol-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

  .ol-mobile{display:block;position:absolute;left:0;right:0;top:100%;max-height:0;overflow:hidden;
    background:var(--ol-navy-2);border-top:1px solid var(--ol-line);transition:max-height .3s ease;}
  .ol-nav-toggle:checked ~ .ol-mobile{max-height:85vh;overflow-y:auto;}

  .ol-mobile > a,.ol-m-label{display:block;padding:14px 20px;color:var(--ol-cream);
    text-decoration:none;font-size:.95rem;font-weight:500;
    border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;}
  .ol-mobile > a:hover,.ol-m-label:hover{color:var(--ol-gold-lt);}

  .ol-m-check{display:none;}
  .ol-m-label::after{content:"";float:right;margin-top:7px;border-left:4px solid transparent;
    border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .2s;}
  .ol-m-check:checked + .ol-m-label::after{transform:rotate(180deg);}

  .ol-m-sub{max-height:0;overflow:hidden;background:var(--ol-navy);transition:max-height .35s ease;}
  .ol-m-check:checked ~ .ol-m-sub{max-height:6000px;}
  .ol-m-sub a{display:block;padding:11px 20px 11px 34px;color:var(--ol-cream);
    text-decoration:none;font-size:.88rem;border-bottom:1px solid rgba(255,255,255,.05);}
  .ol-m-sub a:hover{color:var(--ol-gold-lt);}

  .ol-m-head{display:block;padding:12px 20px 5px;font-family:"Space Grotesk",sans-serif;
    font-size:.68rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
    color:var(--ol-gold-lt);border-top:1px solid var(--ol-line);margin-top:4px;}
  .ol-m-sub .ol-m-head:first-child{border-top:0;margin-top:0;}

  .ol-mobile .ol-btn-gold{display:block;margin:14px 20px;text-align:center;}
}

/* ============================================================
   CONTENT + FOOTER (minimal base)
   ============================================================ */
.ol-content{max-width:1000px;margin:0 auto;padding:40px 20px;}
.ol-content h1,.ol-content h2{font-family:"Space Grotesk",sans-serif;color:var(--ol-gold);}
.ol-content a{color:var(--ol-gold-lt);}

/* ---------- Footer ---------- */
.ol-footer{position:relative;background:var(--ol-navy);border-top:1px solid var(--ol-line);margin-top:64px;}
.ol-footer::before{content:"";position:absolute;top:-1px;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--ol-gold),transparent);background-size:200% 100%;
  animation:ol-shimmer 6s linear infinite;}
.ol-footer-inner{max-width:1240px;margin:0 auto;padding:52px 20px 36px;
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px 28px;}

.ol-foot-brand{max-width:320px;}
.ol-foot-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:14px;}
.ol-foot-word{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:1.3rem;color:var(--ol-gold);}
.ol-foot-mission{margin:0 0 18px;font-size:.9rem;line-height:1.7;color:var(--ol-cream);opacity:.78;}
.ol-foot-cta{font-size:.85rem;padding:8px 16px;}

.ol-foot-col{display:flex;flex-direction:column;}
.ol-foot-head{font-family:"Space Grotesk",sans-serif;font-size:.72rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ol-gold-lt);margin:2px 0 14px;}
.ol-foot-col a{display:block;padding:5px 0;font-size:.88rem;color:var(--ol-cream);
  text-decoration:none;opacity:.82;transition:color .15s,opacity .15s,transform .15s;}
.ol-foot-col a:hover{color:var(--ol-gold-lt);opacity:1;transform:translateX(3px);}

.ol-footer-bottom{border-top:1px solid var(--ol-line);}
.ol-footer-bottom-inner{max-width:1240px;margin:0 auto;padding:18px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;}
.ol-foot-copy{margin:0;font-size:.82rem;color:var(--ol-cream);opacity:.7;}
.ol-foot-free{color:var(--ol-gold-lt);opacity:.9;}
.ol-foot-legal{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap;}
.ol-foot-legal a{font-size:.82rem;color:var(--ol-cream);opacity:.7;text-decoration:none;transition:color .15s,opacity .15s;}
.ol-foot-legal a:hover{color:var(--ol-gold-lt);opacity:1;}

@media (max-width:900px){
  .ol-footer-inner{grid-template-columns:1fr 1fr;gap:28px 24px;}
  .ol-foot-brand{grid-column:1 / -1;max-width:none;}
}
@media (max-width:560px){
  .ol-footer-inner{grid-template-columns:1fr;}
  .ol-footer-bottom-inner{flex-direction:column;align-items:flex-start;}
}

/* ============================================================
   HOME / FRONT PAGE (Gold v2.4.0) — CSS-only animation
   ============================================================ */
.ol-home{--ol-max:1160px;overflow-x:clip;}
.ol-wrap{max-width:var(--ol-max);margin:0 auto;padding:0 20px;}

.ol-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 12px;
  font-family:"Space Grotesk",sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ol-gold-lt);
  background:rgba(246,197,11,.08);border:1px solid var(--ol-line);
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);}
.ol-eyebrow::before{content:"";width:8px;height:8px;background:var(--ol-gold);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);}

.ol-h2{font-family:"Space Grotesk",sans-serif;font-size:clamp(1.6rem,3.2vw,2.3rem);
  font-weight:700;color:var(--ol-gold);margin:14px 0 30px;line-height:1.15;}

/* ---------- HERO ---------- */
.ol-hero{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(1200px 620px at 78% -8%,var(--ol-navy-3),transparent 60%),
             radial-gradient(900px 520px at 8% 108%,var(--ol-navy-2),transparent 58%),
             var(--ol-navy);
  border-bottom:1px solid var(--ol-line);}
.ol-hero-inner{position:relative;z-index:3;max-width:var(--ol-max);margin:0 auto;
  padding:clamp(56px,8vw,104px) 20px;display:grid;grid-template-columns:1.15fr .85fr;
  align-items:center;gap:40px;}

/* moving grid */
.ol-hero-grid{position:absolute;inset:-2px;z-index:1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(var(--ol-line) 1px,transparent 1px),
                   linear-gradient(90deg,var(--ol-line) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask:radial-gradient(80% 80% at 50% 40%,#000,transparent 78%);
          mask:radial-gradient(80% 80% at 50% 40%,#000,transparent 78%);
  animation:ol-grid 22s linear infinite;}
/* scanline */
.ol-hero-scanline{position:absolute;left:0;right:0;top:0;height:140px;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,216,77,.10),transparent);
  animation:ol-scan 7s ease-in-out infinite;}

/* drifting hexagons */
.ol-hex-field{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;}
.ol-hex-drift{position:absolute;bottom:-60px;width:26px;height:30px;
  background:rgba(246,197,11,.12);border:1px solid rgba(246,197,11,.22);
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  animation:ol-drift 15s linear infinite;}
.ol-hd1{left:8%;animation-duration:16s;animation-delay:0s;transform:scale(.7);}
.ol-hd2{left:24%;animation-duration:21s;animation-delay:3s;transform:scale(1.1);}
.ol-hd3{left:47%;animation-duration:18s;animation-delay:6s;transform:scale(.55);}
.ol-hd4{left:63%;animation-duration:24s;animation-delay:1.5s;transform:scale(.9);}
.ol-hd5{left:80%;animation-duration:19s;animation-delay:8s;transform:scale(1.3);}
.ol-hd6{left:92%;animation-duration:23s;animation-delay:4.5s;transform:scale(.65);}

/* hero copy */
.ol-hero-title{font-family:"Space Grotesk",sans-serif;font-weight:700;
  font-size:clamp(2.1rem,5.2vw,3.5rem);line-height:1.08;margin:18px 0 0;color:var(--ol-cream);
  letter-spacing:-.01em;}
.ol-hero-shine{background:linear-gradient(100deg,var(--ol-gold-dk) 0%,var(--ol-gold) 30%,#fff3c4 50%,var(--ol-gold) 70%,var(--ol-gold-dk) 100%);
  background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
  animation:ol-shine 5.5s linear infinite;}
.ol-hero-sub{max-width:44ch;margin:20px 0 0;font-size:clamp(1rem,1.4vw,1.12rem);
  line-height:1.7;color:var(--ol-cream);opacity:.82;}
.ol-hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.ol-hero-trust{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 0;
  font-family:"JetBrains Mono",monospace;font-size:.78rem;letter-spacing:.02em;
  color:var(--ol-cream);opacity:.62;}
.ol-hero-trust b{color:var(--ol-gold);opacity:.7;}

/* buttons (home) */
.ol-btn2{position:relative;overflow:hidden;display:inline-block;padding:13px 26px;border-radius:999px;
  font-weight:700;font-size:.95rem;text-decoration:none;transition:transform .15s,filter .15s,box-shadow .15s;}
.ol-btn2-gold{background:linear-gradient(135deg,var(--ol-gold-lt),var(--ol-gold-dk));color:var(--ol-navy);
  box-shadow:0 8px 22px rgba(246,197,11,.3);}
.ol-btn2-gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(246,197,11,.42);}
.ol-btn2-ghost{color:var(--ol-cream);border:1px solid var(--ol-line);background:rgba(255,255,255,.02);}
.ol-btn2-ghost:hover{transform:translateY(-2px);color:var(--ol-gold-lt);border-color:rgba(246,197,11,.45);}
.ol-btn2::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);}
.ol-btn2:hover::after{animation:ol-sweep .8s ease;}

/* ---------- SIGNATURE EMBLEM ---------- */
.ol-emblem{position:relative;justify-self:center;width:min(340px,72vw);aspect-ratio:1;
  display:grid;place-items:center;}
.ol-emblem-scan{position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 62%,rgba(255,216,77,.55) 84%,var(--ol-gold-lt) 92%,transparent 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));
  animation:ol-spin 6s linear infinite;}
.ol-emblem-ring{position:absolute;width:88%;height:88%;border-radius:50%;
  border:1px solid var(--ol-line);box-shadow:inset 0 0 60px rgba(246,197,11,.06);}
.ol-emblem-ring::after{content:"";position:absolute;inset:14%;border-radius:50%;
  border:1px dashed rgba(246,197,11,.18);animation:ol-spin 26s linear infinite reverse;}
.ol-emblem-svg{position:relative;z-index:2;width:56%;height:56%;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.4));animation:ol-float 5s ease-in-out infinite;}
.ol-emblem-hex{stroke-dasharray:300;stroke-dashoffset:300;
  animation:ol-draw 1.6s ease-out .3s forwards;}
.ol-emblem-key{transform-origin:60px 60px;animation:ol-keypulse 3.2s ease-in-out infinite;}

/* ---------- SECTIONS ---------- */
.ol-section{padding:clamp(48px,7vw,88px) 0;}
.ol-entry{color:var(--ol-cream);}
.ol-entry a{color:var(--ol-gold-lt);}

/* feature cards */
.ol-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.ol-card{position:relative;overflow:hidden;display:flex;flex-direction:column;
  padding:26px 22px;background:var(--ol-navy-2);border:1px solid var(--ol-line);
  border-radius:var(--ol-radius);text-decoration:none;color:var(--ol-cream);
  transition:transform .2s,border-color .2s,box-shadow .2s;}
.ol-card::before{content:"";position:absolute;top:0;left:-140%;width:70%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(246,197,11,.12),transparent);transform:skewX(-18deg);transition:none;}
.ol-card:hover{transform:translateY(-4px);border-color:rgba(246,197,11,.42);box-shadow:var(--ol-shadow);}
.ol-card:hover::before{animation:ol-sweep 1s ease;}
.ol-card-badge{display:inline-grid;place-items:center;width:40px;height:44px;margin-bottom:14px;
  font-family:"JetBrains Mono",monospace;font-weight:500;font-size:.9rem;color:var(--ol-navy);
  background:linear-gradient(135deg,var(--ol-gold-lt),var(--ol-gold-dk));
  clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);}
.ol-card h3{font-family:"Space Grotesk",sans-serif;font-size:1.12rem;color:var(--ol-gold-lt);margin:0 0 8px;}
.ol-card p{font-size:.9rem;line-height:1.6;opacity:.82;margin:0 0 16px;flex:1;}
.ol-card-link{font-size:.82rem;font-weight:600;color:var(--ol-gold);letter-spacing:.01em;}

/* stats */
.ol-stats{background:linear-gradient(180deg,var(--ol-navy-2),var(--ol-navy));
  border-top:1px solid var(--ol-line);border-bottom:1px solid var(--ol-line);padding:44px 0;}
.ol-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.ol-stat{display:flex;flex-direction:column;gap:6px;}
.ol-stat-num{font-family:"Space Grotesk",sans-serif;font-weight:700;
  font-size:clamp(2rem,4.4vw,2.9rem);line-height:1;
  background:linear-gradient(135deg,var(--ol-gold-lt),var(--ol-gold-dk));
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.ol-stat-lbl{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ol-cream);opacity:.7;}

/* closing CTA band */
.ol-cta-band{position:relative;overflow:hidden;padding:clamp(56px,8vw,92px) 0;
  background:radial-gradient(700px 400px at 50% -20%,var(--ol-navy-3),transparent 65%),var(--ol-navy);}
.ol-cta-band::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(246,197,11,.06),transparent);background-size:200% 100%;
  animation:ol-shimmer 9s linear infinite;pointer-events:none;}
.ol-cta-inner{position:relative;z-index:2;text-align:center;max-width:640px;}
.ol-cta-title{font-family:"Space Grotesk",sans-serif;font-size:clamp(1.5rem,3.4vw,2.2rem);
  color:var(--ol-gold);margin:0 0 14px;line-height:1.2;}
.ol-cta-text{font-size:1.02rem;line-height:1.7;color:var(--ol-cream);opacity:.84;margin:0 0 28px;}

/* ---------- ENTRANCE REVEAL ---------- */
.ol-reveal{opacity:0;animation:ol-fadeup .7s cubic-bezier(.2,.7,.2,1) forwards;}
.ol-d1{animation-delay:.05s;} .ol-d2{animation-delay:.18s;} .ol-d3{animation-delay:.32s;}
.ol-d4{animation-delay:.46s;} .ol-d5{animation-delay:.6s;}

/* ---------- KEYFRAMES ---------- */
@keyframes ol-fadeup{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes ol-shine{to{background-position:-220% 0;}}
@keyframes ol-shimmer{to{background-position:200% 0;}}
@keyframes ol-sweep{0%{left:-140%;}100%{left:140%;}}
@keyframes ol-spin{to{transform:rotate(360deg);}}
@keyframes ol-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-9px);}}
@keyframes ol-draw{to{stroke-dashoffset:0;}}
@keyframes ol-keypulse{0%,100%{transform:scale(1);opacity:.92;}50%{transform:scale(1.08);opacity:1;}}
@keyframes ol-grid{from{background-position:0 0,0 0;}to{background-position:44px 44px,44px 44px;}}
@keyframes ol-scan{0%{transform:translateY(-30px);opacity:0;}30%{opacity:1;}100%{transform:translateY(360px);opacity:0;}}
@keyframes ol-drift{0%{transform:translateY(0) rotate(0);opacity:0;}
  10%{opacity:.8;}90%{opacity:.8;}100%{transform:translateY(-118vh) rotate(220deg);opacity:0;}}

/* ---------- RESPONSIVE ---------- */
@media (max-width:860px){
  .ol-hero-inner{grid-template-columns:1fr;text-align:center;gap:30px;}
  .ol-hero-copy{order:2;}
  .ol-emblem{order:1;width:min(260px,64vw);}
  .ol-eyebrow{align-self:center;}
  .ol-hero-sub{margin-left:auto;margin-right:auto;}
  .ol-hero-cta,.ol-hero-trust{justify-content:center;}
  .ol-cards{grid-template-columns:1fr 1fr;}
  .ol-stats-grid{grid-template-columns:1fr 1fr;gap:30px 24px;}
}
@media (max-width:520px){
  .ol-cards{grid-template-columns:1fr;}
  .ol-hero-cta .ol-btn2{width:100%;text-align:center;}
}

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  .ol-reveal{opacity:1;animation:none;}
  .ol-hero-grid,.ol-hero-scanline,.ol-hex-field,.ol-emblem-scan,
  .ol-emblem-ring::after,.ol-emblem-svg,.ol-emblem-key,.ol-hero-shine,
  .ol-footer::before,.ol-cta-band::before{animation:none!important;}
  .ol-emblem-hex{stroke-dashoffset:0;}
  .ol-hero-scanline,.ol-hex-field{display:none;}
}


.olcc .olcc-head.olx-head--duel{display:flex;align-items:center;gap:clamp(24px,4vw,56px);flex-wrap:wrap}
.olx-head-copy{flex:1 1 380px;min-width:min(100%,340px)}
.olx-duel{flex:1 1 380px;max-width:440px;width:100%;margin-inline:auto;...}


/* copy on the left, live console on the right — always side-by-side, never overlapping */
.olcc .olcc-head.olx-head--duel{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:center;
  gap:clamp(30px,4vw,64px);
}
.olx-head-copy{ min-width:0; max-width:560px; }   /* readable measure, shrinks cleanly */
.olx-duel{
  justify-self:end;                                /* hugs the right, next to the copy */
  width:100%; max-width:440px;
  --gold:#f6c50b; --gold2:#ffd21c; --red:#ff4d4d;
  font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
}

/* tablets & phones: console drops below the text, centered — clean, no squeeze */
@media(max-width:820px){
  .olcc .olcc-head.olx-head--duel{ grid-template-columns:1fr; gap:30px; text-align:left; }
  .olx-head-copy{ max-width:none; }
  .olx-duel{ justify-self:center; max-width:420px; }
}

