/* Subject "Minimalist" (light corporate) theme — pages/subject_minimalist.html.
   Every rule is scoped under .subj-min so it can't leak into / clash with
   the site's global Bootstrap-based CSS (main.css, cms.css). */

.subj-min{
  --xm-bg:#f5f6f8;
  --xm-surface:#ffffff;
  --xm-primary:#1e3a65;
  --xm-action:#1f9ed1;
  --xm-outline:#d1d1d6;
  --xm-outline-soft:#e5e5ea;
  --xm-icon-bg:#eef0f4;
  --xm-body-text:#333333;
  --xm-muted:#666666;
  --xm-font-display:'Jost', ui-sans-serif, system-ui, sans-serif;
  --xm-font-body:'Open Sans', ui-sans-serif, system-ui, sans-serif;
  --xm-font-label:'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
  --xm-font-mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;

  /* Aliases so existing ContentTemplate snippets (CKEditor "Templates"
     picker) — which reference the OLD Arsha theme's --heading-color/
     --accent-color/--surface-color/--default-color/--heading-font — pick up
     this theme's own palette automatically wherever inserted into a
     .subj-min page's rich-text content, with zero changes to the snippets. */
  --heading-color:var(--xm-primary);
  --accent-color:var(--xm-action);
  --surface-color:var(--xm-surface);
  --default-color:var(--xm-body-text);
  --heading-font:var(--xm-font-display);

  background:var(--xm-bg);
  color:var(--xm-body-text);
  font-family:var(--xm-font-body);
}
.subj-min *{box-sizing:border-box;}
.subj-min a{color:inherit;text-decoration:none;}
.subj-min h1,.subj-min h2,.subj-min h3,.subj-min h4,.subj-min p{margin:0;}
.subj-min .xm-container{max-width:1320px;margin:0 auto;padding:0 24px;}

.subj-min .xm-crumb-bar{background:var(--xm-surface);border-bottom:1px solid var(--xm-outline-soft);padding:14px 0;}
.subj-min .xm-crumb-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-family:var(--xm-font-body);font-size:.85rem;}
.subj-min .xm-crumb-nav a{color:var(--xm-muted);}
.subj-min .xm-crumb-nav a:hover{color:var(--xm-primary);}
.subj-min .xm-crumb-nav .sep{color:var(--xm-outline);}
.subj-min .xm-crumb-nav .current{color:var(--xm-primary);font-weight:600;}

/* Core Area/Value Prop icons are Material Symbols (font icons); the shared
   Subject.icon field renders as a Bootstrap Icons <i> (see base_node.html) —
   both are font-glyph techniques, so .xm-icon's font-size sizing (below)
   applies uniformly to either element type. */
.subj-min .material-symbols-outlined{
  font-family:'Material Symbols Outlined';
  font-weight:normal; font-style:normal; font-size:inherit;
  line-height:1; letter-spacing:normal; text-transform:none;
  display:inline-block; white-space:nowrap; word-wrap:normal; direction:ltr;
  -webkit-font-smoothing:antialiased; vertical-align:middle;
}

/* Compound ".xm-island-panel.xm-hero" (not just ".xm-hero") so this reliably
   outranks .xm-island-panel's own padding/background further down this file —
   same specificity (2 classes) plus later-in-file would otherwise win. */
