:root{
  --ec-text:#0b1324;
  --ec-muted:#64748b;
  --ec-line:#e5e7eb;
  --ec-surface:#ffffff;
  --ec-bg-soft:#f8fafc;
  --ec-indigo:#1d4ed8;
  --ec-blue:#1e40af;
  --ec-teal:#14b8a6;
  --ec-shadow: 0 18px 50px rgba(2,6,23,.10);
  --ec-shadow-soft: 0 10px 26px rgba(2,6,23,.07);
  --ec-r: 14px;
  --ec-r-sm: 12px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--ec-text);
  background: #fff;
}
img{max-width:100%; height:auto}
a{color:inherit}
.sr-only{
  position:absolute !important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.ec-container{width:min(1200px, calc(100% - 56px)); margin:0 auto}
.ec-main{padding-bottom: 32px}

/* Header */
.ec-header{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(226,232,240,.95);
}
.ec-header__inner{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0}
.ec-brand__link{display:flex; align-items:center; gap:10px; text-decoration:none}
.ec-brand__markimg{height:34px; width:auto; display:block}
.ec-brand__logo .custom-logo-link{display:inline-flex; align-items:center}
.ec-brand__logo img.custom-logo{height: 34px; width: auto; max-width: 220px}
.ec-brand__mark{
  width:34px;height:34px; border-radius:12px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, var(--ec-indigo), var(--ec-blue));
  color:#fff; font-weight:900;
  box-shadow: 0 10px 30px rgba(79,70,229,.25);
}
.ec-brand__name{font-weight:900; letter-spacing:-.02em}

