/* NOTE: all classes use the ep-sp- prefix because main.css already defines
   .ep-hero, .ep-topics, .ep-topic and .ep-card for other pages.
   contact-hero.css — load AFTER main.css and contact.css.
   Uses the site's own variables (--navy, --blue, --gold, --green, --purple, --muted). */

/* ---------- Hero ---------- */
.ep-sp-hero{display:grid;grid-template-columns:43% 57%;gap:0;align-items:center;margin-bottom:22px}
.ep-sp-hero-text{padding:20px 40px 20px 8px}
.ep-sp-hero h1{margin:0;color:var(--navy);font-size:clamp(38px,4.4vw,60px);line-height:1.04;letter-spacing:-2.2px;font-weight:800}
.ep-sp-hero .ep-rule{margin:22px 0 24px}
.ep-sp-hero-sub{max-width:525px;margin:0 0 28px;color:var(--muted);font-size:18px;line-height:1.65}
.ep-sp-hero-reach{margin:22px 0 0;color:var(--muted);font-size:15px;line-height:1.6}
.ep-sp-hero-reach a{color:var(--navy);font-weight:700;text-underline-offset:3px}

.ep-sp-hero-photo{margin:0}
.ep-sp-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:28px;box-shadow:0 18px 42px rgba(9,39,91,.14);background:#dcebf7}
.ep-sp-hero-photo figcaption{margin-top:10px;padding-left:4px;color:var(--muted);font-size:13px;line-height:1.4}

/* ---------- Topics ---------- */
.ep-sp-topics{margin-top:48px}
.ep-sp-topics h2{margin:0 0 26px;text-align:center;color:var(--navy);font-size:clamp(30px,3.6vw,42px);letter-spacing:-1.2px;line-height:1.1}
.ep-sp-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ep-sp-topic{padding:30px;background:rgba(255,255,255,.36);border-radius:26px;border:1px solid rgba(9,39,91,.055)}
.ep-sp-topic h3{margin:18px 0 10px;color:var(--navy);font-size:24px;letter-spacing:-.5px}
.ep-sp-topic p{margin:0;color:var(--ink);font-size:17px;line-height:1.58}
.ep-sp-topic-icon{flex:none;width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.ep-sp-topic-icon.green{background:var(--green)}
.ep-sp-topic-icon.blue{background:var(--blue)}
.ep-sp-topic-icon.purple{background:var(--purple)}
.ep-sp-topics-note{max-width:720px;margin:26px auto 0;text-align:center;color:var(--muted);font-size:16px;line-height:1.6}

/* ---------- Tablet / mobile ---------- */
@media(max-width:900px){
  .ep-sp-hero{grid-template-columns:1fr;gap:30px}
  .ep-sp-hero-text{padding:0}
  .ep-sp-topic-grid{grid-template-columns:1fr}
  .ep-sp-topic{display:grid;grid-template-columns:62px 1fr;column-gap:18px;align-items:start}
  .ep-sp-topic-icon{grid-row:1 / span 2}
  .ep-sp-topic h3{margin:2px 0 8px}
}
@media(max-width:600px){
  .ep-sp-hero h1{font-size:38px;letter-spacing:-1.5px}
  .ep-sp-hero-sub{font-size:17px}
  .ep-sp-hero-photo img{border-radius:22px}
  .ep-sp-topics{margin-top:38px}
  .ep-sp-topic{padding:25px;grid-template-columns:1fr}
  .ep-sp-topic-icon{grid-row:auto;width:56px;height:56px}
  .ep-sp-topic h3{margin:16px 0 8px}
}