.subj-min .xm-island-panel.xm-hero{
  padding:40px 28px; position:relative; overflow:hidden;
  display:grid; gap:32px; align-items:center;
  background:radial-gradient(120% 140% at 0% 0%, #dbeeff 0%, var(--xm-surface) 55%);
}
@media (min-width:900px){
  .subj-min .xm-island-panel.xm-hero{padding:56px 40px; grid-template-columns:1.1fr 0.9fr; gap:48px;}
}
.subj-min .xm-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;font-family:var(--xm-font-label);
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--xm-action);margin-bottom:1rem;
}
.subj-min .xm-hero h1{
  font-family:var(--xm-font-display);font-weight:700;
  font-size:clamp(1.9rem, 1.2rem + 2.4vw, 3rem);line-height:1.1;
  color:var(--xm-primary);margin-bottom:1.4rem;
}
.subj-min .xm-hero p.xm-lede{
  font-family:var(--xm-font-body);font-size:1.05rem;line-height:1.7;
  color:var(--xm-muted);max-width:46ch;margin-bottom:2rem;
}
.subj-min .xm-pricing-tiers{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:1.6rem;}
.subj-min .xm-tier{
  display:flex;flex-direction:column;gap:2px;background:var(--xm-surface);
  border:1px solid var(--xm-outline-soft);border-radius:14px;padding:12px 18px;min-width:170px;
}
.subj-min .xm-tier-label{font-family:var(--xm-font-label);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--xm-muted);}
.subj-min .xm-tier-note{font-size:.72rem;color:var(--xm-muted);}
.subj-min .xm-tier-price{font-family:var(--xm-font-display);font-size:1.3rem;font-weight:700;color:var(--xm-primary);}
.subj-min .xm-tier-premium{border-color:var(--xm-action);background:linear-gradient(180deg, rgba(31,158,209,0.06), transparent);}
.subj-min .xm-tier-premium .xm-tier-price{color:var(--xm-action);}

.subj-min .xm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  background:var(--xm-action);color:#fff;font-family:var(--xm-font-label);
  font-weight:600;font-size:.9rem;padding:.95rem 1.9rem;border-radius:999px;
  transition:opacity .25s ease, box-shadow .25s ease;
}
.subj-min .xm-btn:hover{opacity:.92;box-shadow:0 8px 20px -6px rgba(30,58,101,0.4);}
.subj-min .xm-btn:focus-visible{outline:2px solid var(--xm-action);outline-offset:3px;}
.subj-min .xm-btn .xm-icon{font-size:1.1rem;}

.subj-min .xm-hero-visual{position:relative;border-radius:1.5rem;overflow:hidden;aspect-ratio:16/9;}
@media (min-width:900px){ .subj-min .xm-hero-visual{aspect-ratio:4/3;} }
.subj-min .xm-hero-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.subj-min .xm-placeholder{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--xm-icon-bg);}
.subj-min .xm-placeholder-grid{position:absolute;inset:0;width:100%;height:100%;display:block;}
.subj-min .xm-placeholder-icon{position:relative;font-size:4rem;color:var(--xm-primary);opacity:.55;}
.subj-min .xm-illustration{background:var(--xm-surface);}
.subj-min .xm-illustration-svg{width:100%;height:100%;display:block;color:var(--xm-primary);}
.subj-min .xm-eq-chip{
  position:absolute;background:rgba(255,255,255,0.92);border:1px solid var(--xm-outline-soft);
  border-radius:.5rem;padding:.4rem .65rem;font-family:var(--xm-font-mono);
  font-size:.72rem;color:var(--xm-primary);box-shadow:0 2px 10px rgba(0,0,0,0.06);
}
.subj-min .xm-eq-chip.top{top:1.1rem;right:1.1rem;}
.subj-min .xm-eq-chip.bottom{bottom:1.1rem;left:1.1rem;color:var(--xm-action);}

.subj-min .hero-draw{
  stroke-dasharray:1;stroke-dashoffset:1;
  animation:xm-hero-draw 1.4s ease-out .2s forwards;
}
@keyframes xm-hero-draw{to{stroke-dashoffset:0;}}

.subj-min .hero-float{
  transform-box:fill-box;transform-origin:center;
  animation:xm-hero-float 3s ease-in-out infinite;
}
@keyframes xm-hero-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-4px);}}

.subj-min .hero-pulse{animation:xm-hero-pulse 2.4s ease-in-out infinite;}
@keyframes xm-hero-pulse{0%,100%{opacity:1;}50%{opacity:.4;}}

/* Two-tone treatment matching the source mockup: primary silhouette stays
   navy (inherited from .xm-illustration-svg), motion/detail flourishes
   (arrows, waves, floating accents) pick up the action blue. */