.ec-nav{display:flex; align-items:center; gap:16px}
.ec-nav__list{display:flex; align-items:center; gap:18px; list-style:none; margin:0; padding:0}
.ec-nav__list a{color:#0f172a; text-decoration:none; font-weight:800; font-size:13px; letter-spacing:.02em}
.ec-nav__list a:hover{color:var(--ec-indigo)}
.ec-nav__cta{display:flex; gap:10px; align-items:center}

.ec-navbtn{
  display:none;
  border:1px solid rgba(226,232,240,.9);
  background:#fff;
  border-radius: var(--ec-r-sm);
  padding:10px 12px;
  box-shadow: var(--ec-shadow-soft);
}
.ec-navbtn__line{display:block; width:18px; height:2px; background:#0f172a; margin:4px 0; border-radius:2px}

/* Buttons */
.ec-btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 18px;
  border-radius: var(--ec-r-sm);
  text-decoration:none;
  font-weight: 800;
  border:1px solid rgba(226,232,240,.95);
  background:#fff;
  color:#0f172a;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}
.ec-btn:hover{transform: translateY(-1px); box-shadow: var(--ec-shadow-soft); border-color: rgba(191,219,254,.95)}
.ec-btn--primary{
  background: var(--ec-indigo);
  border-color: rgba(255,255,255,0);
  color:#fff;
}
.ec-btn--primary:hover{background: #1e40af; box-shadow: 0 18px 50px rgba(29,78,216,.18)}
.ec-btn--ghost{background: transparent; border-color: rgba(203,213,225,.95)}
.ec-btn--ghost:hover{background: rgba(15,23,42,.03)}
.ec-btn--dark{background:#0b1324;color:#fff;border-color:rgba(255,255,255,0)}
.ec-btn--light{background: rgba(255,255,255,.18); color:#fff; border-color: rgba(255,255,255,.25)}
.ec-btn--block{width:100%}
.ec-link{color:var(--ec-blue); font-weight:900; text-decoration:none}
.ec-link:hover{text-decoration:underline; text-underline-offset:3px}

/* Typography */
.ec-kicker{font-weight:800; font-size:12px; color:#334155; letter-spacing:.10em; text-transform:uppercase}
.ec-h1{margin:12px 0 14px; font-size: 56px; line-height:1.05; letter-spacing:-.045em; color:#0b1324; font-weight:900}
.ec-h2{margin:0 0 10px; font-size: 34px; line-height:1.12; letter-spacing:-.035em; font-weight:900}
.ec-h3{margin:0 0 8px; font-size: 20px; line-height:1.25; letter-spacing:-.02em; font-weight:900}
.ec-lead{color:#475569; font-size: 18px; font-weight: 600; max-width: 70ch}
.ec-sub{margin:0; color: var(--ec-muted); font-weight:600}

/* Hero */
.ec-hero{
  padding: 56px 0 30px;
  background:
    radial-gradient(900px 520px at 20% 0%, rgba(29,78,216,.14), rgba(29,78,216,0)),
    radial-gradient(900px 520px at 85% 20%, rgba(20,184,166,.12), rgba(20,184,166,0)),
    #ffffff;
  border-bottom: 1px solid rgba(226,232,240,.9);
}
.ec-hero__grid{display:grid; grid-template-columns: 1.15fr .85fr; gap:34px; align-items:start}
.ec-hero__cta{display:flex; gap:12px; margin-top:16px; flex-wrap:wrap}
.ec-hero__meta{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px}
.ec-badge{
  display:inline-flex; align-items:center;
  border:1px solid rgba(226,232,240,.95);
  background: rgba(15,23,42,.02);
  color:#0f172a; border-radius:999px;
  padding:7px 10px;
  font-weight:800; font-size:12px;
}
.ec-badge--muted{background: rgba(15,23,42,.02); color: #334155}

.ec-hero__art{position:relative; min-height: 320px}
.ec-globe{
  position:absolute;
  inset: 0 0 0 auto;
  width: min(420px, 100%);
  aspect-ratio: 1 / 1;
  margin-left: auto;
  border-radius: 999px;
  background:
    radial-gradient(circle at 30% 30%, rgba(29,78,216,.26), rgba(29,78,216,0) 55%),
    radial-gradient(circle at 70% 60%, rgba(20,184,166,.22), rgba(20,184,166,0) 60%),
    radial-gradient(circle at 50% 50%, rgba(15,23,42,.04), rgba(15,23,42,0) 62%),
    linear-gradient(135deg, rgba(29,78,216,.10), rgba(20,184,166,.06));
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: var(--ec-shadow);
}
.ec-hero__mini{
  position:absolute;
  right: 0;
  bottom: 10px;
  width: min(420px, 100%);
  background:#fff;
  border:1px solid rgba(226,232,240,.95);
  border-radius: var(--ec-r);
  padding: 16px;
  box-shadow: var(--ec-shadow-soft);
}
.ec-mini__row{display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid rgba(226,232,240,.85)}
.ec-mini__row:last-child{border-bottom:0}
.ec-mini__dot{width:10px;height:10px;border-radius:999px;background: linear-gradient(135deg, var(--ec-indigo), var(--ec-teal))}
.ec-mini__txt{font-weight:800; color:#0f172a}

/* Promos */
.ec-promos{padding: 34px 0}
.ec-promos__grid{display:grid; grid-template-columns: 1fr 1fr; gap:18px}
.ec-promo{
  border-radius: var(--ec-r);
  padding: 22px;
  border:1px solid rgba(226,232,240,.9);
  box-shadow: var(--ec-shadow-soft);
}
.ec-promo__k{font-weight:900; font-size:12px; letter-spacing:.08em; text-transform:uppercase; opacity:.85}
.ec-promo__p{color:rgba(2,6,23,.86); font-weight:600}
.ec-promo--teal{background: linear-gradient(135deg, rgba(20,184,166,.18), rgba(255,255,255,1));}
.ec-promo--indigo{background: linear-gradient(135deg, rgba(29,78,216,.18), rgba(255,255,255,1));}
.ec-promo--indigo .ec-btn--light{background: rgba(15,23,42,.92)}
.ec-promo--indigo .ec-btn--light:hover{background: rgba(15,23,42,.98)}
.ec-promo--indigo .ec-btn--light{border-color: rgba(255,255,255,0)}
.ec-promo--indigo .ec-btn--light{color:#fff}

/* Sections */
.ec-sectionhead{margin: 10px 0 16px}
.ec-sectionhead--row{display:flex; align-items:flex-end; justify-content:space-between; gap:14px}

/* Steps */
.ec-steps{padding: 42px 0}
.ec-steps__grid{display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:14px}
.ec-step{
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius: var(--ec-r);
  padding:16px;
  box-shadow: var(--ec-shadow-soft);
}
.ec-step__n{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  background: rgba(79,70,229,.12);
  color: var(--ec-indigo);
  font-weight: 900;
  margin-bottom: 10px;
}
.ec-step__p{color: var(--ec-muted); font-weight: 600}

/* Featured */
.ec-featured{padding: 46px 0; background: var(--ec-bg-soft); border-top:1px solid rgba(226,232,240,.9); border-bottom:1px solid rgba(226,232,240,.9)}
.ec-featured__grid{display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:14px}
.ec-fcard{
  display:flex; align-items:center; gap:12px;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius: var(--ec-r);
  padding:14px;
  box-shadow: var(--ec-shadow-soft);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ec-fcard:hover{transform: translateY(-2px); border-color: rgba(199,210,254,.95); box-shadow: var(--ec-shadow)}
.ec-fcard__logo{
  width:52px;height:52px;border-radius: 16px;
  display:grid;place-items:center;
  background: linear-gradient(135deg, rgba(79,70,229,.16), rgba(37,99,235,.10));
  border:1px solid rgba(226,232,240,.9);
  font-weight: 900;
  color:#0f172a;
  flex:0 0 52px;
}
.ec-fcard__t{font-weight: 900}
.ec-fcard__m{color: var(--ec-muted); font-weight: 600; font-size: 13px}
.ec-fcard__cta{margin-left:auto; font-weight:900; color: var(--ec-blue)}

/* Partner-style cards (closer to TeachAway showcase) */
.ec-featured__grid--partner{grid-template-columns: repeat(3, minmax(0, 1fr));}
.ec-pcard{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(226,232,240,.95);
  border-radius: var(--ec-r);
  padding: 16px;
  box-shadow: var(--ec-shadow-soft);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ec-pcard:hover{transform: translateY(-2px); border-color: rgba(191,219,254,.95); box-shadow: var(--ec-shadow)}
.ec-pcard__top{display:flex; align-items:center; gap:12px}
.ec-pcard__logo{
  width:56px;height:56px;border-radius: 16px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(29,78,216,.14), rgba(20,184,166,.10));
  border:1px solid rgba(226,232,240,.95);
  font-weight: 900;
  color:#0f172a;
  flex: 0 0 56px;
}
.ec-pcard__title{font-weight: 900}
.ec-pcard__meta{margin-top: 10px; color: var(--ec-muted); font-weight: 650; font-size: 13px}
.ec-pcard__cta{margin-top: 14px; font-weight: 900; color: var(--ec-indigo)}

/* Jobs placeholder */
.ec-jobs{padding: 10px 0 26px}
.ec-jobs__box{
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius: var(--ec-r);
  padding: 16px;
  box-shadow: var(--ec-shadow-soft);
}
.ec-jobs__row{display:grid; grid-template-columns: 1.4fr 1fr .7fr; gap:12px; align-items:end}
.ec-label{display:block; font-weight:900; font-size:13px; margin-bottom:6px}
.ec-input{
  width:100%;
  border:1px solid rgba(226,232,240,.95);
  background:#fff;
  border-radius: 14px;
  padding: 12px 12px;
  font-weight: 700;
}
.ec-input:disabled{opacity:.75}
.ec-note{margin-top:10px; color: var(--ec-muted); font-weight: 600; font-size: 13px}

/* Next */
.ec-next{padding: 46px 0}
.ec-next__grid{display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:14px}
.ec-ncard{
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius: var(--ec-r);
  padding:16px;
  box-shadow: var(--ec-shadow-soft);
}
.ec-ncard__p{color: var(--ec-muted); font-weight: 600}

/* Blog */
.ec-blog{padding: 46px 0}
.ec-blog__grid{display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:14px}
.ec-bcard{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius: var(--ec-r);
  padding:16px;
  box-shadow: var(--ec-shadow-soft);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ec-bcard:hover{transform: translateY(-2px); border-color: rgba(199,210,254,.95); box-shadow: var(--ec-shadow)}
.ec-bcard__meta{color: var(--ec-muted); font-weight: 700; font-size: 12px}
.ec-bcard__t{font-weight: 900; margin-top: 8px}
.ec-bcard__p{color: var(--ec-muted); font-weight: 600; margin-top: 6px}
.ec-bcard--placeholder:hover{transform:none}

/* Footer */
.ec-footer{
  border-top: 1px solid rgba(226,232,240,.9);
  background: radial-gradient(900px 500px at 20% 10%, rgba(79,70,229,.10), rgba(79,70,229,0)),
              radial-gradient(900px 500px at 80% 40%, rgba(20,184,166,.10), rgba(20,184,166,0)),
              #fff;
}
.ec-footer__grid{display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap:16px; padding: 28px 0}
.ec-footer__title{font-weight: 900; font-size: 16px}
.ec-footer__brandrow{display:inline-flex; align-items:center; gap:10px}
.ec-footer__markimg{height:34px; width:auto; display:block}
.ec-footer__logo .custom-logo-link{display:inline-flex; align-items:center}
.ec-footer__logo img.custom-logo{height: 34px; width: auto; max-width: 220px}
.ec-footer__blurb{color: var(--ec-muted); font-weight: 600}
.ec-footer__h{font-weight:900; margin-bottom:10px}
.ec-footer__list{list-style:none; padding:0; margin:0; display:grid; gap:8px}
.ec-footer__list a{color:#0f172a; text-decoration:none; font-weight:800}
.ec-footer__list a:hover{color:var(--ec-indigo)}
.ec-footer__muted{color: var(--ec-muted); font-weight:600}
.ec-footer__bottom{padding: 10px 0 18px}

/* Basic content pages/posts */
.ec-content{padding: 26px 0}
.ec-prose{color:#0f172a; font-weight:600; line-height:1.7}
.ec-prose p{margin: 0 0 12px}
.ec-prose a{color: var(--ec-blue)}
.ec-prose h2,.ec-prose h3{margin: 18px 0 10px}
.ec-postlist{display:grid; gap:14px}
.ec-postcard{
  background:#fff;
  border:1px solid rgba(226,232,240,.9);
  border-radius: var(--ec-r);
  padding:16px;
  box-shadow: var(--ec-shadow-soft);
}
.ec-postcard__meta{color: var(--ec-muted); font-weight:800; font-size:12px}
.ec-postcard__title{margin-top: 8px}
.ec-postcard__title a{text-decoration:none}
.ec-postcard__title a:hover{color: var(--ec-indigo)}
.ec-post{background:#fff; border:1px solid rgba(226,232,240,.9); border-radius: var(--ec-r); padding:16px; box-shadow: var(--ec-shadow-soft)}
.ec-post__meta{color: var(--ec-muted); font-weight:800; font-size:12px}
.ec-post__title{margin-top: 8px}
.ec-pagination{margin-top: 16px}
.ec-pagination .page-numbers{display:inline-flex; gap:8px; list-style:none; padding:0}
.ec-pagination a, .ec-pagination span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width: 38px; height: 38px;
  border-radius: 12px;
  border:1px solid rgba(226,232,240,.95);
  text-decoration:none;
  font-weight: 900;
  color:#0f172a;
  background:#fff;
}
.ec-pagination .current{background: var(--ec-indigo); border-color: var(--ec-indigo); color:#fff}

/* Responsive */
@media (max-width: 980px){
  .ec-navbtn{display:inline-flex}
  .ec-nav{
    position: fixed;
    inset: 62px 12px auto 12px;
    display:none;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    background: rgba(255,255,255,.96);
    border:1px solid rgba(226,232,240,.95);
    border-radius: 18px;
    box-shadow: var(--ec-shadow);
    padding: 14px;
  }
  .ec-nav.is-open{display:flex}
  .ec-nav__list{flex-direction:column; align-items:stretch; gap:10px}
  .ec-nav__list a{padding:10px 10px; border-radius: 14px; background: rgba(15,23,42,.03)}
  .ec-nav__cta{display:grid; grid-template-columns: 1fr; gap:10px}

  .ec-hero__grid{grid-template-columns: 1fr}
  .ec-h1{font-size: 40px}
  .ec-hero__art{min-height: 300px}
  .ec-globe{position:relative; inset:auto; width:100%; margin: 0 auto}
  .ec-hero__mini{position:relative; right:auto; bottom:auto; width:100%; margin-top: 14px}

  .ec-promos__grid{grid-template-columns: 1fr}
  .ec-steps__grid{grid-template-columns: 1fr 1fr}
  .ec-featured__grid{grid-template-columns: 1fr}
  .ec-next__grid{grid-template-columns: 1fr}
  .ec-blog__grid{grid-template-columns: 1fr}
  .ec-footer__grid{grid-template-columns: 1fr}
  .ec-jobs__row{grid-template-columns: 1fr}
}

@media (max-width: 520px){
  .ec-container{width: calc(100% - 32px)}
  .ec-h1{font-size: 36px}
}
