/*
Theme Name: Euridition
Theme URI: https://euridition.in
Author: Rahbar Rizweee
Author URI: https://euridition.in
Description: The public product, company, school, investor, trust and legal website for Euridition, separate from the installable student application at /app/. Requires the Euridition Core and PWA plugins for connected learning features.
Version: 2.0.0
Requires at least: 5.8
Tested up to: 6.7
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: euridition
Tags: education, blog, one-column, custom-logo, custom-menu, featured-images, translation-ready, block-styles, wide-blocks
*/

/* =========================================================
   EURIDITION DESIGN SYSTEM  —  single file, zero external
   requests: no webfonts, no icon fonts, no frameworks.
   ========================================================= */

:root {
  --eur-primary:   #4F46E5;
  --eur-primary-2: #7C3AED;
  --eur-accent:    #F59E0B;
  --eur-green:     #12B76A;
  --eur-red:       #F04438;
  --eur-bg:        #F7F8FC;
  --eur-surface:   #FFFFFF;
  --eur-text:      #101828;
  --eur-muted:     #667085;
  --eur-border:    #EAECF0;
  --eur-ink:       #05070D;
  --eur-radius:    16px;
  --eur-radius-sm: 10px;
  --eur-shadow-sm: 0 1px 2px rgba(16,24,40,.06);
  --eur-shadow-md: 0 8px 24px -8px rgba(16,24,40,.14);
  --eur-shadow-lg: 0 20px 50px -12px rgba(16,24,40,.22);
  --eur-grad: linear-gradient(135deg,#4F46E5 0%,#7C3AED 100%);
  --eur-grad-warm: linear-gradient(135deg,#F59E0B 0%,#F97316 100%);
  --eur-container: 1180px;
  --eur-header-h: 64px;
  --eur-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans Devanagari", sans-serif;
}

/* ---------- Reset & base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
body {
  margin: 0;
  font-family: var(--eur-font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--eur-text);
  background: var(--eur-bg);
  -webkit-font-smoothing: antialiased;
}
img, video, svg { max-width: 100%; height: auto; }
a { color: var(--eur-primary); text-decoration: none; }
a:hover { text-decoration: none; }
:focus-visible { outline: 3px solid rgba(79,70,229,.45); outline-offset: 2px; border-radius: 6px; }
.eur-container { max-width: var(--eur-container); margin: 0 auto; padding: 0 20px; }
.eur-hide { display: none !important; }

/* ---------- Buttons ---------- */
.eur-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 22px; border-radius: 999px; border: 1px solid transparent;
  font-weight: 700; font-size: 15px; line-height: 1; cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  text-decoration: none; white-space: nowrap; font-family: var(--eur-font);
}
.eur-btn svg { width: 18px; height: 18px; flex: none; }
.eur-btn-primary { background: var(--eur-grad); color: #fff; box-shadow: 0 6px 16px -6px rgba(79,70,229,.55); }
.eur-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -8px rgba(79,70,229,.55); color:#fff; }
.eur-btn-accent { background: var(--eur-grad-warm); color: #fff; box-shadow: 0 6px 16px -6px rgba(245,158,11,.55); }
.eur-btn-accent:hover { transform: translateY(-2px); color:#fff; }
.eur-btn-ghost { background: var(--eur-surface); color: var(--eur-text); border-color: var(--eur-border); box-shadow: var(--eur-shadow-sm); }
.eur-btn-ghost:hover { border-color: var(--eur-primary); color: var(--eur-primary); }
.eur-btn-dark { background: var(--eur-ink); color: #fff; }
.eur-btn-dark:hover { transform: translateY(-2px); color:#fff; }
.eur-btn-sm { padding: 9px 16px; font-size: 13.5px; }
.eur-btn-lg { padding: 15px 30px; font-size: 16.5px; }
.eur-btn-block { width: 100%; }
.eur-btn[disabled] { opacity: .55; cursor: not-allowed; transform: none !important; }

/* ---------- Header ---------- */
.eur-header {
  position: sticky; top: 0; z-index: 900;
  background: rgba(255,255,255,.85);
  -webkit-backdrop-filter: saturate(180%) blur(14px);
  backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid var(--eur-border);
  transition: box-shadow .2s ease;
}
.eur-header.is-scrolled { box-shadow: var(--eur-shadow-md); }
.eur-header__inner { display: flex; align-items: center; gap: 18px; height: var(--eur-header-h); }
.eur-brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; font-size: 20px; letter-spacing: -.4px; color: var(--eur-text); }
.eur-brand:hover { color: var(--eur-primary); }
.eur-brand__mark { width: 36px; height: 36px; flex: none; border-radius: 10px; box-shadow: 0 4px 10px -3px rgba(79,70,229,.5); }
.eur-brand__tag { display: block; font-size: 10.5px; font-weight: 600; color: var(--eur-muted); letter-spacing: .3px; line-height: 1.1; }
.eur-nav { display: flex; align-items: center; gap: 4px; margin-left: 8px; }
.eur-nav a {
  padding: 9px 14px; border-radius: 999px; color: var(--eur-text);
  font-weight: 600; font-size: 14.5px;
}
.eur-nav a:hover { background: rgba(79,70,229,.08); color: var(--eur-primary); }
.eur-nav a.is-active { background: rgba(79,70,229,.1); color: var(--eur-primary); }
.eur-header__spacer { flex: 1; }
.eur-lang { display: inline-flex; background: var(--eur-bg); border: 1px solid var(--eur-border); border-radius: 999px; padding: 3px; gap: 2px; }
.eur-lang button {
  border: 0; background: transparent; cursor: pointer; font-weight: 700; font-size: 12.5px;
  padding: 6px 12px; border-radius: 999px; color: var(--eur-muted); font-family: var(--eur-font);
}
.eur-lang button.is-active { background: var(--eur-grad); color: #fff; box-shadow: 0 2px 6px -2px rgba(79,70,229,.6); }
.eur-header__cta { display: flex; align-items: center; gap: 10px; }
.eur-burger { display: none; border: 1px solid var(--eur-border); background: var(--eur-surface); border-radius: 10px; width: 42px; height: 42px; cursor: pointer; align-items: center; justify-content: center; }
.eur-burger svg { width: 22px; height: 22px; }
@media (max-width: 980px) {
  .eur-nav { display: none; position: absolute; top: var(--eur-header-h); left: 0; right: 0; flex-direction: column; align-items: stretch; background: var(--eur-surface); border-bottom: 1px solid var(--eur-border); padding: 12px 20px 18px; gap: 4px; box-shadow: var(--eur-shadow-lg); }
  .eur-nav.is-open { display: flex; }
  .eur-nav a { padding: 13px 16px; font-size: 16px; }
  .eur-burger { display: inline-flex; }
  .eur-header__cta .eur-btn-ghost { display: none; }
}
@media (max-width: 520px) {
  .eur-brand__tag { display: none; }
  .eur-header__cta .eur-btn { padding: 10px 14px; font-size: 13.5px; }
}

/* ---------- Hero ---------- */
.eur-hero { position: relative; overflow: hidden; padding: 64px 0 40px; background:
  radial-gradient(700px 340px at 12% -8%, rgba(79,70,229,.14), transparent 60%),
  radial-gradient(700px 340px at 88% -12%, rgba(245,158,11,.16), transparent 60%),
  var(--eur-bg); }
.eur-hero__inner { text-align: center; max-width: 780px; margin: 0 auto; }
.eur-badge {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 16px; border-radius: 999px;
  background: #fff; border: 1px solid var(--eur-border); box-shadow: var(--eur-shadow-sm);
  font-size: 13px; font-weight: 700; color: var(--eur-primary);
}
.eur-badge .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--eur-green); animation: eurPulse 1.6s infinite; }
@keyframes eurPulse { 0%,100% { opacity: 1; transform: scale(1);} 50% { opacity: .5; transform: scale(.75);} }
.eur-hero h1 { font-size: clamp(30px, 5.4vw, 52px); line-height: 1.12; letter-spacing: -1.4px; margin: 18px 0 12px; font-weight: 800; }
.eur-hero h1 .grad { background: var(--eur-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.eur-hero__sub { font-size: clamp(15.5px, 2vw, 18.5px); color: var(--eur-muted); max-width: 620px; margin: 0 auto; }
.eur-hero__search { display: flex; gap: 10px; max-width: 560px; margin: 26px auto 0; }
.eur-hero__search input {
  flex: 1; padding: 14px 20px; border-radius: 999px; border: 1px solid var(--eur-border);
  background: #fff; font-size: 15px; font-family: var(--eur-font); box-shadow: var(--eur-shadow-sm);
}
.eur-hero__search input:focus { border-color: var(--eur-primary); outline: none; box-shadow: 0 0 0 4px rgba(79,70,229,.12); }

/* ---------- Section scaffolding ---------- */
.eur-section { padding: 52px 0; }
.eur-section--tight { padding: 34px 0; }
.eur-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.eur-section__title { font-size: clamp(21px, 3vw, 28px); font-weight: 800; letter-spacing: -.6px; margin: 0; }
.eur-section__title .accent { color: var(--eur-accent); }
.eur-section__link { font-weight: 700; font-size: 14.5px; display: inline-flex; align-items: center; gap: 6px; }
.eur-section__sub { color: var(--eur-muted); margin: 4px 0 0; font-size: 15px; }

/* ---------- Class grid ---------- */
.eur-class-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 12px; max-width: 940px; margin: 0 auto; }
.eur-class-tile {
  position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; padding: 16px 8px 14px; border-radius: var(--eur-radius);
  background: var(--eur-surface); border: 1px solid var(--eur-border);
  box-shadow: var(--eur-shadow-sm); font-weight: 800; color: var(--eur-text);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.eur-class-tile:hover { transform: translateY(-4px); box-shadow: var(--eur-shadow-md); border-color: var(--eur-primary); }
.eur-class-tile.is-active { border-color: var(--eur-primary); background: linear-gradient(180deg, rgba(79,70,229,.08), #fff); }
.eur-class-tile__num { font-size: 22px; background: var(--eur-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.eur-class-tile__label { font-size: 11.5px; color: var(--eur-muted); font-weight: 700; letter-spacing: .2px; }
.eur-class-tile__emoji { position: absolute; top: 7px; right: 9px; font-size: 13px; opacity: .8; }
.eur-class-note { text-align: center; color: var(--eur-muted); font-size: 13.5px; margin-top: 16px; }

/* ---------- Subject cards ---------- */
.eur-subject-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; }
.eur-subject-card {
  display: flex; align-items: center; gap: 14px; padding: 18px;
  background: var(--eur-surface); border: 1px solid var(--eur-border); border-radius: var(--eur-radius);
  box-shadow: var(--eur-shadow-sm); color: var(--eur-text);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.eur-subject-card:hover { transform: translateY(-4px); box-shadow: var(--eur-shadow-md); border-color: var(--eur-primary); color: var(--eur-text); }
.eur-subject-card__icon {
  width: 52px; height: 52px; flex: none; display: grid; place-items: center; font-size: 26px;
  border-radius: 14px; background: linear-gradient(135deg, rgba(79,70,229,.12), rgba(124,58,237,.12));
}
.eur-subject-card__name { font-weight: 800; font-size: 16px; letter-spacing: -.2px; }
.eur-subject-card__meta { font-size: 13px; color: var(--eur-muted); font-weight: 600; }
.eur-subject-card__arrow { margin-left: auto; color: var(--eur-muted); transition: transform .16s ease, color .16s ease; }
.eur-subject-card:hover .eur-subject-card__arrow { transform: translateX(4px); color: var(--eur-primary); }

/* ---------- Simulations strip (v1.4.0) ---------- */
.eur-sim-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; }
.eur-sim-card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 18px;
  background: var(--eur-surface); border: 1px solid var(--eur-border); border-radius: var(--eur-radius);
  box-shadow: var(--eur-shadow-sm); color: var(--eur-text);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.eur-sim-card:hover { transform: translateY(-4px); box-shadow: var(--eur-shadow-md); border-color: var(--eur-primary); }
.eur-sim-card__icon {
  width: 52px; height: 52px; display: grid; place-items: center; font-size: 26px;
  border-radius: 14px; background: linear-gradient(135deg, rgba(16,185,129,.14), rgba(5,150,105,.12));
}
.eur-sim-card__name { font-weight: 800; font-size: 15px; letter-spacing: -.2px; }
.eur-sim-card__meta { font-size: 13px; color: var(--eur-muted); font-weight: 600; }

/* ---------- Breadcrumb & page heads ---------- */
.eur-crumb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13.5px; color: var(--eur-muted); font-weight: 600; margin-bottom: 14px; }
.eur-crumb a { color: var(--eur-muted); }
.eur-crumb a:hover { color: var(--eur-primary); }
.eur-crumb .sep { opacity: .5; }
.eur-crumb .here { color: var(--eur-text); }
.eur-page-head { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; flex-wrap: wrap; }
.eur-page-head__icon { width: 58px; height: 58px; flex: none; display: grid; place-items: center; font-size: 30px; border-radius: 16px; background: var(--eur-grad); box-shadow: 0 8px 18px -8px rgba(79,70,229,.6); }
.eur-page-head h1 { margin: 0; font-size: clamp(22px, 3.4vw, 32px); font-weight: 800; letter-spacing: -.7px; }
.eur-page-head__meta { color: var(--eur-muted); font-weight: 600; font-size: 14px; }

/* ---------- Chapters ---------- */
.eur-chapter-list { display: grid; gap: 14px; }
.eur-chapter { background: var(--eur-surface); border: 1px solid var(--eur-border); border-radius: var(--eur-radius); box-shadow: var(--eur-shadow-sm); overflow: hidden; }
.eur-chapter__head {
  width: 100%; display: flex; align-items: center; gap: 14px; padding: 17px 20px;
  background: none; border: 0; cursor: pointer; text-align: left; font-family: var(--eur-font);
}
.eur-chapter__head:hover { background: rgba(79,70,229,.04); }
.eur-chapter__num {
  width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 12px;
  background: rgba(79,70,229,.1); color: var(--eur-primary); font-weight: 800; font-size: 15px;
}
.eur-chapter__title { font-weight: 800; font-size: 15.5px; letter-spacing: -.2px; color: var(--eur-text); }
.eur-chapter__meta { font-size: 12.5px; color: var(--eur-muted); font-weight: 600; }
.eur-chapter__chev { margin-left: auto; flex: none; width: 22px; height: 22px; color: var(--eur-muted); transition: transform .2s ease; }
.eur-chapter.is-open .eur-chapter__chev { transform: rotate(180deg); }
.eur-chapter__body { max-height: 0; overflow: hidden; transition: max-height .28s ease; }
.eur-chapter__body-in { padding: 4px 20px 18px; }

/* ---------- Resource type tabs ---------- */
.eur-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.eur-tab {
  display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 999px;
  border: 1px solid var(--eur-border); background: var(--eur-surface); color: var(--eur-text);
  font-weight: 700; font-size: 13.5px; box-shadow: var(--eur-shadow-sm); cursor: pointer;
}
.eur-tab svg { width: 16px; height: 16px; }
.eur-tab:hover { border-color: var(--eur-primary); color: var(--eur-primary); }
.eur-tab.is-active { background: var(--eur-grad); border-color: transparent; color: #fff; box-shadow: 0 6px 14px -6px rgba(79,70,229,.55); }
.eur-tab__count { background: rgba(16,24,40,.08); border-radius: 999px; padding: 1px 8px; font-size: 11.5px; }
.eur-tab.is-active .eur-tab__count { background: rgba(255,255,255,.22); }

/* ---------- Resource cards ---------- */
.eur-res-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.eur-res-card {
  position: relative; display: flex; flex-direction: column; gap: 10px; padding: 18px;
  background: var(--eur-surface); border: 1px solid var(--eur-border); border-radius: var(--eur-radius);
  box-shadow: var(--eur-shadow-sm); transition: transform .16s ease, box-shadow .16s ease;
}
.eur-res-card:hover { transform: translateY(-3px); box-shadow: var(--eur-shadow-md); }
.eur-res-card__top { display: flex; align-items: center; gap: 10px; }
.eur-fileicon { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 12px; }
.eur-fileicon svg { width: 22px; height: 22px; }
.eur-fileicon--pdf   { background: #FEE4E2; color: #D92D20; }
.eur-fileicon--image { background: #D1FADF; color: #039855; }
.eur-fileicon--audio { background: #E0EAFF; color: #3538CD; }
.eur-fileicon--video { background: #FEF0C7; color: #B54708; }
.eur-res-card__type { font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; color: var(--eur-muted); }
.eur-res-card__title { font-weight: 800; font-size: 15px; line-height: 1.35; letter-spacing: -.2px; color: var(--eur-text); margin: 0; }
.eur-res-card__desc { font-size: 13.5px; color: var(--eur-muted); margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.eur-res-card__meta { display: flex; gap: 12px; align-items: center; font-size: 12.5px; color: var(--eur-muted); font-weight: 600; }
.eur-res-card__meta svg { width: 14px; height: 14px; vertical-align: -2px; }
.eur-res-card__actions { margin-top: auto; display: flex; gap: 8px; }
.eur-res-card__actions .eur-btn { flex: 1; }
.eur-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; background: rgba(79,70,229,.08); color: var(--eur-primary); font-size: 12px; font-weight: 700; width: fit-content; }
.eur-empty { text-align: center; padding: 48px 20px; border: 1.5px dashed var(--eur-border); border-radius: var(--eur-radius); color: var(--eur-muted); background: #fff; }
.eur-empty__emoji { font-size: 40px; margin-bottom: 8px; }

/* ---------- Feature cards ---------- */
.eur-feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.eur-feature {
  padding: 24px; border-radius: var(--eur-radius); background: var(--eur-surface);
  border: 1px solid var(--eur-border); box-shadow: var(--eur-shadow-sm);
  transition: transform .16s ease, box-shadow .16s ease;
}
.eur-feature:hover { transform: translateY(-4px); box-shadow: var(--eur-shadow-md); }
.eur-feature__icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 14px; font-size: 25px; margin-bottom: 14px; background: linear-gradient(135deg, rgba(79,70,229,.12), rgba(124,58,237,.12)); }
.eur-feature h3 { margin: 0 0 6px; font-size: 17px; font-weight: 800; letter-spacing: -.3px; }
.eur-feature p { margin: 0; color: var(--eur-muted); font-size: 14px; }

/* ---------- Stats strip ---------- */
.eur-stats { background: var(--eur-ink); color: #fff; border-radius: 24px; padding: 38px 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 22px; text-align: center; }
.eur-stats__num { font-size: clamp(26px, 4vw, 38px); font-weight: 800; letter-spacing: -1px; background: linear-gradient(135deg,#A5B4FC,#FBBF24); -webkit-background-clip: text; background-clip: text; color: transparent; }
.eur-stats__label { color: #98A2B3; font-weight: 600; font-size: 13.5px; margin-top: 2px; }

/* ---------- Steps (how it works) ---------- */
.eur-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; counter-reset: step; }
.eur-step { position: relative; background: var(--eur-surface); border: 1px solid var(--eur-border); border-radius: var(--eur-radius); padding: 22px; box-shadow: var(--eur-shadow-sm); }
.eur-step__no { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--eur-grad); color: #fff; font-weight: 800; font-size: 15px; margin-bottom: 12px; }
.eur-step h3 { margin: 0 0 6px; font-size: 16px; font-weight: 800; }
.eur-step p { margin: 0; font-size: 14px; color: var(--eur-muted); }

/* ---------- Pulse preview cards (home) ---------- */
.eur-pulse-strip { display: grid; grid-auto-flow: column; grid-auto-columns: 168px; gap: 14px; overflow-x: auto; padding: 4px 4px 14px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.eur-pulse-card {
  position: relative; scroll-snap-align: start; display: flex; flex-direction: column; justify-content: flex-end;
  aspect-ratio: 9/16; border-radius: 18px; overflow: hidden; color: #fff; isolation: isolate;
  background: linear-gradient(160deg, #312E81 0%, #7C3AED 55%, #DB2777 100%);
  box-shadow: var(--eur-shadow-md); transition: transform .16s ease;
}
.eur-pulse-card:hover { transform: translateY(-4px) scale(1.02); }
.eur-pulse-card img, .eur-pulse-card video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.eur-pulse-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 45%, rgba(5,7,13,.85) 100%); }
.eur-pulse-card__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.22); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); display: grid; place-items: center; border: 1.5px solid rgba(255,255,255,.55); }
.eur-pulse-card__play svg { width: 20px; height: 20px; color: #fff; }
.eur-pulse-card__t { font-weight: 800; font-size: 13px; line-height: 1.3; padding: 0 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.eur-pulse-card__m { font-size: 11.5px; opacity: .85; padding: 4px 12px 12px; display: flex; align-items: center; gap: 5px; }
.eur-pulse-card__m svg { width: 12px; height: 12px; }
.eur-pulse-card__badge { position: absolute; top: 10px; left: 10px; z-index: 1; background: rgba(245,158,11,.95); color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: .4px; padding: 3px 9px; border-radius: 999px; }

/* ---------- PULSE (reels) full screen ---------- */
.eur-pulse-root { position: fixed; inset: 0; z-index: 1000; background: var(--eur-ink); color: #fff; }
.eur-pulse-root.eur-pulse-root--embedded { position: relative; min-height: 100vh; }
.eur-pulse-top {
  position: absolute; top: 0; left: 0; right: 0; z-index: 30;
  display: flex; align-items: center; gap: 10px; padding: 14px 16px;
  background: linear-gradient(180deg, rgba(5,7,13,.75), transparent);
}
.eur-pulse-top .eur-brand { color: #fff; }
.eur-pulse-top .eur-brand:hover { color: #c7d2fe; }
.eur-pulse-chips { display: flex; gap: 6px; overflow-x: auto; margin-left: auto; scrollbar-width: none; }
.eur-pulse-chips::-webkit-scrollbar { display: none; }
.eur-pulse-chip { flex: none; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.1); color: #fff; font-weight: 700; font-size: 12.5px; padding: 6px 13px; border-radius: 999px; cursor: pointer; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-family: var(--eur-font); }
.eur-pulse-chip.is-active { background: #fff; color: var(--eur-ink); border-color: #fff; }
.eur-pulse-close { width: 38px; height: 38px; flex: none; border-radius: 50%; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.1); color: #fff; cursor: pointer; display: grid; place-items: center; }
.eur-pulse-close svg { width: 18px; height: 18px; }
.eur-pulse-feed { height: 100dvh; overflow-y: auto; scroll-snap-type: y mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.eur-pulse-feed::-webkit-scrollbar { display: none; }
.eur-pulse-slide { position: relative; height: 100dvh; scroll-snap-align: start; scroll-snap-stop: always; display: grid; place-items: center; }
.eur-pulse-frame {
  position: relative; width: min(100vw, calc(100dvh * 9 / 16)); height: 100dvh; max-width: 100%; overflow: hidden; background: #000;
}
@media (min-width: 700px) {
  .eur-pulse-frame { border-radius: 22px; height: min(94dvh, 860px); width: auto; aspect-ratio: 9/16; box-shadow: 0 30px 90px -20px rgba(124,58,237,.45); }
  .eur-pulse-slide { padding-bottom: 0; }
}
.eur-pulse-frame video, .eur-pulse-frame iframe, .eur-pulse-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; background: #000; }
.eur-pulse-frame::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(5,7,13,.55) 0%, transparent 22%, transparent 55%, rgba(5,7,13,.85) 100%); }
.eur-pulse-tap { position: absolute; inset: 0; z-index: 5; cursor: pointer; }
.eur-pulse-overlay { position: absolute; left: 0; right: 44px; bottom: 0; z-index: 10; padding: 18px 18px 22px; display: flex; flex-direction: column; gap: 10px; }
.eur-pulse-caps { display: flex; gap: 6px; flex-wrap: wrap; }
.eur-pulse-cap { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.2); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; font-size: 11.5px; font-weight: 700; padding: 4px 11px; border-radius: 999px; }
.eur-pulse-title { font-weight: 800; font-size: 16.5px; line-height: 1.3; letter-spacing: -.2px; text-shadow: 0 2px 12px rgba(0,0,0,.5); margin: 0; }
.eur-pulse-desc { font-size: 13px; opacity: .85; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.eur-pulse-rail { position: absolute; right: 12px; bottom: 24px; z-index: 12; display: flex; flex-direction: column; gap: 16px; align-items: center; }
.eur-pulse-act { display: flex; flex-direction: column; align-items: center; gap: 4px; background: none; border: 0; color: #fff; cursor: pointer; font-family: var(--eur-font); }
.eur-pulse-act__ic { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: transform .15s ease, background .15s ease; }
.eur-pulse-act:hover .eur-pulse-act__ic { transform: scale(1.08); background: rgba(255,255,255,.24); }
.eur-pulse-act.is-liked .eur-pulse-act__ic { background: #F04438; border-color: #F04438; animation: eurHeart .35s ease; }
@keyframes eurHeart { 0%{transform:scale(1)} 40%{transform:scale(1.35)} 100%{transform:scale(1)} }
.eur-pulse-act svg { width: 21px; height: 21px; }
.eur-pulse-act__n { font-size: 12px; font-weight: 700; }
.eur-pulse-skeletons { position: absolute; inset: 0; display: grid; place-items: center; color: #98A2B3; font-weight: 600; }
.eur-pulse-progress { position: absolute; top: 0; left: 0; height: 3px; z-index: 20; background: var(--eur-grad-warm); width: 0%; border-radius: 0 3px 3px 0; }

/* ---------- Forms ---------- */
.eur-form { display: grid; gap: 14px; }
.eur-field { display: grid; gap: 6px; }
.eur-field label { font-weight: 700; font-size: 13.5px; color: var(--eur-text); }
.eur-field .req { color: var(--eur-red); }
.eur-field input[type="text"], .eur-field input[type="email"], .eur-field input[type="password"],
.eur-field input[type="number"], .eur-field input[type="url"], .eur-field select, .eur-field textarea {
  width: 100%; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--eur-border);
  background: #fff; font-size: 15px; font-family: var(--eur-font); color: var(--eur-text);
}
.eur-field textarea { min-height: 96px; resize: vertical; }
.eur-field input:focus, .eur-field select:focus, .eur-field textarea:focus { border-color: var(--eur-primary); outline: none; box-shadow: 0 0 0 4px rgba(79,70,229,.12); }
.eur-field__hint { font-size: 12.5px; color: var(--eur-muted); }
.eur-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 620px) { .eur-field-row { grid-template-columns: 1fr; } }
.eur-notice { padding: 13px 16px; border-radius: 12px; font-size: 14px; font-weight: 600; border: 1px solid; }
.eur-notice--ok { background: #ECFDF3; border-color: #ABEFC6; color: #067647; }
.eur-notice--err { background: #FEF3F2; border-color: #FECDCA; color: #B42318; }
.eur-notice--info { background: #EFF8FF; border-color: #B2DDFF; color: #175CD3; }

/* ---------- Auth / signup card ---------- */
.eur-auth-wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 28px; align-items: stretch; }
@media (max-width: 900px) { .eur-auth-wrap { grid-template-columns: 1fr; } }
.eur-auth-pitch { border-radius: 24px; background: var(--eur-grad); color: #fff; padding: 36px 32px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.eur-auth-pitch::before { content: ""; position: absolute; width: 320px; height: 320px; border-radius: 50%; background: rgba(255,255,255,.12); top: -120px; right: -100px; }
.eur-auth-pitch h2 { margin: 0; font-size: clamp(22px, 3vw, 30px); letter-spacing: -.7px; line-height: 1.2; }
.eur-auth-pitch p { margin: 0; opacity: .9; font-size: 15px; }
.eur-auth-pitch ul { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.eur-auth-pitch li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; font-weight: 600; }
.eur-auth-pitch li svg { width: 20px; height: 20px; flex: none; margin-top: 2px; }
.eur-card { background: var(--eur-surface); border: 1px solid var(--eur-border); border-radius: 24px; box-shadow: var(--eur-shadow-md); padding: 28px; }
.eur-card__title { font-size: 21px; font-weight: 800; letter-spacing: -.4px; margin: 0 0 4px; }
.eur-card__sub { color: var(--eur-muted); font-size: 14px; margin: 0 0 18px; }
.eur-auth-alt { text-align: center; font-size: 14px; color: var(--eur-muted); margin-top: 14px; }
.eur-auth-alt a { font-weight: 700; }

/* ---------- Upload page ---------- */
.eur-upload-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; align-items: start; }
@media (max-width: 940px) { .eur-upload-grid { grid-template-columns: 1fr; } }
.eur-dropzone {
  border: 2px dashed var(--eur-border); border-radius: var(--eur-radius); background: var(--eur-bg);
  padding: 30px 18px; text-align: center; cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.eur-dropzone:hover, .eur-dropzone.is-drag { border-color: var(--eur-primary); background: rgba(79,70,229,.05); }
.eur-dropzone svg { width: 40px; height: 40px; color: var(--eur-primary); margin-bottom: 8px; }
.eur-dropzone__t { font-weight: 800; font-size: 15px; }
.eur-dropzone__d { font-size: 12.5px; color: var(--eur-muted); margin-top: 3px; }
.eur-dropzone input[type="file"] { display: none; }
.eur-filepill { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--eur-border); border-radius: 12px; background: #fff; font-size: 13.5px; font-weight: 600; }
.eur-filepill svg { width: 18px; height: 18px; color: var(--eur-primary); flex: none; }
.eur-filepill .x { margin-left: auto; border: 0; background: none; cursor: pointer; color: var(--eur-muted); font-size: 16px; }
.eur-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; background: var(--eur-bg); padding: 5px; border-radius: 14px; border: 1px solid var(--eur-border); }
.eur-seg label { text-align: center; padding: 11px 8px; border-radius: 10px; font-weight: 700; font-size: 14px; cursor: pointer; color: var(--eur-muted); }
.eur-seg input { position: absolute; opacity: 0; pointer-events: none; }
.eur-seg input:checked + label, .eur-seg label:has(input:checked) { background: #fff; color: var(--eur-primary); box-shadow: var(--eur-shadow-sm); border: 1px solid var(--eur-border); }

/* ---------- Dashboard ---------- */
.eur-dash-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 900px) { .eur-dash-grid { grid-template-columns: 1fr; } }
.eur-mini-list { display: grid; gap: 10px; }
.eur-mini-item { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--eur-border); border-radius: 14px; background: #fff; }
.eur-mini-item__t { font-weight: 700; font-size: 14px; line-height: 1.3; }
.eur-mini-item__m { font-size: 12px; color: var(--eur-muted); }
.eur-mini-item a.stretch { position: absolute; inset: 0; }
.eur-mini-item { position: relative; }
.eur-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; }
.eur-kpi { background: var(--eur-surface); border: 1px solid var(--eur-border); border-radius: var(--eur-radius); padding: 18px; box-shadow: var(--eur-shadow-sm); }
.eur-kpi__n { font-size: 24px; font-weight: 800; letter-spacing: -.5px; }
.eur-kpi__l { font-size: 12.5px; color: var(--eur-muted); font-weight: 600; }

/* ---------- Lightbox ---------- */
.eur-lightbox { position: fixed; inset: 0; z-index: 1200; background: rgba(5,7,13,.92); display: grid; place-items: center; padding: 24px; }
.eur-lightbox img { max-width: min(920px, 94vw); max-height: 88vh; border-radius: 14px; box-shadow: var(--eur-shadow-lg); }
.eur-lightbox__x { position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.12); color: #fff; font-size: 20px; cursor: pointer; }
.eur-lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.12); color: #fff; font-size: 22px; cursor: pointer; }
.eur-lightbox__nav--prev { left: 14px; } .eur-lightbox__nav--next { right: 14px; }

/* ---------- Toast ---------- */
.eur-toast {
  position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%) translateY(20px);
  background: var(--eur-ink); color: #fff; padding: 12px 20px; border-radius: 999px;
  font-size: 14px; font-weight: 700; box-shadow: var(--eur-shadow-lg); opacity: 0; pointer-events: none;
  transition: opacity .25s ease, transform .25s ease; z-index: 1400; max-width: 92vw; text-align: center;
}
.eur-toast.is-show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ---------- Audio player card ---------- */
.eur-audio-card { display: flex; flex-direction: column; gap: 10px; }
.eur-audio-card audio { width: 100%; height: 40px; }

/* ---------- Footer ---------- */
.eur-footer { background: var(--eur-ink); color: #CBD5E1; margin-top: 40px; }
.eur-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 28px; padding: 46px 0 30px; }
@media (max-width: 900px) { .eur-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .eur-footer__grid { grid-template-columns: 1fr; } }
.eur-footer h4 { color: #fff; font-size: 14px; letter-spacing: .6px; text-transform: uppercase; margin: 0 0 14px; }
.eur-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.eur-footer a { color: #CBD5E1; font-size: 14px; }
.eur-footer a:hover { color: #fff; }
.eur-footer__brand .eur-brand { color: #fff; }
.eur-footer__desc { font-size: 13.5px; color: #94A3B8; margin-top: 12px; max-width: 300px; }
.eur-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); padding: 18px 0 22px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px; color: #94A3B8; }
.eur-footer__credit { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; color: #E2E8F0; }
.eur-footer__credit svg { width: 15px; height: 15px; color: var(--eur-accent); }

/* ---------- WordPress content fallback styling ---------- */
.eur-page-content { background: var(--eur-surface); border: 1px solid var(--eur-border); border-radius: var(--eur-radius); padding: 30px; box-shadow: var(--eur-shadow-sm); }
.eur-page-content h1, .eur-page-content h2, .eur-page-content h3 { letter-spacing: -.4px; }
.eur-page-content blockquote { border-left: 4px solid var(--eur-primary); margin: 0; padding: 4px 18px; color: var(--eur-muted); }
.eur-page-content pre { background: var(--eur-ink); color: #E2E8F0; padding: 16px; border-radius: 12px; overflow-x: auto; }
.eur-page-content img { border-radius: 12px; }
.eur-screen-reader-text, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* ---------- Skeleton loading ---------- */
.eur-skel { border-radius: var(--eur-radius); background: linear-gradient(90deg,#EEF0F4 25%,#F7F8FC 50%,#EEF0F4 75%); background-size: 200% 100%; animation: eurShimmer 1.2s infinite; min-height: 120px; }
@keyframes eurShimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ---------- Utility ---------- */
.eur-mt-1 { margin-top: 8px; } .eur-mt-2 { margin-top: 16px; } .eur-mt-3 { margin-top: 24px; }
.eur-mb-1 { margin-bottom: 8px; } .eur-mb-2 { margin-bottom: 16px; } .eur-mb-3 { margin-bottom: 24px; }
.eur-text-center { text-align: center; }
.eur-flex { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.eur-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 620px) { .eur-grid-2 { grid-template-columns: 1fr; } }

/* ================= EURIDITION DS-1 — permanent design system ================= */
:root{--eu-bg:#F6F7FB;--eu-card:#FFFFFF;--eu-tx:#0F172A;--eu-tx2:#475569;--eu-mu:#64748B;--eu-bd:#E8ECF4;--eu-r:16px;--eu-r-lg:20px;--eu-sh:0 1px 2px rgba(15,23,42,.05),0 10px 30px -12px rgba(15,23,42,.14);--eu-sh2:0 12px 28px -10px rgba(79,70,229,.45)}
body{background:var(--eu-bg);color:var(--eu-tx)}
.eur-hero{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(140deg,#4F46E5,#7C3AED 70%,#A855F7);color:#fff;padding:34px 30px;box-shadow:var(--eu-sh2);margin-bottom:26px}
.eur-hero h1{margin:6px 0 8px;font-size:clamp(24px,4vw,34px);font-weight:800;letter-spacing:-.5px}
.eur-hero p{margin:0;opacity:.92;font-weight:600;max-width:640px}
.eur-hero .eur-hero__chip{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);padding:6px 14px;border-radius:999px;font-size:13px;font-weight:800}
.eur-section__title{font-size:22px;font-weight:800;letter-spacing:-.3px}
.eur-res-card{border:1px solid var(--eu-bd);border-radius:var(--eu-r-lg);box-shadow:var(--eu-sh);transition:transform .15s,box-shadow .15s}
.eur-res-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px -14px rgba(15,23,42,.22)}
.eur-btn{border-radius:12px;font-weight:800}
.eur-btn-primary{box-shadow:var(--eu-sh2)}
.eur-tabs{background:var(--eu-bd);border-radius:999px;padding:4px;gap:4px}
.eur-tabs .eur-tab,.eur-tabs button{border:0;background:transparent;border-radius:999px;font-weight:800}
.eur-tabs .on,.eur-tabs button.on{background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.14)}
/* DS-1 — class picker tiles (website) */
.eur-class-tile{background:var(--eu-card);border:1px solid var(--eu-bd);border-radius:var(--eu-r-lg);box-shadow:var(--eu-sh);transition:transform .15s,box-shadow .15s,border-color .15s}
.eur-class-tile:hover{transform:translateY(-3px);box-shadow:0 16px 40px -14px rgba(15,23,42,.22);border-color:#C7CDF9}
.eur-class-tile.is-active{border-color:#4F46E5;box-shadow:0 0 0 3px rgba(79,70,229,.15),var(--eu-sh)}
.eur-badge{background:rgba(79,70,229,.08);color:#4F46E5;border:1px solid rgba(79,70,229,.18);border-radius:999px;font-weight:800}
.eur-badge .dot{background:#4F46E5}
.eur-hero__search input{border:1px solid var(--eu-bd);border-radius:12px}
.eur-page-head__icon{background:linear-gradient(135deg,#4F46E5,#7C3AED);color:#fff;border-radius:16px}
.eur-btn-accent{background:linear-gradient(135deg,#4F46E5,#7C3AED);box-shadow:var(--eu-sh2)}
.eur-notice{border-radius:var(--eu-r)}
.eur-empty{border:1.5px dashed var(--eu-bd);border-radius:var(--eu-r-lg);background:var(--eu-card)}

/* ---------- Premium registration experience (v2.15.11) ---------- */
.eur-signup-form { gap: 16px; }
.eur-signup-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin:-2px 0 2px; }
.eur-signup-trust span { padding:8px 5px; border:1px solid #E0E7FF; border-radius:999px; background:linear-gradient(180deg,#fff,#F5F7FF); color:#4338CA; font-size:10.5px; font-weight:800; text-align:center; white-space:nowrap; }
.eur-signup-form .eur-field > label { font-size:13px; letter-spacing:.01em; }
.eur-signup-form .eur-field input { min-height:50px; border-radius:15px; border-color:#DDE3F0; background:linear-gradient(180deg,#fff,#FCFCFF); transition:border-color .18s,box-shadow .18s,transform .18s; }
.eur-signup-form .eur-field input:focus { transform:translateY(-1px); box-shadow:0 0 0 4px rgba(79,70,229,.11),0 8px 24px rgba(79,70,229,.08); }
.eur-signup-form .eur-signup-quick { grid-template-columns:repeat(6,1fr)!important; gap:9px!important; }
.eur-signup-form .eur-signup-quick button { min-width:0; aspect-ratio:1; padding:0!important; border-radius:14px; font-size:15px; transition:transform .15s,box-shadow .15s,background .15s; }
.eur-signup-form .eur-signup-quick button:hover { transform:translateY(-2px); }
.eur-signup-form .eur-signup-quick button.is-active,
.eur-signup-form .eur-signup-quick button.eur-btn-primary { color:#fff; border-color:transparent; background:linear-gradient(135deg,#4F46E5,#7C3AED); box-shadow:0 8px 18px -8px rgba(79,70,229,.8); }
.eur-signup-form > .eur-btn[type="submit"] { min-height:54px; border-radius:16px; font-size:16px; box-shadow:0 12px 24px -12px rgba(79,70,229,.8); }
.eur-auth-wrap > .eur-card { background:linear-gradient(160deg,#fff 50%,#F7F7FF); border-color:#E2E6F2; }
@keyframes eurShake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-6px)} 75%{transform:translateX(6px)} }
.eur-shake { animation:eurShake .45s ease; }
@media (max-width:520px) { .eur-signup-trust { grid-template-columns:1fr; } .eur-signup-trust span { font-size:11px; } }

/* =========================================================
   Professional bright 3D homepage — v1.5.0
   Pure CSS, no external assets or heavy WebGL dependencies.
   ========================================================= */
.eur-hero-3d { padding-top:54px; background:
  radial-gradient(circle at 8% 8%,rgba(99,102,241,.18),transparent 27%),
  radial-gradient(circle at 92% 16%,rgba(14,165,233,.16),transparent 28%),
  radial-gradient(circle at 72% 82%,rgba(245,158,11,.13),transparent 25%),
  linear-gradient(180deg,#F9FAFF 0%,#F3F7FF 65%,var(--eur-bg) 100%); }
.eur-hero-3d::before { content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;background-image:radial-gradient(#6366F1 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(to bottom,#000,transparent 78%); }
.eur-hero-pro { position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:58px;align-items:center;min-height:510px; }
.eur-hero-copy { text-align:left;max-width:680px; }
.eur-hero-copy h1 { font-size:clamp(38px,5vw,68px);letter-spacing:-2.4px;margin:20px 0 16px; }
.eur-hero-copy .eur-hero__sub { margin:0;max-width:600px;font-size:18px; }
.eur-hero-actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:26px; }
.eur-hero-actions .eur-btn { min-height:50px; }
.eur-hero-trust { display:flex;gap:17px;flex-wrap:wrap;margin-top:18px;color:#475467;font-weight:700;font-size:12.5px; }
.eur-hero-trust span::first-letter { color:#12B76A; }
.eur-hero-copy .eur-hero__search { margin:24px 0 0;max-width:610px;padding:6px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.9);border-radius:999px;box-shadow:0 18px 50px -30px #312E81;backdrop-filter:blur(14px); }
.eur-hero-copy .eur-hero__search input { border:0;box-shadow:none;background:transparent; }
.eur-learning-scene { position:relative;min-height:430px;perspective:1000px;transform-style:preserve-3d; }
.eur-learning-scene::before { content:"";position:absolute;width:340px;height:340px;left:50%;top:49%;transform:translate(-50%,-50%);border-radius:50%;background:linear-gradient(145deg,#E0E7FF,#F5F3FF 62%,#DBEAFE);box-shadow:inset -25px -25px 60px rgba(99,102,241,.12),inset 18px 18px 45px #fff,0 40px 80px -35px rgba(49,46,129,.38); }
.eur-3d-main { position:absolute;z-index:5;width:265px;left:50%;top:50%;transform:translate(-50%,-50%) rotateY(-8deg) rotateX(5deg);padding:27px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(241,245,255,.92));border:1px solid rgba(255,255,255,.95);box-shadow:-18px 25px 50px -25px rgba(30,41,59,.4),inset 0 1px 0 #fff;animation:eurSceneFloat 5s ease-in-out infinite; }
.eur-3d-main::after { content:"";position:absolute;inset:10px -12px -14px 12px;z-index:-1;border-radius:28px;background:linear-gradient(135deg,#818CF8,#7C3AED);filter:saturate(.8); }
.eur-3d-main .eur-3d-icon { display:grid;place-items:center;width:66px;height:66px;border-radius:21px;background:linear-gradient(145deg,#EEF2FF,#fff);font-size:34px;box-shadow:0 14px 30px -18px #4338CA;margin-bottom:18px; }
.eur-3d-main strong { display:block;font-size:24px;letter-spacing:-.7px; }
.eur-3d-main small { display:block;color:#667085;font-weight:650;margin-top:3px; }
.eur-progress { height:8px;background:#E8EAF4;border-radius:999px;margin-top:23px;overflow:hidden; }
.eur-progress i { display:block;width:72%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4F46E5,#A855F7);box-shadow:0 0 14px #818CF8; }
.eur-float { position:absolute;z-index:7;display:grid;place-items:center;width:70px;height:70px;border-radius:22px;background:linear-gradient(145deg,#fff,#EEF2FF);border:1px solid #fff;font-size:34px;box-shadow:0 24px 45px -25px rgba(49,46,129,.55),inset 0 1px 0 #fff;animation:eurMiniFloat 4.4s ease-in-out infinite; }
.eur-float-book { left:4%;top:14%;transform:rotate(-10deg); }
.eur-float-atom { right:3%;top:8%;animation-delay:-1.1s; }
.eur-float-calc { left:8%;bottom:8%;animation-delay:-2.2s; }
.eur-float-cup { right:5%;bottom:9%;animation-delay:-3.1s; }
.eur-3d-pill { position:absolute;z-index:8;padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid #fff;box-shadow:0 14px 35px -22px #312E81;color:#344054;font-size:12px;font-weight:800;backdrop-filter:blur(10px);animation:eurMiniFloat 4.8s ease-in-out infinite; }
.eur-pill-a { left:-2%;top:46%;animation-delay:-.8s; }.eur-pill-b { right:-1%;top:45%;animation-delay:-2.4s; }
.eur-orbit { position:absolute;z-index:1;border:1px dashed rgba(99,102,241,.27);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-12deg); }
.eur-orbit-a { width:410px;height:260px; }.eur-orbit-b { width:310px;height:410px;transform:translate(-50%,-50%) rotate(42deg); }
.eur-scene-shadow { position:absolute;width:280px;height:50px;border-radius:50%;left:50%;bottom:7%;transform:translateX(-50%);background:rgba(49,46,129,.15);filter:blur(18px); }
@keyframes eurSceneFloat { 0%,100%{transform:translate(-50%,-50%) rotateY(-8deg) rotateX(5deg) translateY(0)}50%{transform:translate(-50%,-50%) rotateY(-4deg) rotateX(2deg) translateY(-10px)} }
@keyframes eurMiniFloat { 0%,100%{translate:0 0}50%{translate:0 -9px} }
.eur-hero-3d .eur-section--tight { position:relative;z-index:2;margin-top:26px;background:rgba(255,255,255,.64);border:1px solid rgba(255,255,255,.9);border-radius:30px 30px 0 0;box-shadow:0 -18px 60px -45px #312E81;backdrop-filter:blur(16px); }
.eur-hero-3d .eur-class-tile { transform-style:preserve-3d;box-shadow:0 10px 20px -16px rgba(30,41,59,.45),inset 0 1px 0 #fff; }
.eur-hero-3d .eur-class-tile:hover { transform:translateY(-7px) rotateX(4deg);box-shadow:0 20px 30px -20px rgba(79,70,229,.5); }
.eur-feature { transition:transform .2s ease,box-shadow .2s ease;transform-style:preserve-3d; }.eur-feature:hover{transform:translateY(-7px) rotateX(2deg);box-shadow:0 24px 45px -30px rgba(49,46,129,.55)}
@media(max-width:900px){.eur-hero-pro{grid-template-columns:1fr;gap:16px}.eur-hero-copy{text-align:center;margin:auto}.eur-hero-copy .eur-hero__sub,.eur-hero-copy .eur-hero__search{margin-left:auto;margin-right:auto}.eur-hero-actions,.eur-hero-trust{justify-content:center}.eur-learning-scene{min-height:390px;max-width:520px;width:100%;margin:auto}}
@media(max-width:540px){.eur-hero-3d{padding-top:34px}.eur-hero-pro{min-height:auto}.eur-hero-copy h1{letter-spacing:-1.4px}.eur-learning-scene{min-height:335px;transform:scale(.9);margin:-12px auto}.eur-learning-scene::before{width:285px;height:285px}.eur-orbit-a{width:350px}.eur-orbit-b{height:350px}.eur-3d-main{width:225px;padding:22px}.eur-float{width:57px;height:57px;border-radius:18px;font-size:27px}.eur-3d-pill{font-size:10px;padding:8px 10px}.eur-hero-actions .eur-btn{width:100%}.eur-hero-trust{gap:8px 13px}}
/* Progressive signup CTA — the secure form opens in the app popup. */
.eur-quick-signup-card{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 100% 0,rgba(124,58,237,.14),transparent 38%),linear-gradient(155deg,#fff,#F7F5FF);border-color:#DDD6FE}.eur-quick-orb{width:74px;height:74px;display:grid;place-items:center;border-radius:24px;background:linear-gradient(145deg,#EEF2FF,#fff);font-size:38px;box-shadow:10px 12px 0 #C7D2FE,0 22px 34px -24px #312E81;transform:rotate(5deg);margin:4px 0 25px}.eur-quick-steps{display:grid;gap:8px;margin:0 0 18px}.eur-quick-steps span{display:flex;align-items:center;gap:9px;color:#475467;font-size:13px;font-weight:750}.eur-quick-steps b{width:25px;height:25px;border-radius:9px;display:grid;place-items:center;background:#EEF2FF;color:#4338CA;font-size:11px}.eur-quick-note{text-align:center;margin:11px 0 0;color:#667085;font-size:11px;font-weight:650}
/* Euridition Identity v2 — Scholar Navy + Gold / Knowledge Path */
:root{--eur-primary:#0B1F3A;--eur-primary-2:#0B1F3A;--eur-accent:#B8860B;--eur-bg:#F5F2E9;--eur-surface:#FFFEFA;--eur-text:#10233E;--eur-muted:#677389;--eur-border:#D8D2C2;--eur-ink:#071426;--eur-radius:10px;--eur-radius-sm:6px;--eur-shadow-sm:0 1px 0 rgba(11,31,58,.05);--eur-shadow-md:0 10px 26px -22px rgba(11,31,58,.45);--eur-shadow-lg:0 18px 38px -30px rgba(11,31,58,.65);--eur-grad:#0B1F3A;--eur-grad-warm:#B8860B}
body{background-color:var(--eur-bg);background-image:linear-gradient(rgba(11,31,58,.025) 1px,transparent 1px);background-size:100% 28px;color:var(--eur-text)}
a{color:#0B1F3A}.eur-header{background:rgba(255,254,250,.96)!important;border-bottom:2px solid #B8860B!important;box-shadow:none!important}.eur-logo img,.custom-logo{border-radius:5px!important}.eur-nav a{border-radius:4px!important}.eur-nav a:hover,.eur-nav a.is-active{background:#0B1F3A!important;color:#fff!important}
.eur-btn,.eur-btn-primary,.eur-btn-accent{border-radius:7px!important;background:#0B1F3A!important;color:#fff!important;box-shadow:none!important;border:1px solid #0B1F3A!important}.eur-btn-secondary{background:transparent!important;color:#0B1F3A!important}.eur-btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #D8B85A;outline-offset:3px}
.eur-hero{border-radius:8px!important;background:#0B1F3A!important;box-shadow:none!important;border-bottom:5px solid #B8860B;overflow:hidden}.eur-hero:before,.eur-hero:after{display:none!important}.eur-hero__badge{border-radius:4px!important;background:transparent!important;border:1px solid rgba(216,184,90,.72)!important;color:#F5E5B8!important}.eur-hero__title em,.eur-gradient-text{background:none!important;color:#D8B85A!important;-webkit-text-fill-color:#D8B85A!important}
.eur-card,.eur-feature,.eur-resource-card,.eur-class-tile,.eur-subject-card,.eur-auth-wrap>.eur-card,.eur-stat-card{border-radius:10px!important;background:#FFFEFA!important;border-color:#D8D2C2!important;box-shadow:var(--eur-shadow-md)!important}.eur-feature,.eur-resource-card,.eur-subject-card{border-left:3px solid #B8860B!important}.eur-card .eur-card{box-shadow:none!important;border-radius:6px!important}
.eur-class-tile{border-radius:6px!important}.eur-class-tile.is-active{background:#FBF6E8!important;border-color:#B8860B!important}.eur-class-tile__emoji,.eur-feature__icon,.eur-page-head__icon,.eur-empty__emoji{font-size:0!important;background:transparent!important;border-radius:0!important}.eur-class-tile__emoji:after,.eur-feature__icon:after,.eur-page-head__icon:after,.eur-empty__emoji:after{content:"";display:block;width:30px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 7c6-2 9 0 13 4v17c-4-4-7-6-13-4V7Zm26 0c-6-2-9 0-13 4v17c4-4 7-6 13-4V7Z' fill='none' stroke='%230B1F3A' stroke-width='2.4'/%3E%3Cpath d='M16 11v17' stroke='%23B8860B' stroke-width='2.4'/%3E%3C/svg%3E") center/contain no-repeat}.eur-empty__emoji:after{width:54px;height:54px}.eur-feature__icon,.eur-page-head__icon{border:1px solid #D8D2C2!important;width:48px!important;height:48px!important;display:grid!important;place-items:center!important}
.eur-section-title:before{content:"";display:inline-block;width:22px;height:2px;background:#B8860B;vertical-align:middle;margin-right:9px}.eur-page-head{border-bottom:3px solid #B8860B!important}.eur-badge,.eur-chip,.eur-filter-btn{border-radius:4px!important}.eur-filter-btn.is-active{background:#0B1F3A!important;color:#fff!important}
.eur-stats{position:relative}.eur-stats:before{content:"";position:absolute;left:8%;right:8%;top:50%;height:2px;background:#B8860B}.eur-stat-card{position:relative;z-index:1}.eur-stats__num{background:none!important;color:#D8B85A!important;-webkit-text-fill-color:#D8B85A!important}
.eur-skel{border-radius:6px!important;background:repeating-linear-gradient(90deg,#EEE9DC 0 28px,#F7F4EC 28px 56px)!important;animation:none!important}.eur-footer{background:#071426!important;border-top:4px solid #B8860B}.eur-footer a{color:#E8DFCC!important}.eur-input,.eur-select,.eur-field input,.eur-field select,.eur-field textarea{border-radius:6px!important}.eur-field input:focus,.eur-field select:focus,.eur-field textarea:focus{border-color:#B8860B!important;box-shadow:0 0 0 3px rgba(184,134,11,.16)!important}
.eur-pulse-card,.eur-pulse-frame{border-radius:8px!important}.eur-progress__bar,.eur-progress-bar>i,.eur-reading-progress{background:#B8860B!important}.eur-bottom-nav{border-radius:9px!important;border-top:3px solid #B8860B!important;background:rgba(255,254,250,.97)!important}.eur-bottom-nav a.is-active{background:#0B1F3A!important;color:#D8B85A!important}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* =========================================================
   PUBLIC COMPANY WEBSITE — distinct from the student app
   ========================================================= */
.eur-company-home{background:#FFFEFA}.eur-site-hero{padding:88px 0 72px;background:#FFFEFA;border-bottom:1px solid var(--eur-border)}.eur-site-hero__grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);gap:70px;align-items:center}.eur-company-kicker{margin:0 0 12px;color:#987006;font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase}.eur-site-hero h1{max-width:760px;margin:0;color:#0B1F3A;font-size:clamp(42px,6.2vw,78px);line-height:.98;letter-spacing:-3.5px}.eur-site-lead{max-width:650px;margin:26px 0;color:#41516A;font-size:19px;line-height:1.65}.eur-site-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center}.eur-site-actions .eur-btn{width:auto;min-width:190px}.eur-site-proof{margin:18px 0 0;color:#677389;font-size:12px;font-weight:750;letter-spacing:.25px}.eur-knowledge-stage{position:relative;min-height:390px;padding:54px 34px 38px;display:flex;flex-direction:column;justify-content:center;background:#0B1F3A;border:1px solid #0B1F3A;border-bottom:8px solid #B8860B;box-shadow:24px 24px 0 #E9E3D3}.eur-knowledge-stage img{width:100%;filter:drop-shadow(0 20px 18px rgba(0,0,0,.23))}.eur-stage-labels{display:flex;justify-content:flex-end;gap:35px;margin-top:18px;color:#F5E5B8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}.eur-site-strip{border-bottom:1px solid var(--eur-border);background:#F5F2E9}.eur-site-strip .eur-container{min-height:66px;display:flex;justify-content:space-between;align-items:center;gap:20px;overflow:auto}.eur-site-strip span{white-space:nowrap;color:#0B1F3A;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.eur-site-strip span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;background:#B8860B;transform:rotate(45deg)}.eur-site-section{padding:92px 0;background:#FFFEFA}.eur-site-heading{max-width:760px;margin-bottom:48px}.eur-site-heading h2,.eur-site-split h2,.eur-audience-grid h2,.eur-site-cta h2{margin:0 0 15px;color:#0B1F3A;font-size:clamp(30px,4vw,50px);line-height:1.08;letter-spacing:-1.8px}.eur-site-heading>p:last-child{color:#677389;font-size:17px}.eur-product-rail{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--eur-border)}.eur-product-rail:before{content:"";position:absolute;left:7%;right:7%;top:44px;height:3px;background:#B8860B}.eur-product-rail article{position:relative;min-height:265px;padding:27px 25px;background:#FFFEFA;border-right:1px solid var(--eur-border)}.eur-product-rail article:last-child{border-right:0}.eur-product-rail article>b{position:relative;z-index:1;display:grid;width:36px;height:36px;place-items:center;margin-bottom:49px;background:#0B1F3A;border:4px solid #FFFEFA;color:#D8B85A;font-size:10px}.eur-product-rail h3{font-size:18px;color:#0B1F3A}.eur-product-rail p{color:#677389;font-size:14px}.eur-site-section--navy{background:#0B1F3A;color:#E6EBF0;border-top:7px solid #B8860B}.eur-site-section--navy .eur-company-kicker{color:#D8B85A}.eur-site-section--navy h2{color:#fff}.eur-site-section--navy p{color:#BDC7D4}.eur-site-split{display:grid;grid-template-columns:1fr 1fr;gap:90px}.eur-text-link{color:#F5E5B8;font-weight:850}.eur-trust-list p{display:grid;grid-template-columns:38px 1fr;column-gap:15px;margin:0;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14)}.eur-trust-list span{grid-row:1/3;color:#D8B85A;font-weight:900}.eur-trust-list b,.eur-trust-list small{display:block}.eur-trust-list b{color:#fff}.eur-trust-list small{margin-top:4px;color:#AEB9C7}.eur-audience-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--eur-border);border-bottom:1px solid var(--eur-border)}.eur-audience-grid article{padding:42px 34px;border-right:1px solid var(--eur-border)}.eur-audience-grid article:last-child{border-right:0}.eur-audience-grid h2{font-size:28px;letter-spacing:-.8px}.eur-audience-grid p:not(.eur-company-kicker){color:#677389}.eur-audience-grid a{font-weight:900;color:#0B1F3A}.eur-site-cta{padding:62px 0;background:#F5F2E9}.eur-site-cta>.eur-container{display:flex;justify-content:space-between;align-items:center;gap:40px}.eur-site-cta h2{font-size:36px;margin:0}
/* Company and policy pages */
.eur-company-mast{padding:78px 0 66px;background:#0B1F3A;border-bottom:7px solid #B8860B;color:#fff}.eur-company-mast h1{max-width:900px;margin:0 0 16px;color:#fff;font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:-2.7px}.eur-company-mast>div>p:last-child{max-width:720px;margin:0;color:#C8D0DB;font-size:18px}.eur-company-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:74px;padding-top:70px;padding-bottom:90px}.eur-company-content{font-size:16px;line-height:1.75}.eur-company-content h2{margin:42px 0 12px;color:#0B1F3A;font-size:27px;letter-spacing:-.6px}.eur-company-content h2:first-child{margin-top:0}.eur-company-content li{margin-bottom:9px}.eur-company-content .eur-btn{display:inline-flex;width:auto}.eur-policy-note{padding:15px 17px;background:#FBF6E8;border-left:4px solid #B8860B;color:#604A16;font-size:13px}.eur-company-aside{align-self:start;position:sticky;top:90px;padding:22px;border-top:4px solid #B8860B;background:#F5F2E9}.eur-company-aside h2{font-size:16px}.eur-company-aside nav{display:flex;flex-direction:column}.eur-company-aside nav a{padding:9px 0;border-bottom:1px solid #D8D2C2;color:#41516A;font-size:12px;font-weight:750}.eur-company-aside nav a.is-current{color:#0B1F3A;font-weight:950}.eur-company-path{display:flex;align-items:center;margin-bottom:18px}.eur-company-path span{width:35px;height:25px;border:2px solid #0B1F3A;border-radius:50% 50% 3px 3px}.eur-company-path:after{content:"";flex:1;height:2px;background:#B8860B}.eur-company-path i{z-index:1;width:9px;height:9px;margin-left:28px;border:2px solid #B8860B;border-radius:50%;background:#F5F2E9}.eur-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#D8D2C2;border:1px solid #D8D2C2}.eur-evidence-grid article{padding:22px;background:#FFFEFA}.eur-evidence-grid b{color:#0B1F3A}.eur-team-profile{display:grid;grid-template-columns:90px 1fr;gap:23px;align-items:start}.eur-team-mark{display:grid;width:80px;height:80px;place-items:center;background:#0B1F3A;border-bottom:5px solid #B8860B;color:#D8B85A;font-size:22px;font-weight:950}
@media(max-width:900px){.eur-site-hero{padding:54px 0}.eur-site-hero__grid,.eur-site-split{grid-template-columns:1fr;gap:42px}.eur-knowledge-stage{min-height:300px;box-shadow:12px 12px 0 #E9E3D3}.eur-product-rail{grid-template-columns:1fr 1fr}.eur-product-rail:before{display:none}.eur-product-rail article{border-bottom:1px solid var(--eur-border)}.eur-audience-grid{grid-template-columns:1fr}.eur-audience-grid article{border-right:0;border-bottom:1px solid var(--eur-border)}.eur-company-layout{grid-template-columns:1fr}.eur-company-aside{position:static}.eur-site-cta>.eur-container{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.eur-site-hero h1{font-size:44px;letter-spacing:-2px}.eur-site-actions{align-items:stretch;flex-direction:column}.eur-site-actions .eur-btn{width:100%}.eur-knowledge-stage{min-height:240px;padding:30px 18px}.eur-stage-labels{gap:16px}.eur-site-section{padding:64px 0}.eur-product-rail{grid-template-columns:1fr}.eur-company-mast{padding:55px 0}.eur-company-layout{padding-top:45px}.eur-evidence-grid{grid-template-columns:1fr}}

/* v1.7.1 phone hardening — no horizontal canvas, compact header, touch-first stacks */
html,body{max-width:100%;overflow-x:hidden}.eur-company-home,.eur-company-page,#eur-main{width:100%;min-width:0}.eur-company-home *,.eur-company-page *{min-width:0}.eur-company-content{overflow-wrap:anywhere;word-break:normal}.eur-company-content table{display:block;max-width:100%;overflow-x:auto}.eur-company-content pre,.eur-company-content code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:720px){
  :root{--eur-header-h:58px}
  .eur-container{width:100%;max-width:100%;padding-left:16px;padding-right:16px}
  .eur-header__inner{height:58px;gap:8px;padding-left:12px;padding-right:12px}
  .eur-brand{font-size:16px;gap:7px;flex:none}.eur-brand__mark{width:32px;height:32px}.eur-brand__tag{display:none}
  .eur-lang{display:none}.eur-header__spacer{display:block;flex:1}
  .eur-header__cta{gap:6px;flex:none}.eur-header__cta .eur-btn-primary{min-width:0;padding:8px 9px!important;font-size:11px!important;white-space:nowrap}.eur-burger{width:38px;height:38px;border-radius:6px}
  .eur-nav{top:58px;max-height:calc(100dvh - 58px);overflow-y:auto;padding:10px 14px 16px!important;background:#FFFEFA!important;border-bottom:4px solid #B8860B!important}.eur-nav a{padding:12px!important;border-bottom:1px solid #E4DECF;border-radius:0!important}
  .eur-site-hero{padding:44px 0 46px}.eur-site-hero__grid{display:block}.eur-site-hero__copy{width:100%}.eur-site-hero h1{max-width:100%;font-size:clamp(38px,12vw,52px);line-height:1.02;letter-spacing:-2px;overflow-wrap:normal}.eur-site-lead{margin:20px 0;font-size:16px;line-height:1.55}.eur-site-proof{line-height:1.5}
  .eur-knowledge-stage{width:calc(100% - 8px);min-height:0;margin:42px 0 8px;padding:28px 16px 22px;box-shadow:8px 8px 0 #E9E3D3}.eur-knowledge-stage img{width:100%;height:auto}.eur-stage-labels{justify-content:space-between;gap:4px;font-size:9px}
  .eur-site-strip .eur-container{padding:0 16px;justify-content:flex-start;scrollbar-width:none}.eur-site-strip .eur-container::-webkit-scrollbar{display:none}
  .eur-site-section{padding:54px 0}.eur-site-heading{margin-bottom:30px}.eur-site-heading h2,.eur-site-split h2,.eur-site-cta h2{font-size:clamp(29px,9vw,39px);letter-spacing:-1.2px}.eur-site-heading>p:last-child{font-size:15px}
  .eur-product-rail{display:block}.eur-product-rail article{min-height:0;padding:22px 20px;border-right:0;border-bottom:1px solid var(--eur-border)}.eur-product-rail article>b{margin-bottom:20px}.eur-product-rail article:last-child{border-bottom:0}
  .eur-site-split{display:block}.eur-site-split>div+div{margin-top:35px}.eur-trust-list p{grid-template-columns:30px minmax(0,1fr)}
  .eur-audience-grid{display:block}.eur-audience-grid article{padding:32px 20px}.eur-audience-grid h2{font-size:26px}
  .eur-site-cta>.eur-container{display:block}.eur-site-cta .eur-site-actions{margin-top:25px}
  .eur-company-mast{padding:45px 0 38px}.eur-company-mast h1{font-size:clamp(37px,12vw,52px);letter-spacing:-1.7px;overflow-wrap:anywhere}.eur-company-mast>div>p:last-child{font-size:15px}
  .eur-company-layout{display:flex;flex-direction:column;padding-top:38px;padding-bottom:58px;gap:42px}.eur-company-content{font-size:15px;line-height:1.7}.eur-company-content h2{margin-top:34px;font-size:24px}.eur-company-content ul,.eur-company-content ol{padding-left:21px}.eur-company-aside{width:100%;padding:17px}.eur-evidence-grid{display:block}.eur-evidence-grid article+article{border-top:1px solid var(--eur-border)}.eur-team-profile{grid-template-columns:64px minmax(0,1fr);gap:15px}.eur-team-mark{width:60px;height:60px}
  .eur-footer__grid{grid-template-columns:1fr!important;gap:8px;padding:38px 0 24px}.eur-footer__grid>div{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}.eur-footer__bottom{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(max-width:390px){
  .eur-header__cta .eur-btn-primary{display:none}.eur-brand>span{font-size:14px}.eur-site-hero h1{font-size:38px}.eur-site-actions .eur-btn{min-width:0}.eur-company-kicker{font-size:10px;letter-spacing:1.2px}.eur-knowledge-stage{padding:22px 12px 18px}.eur-site-strip span{font-size:9px}
}

/* v1.8 Euridition — public product-information website */
.eur-brand__name{display:block;min-width:0;line-height:1}.eur-brand__name>strong,.eur-brand__name>small{display:block}.eur-brand__name>strong{color:#0B1F3A;font-size:18px;font-weight:950;letter-spacing:-.55px}.eur-brand__name>small{margin-top:2px;color:#987006;font-size:9px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.eur-footer .eur-brand__name>strong{color:#fff}.eur-footer .eur-brand__name>small{color:#D8B85A}.eur-brand__mark{border-radius:8px;box-shadow:0 5px 12px -5px rgba(11,31,58,.65)}
.eur-site-purpose{padding:28px 0;background:#F5F2E9;border-bottom:1px solid var(--eur-border)}.eur-site-purpose__grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:58px;align-items:center}.eur-site-purpose h2{margin:0;color:#0B1F3A;font-size:25px;line-height:1.15}.eur-site-purpose p{margin:0;color:#526078;font-size:14px;line-height:1.7}.eur-site-purpose a{color:#805E08;font-weight:900}
.eur-capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--eur-border);border-left:1px solid var(--eur-border)}.eur-capability-grid article{min-height:225px;padding:27px 25px;border-right:1px solid var(--eur-border);border-bottom:1px solid var(--eur-border);background:#FFFEFA}.eur-capability-grid article>span{display:grid;width:34px;height:34px;place-items:center;margin-bottom:28px;background:#0B1F3A;color:#D8B85A;font-size:9px;font-weight:900}.eur-capability-grid h3{margin:0 0 9px;color:#0B1F3A;font-size:18px}.eur-capability-grid p{margin:0;color:#677389;font-size:13px;line-height:1.6}.eur-capability-actions{margin-top:24px}
.eur-info-directory{background:#F5F2E9}.eur-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #CFC7B4;border-left:1px solid #CFC7B4}.eur-info-grid a{position:relative;display:block;min-height:152px;padding:24px 50px 24px 24px;border-right:1px solid #CFC7B4;border-bottom:1px solid #CFC7B4;background:#FFFEFA;color:#0B1F3A}.eur-info-grid a:hover{background:#0B1F3A;color:#fff}.eur-info-grid b,.eur-info-grid span{display:block}.eur-info-grid b{font-size:17px}.eur-info-grid span{margin-top:8px;color:#677389;font-size:12px;line-height:1.5}.eur-info-grid a:hover span{color:#C8D0DB}.eur-info-grid i{position:absolute;right:22px;top:22px;color:#B8860B;font-size:22px;font-style:normal}
@media(max-width:900px){.eur-site-purpose__grid{grid-template-columns:1fr;gap:12px}.eur-capability-grid,.eur-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.eur-brand__name>strong{font-size:15px}.eur-brand__name>small{font-size:7px}.eur-capability-grid,.eur-info-grid{grid-template-columns:1fr}.eur-capability-grid article{min-height:0;padding:22px 20px}.eur-capability-grid article>span{margin-bottom:17px}.eur-site-purpose{padding:23px 0}.eur-site-purpose h2{font-size:21px}.eur-info-grid a{min-height:130px}.eur-stage-labels{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:8px 12px}}


/* === Public discovery and learning-resource pages === */
/* Public resource discovery pages — intentionally distinct from the student app. */
.eur-seo-crumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 24px;font-size:13px;color:#667085}.eur-seo-crumb a{color:#344054;text-decoration:none}.eur-seo-crumb a:hover{text-decoration:underline}.eur-learning-page{padding:clamp(24px,5vw,52px);border:1px solid #e7e9ee;border-radius:24px;background:#fff;box-shadow:0 12px 44px rgba(16,24,40,.06)}.eur-learning-page h1{font-size:clamp(30px,5vw,50px);line-height:1.08;letter-spacing:-.035em;margin:10px 0 18px}.eur-learning-lead{font-size:18px;line-height:1.7;color:#475467;max-width:760px}.eur-learning-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0}.eur-learning-facts span{display:flex;flex-direction:column;gap:4px;padding:14px;background:#f8fafc;border:1px solid #eaecf0;border-radius:14px;color:#344054}.eur-learning-facts b{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#667085}.eur-learning-content{font-size:16px;line-height:1.75;margin:30px 0}.eur-learning-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#eef4ff,#f5f3ff);border:1px solid #d9e2ff}.eur-learning-cta div{display:flex;flex-direction:column;gap:4px}.eur-learning-cta span{font-size:14px;color:#475467}.eur-learning-disclaimer{font-size:13px;color:#667085;margin:24px 0 8px}.eur-tax-head{max-width:820px;padding:clamp(22px,5vw,48px);border-radius:24px;background:linear-gradient(145deg,#101828,#1d2939);color:#fff}.eur-tax-head>p{font-size:12px;font-weight:800;letter-spacing:.13em;color:#a9b7d0}.eur-tax-head h1{font-size:clamp(30px,5vw,50px);line-height:1.1;margin:10px 0 16px}.eur-tax-head div{font-size:17px;line-height:1.65;color:#d0d5dd}.eur-tax-head div p{margin:0}@media(max-width:700px){.eur-learning-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.eur-learning-cta{align-items:flex-start;flex-direction:column}.eur-learning-cta .eur-btn{width:100%;text-align:center}}@media(max-width:420px){.eur-learning-facts{grid-template-columns:1fr}.eur-learning-page{border-radius:18px}}