.subj-min .hero-accent{color:var(--xm-action);}

@media (prefers-reduced-motion:reduce){
  .subj-min .hero-draw{animation:none;stroke-dashoffset:0;}
  .subj-min .hero-float,.subj-min .hero-pulse{animation:none;}
}

.subj-min .xm-island{padding:64px 0;background-color:var(--xm-bg);}
.subj-min .xm-island.xm-island-tight{padding-top:0;}
.subj-min .xm-island-panel{
  background:var(--xm-surface);border:1px solid var(--xm-outline-soft);
  border-radius:1.75rem;box-shadow:0 4px 24px -8px rgba(0,0,0,0.08);padding:3rem 2.5rem;
}
.subj-min .xm-section-head{text-align:center;max-width:640px;margin:0 auto 3rem;}
.subj-min .xm-section-head h2{
  font-family:var(--xm-font-display);font-weight:700;font-size:2rem;
  color:var(--xm-primary);margin-bottom:1rem;
}
.subj-min .xm-section-head p{font-size:1rem;line-height:1.6;color:var(--xm-muted);}

.subj-min .xm-icon{font-size:24px;line-height:1;display:inline-block;}

.subj-min .xm-card-grid{display:grid;gap:2rem;}
.subj-min .xm-area-card{
  background:var(--xm-surface);border:1px solid var(--xm-outline-soft);border-radius:1rem;
  padding:2rem;transition:box-shadow .25s ease,border-color .25s ease;
}
.subj-min .xm-area-card:hover{box-shadow:0 8px 24px -10px rgba(0,0,0,0.14);border-color:var(--xm-outline);}
.subj-min .xm-icon-box{
  width:48px;height:48px;background:var(--xm-icon-bg);border-radius:.75rem;
  display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;
  color:var(--xm-primary);transition:background .25s ease,color .25s ease;
}
.subj-min .xm-area-card:hover .xm-icon-box{background:var(--xm-primary);color:#fff;}
.subj-min .xm-area-card.is-featured{border-color:rgba(31,158,209,0.4);box-shadow:0 0 0 1px rgba(31,158,209,0.15) inset;}
.subj-min .xm-area-card.is-featured .xm-icon-box{background:rgba(31,158,209,0.12);color:var(--xm-action);}
.subj-min .xm-area-card h3{font-family:var(--xm-font-display);font-weight:600;font-size:1.25rem;color:var(--xm-primary);margin-bottom:.75rem;}
.subj-min .xm-area-card p{font-size:.95rem;line-height:1.55;color:var(--xm-muted);}

.subj-min .xm-other-card{
  background:var(--xm-surface);border:1px solid var(--xm-outline-soft);border-radius:1rem;
  padding:2rem;display:flex;flex-direction:column;transition:box-shadow .25s ease,border-color .25s ease;
}
.subj-min .xm-other-card:hover{box-shadow:0 8px 24px -10px rgba(0,0,0,0.14);border-color:var(--xm-outline);}
.subj-min .xm-other-card:focus-visible{outline:2px solid var(--xm-action);outline-offset:3px;}
.subj-min .xm-other-card h3{font-family:var(--xm-font-display);font-weight:600;font-size:1.25rem;color:var(--xm-primary);margin-bottom:.75rem;}
.subj-min .xm-other-card p{font-size:.95rem;line-height:1.55;color:var(--xm-muted);margin-bottom:1.5rem;flex-grow:1;}
.subj-min .xm-view-link{display:flex;align-items:center;gap:.5rem;font-family:var(--xm-font-label);font-size:.85rem;font-weight:600;color:var(--xm-primary);}
.subj-min .xm-other-card:hover .xm-view-link{color:var(--xm-action);}
.subj-min .xm-view-link .xm-icon{font-size:1.1rem;}

.subj-min .xm-steps{display:grid;gap:2rem;position:relative;}
.subj-min .xm-steps-line{position:absolute;top:2rem;left:10%;right:10%;height:1px;background:var(--xm-outline-soft);z-index:0;}
.subj-min .xm-step{position:relative;z-index:1;text-align:center;}
.subj-min .xm-step-num{
  width:4rem;height:4rem;border-radius:50%;background:var(--xm-surface);
  border:1px solid var(--xm-outline-soft);box-shadow:0 2px 8px rgba(0,0,0,0.06);
  display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;
  font-family:var(--xm-font-display);font-weight:600;font-size:1.25rem;color:var(--xm-primary);
  font-variant-numeric:tabular-nums;
}
.subj-min .xm-step.is-final .xm-step-num{background:var(--xm-primary);color:#fff;border:4px solid var(--xm-surface);box-shadow:0 4px 14px -4px rgba(30,58,101,0.5);}
.subj-min .xm-step h4{font-family:var(--xm-font-display);font-weight:600;font-size:1.1rem;color:var(--xm-primary);margin-bottom:.5rem;}
.subj-min .xm-step p{font-size:.88rem;line-height:1.5;color:var(--xm-muted);padding:0 .5rem;}

.subj-min .xm-value-grid{display:grid;gap:3rem;}
.subj-min .xm-value-item{display:flex;flex-direction:column;align-items:center;text-align:center;}
.subj-min .xm-value-item .xm-icon{font-size:2.5rem;color:var(--xm-primary);margin-bottom:1rem;}
.subj-min .xm-value-item h3{font-family:var(--xm-font-display);font-weight:600;font-size:1.25rem;color:var(--xm-primary);margin-bottom:.75rem;}
.subj-min .xm-value-item p{font-size:.95rem;line-height:1.55;color:var(--xm-muted);}

.subj-min .xm-faq-wrap{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;}
.subj-min .xm-faq-item{
  background:var(--xm-surface);border:1px solid var(--xm-outline-soft);border-radius:1rem;
  padding:1.4rem 1.6rem;
}
.subj-min .xm-faq-item h3{font-family:var(--xm-font-display);font-weight:600;font-size:1.05rem;color:var(--xm-primary);margin-bottom:.5rem;}
.subj-min .xm-faq-item .xm-faq-body{font-size:.92rem;line-height:1.6;color:var(--xm-muted);}

/* ── Typed PageSection layouts (see _typed_section_body.html) ─────────────── */
.subj-min .xm-richtext{font-size:.95rem;color:var(--xm-muted);}
.subj-min .xm-richtext p{margin:0 0 .75rem;}
.subj-min .xm-richtext p:last-child{margin-bottom:0;}

/* Entry Requirements / Learning Outcomes checklists */
.subj-min .xm-req-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;}
@media (min-width:760px){ .subj-min .xm-req-grid{grid-template-columns:1fr 1fr;} }
.subj-min .xm-req-col h3{margin-bottom:.5rem;}
.subj-min .xm-req-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem;}
.subj-min .xm-req-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:var(--xm-muted);}
.subj-min .xm-req-list .material-symbols-outlined{color:var(--xm-action);font-size:1.2rem;margin-top:1px;}

