/*
Theme Name: eLearnEnglish
Author: Patricia Stevenson
Description: Custom responsive theme foundation for eLearnEnglish.
Version: 3.10.1
Text Domain: elearnenglish
*/
:root{--navy:#102A5C;--dark:#071B46;--blue:#146EF5;--bright-blue:#2785FF;--light-blue:#EAF4FF;--pale:#F4F9FF;--teal:#12B8A6;--coral:#FF766D;--white:#fff;--warm:#FCFBF8;--text:#344566;--muted:#6D7C96;--border:#E1E8F2;--r1:8px;--r2:12px;--r3:16px;--max:1200px;--reading:760px;--page-copy:1000px;--body:#344566}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--warm);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.7}img{max-width:100%;height:auto}a{color:var(--blue)}a:hover{color:var(--dark)}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
h1,h2,h3,h4{margin:0 0 1rem;color:var(--dark);font-family:Catamaran,Arial,sans-serif;line-height:1.1}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,2.80rem)}h3{font-size:clamp(1.4rem,2.5vw,1.75rem)}p{margin:0 0 1.5rem}ul,ol{margin:0 0 1.5rem}
.container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.narrow{width:min(calc(100% - 2rem),var(--reading));margin-inline:auto}.site-main{min-height:60vh}.section{padding:6rem 0}.section--white{background:var(--white)}.section--pale{background:var(--pale)}
.eyebrow{margin-bottom:.75rem;color:var(--blue);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.15rem;border:2px solid transparent;border-radius:var(--r1);background:var(--blue);color:var(--white);font-weight:700;text-decoration:none}.button:hover{background:var(--dark);color:var(--white)}.button--secondary{border-color:var(--blue);background:transparent;color:var(--blue)}
.site-header{position:relative;z-index:20;background:var(--white);border-bottom:1px solid var(--border)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.site-branding{display:flex;align-items:center;flex:0 0 auto}.site-branding a{display:block;line-height:0}.site-logo{display:block;width:300px !important;max-width:100%;height:auto;max-height:100px;object-fit:contain}.primary-nav{display:flex;align-items:center;gap:.35rem}.primary-nav ul{display:flex;gap:.15rem;margin:0;padding:0;list-style:none}.primary-nav a{display:block;padding:.65rem .75rem;color:var(--dark);font-size:.95rem;font-weight:700;text-decoration:none;border-radius:var(--r1)}.primary-nav a:hover,.primary-nav .current-menu-item>a{background:var(--light-blue);color:var(--blue)}.header-search{display:flex;align-items:center}.header-search a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--dark);text-decoration:none;border-radius:50%;font-size:2rem;line-height:1}.header-search a:hover{background:var(--light-blue);color:var(--blue)}.header-assessment{margin-left:.5rem}.header-assessment .button{white-space:nowrap;padding-inline:1.25rem}.site-header .primary-nav .header-assessment a.button,.site-header .header-assessment a.button{background:var(--blue) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border-color:var(--blue) !important;text-shadow:none !important}.site-header .primary-nav .header-assessment a.button:hover,.site-header .primary-nav .header-assessment a.button:focus,.site-header .header-assessment a.button:hover,.site-header .header-assessment a.button:focus{background:var(--dark) !important;color:#fff !important;-webkit-text-fill-color:#fff !important;border-color:var(--dark) !important}.mobile-menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--border);border-radius:var(--r1);background:var(--white);cursor:pointer}
.hero{padding:2.4rem 0 5rem;background:linear-gradient(135deg,var(--pale),var(--white))}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:6rem}.hero h1{max-width:720px}.hero p{max-width:650px;font-size:1.15rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero-media img{display:block;width:100%;border-radius:var(--r3)}
.section-heading{max-width:720px;margin-bottom:3rem}.section-heading p{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}.card{height:100%;padding:2rem;border:1px solid var(--border);border-radius:var(--r2);background:var(--white);box-shadow:0 8px 24px rgba(16,42,92,.05)}.card p:last-child{margin-bottom:0}.path{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.path-step{padding:2rem;border:1px solid var(--border);border-radius:var(--r2);background:var(--white)}.path-number{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:50%;background:var(--light-blue);color:var(--blue);font-weight:800}
.site-footer{padding:4rem 0;background:var(--dark);color:rgba(255,255,255,.82)}.site-footer h2,.site-footer h3{color:var(--white)}.site-footer a{color:var(--white)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:3rem}.footer-nav ul{margin:0;padding:0;list-style:none}.footer-nav li+li{margin-top:.5rem}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.18);font-size:.9rem}
.page-header{padding:4.5rem 0 3.5rem;background:var(--pale)}.entry-content>*{width:min(calc(100% - 2rem),var(--reading));max-width:var(--reading);margin-left:auto;margin-right:auto}.entry-content img{border-radius:var(--r2)}.entry-content blockquote{margin-block:2rem;padding:1.5rem 2rem;border-left:4px solid var(--blue);background:var(--light-blue)}.entry-meta{margin-bottom:0;color:var(--muted);font-size:.95rem}

