/* Exam "Minimalist" (light corporate) theme — pages/exam_minimalist.html.
   Mirrors static/assets/css/subject_minimalist.css exactly (same "Academic
   Precision" tokens/patterns) but kept as its own file/prefix (.exam-min,
   not .subj-min) — same one-file-per-template convention as mkt/spl/gsp
   elsewhere. No hero_illustration system here (Exam has no curated
   illustration set, unlike Subject) — just image or generic dot-grid +
   Bootstrap-icon placeholder. */

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

  /* 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 an
     .exam-min page's rich-text content, with zero changes to the snippets. */
  --heading-color:var(--exm-primary);
  --accent-color:var(--exm-action);
  --surface-color:var(--exm-surface);
  --default-color:var(--exm-body-text);
  --heading-font:var(--exm-font-display);

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

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

/* Core Area/Value Prop icons are Material Symbols (font icons); the shared
   Exam.icon field renders as a Bootstrap Icons <i> (see base_node.html) —
   both are font-glyph techniques, so .exm-icon's font-size sizing (below)
   applies uniformly to either element type. */
.exam-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 ".exm-island-panel.exm-hero" (not just ".exm-hero") so this
   reliably outranks .exm-island-panel's own padding/background further
   down this file — same specificity (2 classes) plus later-in-file would
   otherwise win. */
.exam-min .exm-island-panel.exm-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(--exm-surface) 55%);
}
@media (min-width:900px){
  .exam-min .exm-island-panel.exm-hero{padding:56px 40px; grid-template-columns:1.1fr 0.9fr; gap:48px;}
}
.exam-min .exm-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;font-family:var(--exm-font-label);
  font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--exm-action);margin-bottom:1rem;
}
.exam-min .exm-hero h1{
  font-family:var(--exm-font-display);font-weight:700;
  font-size:clamp(1.9rem, 1.2rem + 2.4vw, 3rem);line-height:1.1;
  color:var(--exm-primary);margin-bottom:1.4rem;
}
.exam-min .exm-hero p.exm-lede{
  font-family:var(--exm-font-body);font-size:1.05rem;line-height:1.7;
  color:var(--exm-muted);max-width:46ch;margin-bottom:2rem;
}
.exam-min .exm-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  background:var(--exm-action);color:#fff;font-family:var(--exm-font-label);
  font-weight:600;font-size:.9rem;padding:.95rem 1.9rem;border-radius:999px;
  transition:opacity .25s ease, box-shadow .25s ease;
}
.exam-min .exm-btn:hover{opacity:.92;box-shadow:0 8px 20px -6px rgba(30,58,101,0.4);}
.exam-min .exm-btn:focus-visible{outline:2px solid var(--exm-action);outline-offset:3px;}
.exam-min .exm-btn .exm-icon{font-size:1.1rem;}

.exam-min .exm-hero-visual{position:relative;border-radius:1.5rem;overflow:hidden;aspect-ratio:16/9;}
@media (min-width:900px){ .exam-min .exm-hero-visual{aspect-ratio:4/3;} }
.exam-min .exm-hero-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.exam-min .exm-placeholder{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--exm-icon-bg);}
.exam-min .exm-placeholder-grid{position:absolute;inset:0;width:100%;height:100%;display:block;}
.exam-min .exm-placeholder-icon{position:relative;font-size:4rem;color:var(--exm-primary);opacity:.55;}

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

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

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

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

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

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

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

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

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