/* Assessment & Exams — paper cards */
.subj-min .xm-paper-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;}
@media (min-width:700px){ .subj-min .xm-paper-grid{grid-template-columns:repeat(3,1fr);} }
.subj-min .xm-paper-card{background:var(--xm-surface);border:1px solid var(--xm-outline-soft);border-radius:1rem;padding:2rem;text-align:center;}
.subj-min .xm-paper-card h4{font-family:var(--xm-font-display);font-weight:600;font-size:1.1rem;color:var(--xm-primary);margin-bottom:.3rem;}
.subj-min .xm-paper-card .xm-paper-sub{font-size:.85rem;color:var(--xm-muted);margin:0 0 1rem;}
.subj-min .xm-paper-card .xm-paper-pct{font-family:var(--xm-font-display);font-size:1.6rem;font-weight:700;color:var(--xm-action);}
.subj-min .xm-paper-card .xm-paper-detail{font-size:.78rem;color:var(--xm-muted);margin-top:.5rem;}

/* Resources & Materials — icon grid (reuses .xm-icon-box) */
.subj-min .xm-res-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;}
@media (min-width:700px){ .subj-min .xm-res-grid{grid-template-columns:repeat(4,1fr);} }
.subj-min .xm-res-item{text-align:center;}
.subj-min .xm-res-item .xm-icon-box{margin:0 auto 1rem;}
.subj-min .xm-res-item span.lbl{font-family:var(--xm-font-label);font-size:.85rem;font-weight:600;color:var(--xm-primary);}

