/* ==========================================================================
   ATLAS — the CHEARS design system.  Faux-3D accents  +  Bento grid  +  Editorial typography.
   Loaded LAST (after style.css, aurora.css, cards.css).  80 % calm editorial interface, 20 % faux-3D.
   Light first: white / pale-lavender paper, deep-navy type, royal-blue + violet accents, pastel cyan · lavender · mint panels.
   Dark mode (moon button) keeps working: it only swaps the colour tokens.
   To go back to the earlier "Aurora" look remove the atlas.css <link> and the atlas.js <script> from templates/base.html.
   ========================================================================== */
:root{
  --serif:'Fraunces','Iowan Old Style','Palatino Linotype',Georgia,serif;
  --sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --ink:#0c1a47;--navy:#0b1437;--navy-mid:#16256b;--text:#2a3763;--muted:#66739c;
  --blue:#3a4fe6;--violet:#7a5cf0;--teal:#0b8fa0;--teal-light:#19b3c4;--gold:#f0a431;--gold-light:#f7c873;
  --bg:#f8f9ff;--cream:#f8f9ff;--surface-2:#f1f3ff;--card:#fff;--line:rgba(12,26,71,.09);--border:rgba(12,26,71,.09);
  --p-cyan:#dcf7fb;--p-lav:#ebe7ff;--p-mint:#dcf6ea;--p-rose:#ffe7ef;
  --aurora:linear-gradient(120deg,#3a4fe6 0%,#7a5cf0 100%);--aurora-soft:linear-gradient(120deg,rgba(58,79,230,.09),rgba(122,92,240,.09));
  --radius:22px;--sh-sm:0 1px 2px rgba(12,26,71,.04),0 10px 28px -10px rgba(40,60,180,.14);--sh-md:0 2px 4px rgba(12,26,71,.05),0 26px 56px -16px rgba(40,60,180,.24);
  --nav-bg:rgba(255,255,255,.84);--nav-ink:#18275c;--nav-hover:rgba(58,79,230,.07);
  --ok:#0b8a6a;--bad:#d1365a;
}
html{scroll-padding-top:84px}
body{font-family:var(--sans);color:var(--text);background:radial-gradient(900px 520px at 88% -6%,rgba(122,92,240,.10),transparent 70%),radial-gradient(800px 480px at -4% 0,rgba(25,179,196,.10),transparent 70%),#f8f9ff;background-repeat:no-repeat;background-color:#f8f9ff;font-size:1.02rem}
html[data-theme=dark] body{background:#070b1c}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;color:var(--ink);font-optical-sizing:auto}
html[data-theme=dark] h1,html[data-theme=dark] h2,html[data-theme=dark] h3,html[data-theme=dark] h4,html[data-theme=dark] h5,html[data-theme=dark] h6{color:var(--ink)}
.eyebrow{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
html[data-theme=dark] .eyebrow{color:#a5b4ff}
a{color:var(--blue)}a:hover{color:var(--violet)}
.text-teal{color:var(--teal)!important}.text-gold{color:#b9770e!important}
::selection{background:rgba(122,92,240,.22)}
/* the moving blobs, page loader and heavy transitions of the earlier theme are switched off: calmer, lighter, faster */
.aurora-bg,#fx-loader,.hero-orbs{display:none!important}
main{animation:none}body.leaving main,body.leaving .site-footer{opacity:1;transform:none;transition:none}
.site-nav.nav-hide{transform:none!important}

/* ---------------------------------------------------------------- navigation: minimal, sticky, light */
.site-nav{height:68px;background:var(--nav-bg);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid var(--line);box-shadow:none}
.site-nav.nx-solid{box-shadow:0 10px 30px -14px rgba(12,26,71,.22)}
html[data-theme=dark] .site-nav{background:rgba(7,11,28,.8)}
.nav-brand-name{font-family:var(--serif);font-weight:700;font-size:1.5rem;letter-spacing:-.02em;background:none;-webkit-text-fill-color:var(--ink);color:var(--ink)}
html[data-theme=dark] .nav-brand-name{-webkit-text-fill-color:#fff;color:#fff}
.nav-brand-tagline{font-size:.62rem;letter-spacing:.14em;color:var(--muted)}
.nav-brand-logo{border:0;box-shadow:0 6px 16px -6px rgba(58,79,230,.5);border-radius:12px}
.site-nav .navbar-nav .nav-link{font-size:.9rem;font-weight:500;color:var(--nav-ink)!important;padding:7px 13px!important}
.site-nav .navbar-nav .nav-link i{display:none}
.site-nav .navbar-nav .nav-link:hover,.site-nav .navbar-nav .nav-link.active{color:var(--blue)!important;background:var(--nav-hover)}
.site-nav .dropdown-menu{border-radius:16px;padding:8px;box-shadow:var(--sh-md);border:1px solid var(--line)}
.site-nav .dropdown-item{border-radius:10px;font-weight:500}
.btn-nav-register{background:var(--ink);color:#fff!important;border-radius:12px;padding:8px 18px;box-shadow:0 8px 18px -8px rgba(12,26,71,.6)}
.btn-nav-register:hover{background:var(--blue);box-shadow:0 10px 22px -8px rgba(58,79,230,.7);transform:translateY(-1px)}
.btn-nav-login{border-radius:12px;border-color:var(--line)}
html[data-theme=dark] .btn-nav-register{background:var(--aurora)}
.theme-btn{border-radius:12px}
.nx-searchbtn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:38px;width:38px;padding:0;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--nav-ink);font-size:.82rem;font-weight:500;white-space:nowrap;transition:.25s var(--ease);margin-right:8px;flex:none}
.nx-searchbtn:hover{background:var(--nav-hover);color:var(--blue);border-color:rgba(58,79,230,.35)}
.nx-searchbtn span,.nx-searchbtn kbd{display:none}
.nx-searchbtn kbd{font:600 .66rem var(--sans);padding:2px 6px;border-radius:6px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
@media (min-width:1400px){.nx-searchbtn{width:auto;padding:0 12px}.nx-searchbtn span{display:inline}.nx-searchbtn kbd{display:inline-block}}

/* ---------------------------------------------------------------- buttons */
.btn{border-radius:12px;font-weight:600;letter-spacing:.005em}
.btn-teal{background:var(--aurora);color:#fff;border:0;box-shadow:0 12px 24px -10px rgba(58,79,230,.65)}
.btn-teal:hover{color:#fff;transform:translateY(-2px);box-shadow:0 16px 28px -10px rgba(58,79,230,.75)}
.btn-gold{background:var(--ink);color:#fff;border:0;box-shadow:0 12px 24px -12px rgba(12,26,71,.7)}
.btn-gold:hover{background:#16256b;color:#fff;transform:translateY(-2px);box-shadow:0 16px 28px -12px rgba(12,26,71,.8)}
.btn-ghost{background:transparent;color:var(--blue);border:1.5px solid rgba(58,79,230,.35)}
.btn-ghost:hover{background:rgba(58,79,230,.08);color:var(--blue);border-color:var(--blue);transform:translateY(-2px)}
.btn-light-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn-light-ghost:hover{background:#fff;color:var(--blue);border-color:rgba(58,79,230,.4);transform:translateY(-2px)}
.btn-teal::after,.btn-gold::after{display:none}
html[data-theme=dark] .btn-gold{background:#fff;color:#0b1437}
html[data-theme=dark] .btn-light-ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.25)}
html[data-theme=dark] .btn-ghost{color:#a5b4ff;border-color:rgba(165,180,255,.4)}

/* ---------------------------------------------------------------- page headers (every inner page): light editorial masthead */
html:not([data-theme=dark]) .page-hero:not(.has-photo){background:radial-gradient(520px 260px at 92% 0,rgba(122,92,240,.18),transparent 70%),radial-gradient(520px 260px at 0 100%,rgba(25,179,196,.18),transparent 70%),linear-gradient(135deg,#eaf9fc 0%,#f1eeff 55%,#e9f8f1 100%);color:var(--text);border-bottom:1px solid var(--line)}
.page-hero{padding:60px 0 54px}
.page-hero::before,.page-hero::after{display:none}
html:not([data-theme=dark]) .page-hero:not(.has-photo) h1,html:not([data-theme=dark]) .page-hero:not(.has-photo) h2{color:var(--ink)}
.page-hero h1{font-size:clamp(2rem,4.6vw,3.1rem);letter-spacing:-.02em}
html:not([data-theme=dark]) .page-hero:not(.has-photo) p{color:var(--muted);font-size:1.08rem}
html:not([data-theme=dark]) .page-hero:not(.has-photo) .eyebrow,html:not([data-theme=dark]) .page-hero:not(.has-photo) .text-gold,html:not([data-theme=dark]) .page-hero:not(.has-photo) .text-teal{color:var(--blue)!important}
html:not([data-theme=dark]) .page-hero:not(.has-photo) .btn-light-ghost{background:#fff}
.filters{margin-top:-26px;border-radius:20px;border:1px solid var(--line);box-shadow:var(--sh-sm)}

/* ---------------------------------------------------------------- section heads, editorial rhythm */
.section{padding:72px 0 8px}
.section-head{align-items:flex-end;margin-bottom:28px}
.section-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);padding-bottom:0;margin-top:6px;letter-spacing:-.02em}
.section-head h2::after{display:none}
.section-head .eyebrow{display:block}
.link-arrow{font-weight:600;font-size:.92rem;color:var(--blue)}

/* ---------------------------------------------------------------- cards: calm, airy, soft layered shadow */
.panel,.a-card,.m-card,.filters,.side,.lesson,.tbl-wrap,.bio,.spot,.slot-opt,.us-list{background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-sm);border-radius:var(--radius)}
.a-card::before,.m-card::before,.panel::before,.a-card::after,.m-card::after{display:none}
.a-card,.m-card{transform:none;transition:transform .35s var(--ease),box-shadow .35s,border-color .3s;overflow:hidden}
.a-card:hover,.m-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);border-color:rgba(58,79,230,.22)}
.a-card .cover,.m-card .cover{margin:10px 10px 0;border-radius:calc(var(--radius) - 8px);aspect-ratio:16/10;height:auto}
.cover .chip{background:rgba(255,255,255,.9);color:var(--ink);border:0;box-shadow:0 6px 16px -6px rgba(12,26,71,.4);letter-spacing:.07em;font-weight:700;backdrop-filter:none}
.cover .cv-scrim{background:linear-gradient(180deg,rgba(12,26,71,.22),transparent 40%)}
.a-card .a-body,.m-card .m-body{padding:18px 22px 22px}
.a-card .a-body h3,.m-card .m-body h3{font-family:var(--serif);font-size:1.2rem;line-height:1.3;font-weight:600;letter-spacing:-.01em}
.chip-soft{background:var(--p-lav);color:#4b3bc4;border-radius:99px;font-weight:600;font-size:.74rem;padding:4px 11px}
html[data-theme=dark] .chip-soft{background:rgba(165,180,255,.14);color:#c4cdff}
.a-more{color:var(--blue);font-weight:600}
.fee{font-family:var(--serif);color:var(--ink)}.fee.free{color:var(--ok)}
html:not([data-theme=dark]) .cover{background:linear-gradient(135deg,#5b6cf0,#8f6df5 60%,#19b3c4)}
html:not([data-theme=dark]) .cover.g2{background-image:linear-gradient(135deg,#19b3c4,#5b6cf0)}html:not([data-theme=dark]) .cover.g3{background-image:linear-gradient(135deg,#8f6df5,#e062a8)}
html:not([data-theme=dark]) .cover.g4{background-image:linear-gradient(135deg,#2bb58f,#19b3c4)}html:not([data-theme=dark]) .cover.g5{background-image:linear-gradient(135deg,#f0a431,#e8647a)}html:not([data-theme=dark]) .cover.g6{background-image:linear-gradient(135deg,#3a4fe6,#19b3c4)}

/* ---------------------------------------------------------------- bento grid */
.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.b-card{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:var(--sh-sm);overflow:hidden;color:var(--text);transition:transform .35s var(--ease),box-shadow .35s}
a.b-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);color:var(--text)}
.b-card h3{font-family:var(--serif);color:var(--ink);margin:0;letter-spacing:-.015em}
.b-feature{grid-column:span 7;grid-row:span 2;padding:12px}
.b-side{grid-column:span 5;flex-direction:row;align-items:stretch;padding:10px;gap:0}
.b-cta{grid-column:span 12;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding:26px 30px;flex-wrap:wrap}
.b-card .cover{position:relative;overflow:hidden;border-radius:18px;margin:0}
.b-feature .cover{aspect-ratio:16/9;width:100%}
.b-feature .b-text{padding:22px 16px 14px}
.b-feature h3{font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.18;margin:10px 0 12px}
.b-side .cover{flex:0 0 38%;min-height:132px}
.b-side .b-text{padding:10px 14px 10px 18px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.b-side h3{font-size:1.14rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.b-meta{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted);font-size:.82rem;margin-top:10px}.b-meta i{margin-right:5px}
.b-kicker{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.t-cyan{background:linear-gradient(150deg,#e3f9fc,#f2fcfe)}.t-lav{background:linear-gradient(150deg,#ece8ff,#f6f4ff)}.t-mint{background:linear-gradient(150deg,#def7eb,#f1fbf6)}.t-rose{background:linear-gradient(150deg,#ffe9f0,#fff6f9)}
.t-navy{background:radial-gradient(420px 220px at 100% 0,rgba(122,92,240,.55),transparent 70%),linear-gradient(135deg,#0e1b55,#1b2f8f);color:#dfe5ff;border-color:transparent}
.t-navy h3,.t-navy .h2,.t-navy .h3{color:#fff}.t-navy .b-kicker{color:#9fb0ff}
html[data-theme=dark] .t-cyan,html[data-theme=dark] .t-lav,html[data-theme=dark] .t-mint,html[data-theme=dark] .t-rose{background:var(--glass)}
html[data-theme=dark] .b-card{background:var(--glass);border-color:var(--glass-line)}

/* stats */
.b-stat{grid-column:span 3;padding:24px 24px 22px;min-height:150px;justify-content:space-between}
.b-stat .num{font-family:var(--serif);font-size:clamp(2.3rem,4vw,3.2rem);font-weight:600;line-height:1;color:var(--ink);letter-spacing:-.03em}
.b-stat .lbl{font-size:.9rem;color:var(--muted);font-weight:500;margin-top:6px}
.t-navy .num{color:#fff}.t-navy .lbl{color:#b6c2ff}

/* dimensional icon tile: a physical-looking key with a lit top edge and a coloured drop shadow (the "faux-3D" accent) */
.tile3d{--c1:#5b6cf0;--c2:#8f6df5;width:50px;height:50px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;flex:none;
  background:linear-gradient(145deg,var(--c1),var(--c2));box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -5px 10px rgba(0,0,0,.14),0 14px 22px -10px var(--c1)}
.tile3d.cy{--c1:#19b3c4;--c2:#5b6cf0}.tile3d.mi{--c1:#2bb58f;--c2:#19b3c4}.tile3d.vi{--c1:#8f6df5;--c2:#e062a8}.tile3d.am{--c1:#f0a431;--c2:#e8647a}
.b-stat .tile3d{position:absolute;right:20px;top:20px;width:42px;height:42px;font-size:1rem;border-radius:14px}
.about-ic{width:50px;height:50px;border-radius:16px;color:#fff;background:linear-gradient(145deg,#5b6cf0,#8f6df5);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -5px 10px rgba(0,0,0,.14),0 14px 22px -10px #5b6cf0}

/* ---------------------------------------------------------------- HOME hero: two columns, faux-3D scene */
.hx{position:relative;padding:64px 0 36px}
.hx .row{--bs-gutter-y:2.5rem}
.hx-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:99px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh-sm);font-size:.8rem;font-weight:600;color:var(--ink)}
.hx-pill b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--aurora);color:#fff;font-size:.62rem}
html[data-theme=dark] .hx-pill{background:var(--glass);border-color:var(--glass-line);color:#fff}
.hx h1{font-size:clamp(2.3rem,4.8vw,3.7rem);line-height:1.04;letter-spacing:-.03em;margin:22px 0 20px;font-weight:600}
.hx h1 em{font-style:italic;font-weight:500;background:var(--aurora);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-right:.06em}
.hx .lead{font-size:1.14rem;color:var(--muted);max-width:30em;line-height:1.7}
.hx-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hx-cta .btn{padding:13px 24px;font-size:.98rem}
.hx-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin:34px 0 0;padding:0;list-style:none;color:var(--muted);font-size:.9rem;font-weight:500}
.hx-trust li{display:flex;align-items:center;gap:8px}.hx-trust i{color:var(--ok)}

.hx-scene{position:relative;width:100%;max-width:560px;aspect-ratio:1.04;margin-inline:auto;container-type:inline-size;perspective:1400px;font-size:12px}
.hx-stage{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(calc(7deg + var(--ty,0deg))) rotateY(calc(-15deg + var(--tx,0deg)));transition:transform .5s var(--ease)}
.hx-glow{position:absolute;border-radius:50%;filter:blur(34px);opacity:.7}
.hx-glow.g1{width:56%;height:56%;left:-6%;top:6%;background:#bff0f7}.hx-glow.g2{width:52%;height:52%;right:-4%;bottom:0;background:#d6ccff}.hx-glow.g3{width:34%;height:34%;right:10%;top:-2%;background:#c9f2df}
.hx-card{position:absolute;background:#fff;border-radius:3.4cqw;border:1px solid rgba(12,26,71,.07);box-shadow:0 1px 0 #fff inset,0 3cqw 6cqw -2cqw rgba(40,60,180,.28),0 .6cqw 1.4cqw rgba(12,26,71,.06)}
.hx-main{left:5%;top:11%;width:64%;height:68%;transform:translateZ(0);padding:3.6cqw 3.8cqw;display:flex;flex-direction:column;gap:2.2cqw}
.hx-top{display:flex;align-items:center;justify-content:space-between;font-size:2.4cqw;color:var(--muted);font-weight:600}
.hx-top b{font-family:var(--serif);font-size:3cqw;color:var(--ink)}
.hx-dots{display:flex;gap:.9cqw}.hx-dots i{width:1.5cqw;height:1.5cqw;border-radius:50%;background:#d7dcf5}.hx-dots i:first-child{background:#ff9bb0}.hx-dots i:nth-child(2){background:#ffd37a}.hx-dots i:nth-child(3){background:#8fe0bd}
.hx-ecg{width:100%;height:11cqw;border-radius:2cqw;background:linear-gradient(180deg,#f3f1ff,#eefbfd);padding:1cqw 0}
.hx-ecg path{fill:none;stroke:#e5486f;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120 280;animation:hxEcg 3.6s linear infinite}
.hx-ecg .base{stroke:#c9cff0;stroke-width:1;stroke-dasharray:none;animation:none}
@keyframes hxEcg{from{stroke-dashoffset:120}to{stroke-dashoffset:-280}}
.hx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6cqw}.hx-stats span{border-radius:2cqw;padding:1.6cqw 1.8cqw;font-size:1.9cqw;font-weight:600;color:var(--muted);background:var(--surface-2)}.hx-stats b{display:block;font-family:var(--serif);font-size:4.2cqw;line-height:1.1;color:var(--ink)}
.hx-stats span:nth-child(1){background:#e3f9fc}.hx-stats span:nth-child(2){background:#ece8ff}.hx-stats span:nth-child(3){background:#def7eb}
.hx-rows{display:flex;flex-direction:column;gap:1.7cqw;margin-top:auto}
.hx-row{display:flex;align-items:center;gap:1.8cqw;font-size:2.3cqw;color:var(--ink);font-weight:600}
.hx-row i{width:4.6cqw;height:4.6cqw;border-radius:1.4cqw;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2cqw;flex:none}
.hx-row .bar{flex:1;height:1.2cqw;border-radius:9px;background:#e8ebfb;overflow:hidden;margin-left:auto;max-width:36%}.hx-row .bar s{display:block;height:100%;border-radius:9px;background:var(--aurora);text-decoration:none}
.hx-row small{font-size:1.9cqw;color:var(--muted);font-weight:600;margin-left:1cqw}
.hx-tile{position:absolute;width:12.5cqw;height:12.5cqw;border-radius:3.6cqw;display:flex;align-items:center;justify-content:center;color:#fff;font-size:5.2cqw;
  background:linear-gradient(145deg,var(--c1),var(--c2));box-shadow:inset 0 .35cqw 0 rgba(255,255,255,.55),inset 0 -1.2cqw 2cqw rgba(0,0,0,.14),0 3cqw 4cqw -1.4cqw var(--c1);animation:hxFloat 7s ease-in-out infinite}
.hx-tile.t1{--c1:#2bb58f;--c2:#19b3c4;right:3%;top:5%;transform:translateZ(90px)}
.hx-tile.t2{--c1:#8f6df5;--c2:#e062a8;left:-3%;bottom:8%;transform:translateZ(110px);animation-delay:-2.3s}
.hx-tile.t3{--c1:#3a4fe6;--c2:#19b3c4;right:4%;bottom:6%;transform:translateZ(70px);animation-delay:-4.1s;width:11cqw;height:11cqw;font-size:4.6cqw}
@keyframes hxFloat{0%,100%{translate:0 0}50%{translate:0 -1.8cqw}}
.hx-chip{position:absolute;display:flex;align-items:center;gap:1.4cqw;padding:1.6cqw 2.6cqw 1.6cqw 1.8cqw;border-radius:99px;background:#fff;font-size:2.2cqw;font-weight:700;color:var(--ink);box-shadow:0 2.4cqw 4cqw -1.6cqw rgba(40,60,180,.4);animation:hxFloat 8s ease-in-out infinite}
.hx-chip i{width:4.4cqw;height:4.4cqw;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#2bb58f,#19b3c4);color:#fff;font-size:2cqw}
.hx-chip.c1{left:-3%;top:4%;transform:translateZ(120px)}
.hx-cert{right:-1%;top:21%;width:34%;padding:2.4cqw 2.6cqw;transform:translateZ(60px);animation:hxFloat 9s ease-in-out infinite -3s;background:linear-gradient(160deg,#fff,#fbf7ea)}
.hx-cert b{display:block;font-family:var(--serif);font-size:2.9cqw;color:var(--ink);line-height:1.15}.hx-cert span{display:block;font-size:1.8cqw;color:var(--muted);margin-top:.6cqw}
.hx-cert .ln{height:.8cqw;border-radius:9px;background:#e8e2cf;margin-top:1.4cqw}.hx-cert .ln.s{width:60%}
.hx-cert .seal{position:absolute;right:1.6cqw;bottom:1.6cqw;width:5.4cqw;height:5.4cqw;border-radius:50%;background:linear-gradient(145deg,#f7c873,#f0a431);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2.4cqw;box-shadow:0 1cqw 1.6cqw -.6cqw rgba(240,164,49,.7)}
.hx-ring{left:70%;top:58%;width:22cqw;height:22cqw;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;transform:translateZ(80px);animation:hxFloat 8.5s ease-in-out infinite -1.5s}
.hx-ring svg{position:absolute;inset:1.6cqw;width:calc(100% - 3.2cqw);height:calc(100% - 3.2cqw);transform:rotate(-90deg)}
.hx-ring circle{fill:none;stroke-width:5.5;stroke-linecap:round}.hx-ring .tr{stroke:#ecefff}.hx-ring .pg{stroke:url(#hxg);stroke-dasharray:213;stroke-dashoffset:60}
.hx-ring div{position:relative;text-align:center;font-family:var(--serif);font-size:5.2cqw;font-weight:600;color:var(--ink);line-height:1}.hx-ring small{display:block;font-family:var(--sans);font-size:1.8cqw;font-weight:600;color:var(--muted);margin-top:.5cqw}
html[data-theme=dark] .hx-card,html[data-theme=dark] .hx-chip{background:#141c44;border-color:rgba(255,255,255,.1)}html[data-theme=dark] .hx-glow{opacity:.35}
html[data-theme=dark] .hx-ecg{background:#0f1738}html[data-theme=dark] .hx-stats span:nth-child(n){background:rgba(255,255,255,.07)}html[data-theme=dark] .hx-stats b,html[data-theme=dark] .hx-row,html[data-theme=dark] .hx-cert b,html[data-theme=dark] .hx-chip{color:#fff}html[data-theme=dark] .hx-cert{background:#141c44}html[data-theme=dark] .hx-top b{color:#fff}html[data-theme=dark] .hx-row .bar{background:rgba(255,255,255,.12)}html[data-theme=dark] .hx-ring .tr{stroke:#26306a}

/* upcoming events */
.ev-card{grid-column:span 4;flex-direction:row;gap:18px;padding:20px 22px;align-items:flex-start}
.ev-date{flex:none;width:62px;border-radius:16px;text-align:center;padding:8px 0 9px;color:#fff;background:linear-gradient(150deg,#5b6cf0,#8f6df5);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.5),0 14px 20px -10px #5b6cf0}
.ev-date b{display:block;font-family:var(--serif);font-size:1.7rem;line-height:1}.ev-date span{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.ev-card h3{font-size:1.12rem;line-height:1.3;margin:6px 0 8px}
.ev-card .b-meta{margin-top:0}

/* categories */
.cat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cat-tile{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--sh-sm);color:var(--ink);font-weight:600;transition:transform .3s var(--ease),box-shadow .3s}
.cat-tile:hover{transform:translateY(-4px);box-shadow:var(--sh-md);color:var(--blue)}
.cat-tile small{display:block;color:var(--muted);font-weight:500;font-size:.78rem}
.cat-tile .tile3d{width:44px;height:44px;border-radius:14px;font-size:1rem}
.cat-tile:nth-child(4n+2) .tile3d{--c1:#19b3c4;--c2:#5b6cf0}.cat-tile:nth-child(4n+3) .tile3d{--c1:#2bb58f;--c2:#19b3c4}.cat-tile:nth-child(4n) .tile3d{--c1:#8f6df5;--c2:#e062a8}

/* editorial lists: latest + most read */
.ed-list{display:flex;flex-direction:column}
.ed-item{display:flex;gap:20px;align-items:center;padding:20px 0;border-top:1px solid var(--line);color:var(--text)}
.ed-item:first-child{border-top:0;padding-top:0}
.ed-item .cover{flex:0 0 148px;aspect-ratio:4/3;border-radius:16px;margin:0}
.ed-item h3{font-size:1.3rem;line-height:1.28;margin:6px 0 8px}
.ed-item:hover h3{color:var(--blue)}
.mr-list{counter-reset:mr;display:flex;flex-direction:column}
.mr-item{display:flex;gap:16px;align-items:baseline;padding:16px 0;border-top:1px solid var(--line);color:var(--ink)}
.mr-item:first-child{border-top:0}
.mr-item::before{counter-increment:mr;content:counter(mr,decimal-leading-zero);font-family:var(--serif);font-size:1.7rem;font-weight:500;color:#b7bfe8;min-width:2.2ch}
.mr-item b{font-family:var(--serif);font-weight:600;font-size:1.05rem;line-height:1.35;display:block}.mr-item small{color:var(--muted)}.mr-item:hover b{color:var(--blue)}

/* newsletter */
.news{grid-column:span 12;display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:center;padding:clamp(28px,5vw,52px);position:relative;isolation:isolate}
.news h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.6rem);margin:10px 0 12px}.news p{color:#c7d0ff;margin:0;max-width:32em}
.news form{display:flex;flex-direction:column;gap:12px}
.news .in{display:flex;gap:10px;flex-wrap:wrap}.news input[type=email],.news input[type=text]{flex:1 1 200px;min-width:0;height:50px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);color:#fff;padding:0 16px}
.news input::placeholder{color:#a9b5f3}.news input:focus{outline:2px solid #9fb0ff;outline-offset:2px;background:rgba(255,255,255,.16)}
.news .btn{height:50px;padding:0 26px;background:#fff;color:var(--ink)}.news .btn:hover{background:#eef0ff;color:var(--ink)}
.news small{color:#9fb0ff}
.news .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.news::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.18),rgba(255,255,255,0) 65%);z-index:-1}

/* authors / recognition */
.rank-row{padding:12px 0}.rank-row+.rank-row{border-color:var(--line)}
.rank-row .rk{border-radius:12px;background:var(--p-lav);color:#4b3bc4;font-family:var(--serif);font-weight:600}
.spot{background:linear-gradient(160deg,#fff,#f4f1ff)}
html[data-theme=dark] .spot{background:var(--glass)}

/* ---------------------------------------------------------------- reading pages: minimal and highly readable */
html:not([data-theme=dark]) .article-hero{background:linear-gradient(180deg,#f1efff 0%,#f8f9ff 100%);color:var(--text);padding:60px 0 28px;border-bottom:1px solid var(--line)}
.article-hero::before,.article-hero::after{display:none}
html:not([data-theme=dark]) .article-hero h1{color:var(--ink)}
.article-hero .container{max-width:780px}
.article-hero h1{font-size:clamp(2rem,4.4vw,3.15rem);line-height:1.12;letter-spacing:-.025em;font-weight:600;margin:.5rem 0 1.1rem;max-width:none}
html:not([data-theme=dark]) .article-hero .eyebrow,html:not([data-theme=dark]) .article-hero .text-gold{color:var(--blue)!important}
html:not([data-theme=dark]) .j-strip{color:var(--muted)}html:not([data-theme=dark]) .j-strip a{color:var(--blue)}
html:not([data-theme=dark]) .j-authors{color:var(--ink);font-weight:500}html:not([data-theme=dark]) .j-affs{color:var(--muted)}
html:not([data-theme=dark]) .meta-row{color:var(--muted)}html:not([data-theme=dark]) .meta-row i{color:var(--blue)}
.article-card{max-width:720px;margin:0 auto;padding:40px 0 20px;background:transparent;border:0;box-shadow:none;border-radius:0;backdrop-filter:none}
html[data-theme=dark] .article-card{background:transparent;border:0;box-shadow:none;backdrop-filter:none}
.article-card>img.w-100{border-radius:22px;max-height:440px;box-shadow:var(--sh-md)}
.article-body{font-family:var(--sans);font-size:1.14rem;line-height:1.85;color:#1f2b55;max-width:68ch;margin-inline:auto}
html[data-theme=dark] .article-body{color:#d3dafa}
.article-body p{margin:0 0 1.25em}
.article-body h1,.article-body h2,.article-body h3,.article-body h4{font-family:var(--serif);color:var(--ink);letter-spacing:-.015em;margin:1.9em 0 .6em}
.article-body h2{font-size:1.7rem}.article-body h3{font-size:1.35rem}
.article-body a{color:var(--blue);text-decoration:underline;text-decoration-color:rgba(58,79,230,.35);text-underline-offset:3px}
.article-body blockquote{border-left:3px solid var(--violet);background:transparent;padding:.2em 0 .2em 1.3em;color:var(--ink);font-family:var(--serif);font-size:1.28rem;line-height:1.55;font-style:italic;margin:1.8em 0}
.article-body img{border-radius:16px}
.article-body th,.lesson th{background:var(--p-lav);color:var(--ink)}.article-body tr:nth-child(even) td,.lesson tr:nth-child(even) td{background:rgba(122,92,240,.04)}.article-body th,.article-body td,.lesson th,.lesson td{border-color:var(--line)}
.j-abstract{border-left:0;border-radius:20px;background:linear-gradient(150deg,#f1efff,#eaf9fc);padding:22px 26px}
.cite-box{border-radius:18px}
.bio{border-radius:22px}

/* ---------------------------------------------------------------- forms, tables, misc consistency */
.form-control,.form-select{border-radius:12px;border:1.5px solid var(--line);background-color:#fff}
html[data-theme=dark] .form-control,html[data-theme=dark] .form-select{background-color:rgba(255,255,255,.06)}
.form-control:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 .22rem rgba(58,79,230,.14)}
.tbl th{background:var(--surface-2);color:var(--muted)}
.nav-pills .nav-link.active,.nav-pills .show>.nav-link,.pager-per a.on{background:var(--aurora)}
.pbar i,.pbar>div{background:var(--aurora)}
.av{background:var(--aurora)}
#scroll-progress{background:var(--aurora);height:3px;box-shadow:none}
#back-to-top{background:var(--ink);box-shadow:0 10px 22px -8px rgba(12,26,71,.6);border-radius:14px}
.alert{border-radius:16px}
.btn:focus-visible,a:focus-visible,.form-control:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:40000;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;transition:top .2s}.skip-link:focus{top:12px;color:#fff}

/* ---------------------------------------------------------------- footer */
.site-footer{margin-top:96px;border-radius:36px 36px 0 0;background:radial-gradient(520px 260px at 100% 0,rgba(122,92,240,.35),transparent 70%),linear-gradient(180deg,#0e1b55,#0a1237)}
.site-footer::before{display:none}
.footer-brand-name{font-family:var(--serif);background:none;-webkit-text-fill-color:#fff;color:#fff}
.footer-col-title{color:#9fb0ff}
html[data-theme=dark] .site-footer{background:linear-gradient(180deg,rgba(7,11,28,0),rgba(7,11,28,.9) 40%);border-radius:0}

.foot-news{margin-top:18px;max-width:340px}.foot-news .form-control{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;height:44px}.foot-news .form-control::placeholder{color:#a9b5f3}
.foot-news .btn{height:44px;background:#fff;color:var(--ink);flex:none}.hp-f{position:absolute!important;left:-9999px;width:1px;height:1px}

/* ---------------------------------------------------------------- picture loading (blur-up) + lightbox + command palette */
img.nx-ld{opacity:0;filter:blur(14px);transform:scale(1.03)}
img.nx-in{transition:opacity .6s var(--ease),filter .7s var(--ease),transform .8s var(--ease)}
.article-body img:not(.emoji),.lesson img,.legal img{cursor:zoom-in;max-width:100%;height:auto}
.nx-zoomable{cursor:zoom-in}
.nx-lb{position:fixed;inset:0;z-index:30000;display:none;align-items:center;justify-content:center;padding:4vmin;background:rgba(8,12,36,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:0;transition:opacity .3s}
.nx-lb.open{display:flex}.nx-lb.show{opacity:1}
.nx-lb img{max-width:100%;max-height:100%;border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.6);transform:scale(.95);transition:transform .4s var(--ease);cursor:zoom-out;background:#fff}
.nx-lb.show img{transform:none}
.nx-lb button{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;font-size:1.1rem}
.nx-lb .cap{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:rgba(255,255,255,.75);font-size:.85rem;pointer-events:none}
.nx-cp{position:fixed;inset:0;z-index:31000;display:none;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;background:rgba(8,12,36,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .2s}
.nx-cp.open{display:flex}.nx-cp.show{opacity:1}
.nx-cp-box{width:min(620px,100%);max-height:70vh;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:0 40px 100px rgba(8,12,36,.45);transform:translateY(-12px) scale(.98);transition:transform .3s var(--ease)}
.nx-cp.show .nx-cp-box{transform:none}
html[data-theme=dark] .nx-cp-box{background:rgba(14,20,44,.97);border-color:var(--glass-line)}
.nx-cp-in{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.nx-cp-in i{color:var(--blue)}
.nx-cp-in input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:1.02rem;min-width:0}
.nx-cp-in kbd{font:600 .68rem var(--sans);padding:3px 7px;border-radius:7px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.nx-cp-list{overflow:auto;padding:8px;margin:0;list-style:none}
.nx-cp-list li a{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:12px;color:var(--text);font-weight:500}
.nx-cp-list li a i{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--p-lav);color:var(--blue);flex:none}
.nx-cp-list li a small{margin-left:auto;color:var(--muted);font-size:.74rem}
.nx-cp-list li.on a,.nx-cp-list li a:hover{background:var(--nav-hover);color:var(--blue)}
.nx-cp-empty{padding:26px;text-align:center;color:var(--muted)}
.nx-cp-foot{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--line);font-size:.74rem;color:var(--muted)}

/* ---------------------------------------------------------------- responsive */
@media (max-width:1199px){.b-stat{grid-column:span 6}.ev-card{grid-column:span 6}.cat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:991px){
  .site-nav .navbar-collapse{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:12px;margin-top:10px;box-shadow:var(--sh-md)}
  .hx{padding:36px 0 20px}.hx-scene{max-width:480px}
  .b-feature{grid-column:span 12;grid-row:auto}.b-side{grid-column:span 12}.news{grid-template-columns:1fr}
  .page-hero{padding:44px 0 42px}.section{padding-top:52px}
}
@media (max-width:767px){
  .section-head{align-items:flex-start}
  .b-stat{grid-column:span 6;min-height:130px;padding:18px}.ev-card{grid-column:span 12}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cat-tile{padding:12px 14px;gap:10px}.ed-item .cover{flex-basis:104px}.ed-item h3{font-size:1.1rem}
  .b-side{flex-direction:column}.b-side .cover{flex:none;min-height:0;aspect-ratio:16/9}.b-side .b-text{padding:14px 8px 6px}
  .article-body{font-size:1.07rem}.article-hero{padding-top:40px}.site-footer{border-radius:26px 26px 0 0;margin-top:70px}
  .a-card:hover,.m-card:hover,a.b-card:hover{transform:none}
}
@media (max-width:575px){.hx-stage{transform:rotateX(4deg) rotateY(-8deg)}.hx-chip.c1{left:1%}.hx-tile.t2{left:1%}.hx-cert{right:0}}
@media (max-width:420px){.b-stat{grid-column:span 12}.hx h1{font-size:2.3rem}}
@media (prefers-reduced-motion:reduce){.hx-tile,.hx-chip,.hx-cert,.hx-ring,.hx-ecg path{animation:none!important}.hx-ecg path{stroke-dasharray:none}.hx-stage{transition:none}}
@media print{.hx-scene,.nx-lb,.nx-cp,.nx-searchbtn,.news,.site-nav,.site-footer{display:none!important}.article-hero{background:#fff!important}}