.ee-single-article{padding-top:2.5rem;padding-bottom:2rem;background:var(--white);}
.ee-single-featured-image{width:min(calc(100% - 2rem),1100px);margin:0 auto 3.25rem;}
.ee-single-featured-image img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:var(--r3);}
.ee-single-article .entry-content{width:100%;}
.ee-single-article .entry-content > *{width:min(calc(100% - 2rem),var(--reading));max-width:var(--reading);}
.ee-single-article .author-bio{margin-top:2rem;margin-bottom:0;}
.ee-related-articles{padding-top:4.5rem;padding-bottom:4.5rem;}
.ee-related-articles .section-heading{margin-bottom:2rem;}
.author-bio{display:grid;grid-template-columns:64px 1fr;gap:1rem;align-items:center;margin:3rem auto 0;padding:1.25rem 1.5rem;max-width:var(--reading);border:1px solid #d8e9fb;border-radius:var(--r2);background:var(--pale);box-shadow:none}.author-bio__photo{width:64px;height:64px;object-fit:cover;border-radius:50%}.author-bio__content{min-width:0}.author-bio__eyebrow{margin:0 0 .25rem;color:var(--blue);font-size:.75rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.author-bio__name{margin:0 0 .1rem;font-size:1.65rem;line-height:1.15}.author-bio__role{margin:0 0 .3rem;color:var(--muted);font-size:.92rem;line-height:1.4}.author-bio__text{margin:0 0 .35rem;font-size:.95rem;line-height:1.5}.author-bio__link{font-size:.95rem;font-weight:700;text-decoration:none}.author-bio__link:hover{text-decoration:underline;text-underline-offset:3px}
.faq{width:min(calc(100% - 2rem),var(--reading));margin:3rem auto}.faq details{padding:1rem 0;border-top:1px solid var(--border)}.faq details:last-child{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;color:var(--dark);font-weight:700}
.assessment-cta{margin:3rem auto;padding:3rem;border-radius:var(--r3);background:var(--navy);color:var(--white)}.assessment-cta h2{color:var(--white)}.assessment-cta p{color:rgba(255,255,255,.88)}
@media(max-width:1199px){.card-grid{grid-template-columns:repeat(2,1fr)}.path{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}


/* Homepage */
.hero-copy{max-width:650px}.hero-lead{max-width:620px}.hero-media img{aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:var(--r3);box-shadow:0 18px 45px rgba(16,42,92,.12)}
.homepage-goals .section-heading{max-width:760px}.goal-card{position:relative;display:flex;flex-direction:column}.goal-icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;margin-bottom:1.25rem;border-radius:12px;background:var(--light-blue);color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.04em}.goal-icon--teal{background:#E8F8F5;color:var(--teal)}.goal-icon--coral{background:#FFF0EE;color:var(--coral)}.goal-icon--purple{background:#F2EEFF;color:#8B6DE8}.card-link{margin-top:auto;padding-top:1.25rem;color:var(--blue);font-weight:700;text-decoration:none}.card-link:hover{color:var(--dark)}.section-heading--split{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:end}.section-heading--split>p{margin-bottom:1rem}.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.resource-placeholder{min-height:240px}.resource-label{display:inline-block;margin-bottom:1rem;color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.story-card{max-width:900px;margin:0 auto;padding:3.5rem 4rem;border:1px solid var(--border);border-radius:var(--r3);background:var(--white);text-align:center;box-shadow:0 12px 35px rgba(16,42,92,.06)}.story-card blockquote{margin:0 auto 1.5rem;color:var(--dark);font-family:Catamaran,Arial,sans-serif;font-size:clamp(1.6rem,3vw,2.25rem);font-weight:700;line-height:1.25}.story-attribution{margin:0;color:var(--muted);font-weight:700}.homepage-final-cta .assessment-cta{margin:0}

@media(max-width:1199px){.resource-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.hero-media img{aspect-ratio:4/3}.section-heading--split{display:block}.section-heading--split>p{margin-top:1rem}.resource-grid{grid-template-columns:1fr}.story-card{padding:2rem 1.25rem}.goal-card{padding:1.5rem}.hero-copy{max-width:none}}


/* 2.17: editorial article cards with featured images. */
.article-card{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--white);
  box-shadow:0 8px 24px rgba(16,42,92,.05);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.article-card:hover,.article-card:focus-within{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(16,42,92,.10);
  border-color:#cbd8ea;
}
.article-card__image{display:block;overflow:hidden;background:var(--light-blue);}
.article-card__image img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .25s ease;}
.article-card:hover .article-card__image img,.article-card:focus-within .article-card__image img{transform:scale(1.025);}
.article-card__body{padding:1.25rem 1.25rem 1.35rem;}
.article-card__category{display:inline-block;margin-bottom:.55rem;color:var(--blue);font-size:.75rem;line-height:1.2;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.article-card h3{margin:0 0 .55rem;font-size:1.35rem;line-height:1.15;}
.article-card h3 a{color:var(--dark);text-decoration:none;}
.article-card h3 a:hover{color:var(--blue);}
.article-card__body p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.55;}
.article-card__meta{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;color:var(--blue);font-size:.9rem;font-weight:700;text-decoration:none;}
.article-card__meta:hover{color:var(--dark);}
.resource-placeholder{min-height:0;padding:1.75rem;}
@media(max-width:767px){.article-card__body{padding:1.2rem 1.15rem 1.25rem}.article-card h3{font-size:1.3rem}}

/* WordPress block button styling */
.wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link {
  background: var(--blue) !important;
  color: #fff !important;
  border: 1px solid var(--blue);
  border-radius: 8px;
  padding: .8rem 1.15rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
}
.wp-block-button__link:hover,
.wp-block-button__link:focus {
  background: var(--bright-blue) !important;
  color: #fff !important;
  border-color: var(--bright-blue);
}

@media(max-width:767px){body{font-size:16px}.container,.narrow{width:min(calc(100% - 1.5rem),var(--max))}.entry-content>*{width:calc(100% - 1.5rem);max-width:var(--reading)}.section{padding:4rem 0}.header-inner{min-height:68px}.site-logo{width:min(235px,62vw) !important;max-width:100%;max-height:80px}.mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center}.header-search{display:none}.primary-nav{display:none;position:absolute;inset:68px 0 auto 0;padding:.75rem;background:var(--white);border-bottom:1px solid var(--border);box-shadow:0 10px 24px rgba(16,42,92,.08)}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav li+li{margin-top:.25rem}.primary-nav a{padding:.8rem}.header-assessment{margin:.5rem 0 0}.header-assessment .button{width:100%}.hero{padding:2.4rem 0 4rem}.hero-grid{grid-template-columns:1fr;gap:3rem}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.card-grid,.path,.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.author-bio{grid-template-columns:56px 1fr;padding:1.1rem 1.15rem;gap:.85rem;margin-top:1.75rem}.author-bio__photo{width:56px;height:56px}.author-bio__name{font-size:1.45rem}.author-bio__text{font-size:.92rem}.author-bio__link{font-size:.92rem}}
@media(max-width:767px){
  .ee-single-article{padding-top:2rem;padding-bottom:1.5rem;}
  .ee-single-featured-image{width:calc(100% - 1.5rem);margin-bottom:2.5rem;}
  .ee-single-featured-image img{max-height:none;border-radius:var(--r2);}
  .ee-related-articles{padding-top:3.5rem;padding-bottom:3.5rem;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* 2.13 homepage learning path: tighter spacing between homepage sections. */
.homepage-path{background:var(--white);padding-bottom:3rem}
.homepage-path .container{padding:3.25rem 3rem;background:var(--pale);border-radius:24px}
.homepage-resources{padding-top:3rem}
.homepage-path .section-heading{margin-bottom:2rem}
.homepage-path .section-heading h2{margin-bottom:.35rem}
.homepage-path .section-heading>p:last-child{margin:0;color:var(--muted)}
.path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3.25rem;position:relative}
.path-step{position:relative;display:flex;flex-direction:column;min-height:255px;padding:1.65rem 1.65rem 1.45rem;border:1px solid var(--border);border-radius:16px;background:var(--white);box-shadow:0 8px 24px rgba(16,42,92,.04);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.path-step:hover,.path-step:focus-visible{transform:translateY(-3px);box-shadow:0 14px 32px rgba(16,42,92,.10);outline:none}
.path-step::after{content:'→';position:absolute;right:-2.55rem;top:50%;transform:translateY(-50%);font-size:2rem;font-weight:400;color:var(--blue);pointer-events:none}
.path-step:last-child::after{display:none}
.path-step--blue{--path-color:var(--blue);--path-tint:var(--light-blue)}
.path-step--teal{--path-color:var(--teal);--path-tint:var(--light-teal)}
.path-step--purple{--path-color:#8B6DE8;--path-tint:#F2EEFF}
.path-step--coral{--path-color:var(--coral);--path-tint:#FFF0EE}
.path-step:hover,.path-step:focus-visible{border-color:var(--path-color)}
.path-step__top{display:flex;align-items:center;gap:1rem;margin-bottom:1.15rem}
.path-number{width:40px;height:40px;flex:0 0 40px;margin:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--path-tint);color:var(--path-color);font-weight:800;font-size:1rem}
.path-icon{width:64px;height:64px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--path-tint);color:var(--path-color)}
.path-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.path-step__content{display:flex;flex-direction:column;gap:.45rem;padding-right:1.2rem}
.path-step__title{font-family:Catamaran,Arial,sans-serif;font-size:1.55rem;line-height:1.1;font-weight:800;color:var(--dark)}
.path-step__text{font-size:1rem;line-height:1.55;color:var(--body)}
.path-arrow{margin-top:auto;align-self:flex-end;color:var(--path-color);font-size:1.8rem;line-height:1;font-weight:500}

@media(max-width:1199px){.homepage-path .container{padding:2.80rem 2rem}.path{gap:2rem}.path-step::after{right:-1.65rem}}
@media(max-width:767px){.homepage-path{padding-bottom:2.5rem}.homepage-resources{padding-top:2.5rem}.homepage-path .container{padding:2.5rem 1rem;border-radius:0}.homepage-path .section-heading{margin-bottom:1.75rem}.path{grid-template-columns:1fr;gap:1rem}.path-step{min-height:0;padding:1.35rem}.path-step::after{display:none}.path-step__top{margin-bottom:.9rem}.path-icon{width:56px;height:56px}.path-icon svg{width:34px;height:34px}.path-step__title{font-size:1.45rem}.path-step__text{font-size:1rem}.path-arrow{position:absolute;right:1.35rem;bottom:1.2rem}}


/* 2.14 homepage path spacing: reduce the large vertical gaps around the learning path. */
.homepage-goals { padding-bottom: 1.5rem; }
.homepage-path { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.homepage-resources { padding-top: 1.5rem; }
@media (max-width: 767px) {
  .homepage-goals { padding-bottom: 1.5rem; }
  .homepage-path { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .homepage-resources { padding-top: 1.5rem; }
}

/* 2.19: photographic assessment CTA with minimal text-legibility overlay. */
.assessment-cta{
  position:relative;
  overflow:hidden;
  min-height:300px;
  margin:0 auto;
  padding:3.25rem 3.5rem;
  border-radius:var(--r3);
  background:
    linear-gradient(90deg,rgba(7,27,70,.22) 0%,rgba(7,27,70,.10) 38%,rgba(7,27,70,0) 68%,rgba(7,27,70,0) 100%),
    url('assets/images/assessment-cta-bg.jpg') center center/cover no-repeat;
  color:var(--white);
}
.assessment-cta__content{position:relative;z-index:1;max-width:620px}
.assessment-cta .eyebrow{color:rgba(255,255,255,.9);margin-bottom:.8rem}
.assessment-cta h2{color:var(--white);max-width:650px;margin-bottom:1rem}
.assessment-cta p:not(.eyebrow){max-width:650px;color:rgba(255,255,255,.94);font-size:1.1rem}
.assessment-cta .button{margin-top:.5rem;background:var(--blue);color:var(--white)}
.assessment-cta .button:hover{background:var(--bright-blue)}
.assessment-cta .button span{margin-left:.45rem;font-size:1.2em}

.site-footer{
  padding:3.5rem 0 1.5rem;
  background:var(--white);
  color:var(--muted);
  border-top:1px solid var(--border);
}
.footer-main{
  display:grid;
  grid-template-columns:1.35fr repeat(4,minmax(0,1fr));
  gap:2.25rem;
  align-items:start;
}
.footer-brand img{display:block;width:190px;height:auto}
.footer-brand p{margin:.65rem 0 1.25rem;color:var(--muted);font-size:.92rem}
.footer-brand-cta{
  display:inline-flex;
  color:var(--blue) !important;
  font-weight:700;
  text-decoration:none;
}
.footer-brand-cta:hover{color:var(--dark) !important}
.footer-column h3{
  margin:0 0 .8rem;
  color:var(--dark);
  font-family:Catamaran,Arial,sans-serif;
  font-size:1rem;
  line-height:1.2;
  font-weight:800;
}
.footer-column ul{margin:0;padding:0;list-style:none}
.footer-column li+li{margin-top:.42rem}
.footer-column a{
  color:var(--muted);
  font-size:.92rem;
  text-decoration:none;
}
.footer-column a:hover{color:var(--blue)}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-top:2.5rem;
  padding-top:1.1rem;
  border-top:1px solid var(--border);
  font-size:.85rem;
}
.footer-legal{display:flex;gap:1.25rem}
.footer-legal a{color:var(--dark);font-weight:700;text-decoration:none}
.footer-legal a:hover{color:var(--blue)}

@media(max-width:1199px){
  .footer-main{grid-template-columns:1.4fr repeat(2,minmax(0,1fr));}
  .footer-brand{grid-row:span 2}
}
@media(max-width:767px){
  .assessment-cta{
    min-height:0;
    padding:2.5rem 1.5rem;
    background:
      linear-gradient(180deg,rgba(7,27,70,.20) 0%,rgba(7,27,70,.08) 58%,rgba(7,27,70,0) 100%),
      url('assets/images/assessment-cta-bg.jpg') 58% center/auto 100% no-repeat;
  }
  .assessment-cta__content{max-width:none}
  .assessment-cta h2{font-size:clamp(2rem,8vw,2.65rem)}
  .assessment-cta p:not(.eyebrow){font-size:1rem}
  .assessment-cta .button{width:100%}
  .footer-main{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2rem 1.5rem;
  }
  .footer-brand{grid-column:1/-1;grid-row:auto}
  .footer-brand img{width:175px}
  .footer-brand p{margin-bottom:1rem}
  .footer-column h3{font-size:1rem}
  .footer-column a{font-size:.9rem}
  .footer-bottom{display:block;margin-top:2rem}
  .footer-legal{margin-top:.6rem}
}


/* 2.22: tighter reusable page-header spacing and cache-busted stylesheet version. */
.page-header{
  padding:1.5rem 0 .5rem;
  background:var(--pale);
  border-bottom:1px solid rgba(225,232,242,.7);
}
.page-header h1{max-width:900px;margin-bottom:0}
.page-content-section{padding-top:1.5rem;padding-bottom:4rem}
.entry-content{
  color:var(--body);
}
.entry-content > *{
  margin-top:0;
  margin-bottom:1.35rem;
}
.entry-content h2{
  margin-top:2.80rem;
  margin-bottom:.8rem;
  color:var(--dark);
  font-size:clamp(1.8rem,3vw,2.35rem);
  line-height:1.15;
}
.entry-content h3{
  margin-top:2rem;
  margin-bottom:.65rem;
  color:var(--dark);
  font-size:clamp(1.35rem,2.4vw,1.7rem);
  line-height:1.2;
}
.entry-content p,
.entry-content li{
  font-size:1.05rem;
  line-height:1.75;
}
.entry-content ul,
.entry-content ol{
  padding-left:1.35rem;
}
.entry-content li+li{margin-top:.45rem}
.entry-content a{color:var(--blue);font-weight:600}
.entry-content a:hover{color:var(--dark)}
.entry-content hr{
  margin:2.5rem auto;
  border:0;
  border-top:1px solid var(--border);
}
.entry-content .wp-block-image{
  margin-top:2rem;
  margin-bottom:2rem;
}
.entry-content .wp-block-image img{
  width:100%;
  height:auto;
}
.entry-content .wp-block-image figcaption{
  margin-top:.6rem;
  color:var(--muted);
  font-size:.85rem;
  line-height:1.5;
}
.entry-content .wp-block-quote{
  margin:2.25rem auto;
  padding:1.5rem 1.75rem;
  border-left:4px solid var(--blue);
  border-radius:0 var(--r2) var(--r2) 0;
  background:var(--light-blue);
}
.entry-content .wp-block-quote p{
  margin:0;
  color:var(--dark);
  font-family:Catamaran,Arial,sans-serif;
  font-size:1.35rem;
  line-height:1.45;
  font-weight:700;
}
.entry-content .wp-block-group{
  margin-top:2rem;
  margin-bottom:2rem;
  padding:2rem;
  border:1px solid var(--border);
  border-radius:var(--r3);
  background:var(--white);
  box-shadow:0 8px 24px rgba(16,42,92,.045);
}
.entry-content .wp-block-group > *:last-child{margin-bottom:0}
.entry-content .wp-block-columns{
  gap:2rem;
  margin-top:2rem;
  margin-bottom:2rem;
}
.entry-content .wp-block-column{
  padding:1.5rem;
  border:1px solid var(--border);
  border-radius:var(--r2);
  background:var(--white);
}
.entry-content .wp-block-column > *:last-child{margin-bottom:0}
.entry-content .wp-block-buttons{
  margin-top:2rem;
  margin-bottom:2rem;
}
.entry-content .wp-block-button__link{
  font-weight:700;
}
.entry-content .wp-block-table{
  margin:2rem 0;
}
.entry-content .wp-block-table table{
  width:100%;
  border-collapse:collapse;
}
.entry-content .wp-block-table th,
.entry-content .wp-block-table td{
  padding:.8rem 1rem;
  border:1px solid var(--border);
  text-align:left;
}
.entry-content .wp-block-table th{
  color:var(--dark);
  background:var(--light-blue);
  font-weight:800;
}
.page-content-section + *{margin-top:0}

@media(max-width:767px){
  .page-header{padding:1rem 0 .5rem}
  .page-content-section{padding-top:1.25rem;padding-bottom:3.25rem}
  .entry-content p,
  .entry-content li{font-size:1rem;line-height:1.7}
  .entry-content h2{margin-top:2.2rem}
  .entry-content .wp-block-group{padding:1.35rem}
  .entry-content .wp-block-columns{display:block}
  .entry-content .wp-block-column{margin-bottom:1rem;padding:1.25rem}
  .entry-content .wp-block-quote{padding:1.25rem}
  .entry-content .wp-block-quote p{font-size:1.2rem}
}


/* 2.28: responsive photographic closing CTA — keep the bright image and protect text space. */
.assessment-cta{
  position:relative;
  overflow:hidden;
  min-height:300px;
  margin:0;
  padding:3.25rem 3.5rem;
  border-radius:var(--r3);
  background-image:url('assets/images/assessment-cta-bg.jpg');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  color:var(--dark);
}
.assessment-cta__content{position:relative;z-index:1;max-width:48%}
.assessment-cta .eyebrow{color:var(--dark);margin-bottom:.8rem}
.assessment-cta h2{color:var(--dark);max-width:600px;margin-bottom:1rem}
.assessment-cta p:not(.eyebrow){max-width:520px;color:var(--dark);font-size:1.08rem}
.assessment-cta .button{margin-top:.5rem;background:var(--blue);color:var(--white);white-space:nowrap}
.assessment-cta .button:hover{background:var(--dark)}
.assessment-cta .button span{margin-left:.45rem;font-size:1.2em}
.page-final-cta{padding-top:1.5rem !important;padding-bottom:.75rem !important}
.page-final-cta .assessment-cta{margin:0 !important}
.site-footer{padding-top:.75rem !important}
@media(max-width:767px){
  .page-final-cta{padding-top:.75rem !important;padding-bottom:.5rem !important}
  .assessment-cta{
    min-height:430px;
    padding:2.35rem 1.5rem 2.5rem;
    background-position:28% center;
    background-size:cover;
  }
  .assessment-cta__content{max-width:none}
  .assessment-cta h2{font-size:clamp(2rem,8vw,2.65rem);max-width:100%}
  .assessment-cta p:not(.eyebrow){font-size:1rem;max-width:100%}
  .assessment-cta .button{display:flex;width:100%;max-width:none;white-space:nowrap}
  .site-footer{padding-top:.75rem !important}
}



/* 2.26: reusable layout/component foundation.
   These classes are intentionally aliases around the established design system so
   future pages can be assembled consistently without page-specific CSS. */
.ee-container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}
.ee-container--narrow{width:min(calc(100% - 2rem),var(--reading));margin-inline:auto}
.ee-section{padding:6rem 0}
.ee-section--white{background:var(--white)}
.ee-section--pale{background:var(--pale)}
.ee-section--warm{background:var(--warm)}
.ee-section__heading{max-width:720px;margin-bottom:3rem}
.ee-section__heading--split{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:end}
.ee-section__heading p{color:var(--muted)}
.ee-grid{display:grid;gap:1.5rem}
.ee-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ee-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ee-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ee-card{height:100%;padding:2rem;border:1px solid var(--border);border-radius:var(--r2);background:var(--white);box-shadow:0 8px 24px rgba(16,42,92,.05)}
.ee-card--soft-blue{background:var(--light-blue);border-color:#d8e9fb;box-shadow:none}
.ee-card--soft-teal{background:var(--light-teal);border-color:#d5f0eb;box-shadow:none}
.ee-card--soft-coral{background:var(--light-coral);border-color:#f9ddd9;box-shadow:none}
.ee-card--soft-purple{background:var(--light-purple);border-color:#e4dcfb;box-shadow:none}
.ee-card > *:last-child{margin-bottom:0}
.ee-media{overflow:hidden;border-radius:var(--r3);background:var(--light-blue)}
.ee-media img{display:block;width:100%;height:auto}
.ee-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.15rem;border:2px solid transparent;border-radius:var(--r1);background:var(--blue);color:var(--white);font-weight:700;text-decoration:none}
.ee-button:hover{background:var(--dark);color:var(--white)}
.ee-button--secondary{border-color:var(--blue);background:transparent;color:var(--blue)}

/* Keep the established class names working; the ee-* names are the canonical
   vocabulary for future templates and components. */
.container,.ee-container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}
.narrow,.ee-container--narrow{width:min(calc(100% - 2rem),var(--reading));margin-inline:auto}
.section,.ee-section{padding:6rem 0}
.section--white,.ee-section--white{background:var(--white)}
.section--pale,.ee-section--pale{background:var(--pale)}
.section-heading,.ee-section__heading{max-width:720px;margin-bottom:3rem}
.section-heading--split,.ee-section__heading--split{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:end}
.card,.ee-card{height:100%}
.button,.ee-button{display:inline-flex;align-items:center;justify-content:center}

@media(max-width:1199px){
  .ee-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ee-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ee-section__heading--split{grid-template-columns:1fr}
}
@media(max-width:767px){
  .ee-container,.ee-container--narrow{width:min(calc(100% - 1.5rem),var(--max))}
  .ee-section{padding:4rem 0}
  .ee-section__heading--split{display:block}
  .ee-grid--2,.ee-grid--3,.ee-grid--4{grid-template-columns:1fr}
  .ee-card{padding:1.5rem}
}


/* 2.27: restore compact standard-page content spacing after the reusable aliases. */
.page-content-section{padding-top:2rem !important;padding-bottom:4rem !important}
@media(max-width:767px){
  .page-content-section{padding-top:1.25rem !important;padding-bottom:3.25rem !important}
}

/* 2.29: responsive CTA photography — three purpose-built crops, no overlay. */
.assessment-cta{
  position:relative;
  overflow:hidden;
  min-height:300px;
  margin:0;
  padding:3.25rem 3.5rem;
  border-radius:var(--r3);
  background:var(--white);
  color:var(--dark);
  isolation:isolate;
}
.assessment-cta__media{
  position:absolute;
  inset:0;
  z-index:-1;
  display:block;
}
.assessment-cta__media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.assessment-cta__content{
  position:relative;
  z-index:1;
  max-width:48%;
}
.assessment-cta .eyebrow{color:var(--dark);margin-bottom:.8rem}
.assessment-cta h2{color:var(--dark);max-width:600px;margin-bottom:1rem}
.assessment-cta p:not(.eyebrow){
  max-width:520px;
  color:var(--dark);
  font-size:1.08rem;
}
.assessment-cta .button{
  margin-top:.5rem;
  background:var(--blue);
  color:var(--white);
  white-space:nowrap;
}
.assessment-cta .button:hover{background:var(--dark)}
.assessment-cta .button span{margin-left:.45rem;font-size:1.2em}

@media (min-width:768px) and (max-width:1199px){
  .assessment-cta{min-height:360px;padding:2.80rem 3rem}
  .assessment-cta__content{max-width:52%}
  .assessment-cta h2{font-size:clamp(2.1rem,4.2vw,3rem)}
}

@media (max-width:767px){
  .assessment-cta{min-height:500px;padding:2.25rem 1.5rem 2.5rem}
  .assessment-cta__content{max-width:66%}
  .assessment-cta h2{
    font-size:clamp(2rem,8vw,2.65rem);
    line-height:1.08;
    max-width:100%;
  }
  .assessment-cta p:not(.eyebrow){
    font-size:1rem;
    max-width:100%;
    line-height:1.55;
  }
  .assessment-cta .button{
    display:flex;
    width:100%;
    max-width:100%;
    min-height:56px;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    padding-inline:.75rem;
  }
}

@media (max-width:480px){
  .assessment-cta{min-height:475px;padding-inline:1.25rem}
  .assessment-cta__content{max-width:68%}
  .assessment-cta h2{font-size:clamp(1.9rem,8.2vw,2.35rem)}
  .assessment-cta p:not(.eyebrow){font-size:.98rem}
}


/* 2.31: reusable content-card system. */
.ee-card-grid{display:grid;gap:1.5rem}
.ee-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ee-card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ee-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ee-card{
  position:relative;
  height:100%;
  padding:1.75rem;
  border:1px solid var(--border);
  border-radius:var(--r2);
  background:var(--white);
  box-shadow:0 8px 24px rgba(16,42,92,.05);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.ee-card:hover,.ee-card:focus-within{
  transform:translateY(-2px);
  border-color:#cbd8ea;
  box-shadow:0 12px 30px rgba(16,42,92,.08);
}
.ee-card--soft-blue{background:var(--light-blue);border-color:#d8e9fb;box-shadow:none}
.ee-card--soft-teal{background:var(--light-teal);border-color:#d5f0eb;box-shadow:none}
.ee-card--soft-coral{background:var(--light-coral);border-color:#f9ddd9;box-shadow:none}
.ee-card--soft-purple{background:var(--light-purple);border-color:#e4dcfb;box-shadow:none}
.ee-card__icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:12px;background:var(--light-blue);color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.04em}
.ee-card__label{margin:0 0 .55rem;color:var(--blue);font-size:.76rem;line-height:1.25;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ee-card__title{margin-bottom:.7rem;font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.15}
.ee-card__text{margin-bottom:0;color:var(--body)}
.ee-card__link{margin:1.25rem 0 0 !important}
.ee-card__link a{color:var(--blue);font-weight:700;text-decoration:none}
.ee-card__link a:hover{color:var(--dark)}
.ee-card > *:last-child{margin-bottom:0}
.ee-card-grid .wp-block-column{margin:0}
@media(max-width:1199px){
  .ee-card-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ee-card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .ee-card-grid--2,.ee-card-grid--3,.ee-card-grid--4{grid-template-columns:1fr}
  .ee-card{padding:1.5rem}
  .ee-card-grid .wp-block-column{margin:0 0 1rem}
  .ee-card-grid .wp-block-column:last-child{margin-bottom:0}
}

/* 2.33: refine the reusable three-card pattern inside editorial page content.
   The standard WordPress group/column styling remains useful for ordinary content,
   but reusable ee-* components should supply their own visual framing. */
.entry-content .ee-section{
  width:100%;
  max-width:none;
  margin:3.5rem 0;
  padding:4.5rem 0;
  border:0;
  border-radius:0;
  background:var(--white);
  box-shadow:none;
}
.entry-content .ee-section__heading{
  width:min(calc(100% - 2rem),var(--max));
  max-width:720px;
  margin:0 auto 2.25rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.entry-content .ee-card-grid{
  width:min(calc(100% - 2rem),var(--max));
  max-width:none;
  margin:0 auto;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.entry-content .ee-card-grid .wp-block-column{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.entry-content .ee-card-grid .ee-card{
  padding:2rem;
}

@media(max-width:767px){
  .entry-content .ee-section{margin:2.80rem 0;padding:3.5rem 0}
  .entry-content .ee-section__heading{width:calc(100% - 1.5rem);margin-bottom:1.75rem}
  .entry-content .ee-card-grid{width:calc(100% - 1.5rem)}
  .entry-content .ee-card-grid .ee-card{padding:1.5rem}
}



/* 2.34: final reusable-card framing fix.
   WordPress's generic group/column rules were also styling the pattern's
   wrapper and columns. These overrides keep the wrapper open and make the
   three actual cards carry the visual treatment. */
.entry-content .ee-section > .ee-container{
  width:min(calc(100% - 2rem),var(--max));
  max-width:none;
  margin:0 auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.entry-content .ee-section .ee-card-grid .wp-block-column.ee-card{
  margin:0;
  padding:2rem;
  border:1px solid var(--border);
  border-radius:var(--r2);
  background:var(--white);
  box-shadow:0 8px 24px rgba(16,42,92,.05);
}
.entry-content .ee-section .ee-card-grid .wp-block-column.ee-card.ee-card--soft-blue{
  background:var(--light-blue);
  border-color:#d8e9fb;
  box-shadow:none;
}
.entry-content .ee-section .ee-card-grid .wp-block-column.ee-card.ee-card--soft-teal{
  background:var(--light-teal);
  border-color:#d5f0eb;
  box-shadow:none;
}
.entry-content .ee-section .ee-card-grid .wp-block-column.ee-card.ee-card--soft-coral{
  background:var(--light-coral);
  border-color:#f9ddd9;
  box-shadow:none;
}
.entry-content .ee-section .ee-card-grid .wp-block-column.ee-card.ee-card--soft-purple{
  background:var(--light-purple);
  border-color:#e4dcfb;
  box-shadow:none;
}
@media(max-width:767px){
  .entry-content .ee-section > .ee-container{
    width:calc(100% - 1.5rem);
  }
  .entry-content .ee-section .ee-card-grid .wp-block-column.ee-card{
    padding:1.5rem;
  }
}


/* 2.35: remove the last inherited WordPress group frame from the
   reusable three-card section. The section stays open; only the
   individual cards provide visual containment. */
.entry-content .ee-section.ee-section--white {
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.entry-content .ee-section.ee-section--white > .ee-container {
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.entry-content .ee-section.ee-section--white .ee-section__heading {
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

/* 2.38: reusable image + text feature section. */
.entry-content .ee-feature{
  width:min(calc(100% - 2rem),var(--max));
  max-width:none;
  margin:0 auto;
  gap:4rem;
  align-items:center;
}
.entry-content .ee-feature .wp-block-column{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.entry-content .ee-feature__media-col{
  flex-basis:50% !important;
}
.entry-content .ee-feature__content{
  flex-basis:50% !important;
  max-width:600px;
}
.entry-content .ee-feature__image{
  margin:0;
  overflow:hidden;
  border-radius:var(--r3);
  background:var(--light-blue);
}
.entry-content .ee-feature__image img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:var(--r3);
}
.entry-content .ee-feature__content h2{
  margin-bottom:1rem;
}
.entry-content .ee-feature__content > p:not(.eyebrow):not(.ee-feature__link),
.entry-content .ee-feature__content > ul{
  color:var(--body);
}
.entry-content .ee-feature__content ul{
  margin:1.25rem 0 1.5rem;
  padding-left:1.25rem;
}
.entry-content .ee-feature__content li + li{
  margin-top:.55rem;
}
.entry-content .ee-feature__link{
  margin:1.5rem 0 0 !important;
}
.entry-content .ee-feature__link a{
  color:var(--blue);
  font-weight:700;
  text-decoration:none;
}
.entry-content .ee-feature__link a:hover{
  color:var(--dark);
}
@media(max-width:767px){
  .entry-content .ee-feature{
    width:calc(100% - 1.5rem);
    display:flex;
    flex-direction:column;
    gap:2rem;
  }
  .entry-content .ee-feature .wp-block-column{
    width:100% !important;
    flex-basis:auto !important;
  }
  .entry-content .ee-feature__content{
    max-width:none;
  }
  .entry-content .ee-feature__image img{
    aspect-ratio:4 / 3;
  }
}

/* 2.38: reusable Callout / Key Takeaway pattern. */
.entry-content .ee-callout{
  width:min(calc(100% - 2rem),var(--reading));
  max-width:none;
  margin:3rem auto;
  padding:2rem 2.25rem;
  border:1px solid #d8e9fb;
  border-left:5px solid var(--blue);
  border-radius:var(--r2);
  background:var(--light-blue);
  box-shadow:none;
}
.entry-content .ee-callout__label{
  margin:0 0 .65rem !important;
  color:var(--blue);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.3;
  text-transform:uppercase;
}
.entry-content .ee-callout__title{
  margin:0 0 .75rem;
  color:var(--dark);
  font-size:clamp(1.35rem,2.5vw,1.75rem);
  line-height:1.2;
}
.entry-content .ee-callout__text{
  margin:0 !important;
  color:var(--body);
}
.entry-content .ee-callout__text:last-child{margin-bottom:0 !important}
@media(max-width:767px){
  .entry-content .ee-callout{
    width:calc(100% - 1.5rem);
    margin:2.5rem auto;
    padding:1.5rem 1.25rem;
  }
}


/* 2.39: flexible eLearnEnglish Card System. Styles are selectable per block instance. */
.ee-card.is-style-ee-card-white,.wp-block-column.ee-card.is-style-ee-card-white{background:var(--white);border-color:var(--border);box-shadow:0 8px 24px rgba(16,42,92,.05)}
.ee-card.is-style-ee-card-blue,.wp-block-column.ee-card.is-style-ee-card-blue{background:var(--light-blue);border-color:#d8e9fb;box-shadow:none}
.ee-card.is-style-ee-card-teal,.wp-block-column.ee-card.is-style-ee-card-teal{background:var(--light-teal);border-color:#d5f0eb;box-shadow:none}
.ee-card.is-style-ee-card-coral,.wp-block-column.ee-card.is-style-ee-card-coral{background:var(--light-coral);border-color:#f9ddd9;box-shadow:none}
.ee-card.is-style-ee-card-purple,.wp-block-column.ee-card.is-style-ee-card-purple{background:var(--light-purple);border-color:#e4dcfb;box-shadow:none}
.ee-section.is-style-ee-section-white{background:var(--white)!important}
.ee-section.is-style-ee-section-warm{background:var(--warm)!important}
.ee-section.is-style-ee-section-blue{background:var(--pale)!important}
.ee-section.is-style-ee-section-teal{background:#F3FBF9!important}
.ee-section.is-style-ee-section-purple{background:#F8F6FF!important}
.ee-section.is-style-ee-section-white,.ee-section.is-style-ee-section-warm,.ee-section.is-style-ee-section-blue,.ee-section.is-style-ee-section-teal,.ee-section.is-style-ee-section-purple{border:0!important;border-radius:0!important;box-shadow:none!important}

/* 2.80: reusable Card Grid Section block.
   The section owns the broad container and header. A nested Card Grid becomes
   the layout engine only; its outer frame/padding is removed so the cards
   provide the visual containment. */
.entry-content > .ee-card-grid-section{
  width:min(calc(100% - 2rem),var(--max));
  max-width:var(--max);
  margin:3rem auto;
  box-sizing:border-box;
}
.ee-card-grid-section{
  box-sizing:border-box;
  padding:3.5rem 0;
  border-radius:0;
}
.ee-card-grid-section__inner{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  box-sizing:border-box;
}
.ee-card-grid-section__header{
  max-width:1000px;
  margin:0 auto 2rem;
}
.ee-card-grid-section__eyebrow{
  margin:0 0 .65rem;
}
.ee-card-grid-section__heading{
  margin:0 0 .75rem;
  color:var(--dark);
  font-family:Catamaran,Arial,sans-serif;
  line-height:1.1;
}
.ee-card-grid-section__description{
  max-width:760px;
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.ee-card-grid-section--white{background:var(--white)}
.ee-card-grid-section--warm{background:var(--warm)}
.ee-card-grid-section--blue{background:var(--pale)}
.ee-card-grid-section--teal{background:#F2FBF9}
.ee-card-grid-section--purple{background:#F7F4FF}

.ee-card-grid-section__grid{
  width:100%;
}
.ee-card-grid-section__grid > .ee-card-grid{
  width:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  gap:24px;
}
.ee-card-grid-section__grid > .ee-card-grid > .ee-card{
  width:auto;
  min-width:0;
  height:100%;
}
@media(max-width:767px){
  .entry-content > .ee-card-grid-section{
    width:calc(100% - 1.5rem);
    max-width:none;
  }
  .ee-card-grid-section{
    padding:2.25rem 0;
  }
  .ee-card-grid-section__inner{
    padding:0 16px;
  }
  .ee-card-grid-section__header{
    margin-bottom:1.35rem;
  }
  .ee-card-grid-section__grid > .ee-card-grid{
    gap:16px;
  }
}

/* Flexible eLearnEnglish Card Grid v2.40 */
.ee-card-grid{
  display:grid;
  gap:24px;
  width:100%;
  padding:clamp(24px,4vw,48px);
  border-radius:16px;
  box-sizing:border-box;
}
.ee-card-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ee-card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ee-card-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ee-card-grid--section-white{background:#fff}
.ee-card-grid--section-warm{background:#FCFBF8}
.ee-card-grid--section-blue{background:#F4F9FF}
.ee-card-grid--section-teal{background:#F2FBF9}
.ee-card-grid--section-purple{background:#F7F4FF}
.ee-card{
  min-width:0;
  border:1px solid #E1E8F2;
  border-radius:12px;
  padding:28px;
  box-sizing:border-box;
  color:#344566;
}
.ee-card--white{background:#fff}
.ee-card--blue{background:#EAF4FF}
.ee-card--teal{background:#E8F8F5}
.ee-card--coral{background:#FFF0EE}
.ee-card--purple{background:#F2EEFF}
@media (max-width: 1024px){
  .ee-card-grid--4,.ee-card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 767px){
  .ee-card-grid{grid-template-columns:1fr;padding:20px;gap:16px}
  .ee-card{padding:22px}
}


/* 2.43: reusable Article Grid / Article Collection. */
.ee-article-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.5rem;
  width:100%;
  margin:2rem auto;
}
.ee-article-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.ee-article-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.ee-article-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));}
.ee-article-grid .article-card{height:100%;display:flex;flex-direction:column;}
.ee-article-grid .article-card__body{display:flex;flex:1;flex-direction:column;}
.ee-article-grid .article-card__meta{margin-top:auto;padding-top:1rem;}
.ee-article-grid__empty{
  grid-column:1/-1;
  padding:2rem;
  border:1px dashed var(--border);
  border-radius:var(--r2);
  background:var(--pale);
  color:var(--muted);
  text-align:center;
}
@media(max-width:1199px){
  .ee-article-grid--4,.ee-article-grid--3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px){
  .ee-article-grid,.ee-article-grid--2,.ee-article-grid--3,.ee-article-grid--4{grid-template-columns:1fr;gap:1rem;}
  .ee-article-grid{margin:1.5rem auto;}
}


/* 2.45: reusable Collection Header for article/content collections. */
.ee-collection-header{
  width:100%;
  margin:0 auto 1.5rem;
}
.ee-collection-header__inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2rem;
  align-items:end;
}
.ee-collection-header__eyebrow{
  display:block;
  margin:0 0 .45rem;
  color:var(--blue);
  font-size:.78rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ee-collection-header h2{
  margin:0;
  color:var(--dark);
  font-family:Catamaran,Arial,sans-serif;
  font-size:clamp(1.75rem,3vw,2.45rem);
  line-height:1.1;
}
.ee-collection-header__description{
  max-width:720px;
  margin:.5rem 0 0;
  color:var(--muted);
  font-size:1rem;
  line-height:1.55;
}
.ee-collection-header__link{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  margin-bottom:.15rem;
  color:var(--blue);
  font-size:.95rem;
  font-weight:700;
  line-height:1.3;
  text-decoration:none;
  white-space:nowrap;
}
.ee-collection-header__link:hover,.ee-collection-header__link:focus{color:var(--dark);text-decoration:underline;text-underline-offset:3px}
.ee-collection-header__arrow{font-size:1.15em;line-height:1}
@media(max-width:767px){
  .ee-collection-header{margin-bottom:1.25rem}
  .ee-collection-header__inner{display:block}
  .ee-collection-header__description{margin-top:.5rem}
  .ee-collection-header__link{margin-top:.85rem}
}

/* 2.46: reusable Article Collection wrapper. */
.ee-article-collection{
  width:100%;
  box-sizing:border-box;
  margin:2rem auto;
  padding:2rem 2rem 2.25rem;
  background:var(--pale);
  border-radius:20px;
}
.ee-article-collection .ee-collection-header{margin:0 0 1.75rem;}
.ee-article-collection .ee-article-grid{margin:0;}
@media(max-width:767px){
  .ee-article-collection{margin:1.5rem auto;padding:1.25rem 1rem 1.5rem;border-radius:16px;}
  .ee-article-collection .ee-collection-header{margin-bottom:1.5rem;}
  .ee-article-collection .ee-article-grid{gap:1.15rem;}
}


/* 2.54: FAQ landscape-phone typography made intentionally larger and final override added after all FAQ rules. */
.ee-faq{width:min(calc(100% - 2rem),var(--reading));margin:3rem auto;padding:2.5rem 2.5rem 2.80rem;border:1px solid var(--border);border-radius:20px;background:var(--white);box-shadow:0 8px 24px rgba(16,42,92,.04)}
.ee-faq--white{background:var(--white)}
.ee-faq--warm{background:var(--warm)}
.ee-faq--blue{background:var(--pale)}
.ee-faq--teal{background:#F2FBF9}
.ee-faq--purple{background:#F7F4FF}
.ee-faq__header{max-width:760px;margin-bottom:1.75rem}
.ee-faq__eyebrow{display:block;margin-bottom:.65rem;color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ee-faq__header h2{margin:0 0 .6rem}
.ee-faq__description{margin:0;color:var(--muted);font-size:1.05rem}
.ee-faq__items{border-top:1px solid var(--border)}
.ee-faq__item{padding:1.2rem 0;border-bottom:1px solid var(--border)}
.ee-faq__item summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;cursor:pointer;list-style:none;color:var(--dark);font-family:Catamaran,Arial,sans-serif;font-size:1.2rem;font-weight:700;line-height:1.3}
.ee-faq__item summary::-webkit-details-marker{display:none}
.ee-faq__item summary::after{content:'+';color:var(--blue);font-family:Arial,sans-serif;font-size:1.6rem;font-weight:400;line-height:1;transition:transform .18s ease}
.ee-faq__item[open] summary::after{content:'−'}
.ee-faq__number{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--light-blue);color:var(--blue);font-family:Arial,sans-serif;font-size:.78rem;font-weight:800}
.ee-faq__answer{margin:.85rem 2.6rem .1rem;color:var(--text);font-size:.95rem;line-height:1.65}
.ee-faq__answer p:last-child{margin-bottom:0}
@media(min-width:768px) and (max-width:1199px){.ee-faq__answer{font-size:.9rem;line-height:1.6}}
/* 2.52: Treat landscape touch tablets as tablet layouts even when their CSS viewport exceeds 1199px. */
@media (min-width:768px) and (max-width:900px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  .ee-faq__item summary{font-size:1.1rem}
  .ee-faq__answer{font-size:1rem;line-height:1.6;max-width:900px}
}
@media (min-width:901px) and (max-width:1199px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  .ee-faq__item summary{font-size:1.1rem}
  .ee-faq__answer{font-size:.9rem;line-height:1.6;max-width:900px}
}

@media(max-width:767px){.ee-faq{width:min(calc(100% - 1.5rem),var(--reading));margin:2.5rem auto;padding:1.5rem 1rem 1.75rem;border-radius:16px}.ee-faq__header{margin-bottom:1.25rem}.ee-faq__description{font-size:1rem}.ee-faq__item{padding:1rem 0}.ee-faq__item summary{gap:.65rem;font-size:1.08rem}.ee-faq__number{width:26px;height:26px;font-size:.75rem}.ee-faq__answer{margin:.75rem 0 .1rem 2.15rem;font-size:.92rem}}

/* 2.52: Target the FAQ paragraph itself so responsive sizing is not overridden by entry-content paragraph rules. */
.ee-faq__answer p{font-size:.95rem;line-height:1.65}
@media(min-width:768px) and (max-width:1199px){.ee-faq__answer p{font-size:.9rem;line-height:1.6}}
@media (min-width:768px) and (max-width:900px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  .ee-faq__answer p{font-size:1rem;line-height:1.6;max-width:900px}
}
@media (min-width:901px) and (max-width:1199px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  .ee-faq__answer p{font-size:.9rem;line-height:1.6;max-width:900px}
}
@media(max-width:767px){.ee-faq__answer p{font-size:.92rem;line-height:1.65}}


/* 2.55: FAQ landscape touch-device override.
   Some phones/tablets report a CSS viewport wider than 1024px in landscape.
   Use touch capability + orientation rather than a width ceiling so the
   intended landscape phone/tablet typography is actually applied. */
@media (orientation:landscape) and (hover:none) and (pointer:coarse){
  .ee-faq__item summary{
    font-size:1.25rem !important;
    line-height:1.35 !important;
  }
  .ee-faq__answer,
  .ee-faq__answer p{
    font-size:1.1rem !important;
    line-height:1.6 !important;
  }
}


/* 2.56: FAQ compact-landscape rule.
   The portrait FAQ is already using the intended mobile typography.
   For a short landscape viewport (such as an iPhone rotated sideways),
   use viewport height rather than touch/hover detection. */
@media screen and (orientation: landscape) and (max-width: 1100px) and (max-height: 600px){
  .ee-faq__item summary{
    font-size:1.1rem !important;
    line-height:1.35 !important;
  }
  .ee-faq__answer,
  .ee-faq__answer p{
    font-size:1rem !important;
    line-height:1.6 !important;
  }
}


/* 2.58: compact single-article author card and author-only visible byline.
   Publication/modification dates remain stored in WordPress post metadata; they are not shown in the visible article header. */

/* 2.60: tighten single-article header bottom spacing now that only the author byline is visible. */


/* 2.61: focused homepage visual polish — tighter rhythm, richer goal cards, icon treatment. */
.homepage-goals{padding-top:4.25rem;padding-bottom:1.75rem}
.homepage-goals .section-heading{margin-bottom:2rem}
.homepage-goals .section-heading p:last-child{margin-bottom:0}
.homepage-goals .goal-grid{gap:1.25rem}
.homepage-goals .goal-card{padding:1.65rem;border-radius:16px;box-shadow:0 8px 24px rgba(16,42,92,.045);border-color:rgba(16,42,92,.10);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.homepage-goals .goal-card:nth-child(1){background:var(--light-blue)}
.homepage-goals .goal-card:nth-child(2){background:var(--light-teal)}
.homepage-goals .goal-card:nth-child(3){background:#FFF0EE}
.homepage-goals .goal-card:nth-child(4){background:#F2EEFF}
.homepage-goals .goal-card:hover,.homepage-goals .goal-card:focus-within{transform:translateY(-3px);box-shadow:0 14px 30px rgba(16,42,92,.09);border-color:rgba(16,42,92,.16)}
.homepage-goals .goal-icon{width:48px;height:48px;margin-bottom:1rem;border-radius:14px;background:rgba(255,255,255,.68);font-size:1rem}
.homepage-goals .goal-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.homepage-goals .goal-card h3{margin-bottom:.65rem}
.homepage-goals .goal-card p{margin-bottom:0;line-height:1.55}
.homepage-goals .card-link{padding-top:1rem}
.homepage-path{padding-top:1rem}
.homepage-resources{padding-top:1rem}
.homepage-story{padding-top:3.25rem;padding-bottom:3.25rem}
.homepage-final-cta{padding-top:2rem}
@media(max-width:767px){
  .homepage-goals{padding-top:3rem;padding-bottom:1.25rem}
  .homepage-goals .section-heading{margin-bottom:1.5rem}
  .homepage-goals .goal-grid{gap:1rem}
  .homepage-goals .goal-card{padding:1.4rem}
  .homepage-path{padding-top:.75rem;padding-bottom:1.25rem}
  .homepage-resources{padding-top:1.25rem}
  .homepage-story{padding-top:2.5rem;padding-bottom:2.5rem}
  .homepage-final-cta{padding-top:1.25rem}
}

/* 2.71: Reusable Hero — enforce mobile space between CTA buttons and image. */
.entry-content > .ee-hero.alignfull{
  width:100% !important;
  max-width:none !important;
  margin:0 0 2rem !important;
  padding-left:1rem !important;
  padding-right:1rem !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(135deg,var(--pale),var(--white)) !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
.entry-content > .ee-hero.alignfull > .ee-hero__grid{
  width:100% !important;
  max-width:var(--max) !important;
  margin:0 auto !important;
  padding:4rem 0 4.5rem !important;
  display:grid !important;
  grid-template-columns:1.05fr .95fr !important;
  gap:5rem !important;
  align-items:center !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
.entry-content > .ee-hero.alignfull .ee-hero__grid > .wp-block-column{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.entry-content > .ee-hero.alignfull .ee-hero__copy{max-width:650px !important;}
.entry-content > .ee-hero.alignfull .ee-hero__title{
  max-width:720px !important;
  margin:0 0 1rem !important;
  color:var(--dark) !important;
  font-size:clamp(2.5rem,5vw,4rem) !important;
  line-height:1.05 !important;
}
.entry-content > .ee-hero.alignfull .ee-hero__lead{
  max-width:650px !important;
  margin:0 !important;
  font-size:1.15rem !important;
  line-height:1.65 !important;
}
.entry-content > .ee-hero.alignfull .ee-hero__actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:.75rem !important;
  margin:2rem 0 0 !important;
}
.entry-content > .ee-hero.alignfull .ee-hero__actions .wp-block-button{margin:0 !important;}
.entry-content > .ee-hero.alignfull .ee-hero__actions .wp-block-button__link{white-space:nowrap;}
.entry-content > .ee-hero.alignfull .ee-hero__secondary .wp-block-button__link{
  border-color:var(--blue) !important;
  background:transparent !important;
  color:var(--blue) !important;
}
.entry-content > .ee-hero.alignfull .ee-hero__secondary .wp-block-button__link:hover,
.entry-content > .ee-hero.alignfull .ee-hero__secondary .wp-block-button__link:focus{
  background:var(--blue) !important;
  color:var(--white) !important;
  border-color:var(--blue) !important;
}
.entry-content > .ee-hero.alignfull .ee-hero__image{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
  border:0 !important;
  border-radius:var(--r3) !important;
  background:transparent !important;
  box-shadow:0 18px 45px rgba(16,42,92,.12) !important;
}
.entry-content > .ee-hero.alignfull .ee-hero__image img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  object-position:center;
  border-radius:var(--r3);
}
@media(max-width:1199px){
  .entry-content > .ee-hero.alignfull > .ee-hero__grid{gap:3rem !important;}
}
@media(max-width:767px){
  .entry-content > .ee-hero.alignfull{
    margin-bottom:1.5rem !important;
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
  .entry-content > .ee-hero.alignfull > .ee-hero__grid{
    width:100% !important;
    max-width:none !important;
    padding:2.80rem 0 3.25rem !important;
    display:block !important;
  }
  .entry-content > .ee-hero.alignfull .ee-hero__copy{max-width:none !important;margin-bottom:0 !important;padding-bottom:3rem !important;}
  .entry-content > .ee-hero.alignfull .ee-hero__title{font-size:clamp(2.4rem,11vw,3.1rem) !important;}
  .entry-content > .ee-hero.alignfull .ee-hero__lead{font-size:1.05rem !important;}
  .entry-content > .ee-hero.alignfull .ee-hero__actions{flex-direction:column !important;align-items:stretch !important;}
  .entry-content > .ee-hero.alignfull .ee-hero__actions .wp-block-button,
  .entry-content > .ee-hero.alignfull .ee-hero__actions .wp-block-button__link{width:100%;}
  .ee-hero .ee-hero__media{margin-top:3.5rem !important;}
}
/* 2.71: Robust mobile Hero spacing — pad the stacked media column itself. */
@media(max-width:767px){
  .entry-content > .ee-hero.alignfull > .ee-hero__grid > .wp-block-column:last-child{
    padding-top:3.5rem !important;
  }
}
.page-content-section--hero{padding-top:0;padding-bottom:0 !important;}


/* 2.80: Restore broad editorial page-content width while preserving the narrower reading width for articles and callouts.
   Normal page copy uses the 1000px page-copy measure. Broad reusable components
   use the full 1200px site container. Single articles, FAQs, callouts, and
   other intentionally narrow components continue to use --reading (760px). */
.entry-content > *{
  width:min(calc(100% - 2rem),var(--page-copy));
  max-width:var(--page-copy);
  margin-left:auto;
  margin-right:auto;
}
.entry-content > .ee-section,
.entry-content > .ee-feature,
.entry-content > .ee-card-grid,
.entry-content > .ee-article-grid,
.entry-content > .ee-article-collection,
.entry-content > .ee-collection-header{
  width:min(calc(100% - 2rem),var(--max));
  max-width:none;
}
@media(max-width:767px){
  .entry-content > *{
    width:calc(100% - 1.5rem);
    max-width:var(--page-copy);
  }
  .entry-content > .ee-section,
  .entry-content > .ee-feature,
  .entry-content > .ee-card-grid,
  .entry-content > .ee-article-grid,
  .entry-content > .ee-article-collection,
  .entry-content > .ee-collection-header{
    width:calc(100% - 1.5rem);
  }
}

/* 2.80: reusable Section — Header + Content pattern.
   The section owns the broad 1200px container; the heading remains a readable
   measure while the content area can hold broad components such as Card Grid
   and Article Grid. */
.entry-content .ee-section__content{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.entry-content .ee-section__content > .ee-card-grid,
.entry-content .ee-section__content > .ee-article-grid,
.entry-content .ee-section__content > .ee-article-collection,
.entry-content .ee-section__content > .ee-feature{
  width:100%;
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:767px){
  .entry-content .ee-section__content{width:100%;}
}

/* 2.80: Section-contained Card Grid cleanup.
   When a Card Grid is placed inside the reusable Section — Header + Content
   pattern, the section owns the outer spacing and background. The grid itself
   stays open so the individual cards carry the visual containment. Slightly
   tighter card padding also gives four-card desktop layouts more usable text
   width without changing the standalone Card Grid behavior. */
.entry-content .ee-section__content > .ee-card-grid{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  gap:1.25rem;
}
.entry-content .ee-section__content > .ee-card-grid > .ee-card{
  padding:1.5rem !important;
}
@media(max-width:767px){
  .entry-content .ee-section__content > .ee-card-grid{
    gap:1rem;
  }
  .entry-content .ee-section__content > .ee-card-grid > .ee-card{
    padding:1.25rem !important;
  }
}

/* 2.80: Card Grid Section single-surface refinement.
   The grid is only the layout wrapper. Each .ee-card is the single visible
   surface, with its own pastel background, border, radius and padding. */
.ee-card-grid-section__grid > .ee-card-grid,
.ee-card-grid-section__grid .ee-card-grid{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.ee-card-grid-section__grid .ee-card-grid > .ee-card{
  border:1px solid #E1E8F2 !important;
  border-radius:12px !important;
  padding:28px !important;
  box-shadow:none !important;
}
.ee-card-grid-section__grid .ee-card-grid > .ee-card.ee-card--white{background:#fff !important;}
.ee-card-grid-section__grid .ee-card-grid > .ee-card.ee-card--blue{background:#EAF4FF !important; border-color:#D8E9FB !important;}
.ee-card-grid-section__grid .ee-card-grid > .ee-card.ee-card--teal{background:#E8F8F5 !important; border-color:#D5F0EB !important;}
.ee-card-grid-section__grid .ee-card-grid > .ee-card.ee-card--coral{background:#FFF0EE !important; border-color:#F9DDD9 !important;}
.ee-card-grid-section__grid .ee-card-grid > .ee-card.ee-card--purple{background:#F2EEFF !important; border-color:#E4DCFB !important;}
@media(max-width:767px){
  .ee-card-grid-section__grid .ee-card-grid > .ee-card{
    padding:22px !important;
  }
}


/* 2.80: Card Grid Section background owns the section surface.
   The section background sits behind the header and cards. Individual card
   backgrounds remain controlled by the Card Grid's card settings. */
.ee-card-grid-section--white { background:#FFFFFF !important; }
.ee-card-grid-section--warm { background:#FCFBF8 !important; }
.ee-card-grid-section--blue { background:#F4F9FF !important; }
.ee-card-grid-section--teal { background:#E8F8F5 !important; }
.ee-card-grid-section--purple { background:#F2EEFF !important; }

.ee-card-grid-section__grid > .ee-card-grid {
  background:transparent !important;
}


/* 2.80: remove nested Card Grid inner surface.
   In the Card Grid Section, the outer .ee-card is the visual card surface.
   Inner content wrappers are transparent and do not draw a second box. */
.ee-card-grid-section .ee-card > .ee-card__inner,
.ee-card-grid-section .ee-card > .card-inner,
.ee-card-grid-section .ee-card > .ee-card-content,
.ee-card-grid-section .ee-card > .card-content,
.ee-card-grid-section .ee-card > .wp-block-group,
.ee-card-grid-section .ee-card > div:not(.wp-block-buttons):not(.wp-block-button){
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  outline:0 !important;
}

/* 2.80: remove nested ee-card surface inside Card Grid Section.
   Some existing Card Grid content can contain an .ee-card inside another
   .ee-card. The outer card is the intended visual surface; the nested card
   becomes transparent so it cannot create a second frame. */
.ee-card-grid-section .ee-card-grid > .ee-card .ee-card{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
}

    
    /* 2.81: Assessment CTA block. */
    .ee-assessment-cta-block{position:relative;overflow:hidden;width:min(calc(100% - 2rem),1200px);min-height:360px;margin:0 auto;padding:64px 56px;border-radius:16px;color:#fff;isolation:isolate;background:#102A5C}
    .ee-assessment-cta-block__media{position:absolute;inset:0;z-index:-2;display:block}.ee-assessment-cta-block__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--ee-cta-position,center)}
    .ee-assessment-cta-block:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,27,70,.28) 0%,rgba(7,27,70,.12) 42%,rgba(7,27,70,0) 72%)}
    .ee-assessment-cta--overlay-medium:after{background:linear-gradient(90deg,rgba(7,27,70,.42) 0%,rgba(7,27,70,.18) 48%,rgba(7,27,70,0) 76%)}
    .ee-assessment-cta--overlay-strong:after{background:linear-gradient(90deg,rgba(7,27,70,.58) 0%,rgba(7,27,70,.26) 52%,rgba(7,27,70,0) 80%)}
    .ee-assessment-cta-block__content{position:relative;z-index:1;max-width:650px}.ee-assessment-cta-block__eyebrow{color:rgba(255,255,255,.92)!important;margin-bottom:.8rem}.ee-assessment-cta-block__heading{color:#fff!important;max-width:650px;margin-bottom:1rem}.ee-assessment-cta-block__description{max-width:650px;color:rgba(255,255,255,.94);font-size:1.1rem}.ee-assessment-cta-block__button{margin-top:.5rem}
    @media(max-width:767px){.ee-assessment-cta-block{width:min(calc(100% - 2rem),1200px);min-height:520px;padding:40px 28px;border-radius:16px}.ee-assessment-cta-block__content{max-width:100%}.ee-assessment-cta-block__description{font-size:1rem}}
    

/* =========================================================
   eLearnEnglish v3.03 — Slightly enlarged graphical heading accents
   ========================================================= */

:root {
  --ele-h1-accent: #e85d5d;
  --ele-h2-accent: #2a9d8f;
  --ele-h3-accent: #3f7cac;
  --ele-body-size: 18px;
  --ele-body-line-height: 1.7;
}

/* Keep headings confident and readable without the oversized textbook look. */
h1 {
  font-size: clamp(2.05rem, 3.2vw, 2.55rem);
  line-height: 1.12;
  margin-bottom: .7rem;
}

h2 {
  font-size: clamp(1.55rem, 2.35vw, 2rem);
  line-height: 1.2;
  margin-top: 2.25rem;
  margin-bottom: .7rem;
}

h3 {
  font-size: clamp(1.25rem, 1.75vw, 1.5rem);
  line-height: 1.3;
  margin-top: 1.75rem;
  margin-bottom: .55rem;
}

/* Main content typography. Exclude UI/navigation elements. */
.entry-content,
.page-content,
.single-post .post-content,
article .entry-content {
  font-size: var(--ele-body-size);
  line-height: var(--ele-body-line-height);
}

.entry-content p,
.page-content p,
.single-post .post-content p,
article .entry-content p,
.entry-content li,
.page-content li,
.single-post .post-content li {
  font-size: var(--ele-body-size);
  line-height: var(--ele-body-line-height);
  margin-bottom: 1.05em;
}

/*
 * Graphical heading accents:
 * small, hand-painted SVG strokes with a gentle upward curve and
 * a soft fade toward the right. These are deliberately shorter and
 * thinner than the earlier CSS-line treatment.
 */
.entry-content h1::after,
.page-content h1::after,
.single-post .post-content h1::after,
article .entry-content h1::after,
.site-main > article h1::after,
main h1::after,
.page-header h1::after,
.ee-page-header h1::after {
  content: "";
  display: block;
  width: 5rem;
  height: .82rem;
  margin-top: .42rem;
  background: url("assets/images/heading-accents/h1-coral.svg") left center / 100% 100% no-repeat;
}

.entry-content h2::after,
.page-content h2::after,
.single-post .post-content h2::after,
article .entry-content h2::after,
.site-main > article h2::after,
main h2::after {
  content: "";
  display: block;
  width: 4.15rem;
  height: .71rem;
  margin-top: .34rem;
  background: url("assets/images/heading-accents/h2-teal.svg") left center / 100% 100% no-repeat;
}

.entry-content h3::after,
.page-content h3::after,
.single-post .post-content h3::after,
article .entry-content h3::after,
.site-main > article h3::after,
main h3::after {
  content: "";
  display: block;
  width: 3.45rem;
  height: .65rem;
  margin-top: .28rem;
  background: url("assets/images/heading-accents/h3-blue.svg") left center / 100% 100% no-repeat;
}

/* Avoid decorative pseudo-elements on UI headings and cards. */
nav h1::after, nav h2::after, nav h3::after,
footer h1::after, footer h2::after, footer h3::after,
header h1::after, header h2::after, header h3::after,
.widget h1::after, .widget h2::after, .widget h3::after,
form h1::after, form h2::after, form h3::after,
button h1::after, button h2::after, button h3::after {
  content: none;
}

/* Page-title headers use the same compact H1 treatment. */
.page-header h1,
.ee-page-header h1 {
  font-size: clamp(2.05rem, 3.2vw, 2.55rem);
  line-height: 1.12;
  margin-bottom: .7rem;
}

/* Mobile: keep the H1 readable without dominating the screen. */
@media (max-width: 767px) {
  :root {
    --ele-body-size: 17px;
  }

  h1 {
    font-size: clamp(1.8rem, 8vw, 2.15rem);
    line-height: 1.15;
  }

  h2 {
    font-size: clamp(1.45rem, 6.5vw, 1.8rem);
  }

  h3 {
    font-size: clamp(1.2rem, 5.5vw, 1.45rem);
  }

  .entry-content,
  .page-content,
  .single-post .post-content,
  article .entry-content {
    line-height: 1.68;
  }

  .page-header h1,
  .ee-page-header h1 {
    font-size: clamp(1.8rem, 8vw, 2.15rem);
    line-height: 1.15;
  }
}


/* v3.07: Global WPForms mobile spacing.
   Portrait phones keep the established 20px outer spacing.
   Landscape touch devices can report a wider CSS viewport, so the form
   is pulled out of the centered content column and given the same mobile
   edge spacing relative to the viewport. Desktop/tablet pointer layouts
   are left unchanged. */
@media (max-width: 767px) {
  .wpforms-container {
    width: auto !important;
    max-width: none !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
}

@media screen and (orientation: landscape) and (hover: none) and (pointer: coarse) {
  .wpforms-container {
    width: calc(100vw - 40px) !important;
    max-width: none !important;
    margin-left: calc((100% - 100vw) / 2 + 20px) !important;
    margin-right: 0 !important;
  }
}