/* Tutors — mini profile cards */
.subj-min .xm-tutor-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;}
@media (min-width:700px){ .subj-min .xm-tutor-grid{grid-template-columns:repeat(3,1fr);} }
.subj-min .xm-tutor-card{text-align:center;}
.subj-min .xm-tutor-photo{
  width:88px;height:88px;border-radius:50%;margin:0 auto .9rem;background:var(--xm-icon-bg);
  overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--xm-primary);
}
.subj-min .xm-tutor-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.subj-min .xm-tutor-photo .material-symbols-outlined{font-size:2.25rem;}
.subj-min .xm-tutor-card h4{font-family:var(--xm-font-display);font-weight:600;font-size:1.05rem;color:var(--xm-primary);margin-bottom:.25rem;}
.subj-min .xm-tutor-card p{font-size:.85rem;color:var(--xm-muted);margin:0;}

/* Custom Message */
.subj-min .xm-quote-panel{background:var(--xm-primary);border-radius:1.75rem;padding:3rem 2.5rem;text-align:center;color:#fff;}
.subj-min .xm-quote-panel .material-symbols-outlined{font-size:2rem;color:#fff;opacity:.9;}
.subj-min .xm-quote-panel h2{color:#fff;font-weight:600;font-size:1.4rem;margin:.6rem 0 1.1rem;}
.subj-min .xm-quote-panel blockquote{margin:0 auto .9rem;max-width:60ch;font-size:1.05rem;font-style:italic;line-height:1.6;color:rgba(255,255,255,.92);}
.subj-min .xm-quote-panel .attrib{font-family:var(--xm-font-label);font-size:.85rem;font-weight:600;color:rgba(255,255,255,.75);}

/* Expert Insights (testimonials) */
.subj-min .xm-insight-band{background:#14294a;border-radius:1.75rem;padding:2.25rem 2.5rem;display:flex;align-items:center;gap:1.75rem;color:#fff;}
.subj-min .xm-insight-band .txt h2{color:#fff;font-weight:600;font-size:1.4rem;margin:0 0 .5rem;}
.subj-min .xm-insight-band .txt p{margin:0;font-size:.9rem;color:rgba(255,255,255,.9);max-width:60ch;}
.subj-min .xm-insight-band .material-symbols-outlined{font-size:3.5rem;color:#fff;opacity:.5;flex-shrink:0;}
@media (max-width:699px){ .subj-min .xm-insight-band{flex-direction:column;text-align:center;} }

.subj-min .xm-final-cta{padding:80px 0 96px;text-align:center;}
.subj-min .xm-final-cta h2{
  font-family:var(--xm-font-display);font-weight:700;font-size:clamp(1.7rem,1.2rem + 1.6vw,2.5rem);
  color:var(--xm-primary);line-height:1.2;margin-bottom:1.4rem;
}
.subj-min .xm-final-cta p{font-size:1.05rem;line-height:1.7;color:var(--xm-muted);max-width:56ch;margin:0 auto 2.2rem;}

@media (min-width:768px){
  .subj-min .xm-card-grid.xm-areas{grid-template-columns:repeat(3,1fr);}
  .subj-min .xm-card-grid.xm-other{grid-template-columns:repeat(3,1fr);}
  .subj-min .xm-steps{grid-template-columns:repeat(4,1fr);}
  .subj-min .xm-value-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:767px){
  .subj-min .xm-steps-line{display:none;}
  .subj-min .xm-island-panel{padding:2rem 1.25rem;}
}
