/* =====================================================================
   UMA PUBLISHERS â€” public site theme
   Bright, kid-friendly, but laid out like a corporate publishing site.
   All colours live in the :root block so a rebrand is a 10-line edit.
   ===================================================================== */

:root{
  --uma-primary:#2f4bd8;
  --uma-primary-dark:#1f34a3;
  --uma-primary-soft:#eef2ff;
  --uma-accent:#ff8a3d;
  --uma-pink:#ff5c93;
  --uma-green:#16b877;
  --uma-purple:#8b5cf6;
  --uma-cyan:#06b6d4;
  --uma-yellow:#ffc93c;
  --uma-ink:#12193a;
  --uma-body:#5a6383;
  --uma-line:#e8ecf7;
  --uma-bg:#f6f8fe;
  --uma-radius:18px;
  --uma-radius-sm:12px;
  --uma-shadow:0 10px 30px rgba(20,32,80,.08);
  --uma-shadow-lg:0 20px 50px rgba(20,32,80,.14);
  --uma-font-head:"Baloo 2","Segoe UI",system-ui,sans-serif;
  --uma-font-body:"Nunito","Segoe UI",system-ui,-apple-system,sans-serif;
}

*{scroll-behavior:smooth}
body{
  font-family:var(--uma-font-body);
  color:var(--uma-body);
  background:#fff;
  font-size:16px;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,h6,.font-head{font-family:var(--uma-font-head);color:var(--uma-ink);font-weight:700;letter-spacing:-.2px}
a{text-decoration:none;color:var(--uma-primary)}
a:hover{color:var(--uma-primary-dark)}
img{max-width:100%}
.section{padding: 50px 0;}
.section-sm{padding:48px 0}
.bg-soft{background:var(--uma-bg)}

/* ---------- reusable bits ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--uma-font-head);font-weight:700;font-size:.82rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--uma-primary);
  background:var(--uma-primary-soft);padding:.4rem .9rem;border-radius:999px;
}
.section-title{font-size:clamp(1.6rem,3.2vw,2.35rem);margin:.75rem 0 .5rem}
.section-sub{max-width:640px;margin:0 auto;color:var(--uma-body)}
.text-gradient{
  background:linear-gradient(90deg,var(--uma-primary),var(--uma-pink) 55%,var(--uma-accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.btn{border-radius:999px;font-family:var(--uma-font-head);font-weight:600;padding:.62rem 1.5rem;transition:.25s}
.btn-lg{padding:.8rem 2rem;font-size:1.05rem}
.btn-primary{background:var(--uma-primary);border-color:var(--uma-primary)}
.btn-primary:hover{background:var(--uma-primary-dark);border-color:var(--uma-primary-dark);transform:translateY(-2px)}
.btn-accent{background:var(--uma-accent);border-color:var(--uma-accent);color:#fff}
.btn-accent:hover{background:#ef761f;border-color:#ef761f;color:#fff;transform:translateY(-2px)}
.btn-outline-primary{color:var(--uma-primary);border-color:#c8d2f7}
.btn-outline-primary:hover{background:var(--uma-primary);border-color:var(--uma-primary)}
.badge-soft{background:var(--uma-primary-soft);color:var(--uma-primary);font-weight:700;border-radius:999px;padding:.35rem .8rem;font-size:.75rem}

/* ---------- top bar + navbar ---------- */
.topbar{background:var(--uma-ink);color:#fff;font-size:.85rem;padding:.5rem 0}
.topbar a{color:#fff}
.topbar a:hover{color:#fff}
.navbar-uma{
  background:rgba(255,255,255,.96);box-shadow:0 6px 28px rgba(20,32,80,.07);
  padding:.62rem 0;position:sticky;top:0;z-index:1030;backdrop-filter:blur(14px);
}
.navbar-uma .navbar-brand{font-family:var(--uma-font-head);font-weight:800;font-size:1.45rem;color:var(--uma-ink);line-height:1.1}
.site-logo-img{display:block;width:auto;height:52px;max-width:235px;object-fit:contain}
.navbar-brand .brand-mark{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--uma-primary),var(--uma-purple));
  font-size:1.25rem;box-shadow:0 6px 16px rgba(47,75,216,.35);
}
.navbar-brand small{display:block;font-family:var(--uma-font-body);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--uma-accent)}
.navbar-uma .nav-link{
  font-family:var(--uma-font-head);font-weight:600;color:var(--uma-ink);
  padding:.48rem .72rem;border-radius:999px;transition:.2s;font-size:.94rem;
}
.navbar-uma .nav-link:hover,.navbar-uma .nav-link.active{color:var(--uma-primary);background:var(--uma-primary-soft)}
.nav-search{width:236px;max-width:236px}
.nav-search .form-control{border-radius:999px;border-color:var(--uma-line);padding-left:1rem;background:#f9faff}
.nav-search .btn{border-radius:999px}

/* ---------- professional home hero ---------- */
.hero{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 78% 22%,rgba(83,106,236,.2),transparent 28%),
    radial-gradient(circle at 6% 90%,rgba(14,122,140,.2),transparent 34%),
    linear-gradient(118deg,#111f51 0%,#17275d 52%,#123b55 100%);
  border-bottom:1px solid rgba(255,255,255,.08);color:#fff;
}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;opacity:.55;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.38) 58%,transparent 92%);
}
.hero-orb{position:absolute;border-radius:50%;z-index:-1;filter:blur(1px);pointer-events:none}
.hero-orb-one{width:430px;height:430px;right:-120px;top:-230px;background:radial-gradient(circle,rgba(255,138,61,.26),rgba(255,138,61,0) 68%)}
.hero-orb-two{width:390px;height:390px;left:-210px;bottom:-230px;background:radial-gradient(circle,rgba(72,201,170,.18),rgba(72,201,170,0) 70%)}
.hero-inner{position:relative;z-index:2;padding:54px 0 78px}
.hero-copy{max-width:690px}
.hero .eyebrow{color:#ffd45d;background:rgba(255,201,60,.1);border:1px solid rgba(255,212,93,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.hero h1{font-size:clamp(2.45rem,4.2vw,4.15rem);line-height:1.02;letter-spacing:-1.5px;margin:1rem 0 1rem;max-width:690px;color:#fff;text-shadow:0 8px 28px rgba(3,9,35,.22)}
.hero p.lead{font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.75;max-width:620px;margin-bottom:0;color:#d3daf2}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.65rem}
.hero-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;box-shadow:0 12px 28px rgba(4,10,40,.24)}
.hero-actions .btn-primary{background:linear-gradient(135deg,#ff8739,#f05f73);border:0;color:#fff}
.hero-actions .btn-primary:hover{background:linear-gradient(135deg,#ef762b,#e64c65);color:#fff}
.hero-secondary{color:#fff;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.09);backdrop-filter:blur(8px)}
.hero-secondary:hover{color:var(--uma-ink);border-color:#fff;background:#fff;transform:translateY(-2px)}
.hero-proof{display:flex;flex-wrap:wrap;gap:.6rem 1.1rem;margin-top:1.35rem;color:#eef1ff;font-size:.84rem;font-weight:700}
.hero-proof span{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.hero-proof i{color:#62e2b1;font-size:.95rem}
.hero-showcase{
  position:relative;max-width:455px;min-height:382px;margin:0 auto;padding:1.2rem;border-radius:28px;color:var(--uma-ink);
  background:linear-gradient(145deg,#fff 0%,#f5f7ff 58%,#fff6ef 100%);
  box-shadow:0 30px 70px rgba(3,9,35,.34);border:1px solid rgba(255,255,255,.72);
}
.hero-showcase::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 88% 8%,rgba(255,138,61,.14),transparent 31%);pointer-events:none}
.showcase-topline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.76rem;font-weight:800;letter-spacing:.03em}
.showcase-topline>span:first-child{display:flex;align-items:center;gap:.45rem}
.showcase-live{display:inline-flex;align-items:center;gap:.38rem;color:#63708f;font-size:.7rem}
.showcase-live i{width:7px;height:7px;border-radius:50%;background:#13b67e;box-shadow:0 0 0 5px rgba(19,182,126,.12)}
.learning-stack{position:relative;height:246px;margin:1rem 0 .6rem;perspective:800px}
.learning-stack::before{content:"";position:absolute;width:250px;height:250px;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%);background:#edf1ff;border:1px solid #dce3fc;box-shadow:inset 0 0 0 18px rgba(255,255,255,.48)}
.learning-card{
  position:absolute;width:146px;height:182px;padding:1rem;border-radius:18px;display:flex;flex-direction:column;justify-content:flex-end;
  box-shadow:0 18px 32px rgba(8,14,54,.3);border:1px solid rgba(255,255,255,.42);overflow:hidden;
}
.learning-card::before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(255,255,255,.22),transparent 50%);pointer-events:none}
.learning-card strong{font-family:var(--uma-font-head);font-size:1.08rem;line-height:1.1;color:#fff;position:relative}
.learning-card small{opacity:.82;font-weight:700;position:relative}
.learning-icon{position:absolute;left:1rem;top:1rem;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:1.35rem}
.card-print{left:7%;top:32px;z-index:1;background:linear-gradient(155deg,#f07f38,#e65483);transform:rotate(-9deg)}
.card-digital{left:50%;top:5px;z-index:3;background:linear-gradient(155deg,#536fee,#704ce2);transform:translateX(-50%)}
.card-play{right:7%;top:32px;z-index:2;background:linear-gradient(155deg,#0fb58a,#087d78);transform:rotate(9deg)}
.showcase-image-wrap{height:246px;margin:1rem 0 .6rem;border-radius:20px;overflow:hidden;background:rgba(255,255,255,.1)}
.showcase-image-wrap img{width:100%;height:100%;object-fit:cover}
.showcase-bottom{position:relative;z-index:2;display:flex;align-items:center;gap:.7rem;padding:.85rem;border-radius:17px;background:#15275d;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 24px rgba(21,39,93,.16)}
.format-icons{display:flex;align-items:center}
.format-icons span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--uma-primary);font-size:.75rem;border:2px solid #354aa7;margin-left:-8px}
.format-icons span:first-child{margin-left:0}
.showcase-bottom p{display:flex;flex-direction:column;line-height:1.25;margin:0;min-width:0;flex:1}
.showcase-bottom strong{color:#fff;font-family:var(--uma-font-head);font-size:.85rem}
.showcase-bottom p span{font-size:.7rem;color:#cdd5ff}
.showcase-bottom>a{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;background:#fff;color:var(--uma-primary)}
.hero-chip{
  position:absolute;z-index:4;background:#fff;border-radius:15px;padding:.58rem .75rem;box-shadow:0 14px 30px rgba(18,25,58,.16);
  font-family:var(--uma-font-head);font-weight:700;color:var(--uma-ink);font-size:.75rem;display:flex;gap:.55rem;align-items:center;border:1px solid #eef1f8;
}
.hero-chip i{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;font-size:.95rem;background:#edf1ff;color:var(--uma-primary)}
.hero-chip span{display:flex;flex-direction:column;line-height:1.05;color:#7a829e;text-transform:uppercase;letter-spacing:.04em;font-size:.58rem}
.hero-chip b{color:var(--uma-ink);font-size:.87rem;letter-spacing:0}
.hero-chip.c1{top:20%;left:-42px}
.hero-chip.c2{right:-34px;bottom:24%}
.hero-chip.c2 i{background:#e9fbf5;color:var(--uma-green)}

/* Compact decorative artwork used by the custom 404 screen. */
.hero-art{
  aspect-ratio:1/1;margin-inline:auto;border-radius:32%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,var(--uma-primary),var(--uma-purple) 62%,var(--uma-pink));box-shadow:var(--uma-shadow-lg);
}
.hero-art i{font-size:clamp(4rem,12vw,7rem)}

/* ---------- stat strip ---------- */
.stat-strip{margin-top:-34px;position:relative;z-index:5}
.stats-panel{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--uma-line);border-radius:20px;box-shadow:0 18px 45px rgba(20,32,80,.1);padding:.45rem}
.stat-card{
  min-width:0;padding:.9rem 1rem;display:flex;align-items:center;gap:.75rem;color:var(--uma-ink);position:relative;border-radius:15px;transition:.22s;
}
.stat-card:not(:last-child)::after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:var(--uma-line)}
.stat-card:hover{background:#f8f9ff;color:var(--uma-primary);transform:translateY(-2px)}
.stat-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;background:color-mix(in srgb,var(--stat-color) 11%,white);color:var(--stat-color);font-size:1.15rem}
.stat-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.stat-copy strong{font-family:var(--uma-font-head);font-size:1.45rem;color:var(--uma-ink)}
.stat-copy small{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#727b9a;white-space:nowrap}
.stat-arrow{font-size:.72rem;color:#b0b7cc;margin-left:auto;opacity:0;transition:.2s}
.stat-card:hover .stat-arrow{opacity:1}

/* ---------- storybook home hero ---------- */
.story-hero{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 77% 24%,rgba(68,213,190,.17),transparent 28%),
    radial-gradient(circle at 9% 94%,rgba(91,94,232,.25),transparent 34%),
    linear-gradient(117deg,#081a3d 0%,#12275a 54%,#073e52 100%);
  border-bottom:4px solid transparent;border-image:linear-gradient(90deg,#ff695e,#ffc85c,#4dd7bd,#7560ed) 1;
}
.story-hero::before{
  content:"";position:absolute;inset:0;z-index:-2;opacity:.5;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.35) 54%,transparent 86%);
}
.story-hero::after{content:"";position:absolute;width:560px;height:560px;right:-230px;bottom:-390px;z-index:-1;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 46px rgba(255,255,255,.025),0 0 0 92px rgba(255,255,255,.018);pointer-events:none}
.story-orb{position:absolute;border-radius:50%;z-index:-1;pointer-events:none;filter:blur(3px)}
.story-orb-one{width:520px;height:520px;right:-110px;top:-290px;background:radial-gradient(circle,rgba(55,203,229,.28),transparent 68%)}
.story-orb-two{width:460px;height:460px;left:-240px;bottom:-310px;background:radial-gradient(circle,rgba(255,105,94,.17),transparent 68%)}
.story-hero-inner{padding:50px 0;position:relative}
.home-slider-nav{position:absolute;top:50%;z-index:8;width:46px;height:46px;display:grid;place-items:center;transform:translateY(-50%);border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.13);color:#fff;font-size:1.2rem;box-shadow:0 12px 32px rgba(0,0,0,.2);backdrop-filter:blur(12px);transition:background .2s ease,transform .2s ease,border-color .2s ease}
.home-slider-nav:hover,.home-slider-nav:focus-visible{background:#fff;color:#1c316d;border-color:#fff;transform:translateY(-50%) scale(1.08);outline:0}
.home-slider-prev{left:clamp(10px,2vw,34px)}
.home-slider-next{right:clamp(10px,2vw,34px)}
.story-copy{max-width:660px}
.story-eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;padding:.5rem 1rem;border-radius:999px;
  color:#ffd45f;background:rgba(255,255,255,.09);border:1px solid rgba(255,211,95,.34);backdrop-filter:blur(12px);
  font-family:var(--uma-font-head);font-size:.75rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.11);
}
.story-eyebrow i{font-size:.9rem;filter:drop-shadow(0 0 8px rgba(255,212,95,.55))}
.story-copy h1{font-size: clamp(2.8rem,4.5vw,3.3rem);line-height:1.035;letter-spacing:-1.8px;margin:1.3rem 0 1.15rem;color:#fff;max-width:690px;text-shadow:0 7px 30px rgba(0,0,0,.16)}
.story-copy h1 span{background:linear-gradient(92deg,#ffce54 0%,#ff8b4a 46%,#ff6469 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 18px rgba(255,112,80,.18))}
.story-copy .lead{max-width:605px;margin:0;color:#dbe7ff;font-size:clamp(1rem,1.25vw,1.13rem);line-height:1.82}
.story-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.75rem}
.story-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:55px;padding-left:1.4rem;padding-right:1.4rem;box-shadow:none;font-weight:800;transition:transform .25s,box-shadow .25s,background .25s}
.story-primary{color:#fff;background:linear-gradient(135deg,#ff8a42,#ff5c68);border:0;box-shadow:0 13px 32px rgba(255,92,104,.3)!important}
.story-primary:hover{color:#fff;background:linear-gradient(135deg,#ff9954,#ff6e78);transform:translateY(-3px);box-shadow:0 18px 38px rgba(255,92,104,.4)!important}
.story-primary i{transition:transform .25s}.story-primary:hover i{transform:translateX(4px)}
.story-secondary{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important}
.story-secondary:hover{color:#102351;background:#fff;border-color:#fff;transform:translateY(-3px);box-shadow:0 15px 32px rgba(0,0,0,.2)!important}
.story-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:2rem;max-width:590px}
.story-metrics a{display:flex;align-items:center;gap:.52rem;min-width:0;padding:.72rem .78rem;color:#dce7ff;line-height:1.15;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);transition:.25s}
.story-metrics a:hover{color:#fff;background:rgba(255,255,255,.12);border-color:rgba(255,211,95,.3);transform:translateY(-3px)}
.story-metrics a:not(:last-child){padding-right:.78rem;border-right:1px solid rgba(255,255,255,.11)}
.story-metrics strong{font-family:var(--uma-font-head);font-size:1.55rem;line-height:1;color:#ffd15a;text-shadow:0 3px 12px rgba(255,209,90,.17)}
.story-metrics span{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.story-media{position:relative;margin:0 0 0 auto;max-width:690px;padding:1.2rem .75rem 1.75rem 1.2rem;isolation:isolate}
.story-media::before{content:"";position:absolute;inset:9% -1% 1% 7%;z-index:-1;border-radius:34px;background:linear-gradient(135deg,#755ceb,#346ddb 54%,#14b294);transform:rotate(1.8deg);box-shadow:0 28px 70px rgba(0,0,0,.34),0 0 50px rgba(71,199,202,.14)}
.story-media::after{content:"";position:absolute;width:130px;height:130px;right:-34px;bottom:-25px;z-index:-2;border-radius:50%;background:rgba(255,205,82,.16);border:1px dashed rgba(255,210,91,.42);animation:story-orbit 16s linear infinite}
.story-image-wrap{position:relative;overflow:hidden;aspect-ratio:3/2;border-radius:28px;border:5px solid rgba(255,255,255,.96);background:#dff1ff;box-shadow:0 28px 64px rgba(0,0,0,.3)}
.story-image-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.12),transparent 30%,transparent 72%,rgba(5,29,62,.12));pointer-events:none}
.story-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .75s ease}
.story-media:hover .story-image-wrap img{transform:scale(1.045);filter:saturate(1.08)}
.story-media figcaption{
  position:absolute;left:-9px;bottom:0;z-index:3;display:flex;align-items:center;gap:.6rem;padding:.72rem .9rem;border-radius:16px;
  color:#65708d;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.88);box-shadow:0 16px 38px rgba(0,0,0,.22);font-size:.7rem;backdrop-filter:blur(12px);animation:story-float 4.6s ease-in-out infinite;
}
.story-media figcaption i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#e9fbf4;color:#12a976;font-size:1rem}
.story-media figcaption span{display:flex;flex-direction:column;line-height:1.25}.story-media figcaption strong{color:#1c316d;font-family:var(--uma-font-head);font-size:.82rem}
.story-media-chip{position:absolute;right:-7px;top:7%;z-index:3;display:inline-flex;align-items:center;gap:.48rem;padding:.68rem .86rem;border-radius:15px;background:rgba(255,255,255,.96);color:#1c316d;border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 38px rgba(0,0,0,.22);font-size:.72rem;font-weight:800;backdrop-filter:blur(12px);animation:story-float 4.6s ease-in-out -2.1s infinite}
.story-media-chip i{color:#7655e8;font-size:1rem}
@keyframes story-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes story-orbit{to{transform:rotate(360deg)}}

/* ---------- explore tiles ---------- */
.explore-tile{
  display:block;border-radius:var(--uma-radius);padding:1.6rem 1.35rem;height:100%;
  color:#fff;position:relative;overflow:hidden;box-shadow:var(--uma-shadow);transition:.28s;
}
.explore-tile:hover{transform:translateY(-6px);box-shadow:var(--uma-shadow-lg);color:#fff}
.explore-tile .ico{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:1.6rem;margin-bottom:.9rem}
.explore-tile h5{color:#fff;margin-bottom:.25rem;font-size:1.2rem}
.explore-tile p{font-size:.88rem;opacity:.92;margin-bottom:.6rem}
.explore-tile .go{font-family:var(--uma-font-head);font-weight:700;font-size:.9rem}
.explore-tile::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.13);right:-40px;top:-40px}

/* ---------- content cards ---------- */
.uma-card{
  background:#fff;border:1px solid var(--uma-line);border-radius:var(--uma-radius);
  overflow:hidden;height:100%;display:flex;flex-direction:column;transition:.28s;
}
.uma-card:hover{transform:translateY(-6px);box-shadow:var(--uma-shadow-lg);border-color:#d9e1fb}
.uma-thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--uma-primary-soft)}
.uma-thumb.portrait{aspect-ratio:3/4}
.uma-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s}
.uma-card:hover .uma-thumb img{transform:scale(1.06)}
.uma-thumb .ph{
  width:100%;height:100%;display:grid;place-items:center;
  font-family:var(--uma-font-head);font-weight:800;font-size:2.4rem;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.15);
}
.uma-thumb .pill{
  position:absolute;top:.7rem;left:.7rem;background:rgba(18,25,58,.78);color:#fff;
  font-size:.72rem;font-weight:700;padding:.25rem .6rem;border-radius:999px;backdrop-filter:blur(4px);
}
.uma-thumb .pill.right{left:auto;right:.7rem}
.uma-thumb .pill.free{background:var(--uma-green)}
.uma-thumb .play{
  position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:3rem;
  background:linear-gradient(180deg,rgba(18,25,58,0) 40%,rgba(18,25,58,.55));opacity:.92;transition:.25s;
}
.uma-card:hover .play{transform:scale(1.08)}
.uma-body{padding:1rem 1.05rem 1.15rem;display:flex;flex-direction:column;flex:1}
.uma-body .cat{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem}
.uma-body h6{font-size:1.02rem;line-height:1.35;margin-bottom:.4rem}
.uma-body h6 a{color:var(--uma-ink)}
.uma-body h6 a:hover{color:var(--uma-primary)}
.uma-body .meta{font-size:.82rem;color:var(--uma-body);margin-bottom:.65rem}
.uma-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.6rem;border-top:1px dashed var(--uma-line)}
.price{font-family:var(--uma-font-head);font-weight:800;color:var(--uma-ink)}
.price s{font-weight:600;font-size:.85rem;color:#9aa3c0;margin-left:.35rem}
.tag-grade{font-size:.72rem;font-weight:800;padding:.22rem .6rem;border-radius:999px;color:#fff}

/* ---------- compact featured books ---------- */
.featured-books-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f8faff 100%)}
.featured-books-section::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-220px;top:-170px;background:radial-gradient(circle,rgba(118,85,232,.11),transparent 69%);pointer-events:none}
.featured-books-section .container{position:relative;z-index:1}
.featured-books-grid .uma-card{border-color:#e0e6f3;box-shadow:0 12px 32px rgba(29,48,112,.07)}
.featured-books-grid .uma-card:hover{box-shadow:0 22px 46px rgba(29,48,112,.14)}
.featured-books-grid .uma-thumb.portrait{aspect-ratio:6/5}
.featured-books-grid .uma-thumb img{object-fit:contain;padding:14px;background:linear-gradient(145deg,#f3f6ff,#fff);filter:drop-shadow(0 9px 12px rgba(18,25,58,.16))}
.featured-books-grid .uma-card:hover .uma-thumb img{transform:translateY(-3px) scale(1.025)}
.featured-books-grid .uma-thumb .ph{font-size:2rem}
.featured-books-grid .uma-body{padding:1rem 1.05rem 1.05rem}

/* ---------- compact books catalogue covers ---------- */
.catalog-books-section .uma-thumb.portrait{aspect-ratio:4/3}
.catalog-books-section .uma-thumb img{object-fit:contain;padding:14px;background:linear-gradient(145deg,#f3f6ff,#fff);filter:drop-shadow(0 9px 13px rgba(18,25,58,.15))}
.catalog-books-section .uma-card:hover .uma-thumb img{transform:translateY(-3px) scale(1.025)}
.catalog-ebooks-section .uma-thumb.portrait{aspect-ratio:4/3}
.catalog-ebooks-section .uma-thumb img{object-fit:contain;padding:14px;background:linear-gradient(145deg,#f3f6ff,#fff);filter:drop-shadow(0 9px 13px rgba(18,25,58,.15))}
.catalog-ebooks-section .uma-card:hover .uma-thumb img{transform:translateY(-3px) scale(1.025)}
.related-books-section .uma-thumb.portrait{aspect-ratio:4/3}
.related-books-section .uma-thumb img{object-fit:contain;padding:14px;background:linear-gradient(145deg,#f3f6ff,#fff);filter:drop-shadow(0 9px 13px rgba(18,25,58,.15))}
.related-books-section .uma-card:hover .uma-thumb img{transform:translateY(-3px) scale(1.025)}
.related-books-section{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 10% 20%,rgba(73,111,232,.2),transparent 27%),
    radial-gradient(circle at 90% 80%,rgba(34,193,151,.18),transparent 29%),
    linear-gradient(128deg,#eaf0ff 0%,#f3efff 50%,#eaf9f5 100%)!important;
  border-top:1px solid rgba(62,81,171,.1);border-bottom:1px solid rgba(62,81,171,.1);
}
.related-books-section::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.28;
  background-image:radial-gradient(rgba(43,62,145,.18) 1px,transparent 1px);background-size:29px 29px;
}
.related-books-section::after{
  content:"";position:absolute;width:390px;height:390px;left:-220px;bottom:-255px;z-index:-1;border-radius:50%;
  border:1px solid rgba(64,103,221,.13);box-shadow:0 0 0 45px rgba(64,103,221,.03),0 0 0 90px rgba(64,103,221,.02);pointer-events:none;
}
.related-books-section .container{position:relative;z-index:1}
.related-books-section .uma-card{box-shadow:0 17px 38px rgba(29,48,112,.11);border-color:rgba(255,255,255,.9)}
.related-ebooks-section .uma-thumb.portrait{aspect-ratio:4/3}
.related-ebooks-section .uma-thumb img{object-fit:contain;padding:14px;background:linear-gradient(145deg,#f3f6ff,#fff);filter:drop-shadow(0 9px 13px rgba(18,25,58,.15))}
.related-ebooks-section .uma-card:hover .uma-thumb img{transform:translateY(-3px) scale(1.025)}
.related-ebooks-section{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 9% 22%,rgba(75,110,232,.2),transparent 27%),
    radial-gradient(circle at 91% 78%,rgba(255,142,82,.2),transparent 29%),
    linear-gradient(128deg,#e9efff 0%,#f3edff 50%,#fff1e8 100%)!important;
  border-top:1px solid rgba(62,81,171,.1);border-bottom:1px solid rgba(62,81,171,.1);
}
.related-ebooks-section::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.28;
  background-image:radial-gradient(rgba(43,62,145,.18) 1px,transparent 1px);background-size:29px 29px;
}
.related-ebooks-section::after{
  content:"";position:absolute;width:390px;height:390px;right:-215px;top:-245px;z-index:-1;border-radius:50%;
  border:1px solid rgba(115,87,228,.13);box-shadow:0 0 0 45px rgba(115,87,228,.03),0 0 0 90px rgba(115,87,228,.02);pointer-events:none;
}
.related-ebooks-section .container{position:relative;z-index:1}
.related-ebooks-section .uma-card{box-shadow:0 17px 38px rgba(29,48,112,.11);border-color:rgba(255,255,255,.9)}
.related-videos-section{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 8% 20%,rgba(44,155,230,.2),transparent 27%),
    radial-gradient(circle at 92% 80%,rgba(255,118,92,.18),transparent 29%),
    linear-gradient(128deg,#e8f4ff 0%,#f1efff 50%,#fff0e9 100%)!important;
  border-top:1px solid rgba(55,91,170,.1);border-bottom:1px solid rgba(55,91,170,.1);
}
.related-videos-section::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.28;
  background-image:radial-gradient(rgba(43,71,145,.18) 1px,transparent 1px);background-size:29px 29px;
}
.related-videos-section::after{
  content:"";position:absolute;width:390px;height:390px;right:-215px;bottom:-255px;z-index:-1;border-radius:50%;
  border:1px solid rgba(255,113,88,.13);box-shadow:0 0 0 45px rgba(255,113,88,.03),0 0 0 90px rgba(255,113,88,.02);pointer-events:none;
}
.related-videos-section .container{position:relative;z-index:1}
.related-videos-section .uma-card{box-shadow:0 17px 38px rgba(29,48,112,.11);border-color:rgba(255,255,255,.9)}
.related-animations-section{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 9% 20%,rgba(125,87,226,.2),transparent 27%),
    radial-gradient(circle at 91% 80%,rgba(242,93,160,.17),transparent 29%),
    linear-gradient(128deg,#eeeaff 0%,#f7edff 50%,#fff0f6 100%)!important;
  border-top:1px solid rgba(91,66,170,.1);border-bottom:1px solid rgba(91,66,170,.1);
}
.related-animations-section::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.28;
  background-image:radial-gradient(rgba(84,55,155,.18) 1px,transparent 1px);background-size:29px 29px;
}
.related-animations-section::after{
  content:"";position:absolute;width:390px;height:390px;left:-220px;top:-245px;z-index:-1;border-radius:50%;
  border:1px solid rgba(125,87,226,.13);box-shadow:0 0 0 45px rgba(125,87,226,.03),0 0 0 90px rgba(125,87,226,.02);pointer-events:none;
}
.related-animations-section .container{position:relative;z-index:1}
.related-animations-section .uma-card{box-shadow:0 17px 38px rgba(56,39,115,.12);border-color:rgba(255,255,255,.9)}
.related-games-section{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 9% 20%,rgba(32,186,138,.2),transparent 27%),
    radial-gradient(circle at 91% 80%,rgba(255,190,66,.2),transparent 29%),
    linear-gradient(128deg,#e8faf4 0%,#eaf5ff 50%,#fff7df 100%)!important;
  border-top:1px solid rgba(45,128,112,.1);border-bottom:1px solid rgba(45,128,112,.1);
}
.related-games-section::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.28;
  background-image:radial-gradient(rgba(36,113,99,.18) 1px,transparent 1px);background-size:29px 29px;
}
.related-games-section::after{
  content:"";position:absolute;width:390px;height:390px;right:-220px;top:-245px;z-index:-1;border-radius:50%;
  border:1px solid rgba(255,181,53,.16);box-shadow:0 0 0 45px rgba(255,181,53,.035),0 0 0 90px rgba(255,181,53,.022);pointer-events:none;
}
.related-games-section .container{position:relative;z-index:1}
.related-games-section .uma-card{box-shadow:0 17px 38px rgba(29,91,81,.12);border-color:rgba(255,255,255,.9)}

/* ---------- home e-books + videos ---------- */
.home-media-section{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 8% 18%,rgba(75,114,238,.2),transparent 27%),
    radial-gradient(circle at 93% 78%,rgba(255,139,86,.2),transparent 29%),
    linear-gradient(128deg,#e8efff 0%,#f2edff 48%,#fff0e7 100%);
  border-top:1px solid rgba(66,85,175,.1);border-bottom:1px solid rgba(66,85,175,.1);
}
.home-media-section::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.3;
  background-image:radial-gradient(rgba(42,60,144,.18) 1px,transparent 1px);background-size:28px 28px;
  mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.1) 48%,#000);
}
.home-media-section::after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-250px;top:-280px;z-index:-1;border:1px solid rgba(116,85,232,.13);box-shadow:0 0 0 48px rgba(116,85,232,.028),0 0 0 96px rgba(116,85,232,.018);pointer-events:none}
.home-media-section .container{position:relative;z-index:1}
.home-media-column{padding:1.25rem!important;border:1px solid rgba(255,255,255,.86);border-radius:24px;background:rgba(255,255,255,.82);backdrop-filter:blur(12px);box-shadow:0 18px 42px rgba(29,48,112,.11),inset 0 1px 0 rgba(255,255,255,.72)}
.home-media-column>div:first-child{padding-bottom:.8rem;border-bottom:1px solid #ebeff8}
.home-media-column>div:first-child h3{font-size:1.35rem!important}
.home-media-column .uma-card{box-shadow:0 10px 26px rgba(29,48,112,.06);border-color:#e1e6f1}
.home-media-column .uma-card:hover{box-shadow:0 18px 38px rgba(29,48,112,.13)}
.home-ebooks-grid .uma-thumb.portrait{aspect-ratio:4/3}
.home-ebooks-grid .uma-thumb img{object-fit:contain;padding:12px;background:linear-gradient(145deg,#f4f7ff,#fff);filter:drop-shadow(0 8px 11px rgba(18,25,58,.14))}
.home-ebooks-grid .uma-card:hover .uma-thumb img{transform:translateY(-2px) scale(1.02)}
.home-ebooks-grid .uma-thumb .ph{font-size:1.8rem}
.home-ebooks-grid .uma-body,.home-videos-grid .uma-body{padding:.95rem 1rem 1rem}

/* ---------- page header ---------- */
.page-head{
  min-height:158px;padding:36px 0;display:flex;align-items:center;text-align:center;color:#fff;position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 14% 105%,rgba(82,103,219,.28),transparent 35%),
    radial-gradient(circle at 88% -20%,rgba(19,101,155,.25),transparent 38%),
    linear-gradient(118deg,#1b2b66 0%,#17275d 50%,#0e3155 100%);
}
.page-head::after{display:none}
.page-head h1{font-size:clamp(2rem,4vw,2.7rem);line-height:1.08;margin:0;color:#fff;letter-spacing:.2px}
.page-head .breadcrumb{--bs-breadcrumb-divider-color:rgba(255,255,255,.6);margin:0}
.page-head .breadcrumb a{color:rgba(255,255,255,.86)}
.page-head .breadcrumb-item.active{color:#fff}
.page-head-label{
  display:flex;align-items:center;justify-content:center;gap:.7rem;margin-bottom:.75rem;
  color:var(--uma-yellow);font-family:var(--uma-font-head);font-size:.72rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;
}
.page-head-label span{width:34px;height:1px;background:linear-gradient(90deg,transparent,var(--uma-yellow))}
.page-head-label span:last-child{background:linear-gradient(90deg,var(--uma-yellow),transparent)}

/* ---------- filter sidebar ---------- */
.filter-card{background:#fff;border:1px solid var(--uma-line);border-radius:var(--uma-radius);padding:1.15rem;box-shadow:var(--uma-shadow)}
.filter-card h6{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--uma-body);margin:1.1rem 0 .6rem}
.filter-card h6:first-of-type{margin-top:0}
.filter-list{list-style:none;padding:0;margin:0;max-height:270px;overflow:auto}
.filter-list a{
  display:flex;justify-content:space-between;gap:.5rem;padding:.4rem .65rem;border-radius:10px;
  color:var(--uma-body);font-size:.92rem;font-weight:600;
}
.filter-list a:hover{background:var(--uma-primary-soft);color:var(--uma-primary)}
.filter-list a.on{background:var(--uma-primary);color:#fff}
.filter-list .cnt{font-size:.78rem;opacity:.75}
.chip-row{display:flex;flex-wrap:wrap;gap:.4rem}
.chip{
  border:1px solid var(--uma-line);border-radius:999px;padding:.3rem .75rem;font-size:.82rem;font-weight:700;
  color:var(--uma-body);background:#fff;
}
.chip:hover{border-color:var(--uma-primary);color:var(--uma-primary)}
.chip.on{background:var(--uma-primary);border-color:var(--uma-primary);color:#fff}

/* ---------- detail page ---------- */
.detail-cover{border-radius:var(--uma-radius);overflow:hidden;box-shadow:var(--uma-shadow-lg);background:var(--uma-primary-soft)}
.detail-cover .ph{aspect-ratio:3/4;display:grid;place-items:center;font-family:var(--uma-font-head);font-size:4rem;font-weight:800;color:#fff}
.detail-badges>span{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 .8rem;line-height:1;text-align:center;white-space:nowrap}
.detail-badges .tag-grade{padding-left:.8rem;padding-right:.8rem}
.detail-badges .badge{font-size:.72rem;font-weight:800;letter-spacing:.015em}
.spec-table th{width:42%;color:var(--uma-body);font-weight:700;font-size:.9rem;background:var(--uma-bg)}
.spec-table td{font-weight:600;color:var(--uma-ink);font-size:.92rem}
.ratio-frame{border-radius:var(--uma-radius);overflow:hidden;box-shadow:var(--uma-shadow-lg);background:#000}
.ratio-frame iframe,.ratio-frame video{border:0;width:100%;height:100%}
.prose{color:var(--uma-body)}
.prose h1,.prose h2,.prose h3,.prose h4{margin:1.4rem 0 .6rem}
.prose ul,.prose ol{padding-left:1.1rem}
.prose li{margin-bottom:.35rem}

/* ---------- about story ---------- */
.about-intro-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.about-intro-section::before{
  content:"";position:absolute;width:420px;height:420px;border-radius:50%;left:-260px;top:10%;
  background:radial-gradient(circle,rgba(47,75,216,.1),rgba(47,75,216,0) 70%);pointer-events:none;
}
.about-copy{position:relative;z-index:2;max-width:650px}
.about-prose{margin-top:1.15rem}
.about-prose h2{font-size:clamp(1.45rem,2.4vw,1.9rem);margin:1.45rem 0 .45rem;line-height:1.15}
.about-prose h2:first-child{margin-top:0}
.about-prose p{font-size:.99rem;line-height:1.8;margin-bottom:.8rem}
.about-prose ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.about-prose li{position:relative;margin:0;padding:.72rem .8rem;border-radius:13px;background:#f4f6ff;color:#424c70;font-size:.86rem;font-weight:700;line-height:1.4}
.about-trust-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--uma-line)}
.about-trust-row span{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:800;color:var(--uma-ink)}
.about-trust-row i{color:var(--uma-primary);font-size:1rem}
.about-visual{position:relative;max-width:610px;margin:0 auto;padding:1.1rem 1.1rem 1.6rem 1.6rem;isolation:isolate}
.about-visual::before{content:"";position:absolute;inset:7% 0 0 8%;z-index:-2;border-radius:34px;background:linear-gradient(145deg,#2e4bd9,#8058e8 66%,#ed6490);transform:rotate(2deg);box-shadow:0 28px 58px rgba(37,54,139,.22)}
.about-visual-shape{position:absolute;border-radius:50%;z-index:-1;pointer-events:none}
.about-visual-shape.shape-one{width:94px;height:94px;right:-18px;top:-12px;background:rgba(255,138,61,.2);border:1px dashed rgba(255,138,61,.7)}
.about-visual-shape.shape-two{width:72px;height:72px;left:-8px;bottom:-5px;background:rgba(22,184,119,.15);border:1px dashed rgba(22,184,119,.6)}
.about-image-frame{position:relative;overflow:hidden;border-radius:28px;background:#f5eadc;border:5px solid #fff;box-shadow:0 20px 46px rgba(18,25,58,.18);aspect-ratio:4/3}
.about-image-frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(18,25,58,.05);border-radius:inherit;pointer-events:none}
.about-image-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease}
.about-visual:hover .about-image-frame img{transform:scale(1.025)}
.about-badge{position:absolute;z-index:3;display:flex;align-items:center;background:#fff;color:var(--uma-ink);border:1px solid var(--uma-line);box-shadow:0 14px 34px rgba(18,25,58,.16)}
.about-badge-years{left:-17px;top:14%;gap:.55rem;padding:.72rem .9rem;border-radius:16px}
.about-badge-years strong{font-family:var(--uma-font-head);font-size:1.55rem;line-height:1;color:var(--uma-primary)}
.about-badge-years span{font-size:.62rem;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.055em;color:#68718d}
.about-badge-formats{right:-17px;bottom:4%;gap:.55rem;padding:.65rem .8rem;border-radius:15px;font-size:.7rem}
.about-badge-formats i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#f0edff;color:var(--uma-purple);font-size:1rem}
.about-badge-formats span{display:flex;flex-direction:column;color:#747c97;line-height:1.25}
.about-badge-formats strong{color:var(--uma-ink);font-family:var(--uma-font-head);font-size:.83rem}

/* ---------- why / features ---------- */
.home-why-section{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 12% 16%,rgba(79,126,239,.18),transparent 27%),
    radial-gradient(circle at 88% 84%,rgba(39,198,157,.17),transparent 29%),
    linear-gradient(128deg,#edf3ff 0%,#f3efff 48%,#eafaf6 100%)!important;
  border-top:1px solid rgba(61,83,177,.09);border-bottom:1px solid rgba(61,83,177,.1);
}
.home-why-section::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.28;
  background-image:radial-gradient(rgba(43,62,145,.18) 1px,transparent 1px);background-size:29px 29px;
  mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.08) 50%,#000);
}
.home-why-section::after{
  content:"";position:absolute;width:380px;height:380px;left:-225px;bottom:-245px;z-index:-1;border-radius:50%;
  border:1px solid rgba(66,104,220,.13);box-shadow:0 0 0 44px rgba(66,104,220,.03),0 0 0 88px rgba(66,104,220,.02);pointer-events:none;
}
.home-why-section .container{position:relative;z-index:1}
.home-why-section .eyebrow{background:rgba(255,255,255,.72);border:1px solid rgba(61,83,177,.11);box-shadow:0 9px 24px rgba(36,53,125,.07);backdrop-filter:blur(8px)}
.home-why-section .section-title{color:#17275d;text-shadow:0 4px 18px rgba(31,50,115,.06)}
.home-why-section .section-sub{color:#526181}
.feature{background:#fff;border:1px solid var(--uma-line);border-radius:var(--uma-radius);padding:1.5rem;height:100%;transition:.28s}
.feature:hover{transform:translateY(-5px);box-shadow:var(--uma-shadow-lg)}
.feature .ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;color:#fff;margin-bottom:1rem}
.feature h5{font-size:1.1rem}
.feature p{font-size:.92rem;margin:0}
.why-card{background:rgba(255,255,255,.86);border-color:rgba(255,255,255,.9);box-shadow:0 16px 36px rgba(29,48,112,.09),inset 0 1px 0 rgba(255,255,255,.8);backdrop-filter:blur(10px)}
.why-card:hover{border-color:rgba(89,104,210,.2);box-shadow:0 23px 46px rgba(29,48,112,.16),inset 0 1px 0 #fff}
.why-card .ico{margin-left:auto;margin-right:auto;box-shadow:0 11px 24px rgba(29,48,112,.17)}
.why-card h5{text-align:center}

/* ---------- contact information cards ---------- */
.contact-info-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.contact-info-card .ico{margin-left:auto;margin-right:auto}
.contact-info-card h5,.contact-info-card p{width:100%;text-align:center}
.contact-info-card p{overflow-wrap:anywhere}

/* ---------- grade strip ---------- */
.home-grades-section{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(circle at 8% 18%,rgba(112,91,232,.18),transparent 26%),
    radial-gradient(circle at 91% 82%,rgba(34,196,213,.17),transparent 27%),
    linear-gradient(120deg,#eef1ff 0%,#f5f3ff 48%,#ebf9fb 100%)!important;
  border-top:1px solid rgba(77,89,185,.08);border-bottom:1px solid rgba(77,89,185,.1);
}
.home-grades-section::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.38;
  background-image:radial-gradient(rgba(38,57,139,.16) 1px,transparent 1px);background-size:26px 26px;
  mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.2) 46%,#000);
}
.home-grades-section::after{
  content:"";position:absolute;z-index:-1;width:310px;height:310px;right:-120px;top:-175px;border-radius:50%;
  border:1px solid rgba(112,91,232,.16);box-shadow:0 0 0 38px rgba(112,91,232,.035),0 0 0 76px rgba(112,91,232,.025);pointer-events:none;
}
.home-grades-section .container{position:relative;z-index:1}
.home-grades-section .section-title{color:#17275d;text-shadow:0 4px 18px rgba(31,50,115,.06)}
.home-grades-section .eyebrow{background:rgba(255,255,255,.72);border:1px solid rgba(76,91,200,.12);box-shadow:0 9px 24px rgba(36,53,125,.07);backdrop-filter:blur(8px)}
.home-grades-section .btn-outline-primary{background:rgba(255,255,255,.78);border-color:rgba(47,75,216,.25);box-shadow:0 10px 24px rgba(31,49,114,.08);backdrop-filter:blur(8px)}
.home-grades-section .btn-outline-primary:hover{background:var(--uma-primary);border-color:var(--uma-primary);color:#fff;transform:translateY(-2px)}
.grade-pill{
  display:block;text-align:center;border-radius:16px;padding:.85rem .5rem;color:#fff;font-family:var(--uma-font-head);
  font-weight:700;border:1px solid rgba(255,255,255,.34);box-shadow:0 12px 25px rgba(31,47,112,.14),inset 0 1px 0 rgba(255,255,255,.22);transition:.25s;font-size:.95rem;
}
.grade-pill:hover{transform:translateY(-5px) scale(1.025);color:#fff;box-shadow:0 18px 34px rgba(31,47,112,.23),inset 0 1px 0 rgba(255,255,255,.25);filter:saturate(1.08)}

/* ---------- cta ---------- */
.cta-band{
  border-radius:26px;padding:2.6rem;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(120deg,var(--uma-primary),var(--uma-purple) 60%,var(--uma-pink));
}
.cta-band::after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.12);right:-90px;bottom:-140px}
.cta-band h3{color:#fff;font-size:clamp(1.4rem,3vw,2rem)}

/* ---------- footer ---------- */
.footer{background:var(--uma-ink);color:#fff;padding:60px 0 0}
.footer-logo-wrap{width:max-content;max-width:100%;display:flex!important;align-items:center;padding:.45rem .75rem!important;border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.18);transition:.25s}
.footer-logo-wrap:hover{opacity:1!important;transform:translateY(-2px)}
.footer-logo-img{display:block;width:225px;max-width:100%;height:auto;object-fit:contain}
.footer h6{color:#fff;font-family:var(--uma-font-head);letter-spacing:.04em;margin-bottom:1rem}
.footer a{color:#fff;display:inline-block;padding:.18rem 0}
.footer a:hover{color:#fff;opacity:0.8}
.footer .soc{
  width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;
  color:#fff;margin-right:.4rem;transition:.25s;
}
.footer .soc:hover{background:var(--uma-accent);transform:translateY(-3px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:40px;padding:18px 0;font-size:.86rem;color:#fff}

/* ---------- pagination + misc ---------- */
.pagination{gap:.35rem}
.page-link{border-radius:12px!important;border-color:var(--uma-line);color:var(--uma-ink);font-weight:700}
.page-item.active .page-link{background:var(--uma-primary);border-color:var(--uma-primary)}
.empty-state{text-align:center;padding:3.5rem 1rem;color:var(--uma-body)}
.empty-state i{font-size:3.4rem;color:#c9d2ee}
.back-top{
  position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:14px;display:none;place-items:center;
  background:var(--uma-primary);color:#fff;box-shadow:var(--uma-shadow-lg);z-index:1040;border:0;
}
.back-top:hover{background:var(--uma-primary-dark);color:#fff}

@media(max-width:991.98px){
  .section{padding:52px 0}
  .navbar-uma{position:-webkit-sticky!important;position:sticky!important;top:0;left:0;right:0;width:100%;min-height:68px;padding:.5rem 0;z-index:1100}
  .navbar-uma>.container{position:relative;min-height:52px}
  .navbar-uma .navbar-brand{max-width:calc(100% - 62px);margin:0}
  .navbar-uma .navbar-toggler{width:44px;height:44px;border-radius:13px;background:var(--uma-primary-soft);color:var(--uma-primary);display:grid;place-items:center;padding:0}
  .navbar-uma .nav-link{padding:.7rem .85rem;border-radius:12px}
  .navbar-uma .navbar-collapse{position:absolute;left:12px;right:12px;top:calc(100% + 8px);max-height:calc(100vh - 88px);overflow-y:auto;margin-top:0;padding:.7rem;background:#fff;border:1px solid var(--uma-line);border-radius:18px;box-shadow:0 18px 35px rgba(20,32,80,.16)}
  .nav-search{width:100%;max-width:100%;margin-top:.55rem}
  .hero-inner{padding:46px 0 72px}
  .hero-copy{max-width:760px}
  .hero h1{max-width:780px}
  .hero-showcase{margin-top:1.2rem}
  .stats-panel{grid-template-columns:repeat(3,1fr)}
  .stat-card:nth-child(3)::after{display:none}
  .stat-card:nth-child(n+4){border-top:1px solid var(--uma-line)}
  .story-hero-inner{padding:50px 0}
  .story-copy{max-width:760px}
  .story-media{margin:1rem auto 0}
}

@media(max-width:767.98px){
  .home-slider-nav{width:38px;height:38px;font-size:1rem;top:47%;background:rgba(10,31,81,.68)}
  .home-slider-prev{left:6px}.home-slider-next{right:6px}
  .footer-logo-img{width:195px}
  .site-logo-img{height:42px;max-width:176px}
  .navbar-brand .brand-mark{width:40px;height:40px;border-radius:12px}
  .navbar-uma .navbar-brand{font-size:1.2rem}
  .navbar-brand small{font-size:.57rem;letter-spacing:.11em}
  .hero::before{background-size:34px 34px;opacity:.3}
  .hero-inner{padding:36px 0 62px}
  .hero h1{font-size:clamp(2.15rem,10.8vw,3rem);line-height:1.02;letter-spacing:-.8px;margin-top:.85rem}
  .hero p.lead{font-size:.98rem;line-height:1.65}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.35rem}
  .hero-actions .btn{padding:.78rem .75rem;font-size:.94rem;white-space:nowrap}
  .hero-proof{gap:.55rem 1rem;font-size:.78rem;margin-top:1.1rem}
  .hero-showcase{min-height:330px;padding:1rem;border-radius:23px;margin-top:.75rem}
  .learning-stack{height:205px;margin:.7rem 0 .4rem}
  .learning-stack::before{width:205px;height:205px}
  .learning-card{width:118px;height:151px;padding:.78rem;border-radius:15px}
  .learning-card strong{font-size:.9rem}
  .learning-card small{font-size:.68rem}
  .learning-icon{left:.78rem;top:.78rem;width:38px;height:38px;border-radius:11px;font-size:1.05rem}
  .card-print{left:4%;top:30px}
  .card-digital{top:5px}
  .card-play{right:4%;top:30px}
  .showcase-image-wrap{height:205px}
  .hero-chip{display:none}
  .showcase-bottom{padding:.7rem}
  .stat-strip{margin-top:-27px;padding-left:12px;padding-right:12px}
  .stats-panel{grid-template-columns:1fr 1fr;padding:.35rem;border-radius:17px}
  .stat-card{padding:.78rem .65rem;gap:.55rem}
  .stat-card::after{display:none!important}
  .stat-card:nth-child(n+3){border-top:1px solid var(--uma-line)}
  .stat-card:nth-child(odd):not(:last-child){border-right:1px solid var(--uma-line)}
  .stat-card:last-child{grid-column:1/-1;justify-content:center}
  .stat-icon{width:38px;height:38px;border-radius:11px;font-size:1rem}
  .stat-copy strong{font-size:1.25rem}
  .stat-copy small{font-size:.61rem;letter-spacing:.045em}
  .about-intro-section{padding:48px 0 58px}
  .about-copy{max-width:none}
  .about-prose ul{grid-template-columns:1fr}
  .about-visual{margin-top:.4rem;padding:1rem .65rem 1.35rem 1rem}
  .about-visual::before{inset:7% 0 0 7%;border-radius:25px}
  .about-image-frame{border-radius:21px;border-width:4px}
  .about-badge-years{left:-2px;top:11%;padding:.58rem .7rem}
  .about-badge-years strong{font-size:1.3rem}
  .about-badge-formats{right:-2px;bottom:2%;padding:.5rem .65rem}
  .about-visual-shape.shape-one{right:-20px}
  .page-head{min-height:138px;padding:30px 0}
  .page-head-label{font-size:.66rem;letter-spacing:.2em;margin-bottom:.65rem}
  .page-head-label span{width:26px}
  .story-hero .container{padding-left:20px;padding-right:20px}
  .story-hero .row{--bs-gutter-x:0;--bs-gutter-y:2rem;margin-left:0;margin-right:0}
  .story-hero .row>*{padding-left:0;padding-right:0}
  .story-hero-inner{padding:50px 0}
  .story-copy{max-width:100%;text-align:center}
  .story-eyebrow{max-width:100%;justify-content:center;padding:.48rem .78rem;font-size:.67rem;letter-spacing:.055em;line-height:1.35}
  .story-copy h1{max-width:100%;font-size:clamp(2rem,9.7vw,2.75rem);line-height:1.07;letter-spacing:-.65px;margin:1rem 0 .85rem;overflow-wrap:anywhere}
  .story-copy .lead{max-width:34rem;margin-left:auto;margin-right:auto;font-size:.96rem;line-height:1.65}
  .story-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1.3rem}
  .story-actions .btn{width:100%;min-width:0;min-height:50px;padding:.7rem .55rem;font-size:.9rem;white-space:nowrap}
  .story-metrics{width:100%;max-width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1.45rem}
  .story-metrics a{min-width:0;min-height:72px;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.58rem .2rem;text-align:center}
  .story-metrics a:not(:last-child){padding-right:.2rem;border-right:1px solid rgba(255,255,255,.11)}
  .story-metrics strong{font-size:1.35rem}
  .story-metrics span{font-size:.55rem;line-height:1.15;letter-spacing:.02em}
  .story-media{width:100%;max-width:620px;padding:.45rem .15rem 1.35rem;margin:0 auto}
  .story-media::before{inset:7% 0 1% 4%;border-radius:23px;transform:rotate(1deg)}
  .story-media::after{width:90px;height:90px;right:-18px;bottom:-8px}
  .story-image-wrap{border-radius:21px;border-width:4px}
  .story-media figcaption{left:0;bottom:0;max-width:78%;padding:.52rem .65rem;text-align:left}
  .story-media figcaption i{width:30px;height:30px}
  .story-media-chip{right:0;top:0;font-size:.62rem;padding:.5rem .62rem}
}

@media(max-width:575.98px){
  .story-actions{grid-template-columns:1fr}
  .story-actions .btn{min-height:52px}
}

@media(max-width:374.98px){
  .hero-actions{grid-template-columns:1fr}
  .hero-proof span{white-space:normal}
  .learning-card{width:108px}
  .format-icons span:nth-child(n+4){display:none}
  .story-media-chip{display:none}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
