:root{
  --elh-red:#e63336;
  --elh-red-dark:#cf262a;
  --elh-red-soft:#fff3f3;
  --elh-ink:#263140;
  --elh-ink-2:#344054;
  --elh-muted:#667085;
  --elh-muted-2:#98a2b3;
  --elh-line:#dfe4eb;
  --elh-line-2:#edf0f4;
  --elh-soft:#f3f5f8;
  --elh-soft-2:#f8f9fb;
  --elh-blue:#2f66d8;
  --elh-green:#2f9b57;
  --elh-shell:1136px;
  --elh-radius:18px;
  --elh-shadow:0 8px 22px rgba(16,24,40,.055);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif;
  font-size:16px;
  line-height:1.6;
  font-weight:400;
  color:var(--elh-ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button,a{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.elh-shell{width:min(calc(100% - 48px),var(--elh-shell));margin-inline:auto}
.elh-icon{display:block;flex:0 0 auto}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;left:14px;top:14px;z-index:99999;padding:10px 14px;background:#fff;border:1px solid var(--elh-line);border-radius:8px}

/* Header */
.elh-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--elh-line-2)}
.elh-header-inner{height:64px;display:flex;align-items:center;gap:28px}
.elh-brand{display:flex;align-items:center;gap:10px;min-width:225px}
.elh-brand-symbol{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:var(--elh-red);color:#fff;font-size:13px;font-weight:700;letter-spacing:.01em}
.elh-brand-copy{display:flex;flex-direction:column;line-height:1.2}
.elh-brand-copy strong{font-size:15px;font-weight:700;letter-spacing:-.01em}
.elh-brand-copy small{font-size:11px;color:var(--elh-muted);margin-top:3px;font-weight:400}
.custom-logo-link img{max-height:42px;width:auto}
.elh-nav{flex:1;display:flex;justify-content:center}
.elh-nav-list{display:flex;align-items:center;gap:3px;list-style:none;margin:0;padding:0}
.elh-nav-list>li>a{display:flex;align-items:center;gap:5px;padding:9px 11px;font-size:13px;font-weight:500;color:#303a49;border-radius:8px}
.elh-nav-list>li>a:hover,.elh-nav-list>.current-menu-item>a{color:var(--elh-red)}
.elh-nav-list>.menu-item-has-children>a:after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:4px}
.elh-header-actions{display:flex;align-items:center;gap:8px}
.elh-icon-btn,.elh-mobile-toggle{display:grid;place-items:center;width:38px;height:38px;border:0;background:transparent;border-radius:9px;color:#475467;cursor:pointer}
.elh-icon-btn:hover,.elh-mobile-toggle:hover{background:var(--elh-soft-2);color:var(--elh-ink)}
.elh-mobile-toggle{display:none}
.elh-login-link{font-size:13px;font-weight:600;padding:8px 5px}
.elh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 15px;border-radius:9px;border:1px solid transparent;font-size:13px;font-weight:600;cursor:pointer}
.elh-btn-primary{background:var(--elh-red);color:#fff;border-color:var(--elh-red)}
.elh-btn-primary:hover{background:var(--elh-red-dark);border-color:var(--elh-red-dark)}
.elh-btn-outline{background:#fff;border-color:var(--elh-line);color:#344054}
.elh-btn-outline:hover{border-color:#c9d0da;background:#fafbfc}
.elh-btn-compact{height:40px;padding-inline:16px}
.elh-search-panel{position:absolute;left:0;right:0;top:64px;background:#fff;border-bottom:1px solid var(--elh-line);box-shadow:0 14px 30px rgba(16,24,40,.06)}
.elh-search-panel .elh-shell{padding:20px 0}
.elh-search-inner{display:flex;align-items:center;gap:12px;max-width:850px;margin:auto}
.elh-search-inner>span{color:var(--elh-muted)}
.elh-search-inner .search-form{flex:1}
.elh-search-inner .search-field{width:100%;border:0;outline:0;font-size:18px;font-weight:500;color:var(--elh-ink);padding:8px 0}
.elh-search-inner .search-submit{display:none}
.elh-search-close{border:0;background:transparent;font-size:26px;color:var(--elh-muted);cursor:pointer}
.elh-mobile-nav{background:#fff;border-top:1px solid var(--elh-line-2);padding:12px 0 18px}
.elh-mobile-list{list-style:none;padding:0;margin:0}
.elh-mobile-list a{display:block;padding:12px 0;font-size:14px;border-bottom:1px solid var(--elh-line-2)}

/* Home intro inspired by the supplied clean knowledge layout */
.elh-home-hero{padding:64px 0 50px;border-bottom:1px solid var(--elh-line-2);background:#fff}
.elh-home-hero-inner{text-align:center;max-width:920px}
.elh-kicker{display:block;color:var(--elh-red);font-size:12px;font-weight:600;letter-spacing:.02em;margin-bottom:8px}
.elh-kicker-center{text-align:center}
.elh-home-hero h1{margin:0;font-size:clamp(38px,4.3vw,52px);line-height:1.16;letter-spacing:-.038em;font-weight:700;color:#25303e}
.elh-home-hero h1 span{color:var(--elh-red)}
.elh-home-hero p{max-width:720px;margin:16px auto 0;font-size:16px;line-height:1.7;color:#718096;font-weight:400}
.elh-home-tabs{display:inline-flex;align-items:center;gap:3px;margin-top:28px;padding:5px;border:1px solid var(--elh-line);border-radius:999px;background:#fff;box-shadow:0 3px 12px rgba(16,24,40,.035)}
.elh-home-tabs a{min-width:74px;padding:9px 15px;border-radius:999px;font-size:13px;font-weight:600;color:#667085}
.elh-home-tabs a:hover{color:var(--elh-red)}
.elh-home-tabs a.is-active{background:var(--elh-red);color:#fff}

/* Practice tool row */
.elh-quick-tools{padding:34px 0 62px;background:#fff}
.elh-quick-tools .elh-shell{display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:start}
.elh-tool-heading{display:flex;align-items:center;gap:10px;padding-top:6px}
.elh-tool-heading-icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--elh-red-soft);color:var(--elh-red)}
.elh-tool-heading div{display:flex;flex-direction:column}
.elh-tool-heading strong{font-size:15px;font-weight:600}
.elh-tool-heading small{font-size:12px;color:var(--elh-muted);margin-top:2px}
.elh-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.elh-tool-grid a{min-height:50px;border:1px solid #d9e0e8;border-radius:10px;background:#fff;display:flex;align-items:center;gap:10px;padding:0 13px;font-size:13px;font-weight:500;color:#3f4a5a;box-shadow:0 3px 9px rgba(16,24,40,.035)}
.elh-tool-grid a:hover{border-color:#c5ceda;box-shadow:0 6px 14px rgba(16,24,40,.055);transform:translateY(-1px)}
.elh-tool-grid .elh-icon{color:#748399}

/* General sections */
.elh-section{padding:72px 0}
.elh-section-soft{background:#fafbfc}
.elh-section-separated{border-top:1px solid var(--elh-line-2)}
.elh-section-intro{max-width:720px;margin-bottom:36px}
.elh-section-intro-center{text-align:center;margin-left:auto;margin-right:auto}
.elh-feature-intro{max-width:610px;margin-bottom:44px}
.elh-feature-intro h2,.elh-section-intro h2,.elh-knowledge-head h2,.elh-results-head h2{font-size:clamp(31px,3.7vw,43px);line-height:1.18;letter-spacing:-.033em;font-weight:700;margin:0;color:#25303e}
.elh-feature-intro h2{max-width:610px}
.elh-section-intro p,.elh-knowledge-head p{font-size:15px;line-height:1.72;color:#667085;margin:14px 0 0;font-weight:400}
.elh-section-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.elh-section-head h2{font-size:31px;line-height:1.25;letter-spacing:-.025em;font-weight:700;margin:0;color:#25303e}
.elh-section-head>a{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#273142}
.elh-section-head>a:hover{color:var(--elh-red)}

/* Feature showcase: proportions follow the supplied DOL feature cards */
.elh-showcase-stack{display:grid;gap:34px}
.elh-showcase-card{display:grid;grid-template-columns:46% 54%;min-height:344px;border:1px solid #d9dfe7;border-radius:18px;overflow:hidden;background:#fff}
.elh-showcase-reverse{grid-template-columns:54% 46%}
.elh-showcase-reverse .elh-showcase-copy{order:2}
.elh-showcase-reverse .elh-showcase-demo{order:1}
.elh-showcase-copy{padding:44px 58px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.elh-feature-icon{width:78px;height:78px;border-radius:17px;background:#fff3f3;color:#e95f63;display:grid;place-items:center;margin-bottom:30px}
.elh-showcase-copy h3{font-size:24px;line-height:1.34;letter-spacing:-.022em;font-weight:600;margin:0;color:#263140;max-width:440px}
.elh-showcase-copy p{font-size:15px;line-height:1.72;color:#667085;margin:14px 0 0;max-width:430px;font-weight:400}
.elh-showcase-demo{background:#f1f3f6;min-width:0;padding:24px;display:grid;place-items:center}
.elh-progress-panel{background:#fff;border-radius:10px;width:100%;padding:26px 25px;box-shadow:0 2px 7px rgba(16,24,40,.025)}
.elh-streak-strip{display:flex;align-items:center;gap:14px;padding:9px 13px;background:#fff3ef;border-radius:10px;color:#a4432c}
.elh-streak-number{min-width:112px;height:48px;border-radius:10px;background:#ffe8df;display:flex;align-items:center;justify-content:center;gap:8px;color:#ef5a2c}
.elh-streak-number b{font-size:21px;font-weight:700}
.elh-streak-strip>span:last-child{display:flex;flex-direction:column;min-width:0}
.elh-streak-strip strong{font-size:13px;font-weight:600;color:#9b3c29;line-height:1.35}
.elh-streak-strip small{font-size:11px;color:#dd6d54;margin-top:4px;line-height:1.3}
.elh-ring-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:24px}
.elh-ring-item{display:grid;justify-items:center;text-align:center;min-width:0}
.elh-ring{position:relative;width:74px;height:74px;display:grid;place-items:center}
.elh-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.elh-ring-track,.elh-ring-value{fill:none;stroke-width:5}
.elh-ring-track{stroke:#e6eaf0}
.elh-ring-value{stroke:var(--elh-blue);stroke-dasharray:var(--ring-value) 100;stroke-linecap:butt}
.elh-ring>span{position:relative;z-index:1;display:grid;line-height:1.15}
.elh-ring>span b{font-size:13px;font-weight:600;color:#344054}
.elh-ring>span small{font-size:10px;color:#98a2b3;margin-top:4px}
.elh-ring-item>strong{font-size:12px;line-height:1.35;font-weight:600;color:#344054;margin-top:9px}
.elh-ring-item>small{font-size:10px;line-height:1.35;color:#98a2b3;margin-top:3px}
.elh-bank-demo{padding:24px}
.elh-mini-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.elh-mini-course-grid>div{min-height:84px;border-radius:8px;background:#fff;padding:18px 20px;display:flex;flex-direction:column;justify-content:center}
.elh-mini-course-grid strong{font-size:13px;font-weight:600;color:#3b4656}
.elh-mini-course-grid span{display:flex;align-items:center;gap:5px;font-size:11px;color:#7d8b9d;margin-top:10px;white-space:nowrap}
.elh-mini-course-grid span .elh-icon{margin-left:5px}
.elh-mini-course-grid span .elh-icon:first-child{margin-left:0}
.elh-score-demo{display:flex;align-items:flex-start;justify-content:center;gap:34px;width:100%;max-width:500px;padding:8px 12px}
.elh-score-number{padding-top:18px;min-width:92px}
.elh-score-number small{display:block;font-size:13px;color:#8c97a7}
.elh-score-number strong{display:block;margin-top:5px;color:#df3c40;font-size:38px;line-height:1;font-weight:600}
.elh-score-demo svg{width:270px;height:auto}
.elh-pronunciation-demo{position:relative;width:100%;min-height:260px;background:#fff;border-radius:9px;padding:23px 24px;overflow:hidden}
.elh-pronunciation-demo p{margin:0;font-size:14px;line-height:1.9;font-weight:500;color:#35a05a}
.elh-pronunciation-demo p em{font-style:normal;color:#f05a3c;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:5px}
.elh-pronunciation-lines{display:grid;gap:12px;margin-top:18px}
.elh-pronunciation-lines i{display:block;height:8px;border-radius:999px;background:#e5e9ef}
.elh-pronunciation-lines i:nth-child(2){width:92%}.elh-pronunciation-lines i:nth-child(3){width:84%}.elh-pronunciation-lines i:nth-child(4){width:95%}.elh-pronunciation-lines i:nth-child(5){width:76%}.elh-pronunciation-lines i:nth-child(6){width:88%}
.elh-word-pop{position:absolute;left:30%;top:82px;width:240px;background:#fff;border:1px solid #dfe4ea;border-radius:9px;box-shadow:0 8px 20px rgba(16,24,40,.12);display:grid;grid-template-columns:1.15fr repeat(3,1fr);align-items:stretch;overflow:hidden}
.elh-word-pop>b{display:grid;place-items:center;font-size:13px;font-weight:600;border-right:1px solid var(--elh-line-2)}
.elh-word-pop>span{display:flex;flex-direction:column;align-items:center;padding:10px 5px;border-right:1px solid var(--elh-line-2)}
.elh-word-pop>span:last-child{border-right:0}
.elh-word-pop small{font-size:9px;color:#667085}
.elh-word-pop strong{font-size:11px;font-weight:500;margin-top:4px;color:#4f9d66}
.elh-word-pop .is-good{color:#3e9b58}
.elh-ai-tip{position:absolute;left:22px;bottom:18px;display:flex;align-items:center;gap:9px;color:#344054}
.elh-ai-tip .elh-icon{width:34px;height:34px;padding:7px;border-radius:50%;background:#e7f4ff;color:#2f77cf}
.elh-ai-tip strong{font-size:12px;font-weight:600}
.elh-skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%}
.elh-skill-grid>div{background:#fff;border-radius:9px;min-height:112px;padding:20px 22px;display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto auto;column-gap:8px}
.elh-skill-grid .elh-icon{color:#eb6467;margin-top:1px}
.elh-skill-grid strong{font-size:13px;font-weight:600;color:#344054}
.elh-skill-grid span,.elh-skill-grid small{grid-column:2;font-size:11px;color:#7c8798;margin-top:6px;line-height:1.3}
.elh-tool-demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}
.elh-tool-demo-grid>div{min-height:58px;background:#fff;border:1px solid #d6dde6;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 14px;box-shadow:0 3px 8px rgba(16,24,40,.04)}
.elh-tool-demo-grid .elh-icon{color:#728197}
.elh-tool-demo-grid strong{font-size:12px;font-weight:600;color:#445064}

/* Resource cards */
.elh-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.elh-card{min-width:0}
.elh-card-media{display:block;position:relative;aspect-ratio:1.5/1;border-radius:8px;overflow:hidden;background:#eef1f4}
.elh-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.elh-card:hover .elh-card-media img{transform:scale(1.018)}
.elh-card-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#e8eef5,#f6f7f9);display:grid;place-items:center;overflow:hidden}
.elh-card-placeholder-pattern{position:absolute;inset:0;background-image:radial-gradient(rgba(38,49,64,.07) 1px,transparent 1px);background-size:15px 15px;mask-image:linear-gradient(135deg,#000,transparent 70%)}
.elh-card-placeholder-icon{width:58px;height:58px;border-radius:15px;background:#fff;color:#75849b;display:grid;place-items:center;box-shadow:0 8px 18px rgba(16,24,40,.08);z-index:1}
.elh-card-badge{position:absolute;top:10px;left:10px;padding:4px 7px;border-radius:6px;background:rgba(255,255,255,.96);font-size:12px;font-weight:500;color:#475467;box-shadow:0 2px 6px rgba(16,24,40,.04)}
.elh-card-body{padding-top:12px}
.elh-card-meta{font-size:12px;color:#98a2b3;margin-bottom:4px}
.elh-card h3{font-size:18px;line-height:1.42;letter-spacing:-.015em;font-weight:600;margin:0;color:#223047}
.elh-card h3 a:hover{color:var(--elh-red)}
.elh-card p{font-size:13px;line-height:1.55;color:#8994a4;margin:7px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.elh-card-submeta{display:flex;gap:12px;align-items:center;color:#98a2b3;font-size:12px;margin-top:8px}
.elh-card-submeta span{display:flex;align-items:center;gap:5px}
.elh-card-action{display:inline-flex;align-items:center;gap:7px;border:1px solid #dbe1e8;border-radius:8px;min-height:39px;padding:0 12px;font-size:13px;font-weight:600;margin-top:16px;background:#fff}
.elh-card-action:hover{border-color:#c6cfda;background:#fafbfc}
.elh-action-play{color:var(--elh-red);display:grid;place-items:center}

/* Grammar */
.elh-grammar-pair{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--elh-line);border-radius:18px;overflow:hidden;background:#fff}
.elh-grammar-pair>article{padding:38px 40px}
.elh-grammar-pair>article+article{border-left:1px solid var(--elh-line)}
.elh-grammar-icon{width:58px;height:58px;border-radius:14px;background:var(--elh-red-soft);color:#e46164;display:grid;place-items:center;margin-bottom:20px}
.elh-grammar-pair article>div:nth-child(2)>span{font-size:12px;color:var(--elh-red);font-weight:600}
.elh-grammar-pair h3{font-size:22px;line-height:1.42;letter-spacing:-.02em;font-weight:600;margin:7px 0 22px;max-width:460px}
.elh-list-cards{display:grid;border-top:1px solid var(--elh-line-2)}
.elh-list-cards>a{display:grid;grid-template-columns:22px 1fr 17px;gap:11px;align-items:start;padding:14px 0;border-bottom:1px solid var(--elh-line-2)}
.elh-list-cards>a>.elh-icon:first-child{color:#8492a5;margin-top:2px}
.elh-list-cards>a>.elh-icon:last-child{color:#aab3bf;align-self:center}
.elh-list-cards span{display:flex;flex-direction:column}
.elh-list-cards strong{font-size:14px;line-height:1.45;font-weight:600}
.elh-list-cards small{font-size:12px;line-height:1.5;color:#98a2b3;margin-top:3px}
.elh-list-cards>a:hover strong{color:var(--elh-red)}
.elh-text-link{display:inline-flex;align-items:center;gap:7px;margin-top:19px;color:var(--elh-red);font-size:13px;font-weight:600}

/* Knowledge editorial */
.elh-knowledge-section{background:#fff}
.elh-knowledge-head{display:flex;justify-content:space-between;align-items:end;gap:42px;margin-bottom:32px}
.elh-knowledge-head>div:first-child{max-width:680px}
.elh-segmented{display:flex;border:1px solid var(--elh-line);border-radius:999px;padding:4px;background:#fff}
.elh-segmented button{border:0;background:transparent;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600;color:#7a8596;cursor:pointer}
.elh-segmented button.active{background:var(--elh-red);color:#fff}
.elh-editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.elh-editorial-grid .elh-card h3{font-size:18px}

/* Results */
.elh-results{background:#fafbfc}
.elh-results-head{text-align:center;max-width:760px;margin:0 auto 34px}
.elh-results-head h2{margin-top:15px}
.elh-results-head p{font-size:15px;line-height:1.7;color:#718096;margin:14px auto 0;max-width:650px}
.elh-eyebrow-pill,.elh-hero-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #efc2c4;border-radius:999px;background:#fff8f8;color:var(--elh-red);font-size:12px;font-weight:600}
.elh-score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:960px;margin:auto}
.elh-score-grid>div{position:relative;border:1px solid var(--elh-line);border-radius:15px;background:#fff;text-align:center;padding:26px 18px;overflow:hidden}
.elh-score-grid>div:after{content:"";position:absolute;top:0;right:0;width:46px;height:56px;background:var(--elh-red);clip-path:polygon(0 0,100% 0,100% 100%,50% 80%,0 100%)}
.elh-score-grid span{display:block;font-size:31px;font-weight:700;color:var(--elh-red);font-style:italic}
.elh-score-grid strong{display:block;font-size:14px;font-weight:600;margin-top:7px}
.elh-score-grid small{display:block;font-size:12px;color:#98a2b3;margin-top:4px}
.elh-center-action{text-align:center;margin-top:26px}

/* Archives */
.elh-library-hero{padding:62px 0 42px;text-align:center;border-bottom:1px solid var(--elh-line-2);background:#fff}
.elh-library-hero .elh-shell{max-width:900px}
.elh-eyebrow{color:var(--elh-red);font-size:12px;font-weight:600}
.elh-library-hero h1{font-size:clamp(36px,4.6vw,50px);line-height:1.16;letter-spacing:-.036em;font-weight:700;margin:13px 0 12px}
.elh-library-hero p{font-size:15px;line-height:1.72;color:#718096;max-width:720px;margin:0 auto}
.elh-pills{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:24px}
.elh-pills a{border:1px solid var(--elh-line);padding:8px 11px;border-radius:999px;font-size:12px;font-weight:600;color:#667085;background:#fff}
.elh-pills a:hover,.elh-pills a.active{background:var(--elh-red);border-color:var(--elh-red);color:#fff}
.elh-pagination{margin-top:40px}
.elh-pagination .nav-links{display:flex;gap:8px;justify-content:center}
.elh-pagination .page-numbers{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--elh-line);border-radius:8px;padding:0 9px;font-size:13px}
.elh-pagination .current{background:#273241;border-color:#273241;color:#fff}

/* Single article / lesson */
.elh-article-hero{padding:48px 0 32px;border-bottom:1px solid var(--elh-line-2)}
.elh-article-head-inner{max-width:900px}
.elh-breadcrumb{display:flex;align-items:center;gap:7px;font-size:12px;color:#98a2b3;margin-bottom:14px;flex-wrap:wrap}
.elh-breadcrumb a{color:var(--elh-red);font-weight:600}
.elh-article-hero h1{font-size:clamp(34px,4vw,48px);line-height:1.18;letter-spacing:-.034em;font-weight:700;margin:0}
.elh-article-deck{font-size:16px;line-height:1.75;color:#667085;max-width:800px;margin:14px 0 0}
.elh-article-meta{display:flex;gap:16px;align-items:center;color:#98a2b3;font-size:12px;margin-top:15px;flex-wrap:wrap}
.elh-article-meta span{display:flex;align-items:center;gap:5px}
.elh-article-grid{display:grid;grid-template-columns:285px minmax(0,760px) 238px;gap:36px;align-items:start;padding-top:36px;padding-bottom:76px;width:min(calc(100% - 48px),1380px);margin-inline:auto}
.elh-article-left,.elh-toc{position:sticky;top:90px}
.elh-side-card>h3,.elh-toc-card>strong{font-size:15px;font-weight:600;margin:0 0 10px}
.elh-side-card>a{display:grid;grid-template-columns:50px 1fr;gap:12px;align-items:start;padding:11px 0}
.elh-side-card>a>.elh-icon{width:50px;height:50px;padding:13px;border-radius:9px;background:var(--elh-red);color:#fff}
.elh-side-card>a:nth-of-type(2)>.elh-icon{background:#2f9b55}
.elh-side-card>a:nth-of-type(3)>.elh-icon{background:#3565dc}
.elh-side-card span{display:flex;flex-direction:column}
.elh-side-card strong{font-size:13px;line-height:1.4;font-weight:600}
.elh-side-card small{font-size:12px;line-height:1.5;color:#8492a5;margin-top:3px}
.elh-toc-card{border-left:1px solid var(--elh-line);padding-left:20px}
.elh-toc-card nav{display:grid}
.elh-toc-card a{font-size:13px;line-height:1.45;color:#7d899b;padding:5px 0}
.elh-toc-card a.depth-3{padding-left:15px}
.elh-toc-card a.active,.elh-toc-card a:hover{color:var(--elh-red)}
.elh-article-content{font-size:16px;line-height:1.88;color:#344054}
.elh-article-content h2{font-size:29px;line-height:1.35;letter-spacing:-.02em;font-weight:700;margin:34px 0 12px;scroll-margin-top:95px;color:#243041}
.elh-article-content h3{font-size:21px;line-height:1.42;font-weight:600;margin:26px 0 9px;scroll-margin-top:95px;color:#273142}
.elh-article-content p{margin:0 0 17px}
.elh-article-content a{color:var(--elh-red);text-decoration:underline;text-underline-offset:3px}
.elh-article-content ul,.elh-article-content ol{padding-left:22px}
.elh-article-content li{margin:7px 0}
.elh-article-content blockquote{border-left:3px solid var(--elh-red);background:#fff7f7;padding:16px 18px;border-radius:0 10px 10px 0;margin:24px 0}
.elh-article-content table{width:100%;border-collapse:collapse;font-size:14px;margin:22px 0}
.elh-article-content th,.elh-article-content td{border:1px solid var(--elh-line);padding:10px;text-align:left}
.elh-article-content th{background:#f7f8fa;font-weight:600}
.elh-featured{border-radius:12px;overflow:hidden;margin-bottom:25px}
.elh-source-note{margin-top:38px;border:1px solid #f3cdd0;background:#fff9f9;border-radius:11px;padding:16px;font-size:13px}
.elh-source-note p{color:#667085;margin:5px 0 9px}
.elh-source-note a{display:inline-flex;align-items:center;gap:5px;font-weight:600;text-decoration:none}

/* Dashboard wrapper */
.elh-dashboard-page{padding:66px 0 86px;min-height:76vh;background:#f7f8fa}
.elh-dashboard-title{max-width:730px}
.elh-dashboard-title h1{font-size:43px;line-height:1.16;letter-spacing:-.035em;font-weight:700;margin:13px 0 10px}
.elh-dashboard-title p{font-size:15px;color:#667085;line-height:1.7}
.elh-notice{margin-top:24px;padding:18px;border:1px solid var(--elh-line);border-radius:12px;background:#fff}

/* Search / empty */
.elh-empty{padding:90px 0;text-align:center}
.elh-empty h1{font-size:38px;font-weight:700;letter-spacing:-.03em;margin:10px}
.elh-empty p{color:#667085}

/* Footer */
.elh-footer{background:#171f2b;color:#cbd3de;padding:54px 0 22px}
.elh-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:44px}
.elh-footer-grid h3{font-size:12px;color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin:0 0 11px}
.elh-footer-grid a,.elh-footer-grid p{display:block;font-size:13px;color:#96a1af;line-height:1.7;margin:5px 0}
.elh-footer-brand{display:flex;align-items:center;gap:8px;color:#fff}
.elh-footer-brand .elh-brand-symbol{width:34px;height:34px}
.elh-footer-bottom{border-top:1px solid #2a3442;margin-top:34px;padding-top:17px;display:flex;justify-content:space-between;font-size:12px;color:#758296}

@media(max-width:1180px){
  .elh-nav{display:none}.elh-mobile-toggle{display:grid}.elh-brand{min-width:0;margin-right:auto}.elh-login-link{display:none}
  .elh-article-grid{grid-template-columns:minmax(0,1fr) 230px;max-width:1000px}.elh-article-left{display:none}
  .elh-footer-grid{grid-template-columns:1.4fr 1fr 1fr}.elh-footer-grid>div:last-child{display:none}
}

@media(max-width:900px){
  .elh-shell{width:min(calc(100% - 32px),var(--elh-shell))}
  .elh-header-inner{height:60px}.elh-search-panel{top:60px}.elh-header-actions>.elh-btn{display:none}.elh-brand-copy small{display:none}
  .elh-home-hero{padding:50px 0 42px}.elh-home-hero h1{font-size:42px}.elh-home-hero p{font-size:15px}
  .elh-quick-tools .elh-shell{grid-template-columns:1fr}.elh-tool-heading{justify-content:center;text-align:left}.elh-tool-grid{grid-template-columns:repeat(2,1fr)}
  .elh-section{padding:58px 0}.elh-feature-intro{margin-bottom:30px}.elh-feature-intro h2{font-size:34px}
  .elh-showcase-card,.elh-showcase-reverse{grid-template-columns:1fr}.elh-showcase-copy,.elh-showcase-reverse .elh-showcase-copy{order:1;padding:34px 36px}.elh-showcase-demo,.elh-showcase-reverse .elh-showcase-demo{order:2;min-height:300px}.elh-showcase-copy h3{font-size:23px}.elh-feature-icon{width:66px;height:66px;margin-bottom:22px}
  .elh-card-grid{grid-template-columns:repeat(2,1fr)}
  .elh-grammar-pair{grid-template-columns:1fr}.elh-grammar-pair>article+article{border-left:0;border-top:1px solid var(--elh-line)}
  .elh-knowledge-head{display:block}.elh-segmented{margin-top:20px;width:max-content;max-width:100%;overflow:auto}
  .elh-editorial-grid{grid-template-columns:1fr 1fr}.elh-score-grid{grid-template-columns:1fr 1fr}
  .elh-article-grid{display:block;width:min(calc(100% - 32px),760px)}.elh-toc{position:static;margin-bottom:24px}.elh-toc-card{border:1px solid var(--elh-line);border-radius:11px;padding:14px 16px}.elh-toc-card nav{max-height:230px;overflow:auto}
  .elh-footer-grid{grid-template-columns:1fr 1fr}.elh-footer-grid>div:first-child{grid-column:1/-1}.elh-footer-bottom{display:block}.elh-footer-bottom span{display:block;margin-top:5px}
}

@media(max-width:600px){
  .elh-home-hero{padding-top:42px}.elh-home-hero h1{font-size:34px}.elh-home-hero p{font-size:14px}.elh-home-tabs{display:flex;width:100%;overflow:auto;justify-content:flex-start}.elh-home-tabs a{min-width:auto;white-space:nowrap}
  .elh-quick-tools{padding-bottom:48px}.elh-tool-grid{grid-template-columns:1fr 1fr}.elh-tool-grid a{min-height:48px;padding:0 10px;font-size:12px}
  .elh-section{padding:48px 0}.elh-feature-intro h2,.elh-section-intro h2,.elh-knowledge-head h2,.elh-results-head h2{font-size:30px}
  .elh-showcase-stack{gap:22px}.elh-showcase-copy{padding:28px 26px}.elh-showcase-copy h3{font-size:21px}.elh-showcase-copy p{font-size:14px}.elh-showcase-demo{padding:16px}.elh-feature-icon{width:60px;height:60px;border-radius:14px}.elh-progress-panel{padding:18px 14px}.elh-streak-strip{align-items:flex-start}.elh-streak-number{min-width:86px;height:44px}.elh-streak-strip small{display:none}.elh-ring-grid{grid-template-columns:1fr 1fr;row-gap:20px}.elh-mini-course-grid{grid-template-columns:1fr}.elh-score-demo{display:block}.elh-score-demo svg{width:100%;margin-top:8px}.elh-word-pop{left:18px;right:18px;top:90px;width:auto}.elh-skill-grid{grid-template-columns:1fr}.elh-tool-demo-grid{grid-template-columns:1fr 1fr}
  .elh-section-head h2{font-size:27px}.elh-section-head>a{font-size:12px}.elh-card-grid,.elh-editorial-grid{grid-template-columns:1fr}.elh-card h3{font-size:18px}
  .elh-grammar-pair>article{padding:28px 24px}.elh-score-grid{gap:10px}.elh-score-grid>div{padding:21px 12px}.elh-score-grid span{font-size:27px}
  .elh-library-hero{padding:48px 0 34px}.elh-library-hero h1{font-size:34px}.elh-pills{justify-content:flex-start}
  .elh-article-hero h1{font-size:34px}.elh-article-deck{font-size:15px}.elh-article-content{font-size:15px}.elh-article-content h2{font-size:25px}.elh-article-content h3{font-size:20px}
  .elh-footer-grid{grid-template-columns:1fr}.elh-footer-grid>div:first-child{grid-column:auto}
}
/* Practice cards stay as lean as the supplied Reading/Dictation references. Editorial cards may show their excerpt/category. */
.elh-card-grid .elh-card-meta,.elh-card-grid .elh-card p{display:none}
.elh-editorial-grid .elh-card-meta{display:block}
.elh-editorial-grid .elh-card p{display:-webkit-box}

/* ==========================================================================\n   Version 5.0 visual fidelity pass\n   ========================================================================== */
:root{
  --elh-red:#e42d31;
  --elh-red-dark:#cc2428;
  --elh-red-soft:#fff2f2;
  --elh-ink:#202938;
  --elh-ink-2:#344054;
  --elh-muted:#667085;
  --elh-muted-2:#98a2b3;
  --elh-line:#e1e5eb;
  --elh-line-2:#eef1f4;
  --elh-soft:#f2f4f7;
  --elh-soft-2:#fafbfc;
  --elh-blue:#2e65d7;
  --elh-shell:1130px;
  --elh-radius:18px;
}
body{font-family:"Be Vietnam Pro","Segoe UI",Arial,sans-serif;color:var(--elh-ink);letter-spacing:-.006em}
.elh-shell{width:min(calc(100% - 48px),var(--elh-shell))}

/* header: compact, clean and reference-like */
.elh-header{background:rgba(255,255,255,.985);border-bottom:1px solid #f0f1f3;box-shadow:none}
.elh-header-inner{height:68px;gap:28px}
.elh-brand{min-width:245px;gap:11px}
.elh-brand-symbol{width:38px;height:38px;border-radius:50% 50% 50% 14px;background:var(--elh-red);color:#fff;display:grid;place-items:center;box-shadow:none}
.elh-brand-symbol .elh-icon{width:19px;height:19px}
.elh-brand-copy strong{font-size:15px;font-weight:600;color:#262f3d;letter-spacing:-.012em}
.elh-brand-copy small{font-size:10.5px;color:#8a95a5;margin-top:2px}
.elh-nav-list{gap:13px}
.elh-nav-list>li>a{position:relative;padding:23px 4px 20px;border-radius:0;font-size:12.5px;font-weight:500;color:#283241}
.elh-nav-list>li>a:before{content:"";position:absolute;left:50%;right:50%;bottom:0;height:2px;background:var(--elh-red);transition:left .18s ease,right .18s ease}
.elh-nav-list>li>a:hover:before,.elh-nav-list>.current-menu-item>a:before,.elh-nav-list>.current-menu-ancestor>a:before{left:0;right:0}
.elh-header-actions{gap:6px}.elh-icon-btn{width:35px;height:35px}.elh-login-link{font-size:12.5px;font-weight:500;color:#344054}
.elh-btn{border-radius:8px;font-weight:600}.elh-btn-compact{height:39px;min-height:39px;padding-inline:16px;font-size:12.5px}

/* compact knowledge-style hero */
.elh-home-hero-v5{padding:44px 0 50px;border-bottom:1px solid #edf0f3;background:#fff}
.elh-home-hero-v5 .elh-home-hero-inner{max-width:760px}
.elh-home-hero-v5 .elh-kicker{font-size:11px;letter-spacing:.055em;text-transform:uppercase;margin-bottom:10px;color:#e74b4f}
.elh-home-hero-v5 h1{font-size:clamp(38px,4.2vw,50px);font-weight:700;line-height:1.13;letter-spacing:-.045em;color:#252e3b}
.elh-home-hero-v5 h1 span{color:var(--elh-red)}
.elh-home-hero-v5 p{max-width:620px;margin-top:13px;font-size:14.5px;line-height:1.7;color:#718096}
.elh-home-hero-v5 .elh-home-tabs{margin-top:25px;padding:5px;gap:4px;box-shadow:0 3px 12px rgba(16,24,40,.028)}
.elh-home-hero-v5 .elh-home-tabs a{min-width:74px;padding:8px 13px;font-size:12px;font-weight:600}

.elh-feature-lead{padding:52px 0 28px;background:#fff}
.elh-feature-lead h2{max-width:520px;margin:0;font-size:clamp(34px,4.1vw,46px);line-height:1.13;letter-spacing:-.042em;font-weight:700;color:#26303e}
.elh-features-v5{padding:0 0 78px;background:#fff}

/* supplied-reference feature rows */
.elh-features-v5 .elh-showcase-stack{gap:34px}
.elh-features-v5 .elh-showcase-card{grid-template-columns:46% 54%;min-height:348px;border:1px solid #dfe3e9;border-radius:18px;box-shadow:none}
.elh-features-v5 .elh-showcase-reverse{grid-template-columns:54% 46%}
.elh-features-v5 .elh-showcase-copy{padding:42px 58px}
.elh-features-v5 .elh-feature-icon{width:72px;height:72px;margin-bottom:27px;border-radius:17px;background:#fff1f1;color:#e9696c}
.elh-features-v5 .elh-feature-icon .elh-icon{width:34px;height:34px;stroke-width:1.75}
.elh-features-v5 .elh-showcase-copy h3{max-width:415px;font-size:23px;line-height:1.34;letter-spacing:-.026em;font-weight:600;color:#263140}
.elh-features-v5 .elh-showcase-copy p{max-width:430px;margin-top:13px;font-size:14.5px;line-height:1.72;color:#637083}
.elh-features-v5 .elh-showcase-demo{padding:23px;background:#f1f3f6}

/* progress mock */
.elh-progress-panel{max-width:100%;padding:25px 26px 24px;border-radius:9px;box-shadow:none}
.elh-streak-strip{gap:13px;padding:8px 12px;background:#fff2ee;border-radius:10px}
.elh-streak-number{min-width:108px;height:46px;background:#ffe5dc;border-radius:10px;color:#f25b31}
.elh-streak-number b{font-size:20px;font-weight:700}
.elh-streak-strip strong{font-size:12.5px;line-height:1.35;font-weight:600;color:#983d2b}
.elh-streak-strip small{font-size:10.5px;color:#d06a54;margin-top:3px}
.elh-ring-grid{gap:13px;margin-top:25px}
.elh-ring{width:72px;height:72px}.elh-ring-track,.elh-ring-value{stroke-width:5.2}.elh-ring-value{stroke-linecap:round}
.elh-ring>span b{font-size:12.5px}.elh-ring>span small{font-size:9.5px}
.elh-ring-item>strong{font-size:11px;font-weight:600;margin-top:9px}.elh-ring-item>small{font-size:9.5px;margin-top:2px}

/* course bank mock */
.elh-bank-demo{padding:23px}.elh-mini-course-grid{gap:11px}
.elh-mini-course-grid>div{min-height:82px;padding:17px 18px;border:1px solid rgba(225,229,235,.35);border-radius:8px}
.elh-mini-course-grid strong{font-size:12.5px;font-weight:600}.elh-mini-course-grid span{font-size:10.5px;margin-top:9px;color:#7c899a;gap:4px}
.elh-mini-course-grid span .elh-icon{width:13px;height:13px;stroke-width:1.7}

/* scoring mock */
.elh-score-demo{align-items:center;gap:28px;max-width:500px;padding:0 7px}
.elh-score-number{padding-top:0;min-width:86px}.elh-score-number small{font-size:12px}.elh-score-number strong{font-size:37px;margin-top:4px;color:#df3d41}
.elh-score-demo svg{width:285px;max-width:70%}

/* pronunciation mock */
.elh-pronunciation-demo{min-height:270px;padding:24px 24px 22px;border-radius:9px}
.elh-pronunciation-text{font-size:14px;line-height:1.9;font-weight:500;color:#344054}
.elh-pronunciation-text .good{color:#38a45b;border-bottom:1px dashed #9acda9}
.elh-pronunciation-text .bad{color:#e86142;border-bottom:1px dashed #efab98}
.elh-pronunciation-lines{gap:11px;margin-top:15px}.elh-pronunciation-lines i{height:7px;background:#e6e9ee}
.elh-pronunciation-lines i:nth-child(1){width:96%}.elh-pronunciation-lines i:nth-child(2){width:88%}.elh-pronunciation-lines i:nth-child(3){width:93%}.elh-pronunciation-lines i:nth-child(4){width:82%}.elh-pronunciation-lines i:nth-child(5){width:91%}.elh-pronunciation-lines i:nth-child(6){width:74%}.elh-pronunciation-lines i:nth-child(7){width:86%}
.elh-word-pop{left:28%;top:87px;width:255px;border-radius:8px;box-shadow:0 7px 18px rgba(16,24,40,.12)}
.elh-word-pop>b{font-size:12.5px}.elh-word-pop>span{padding:9px 5px}.elh-word-pop small{font-size:8.5px}.elh-word-pop strong{font-size:10.5px}
.elh-ai-tip{left:22px;bottom:18px;gap:8px}.elh-ai-tip-icon{width:34px;height:34px;border-radius:50%;background:#e4f3ff;color:#2e74cb;display:grid;place-items:center}.elh-ai-tip strong{font-size:11.5px}

/* skill + tool mocks */
.elh-skill-grid{gap:15px}.elh-skill-grid>div{min-height:113px;padding:20px 21px;border-radius:9px}
.elh-skill-grid .elh-icon{color:#e85f63}.elh-skill-grid strong{font-size:12.5px}.elh-skill-grid span,.elh-skill-grid small{font-size:10.5px;margin-top:5px}
.elh-tool-demo-grid{grid-template-columns:repeat(3,1fr);gap:11px}.elh-tool-demo-grid>div{min-height:58px;border-radius:8px;padding:0 13px;box-shadow:0 3px 9px rgba(16,24,40,.035)}
.elh-tool-demo-grid strong{font-size:11.5px;font-weight:600}.elh-tool-demo-grid .elh-icon{color:#718096}

/* practice/content rows: image-led, no visual clutter */
.elh-section{padding:64px 0}.elh-practice-section{padding-top:66px;padding-bottom:66px}
.elh-section-separated{border-top:1px solid #eef0f3}
.elh-section-head{margin-bottom:26px}.elh-section-head h2{font-size:29px;line-height:1.25;font-weight:600;letter-spacing:-.028em}.elh-section-head>a{font-size:12px;font-weight:600;color:#1f2937}
.elh-card-grid{grid-template-columns:repeat(4,1fr);gap:24px}
.elh-card-media{aspect-ratio:1.52/1;border-radius:8px;background:#eef1f4}
.elh-card-media img,.elh-card-fallback-art{width:100%;height:100%;object-fit:cover}
.elh-card:hover .elh-card-media img{transform:scale(1.012)}
.elh-card-badge{top:9px;left:9px;padding:3px 7px;font-size:11.5px;border-radius:6px;background:rgba(255,255,255,.96);box-shadow:none}
.elh-card-body{padding-top:11px}.elh-card h3{font-size:17.5px;line-height:1.42;font-weight:500;color:#17233a;letter-spacing:-.018em}
.elh-card-submeta{margin-top:5px;font-size:11.5px;color:#93a0b2;gap:8px}.elh-card-action{min-height:38px;margin-top:15px;padding:0 11px;border-radius:8px;font-size:12.5px;font-weight:500}
.elh-action-play .elh-icon{width:16px;height:16px}

/* grammar */
.elh-section-soft{background:#fafbfc}.elh-section-intro{max-width:700px}.elh-section-intro-center{margin-bottom:34px}
.elh-section-intro h2,.elh-results-head h2{font-size:clamp(31px,3.6vw,41px);line-height:1.19;letter-spacing:-.035em;font-weight:700}.elh-section-intro p{font-size:14px;line-height:1.7}
.elh-grammar-pair{border-radius:17px;border-color:#e0e4e9}.elh-grammar-pair>article{padding:36px 38px}.elh-grammar-icon{width:58px;height:58px;border-radius:14px;margin-bottom:18px}
.elh-grammar-pair h3{font-size:21px;font-weight:600;line-height:1.4;margin:6px 0 20px}.elh-list-cards strong{font-size:13.5px;font-weight:500}.elh-list-cards small{font-size:11.5px}.elh-text-link{font-size:12.5px}

/* knowledge section from the supplied knowledge screenshot */
.elh-knowledge-section{padding-top:56px}
.elh-knowledge-hero{text-align:center;max-width:760px;margin:0 auto 48px}.elh-knowledge-hero .elh-kicker{margin-bottom:7px}.elh-knowledge-hero h2{margin:0;font-size:clamp(39px,4.8vw,52px);line-height:1.12;letter-spacing:-.045em;font-weight:700;color:#252f3d}.elh-knowledge-hero h2 span{color:var(--elh-red)}
.elh-knowledge-hero p{max-width:600px;margin:12px auto 0;font-size:14px;line-height:1.7;color:#718096}.elh-knowledge-hero .elh-segmented{display:inline-flex;margin-top:25px;padding:4px}.elh-segmented button{padding:8px 15px;font-size:11.5px;letter-spacing:.01em}
.elh-section-head-tight{margin-bottom:24px}.elh-section-head-tight h2{font-size:27px}.elh-editorial-grid{grid-template-columns:repeat(3,1fr);gap:25px}.elh-editorial-grid .elh-card-media{aspect-ratio:1.45/1}.elh-editorial-grid .elh-card h3{font-size:17.5px;font-weight:600}.elh-editorial-grid .elh-card p{font-size:12.5px;line-height:1.55;color:#8994a4}.elh-editorial-grid .elh-card-action{display:none}

/* results inspired by the supplied achievement grid */
.elh-results-head{margin-bottom:24px}.elh-results-head h2{margin-top:14px}.elh-results-head p{font-size:14px;max-width:620px}.elh-results-tabs{width:max-content;max-width:100%;display:flex;gap:3px;margin:0 auto 28px;border:1px solid #e0e4e9;border-radius:999px;padding:4px;background:#fff}.elh-results-tabs button{border:0;background:transparent;border-radius:999px;padding:8px 16px;font-size:11.5px;font-weight:600;color:#8c98a9;cursor:pointer}.elh-results-tabs .active{background:#fff3f3;color:var(--elh-red)}
.elh-result-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1000px;margin:0 auto}.elh-result-card{border:1px solid #e0e4e9;border-radius:16px;background:#fff;padding:8px;overflow:hidden}.elh-result-portrait{height:150px;border-radius:11px;background:linear-gradient(150deg,#f6eee9 0%,#edf3f8 100%);position:relative;display:grid;place-items:center;overflow:hidden}.elh-result-portrait:before{content:"";width:86px;height:86px;border-radius:50%;background:#fff;box-shadow:0 12px 26px rgba(16,24,40,.08);position:absolute}.elh-result-portrait>span{position:relative;z-index:1;width:58px;height:58px;border-radius:50%;background:#273142;color:#fff;display:grid;place-items:center;font-size:18px;font-weight:600;letter-spacing:.04em}.elh-result-portrait>b{position:absolute;right:0;top:0;width:54px;height:66px;background:var(--elh-red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:18px;font-style:italic;font-weight:700;clip-path:polygon(0 0,100% 0,100% 100%,50% 83%,0 100%)}.elh-result-portrait b small{font-size:8px;font-style:normal;font-weight:600;margin-top:1px}.elh-result-card>div:last-child{padding:12px 8px 10px}.elh-result-card>div:last-child strong{display:block;font-size:13px;font-weight:600}.elh-result-card>div:last-child small{display:block;font-size:10.5px;color:#98a2b3;margin-top:3px}

/* story/video cards inspired by the supplied learner story strip */
.elh-stories{background:#fff}.elh-stories .elh-section-intro-center{max-width:700px}.elh-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:980px;margin:0 auto}.elh-story-card{min-width:0}.elh-story-media{height:320px;border-radius:18px;background-size:cover;background-position:center;position:relative;overflow:hidden}.elh-story-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,18,27,.38),rgba(11,18,27,.02) 58%)}.elh-story-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgba(17,24,39,.78);color:#fff;backdrop-filter:blur(5px)}.elh-story-card>div:last-child{padding:13px 4px}.elh-story-card small{font-size:10.5px;color:var(--elh-red);font-weight:600}.elh-story-card h3{font-size:17px;line-height:1.43;font-weight:600;margin:5px 0 0;letter-spacing:-.018em}

/* footer refinement */
.elh-footer{background:#171e28;padding-top:48px}.elh-footer-brand .elh-brand-symbol{width:34px;height:34px}.elh-footer-grid h3{font-size:11.5px}.elh-footer-grid a,.elh-footer-grid p{font-size:12.5px}.elh-footer-bottom{font-size:11.5px}

@media(max-width:900px){
  .elh-header-inner{height:62px}.elh-brand{min-width:0}.elh-home-hero-v5{padding:40px 0 44px}.elh-feature-lead{padding:44px 0 24px}.elh-feature-lead h2{font-size:35px}
  .elh-features-v5 .elh-showcase-card,.elh-features-v5 .elh-showcase-reverse{grid-template-columns:1fr}.elh-features-v5 .elh-showcase-copy,.elh-features-v5 .elh-showcase-reverse .elh-showcase-copy{order:1;padding:34px 38px}.elh-features-v5 .elh-showcase-demo,.elh-features-v5 .elh-showcase-reverse .elh-showcase-demo{order:2;min-height:300px}.elh-features-v5 .elh-showcase-copy h3{font-size:22px}.elh-features-v5 .elh-feature-icon{width:64px;height:64px;margin-bottom:21px}
  .elh-card-grid{grid-template-columns:repeat(2,1fr)}.elh-result-gallery{grid-template-columns:repeat(2,1fr);max-width:620px}.elh-story-grid{grid-template-columns:repeat(2,1fr)}.elh-story-card:last-child{display:none}
  .elh-knowledge-hero{margin-bottom:38px}.elh-editorial-grid{grid-template-columns:repeat(2,1fr)}.elh-editorial-grid .elh-card:last-child{display:none}
}
@media(max-width:600px){
  .elh-shell{width:min(calc(100% - 28px),var(--elh-shell))}.elh-home-hero-v5 h1{font-size:33px}.elh-home-hero-v5 p{font-size:13.5px}.elh-feature-lead h2{font-size:30px}.elh-feature-lead{padding-top:38px}
  .elh-features-v5{padding-bottom:54px}.elh-features-v5 .elh-showcase-stack{gap:20px}.elh-features-v5 .elh-showcase-copy{padding:27px 24px}.elh-features-v5 .elh-showcase-copy h3{font-size:20px}.elh-features-v5 .elh-showcase-copy p{font-size:13.5px}.elh-features-v5 .elh-showcase-demo{padding:15px}.elh-features-v5 .elh-feature-icon{width:58px;height:58px;border-radius:13px;margin-bottom:18px}
  .elh-progress-panel{padding:16px 13px}.elh-streak-number{min-width:82px;height:42px}.elh-streak-strip small{display:none}.elh-ring-grid{grid-template-columns:repeat(2,1fr);row-gap:18px}.elh-mini-course-grid{grid-template-columns:1fr}.elh-score-demo{display:block}.elh-score-demo svg{width:100%;max-width:100%;margin-top:12px}.elh-word-pop{left:14px;right:14px;top:95px;width:auto}.elh-skill-grid{grid-template-columns:1fr}.elh-tool-demo-grid{grid-template-columns:1fr 1fr}
  .elh-section{padding:48px 0}.elh-section-head h2{font-size:26px}.elh-card-grid,.elh-editorial-grid,.elh-story-grid{grid-template-columns:1fr}.elh-card h3{font-size:17px}.elh-editorial-grid .elh-card:last-child,.elh-story-card:last-child{display:block}
  .elh-grammar-pair>article{padding:27px 23px}.elh-knowledge-hero h2{font-size:34px}.elh-knowledge-hero .elh-segmented{max-width:100%;overflow:auto;justify-content:flex-start}.elh-segmented button{white-space:nowrap;padding-inline:12px}
  .elh-result-gallery{grid-template-columns:1fr 1fr;gap:10px}.elh-result-portrait{height:128px}.elh-result-card>div:last-child strong{font-size:12px}.elh-story-media{height:270px}
}

/* =========================================================
   Version 6 — icon consistency + complete interactive states
   ========================================================= */
.elh-icon,.elc-icon{display:inline-block;flex:0 0 auto;vertical-align:-.15em}.elh-icon *,.elc-icon *{vector-effect:non-scaling-stroke}.elh-icon-btn,.elh-mobile-toggle,.elh-search-close{display:grid;place-items:center}.elh-search-close{width:36px;height:36px;border:0;border-radius:9px;background:transparent;color:#687386;cursor:pointer}.elh-search-close:hover{background:#f5f6f8;color:#273142}
.elh-btn{font-weight:500}.elh-btn .elh-icon{margin-right:1px}.elh-feature-icon .elh-icon,.elh-grammar-icon .elh-icon,.elh-ai-tip-icon .elh-icon{display:block}.elh-showcase-copy h3,.elh-section-head h2,.elh-card h3,.elh-list-cards strong{font-weight:600}.elh-showcase-copy p,.elh-card p,.elh-list-cards small{font-weight:400}

/* Tool launcher becomes real navigation rather than decorative boxes. */
.elh-tool-demo-grid a{min-height:50px;display:grid;grid-template-columns:22px 1fr 16px;align-items:center;gap:9px;padding:0 13px;border:1px solid #dfe4ea;border-radius:8px;background:#fff;color:#3b4655;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}.elh-tool-demo-grid a>strong{font-size:12.5px;font-weight:600;white-space:nowrap}.elh-tool-demo-grid a>.elh-icon:last-child{color:#a2acba}.elh-tool-demo-grid a:hover{border-color:#cfd6de;background:#fcfcfd;transform:translateY(-1px)}

/* Practice cards: clean image-first layout like the supplied references. */
.elh-card{min-width:0}.elh-card-media{position:relative;display:block;overflow:hidden;border-radius:9px;background:#f4f5f7}.elh-card-media img{display:block;width:100%;aspect-ratio:1.52/1;object-fit:cover}.elh-card-media-icon{position:absolute;right:9px;top:9px;width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.7);border-radius:8px;background:rgba(255,255,255,.94);color:#e53236;box-shadow:0 3px 10px rgba(26,34,45,.08)}.elh-card-badge{font-weight:500}.elh-card-body{padding-top:12px}.elh-card-meta{display:flex;align-items:center;gap:7px;color:#8390a1;font-size:11.5px}.elh-card-meta i{width:3px;height:3px;border-radius:50%;background:#c2c8d0}.elh-card h3{font-size:17px;line-height:1.42;letter-spacing:-.012em}.elh-card-submeta{display:flex;align-items:center;gap:10px;min-height:21px;margin-top:5px;color:#8995a5;font-size:11.5px;flex-wrap:wrap}.elh-card-submeta span{display:inline-flex;align-items:center;gap:4px}.elh-card-action{width:max-content;display:inline-flex;align-items:center;gap:7px;min-height:38px;margin-top:16px;padding:0 11px;border:1px solid #dfe4ea;border-radius:8px;background:#fff;color:#243041;font-size:12.5px;font-weight:500;text-decoration:none}.elh-card-action>.elh-icon:last-child{margin-left:2px;color:#98a2b1}.elh-action-play{color:#e52f33;display:grid;place-items:center}.elh-card-action:hover{border-color:#cfd5dc;background:#fafbfc}

/* Real library search / filters. */
.elh-library-filter{display:grid;grid-template-columns:minmax(250px,1.55fr) repeat(3,minmax(130px,.72fr)) minmax(130px,.72fr) auto auto;gap:9px;align-items:center;margin:0 0 30px;padding:13px;border:1px solid #e0e5ea;border-radius:12px;background:#fafbfc}.elh-library-filter label{min-width:0}.elh-library-filter input,.elh-library-filter select{width:100%;height:42px;border:1px solid #dce2e8;border-radius:8px;background:#fff;color:#445064;font-family:inherit;font-size:12.5px;font-weight:400;outline:none}.elh-library-filter input:focus,.elh-library-filter select:focus{border-color:#9cabc0;box-shadow:0 0 0 3px rgba(47,99,216,.06)}.elh-library-filter select{padding:0 30px 0 10px}.elh-filter-search{position:relative}.elh-filter-search>.elh-icon{position:absolute;left:12px;top:50%;translate:0 -50%;color:#8c97a7;pointer-events:none}.elh-filter-search input{padding:0 12px 0 38px}.elh-filter-submit{height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 13px;border:0;border-radius:8px;background:#283343;color:#fff;font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer}.elh-filter-reset{display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 8px;color:#7a8697;font-size:12px;font-weight:500}.elh-library-filter.is-dirty .elh-filter-submit{background:#e13337}

/* Tab panels: the controls on Home are now functional. */
.elh-tab-panes{position:relative}.elh-tab-pane[hidden]{display:none!important}.elh-tab-pane.is-active{animation:elh-tab-in .22s ease both}@keyframes elh-tab-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.elh-segmented button,.elh-results-tabs button{cursor:pointer}.elh-segmented button:focus-visible,.elh-results-tabs button:focus-visible{outline:2px solid #9db4e8;outline-offset:2px}.elh-result-panes{min-height:400px}

/* More faithful restrained type weight. */
.elh-home-hero h1,.elh-feature-lead h2,.elh-library-hero h1,.elh-article-hero h1,.elh-dashboard-title h1{font-weight:700}.elh-feature-intro h2,.elh-section-intro h2,.elh-knowledge-hero h2,.elh-results-head h2{font-weight:700}.elh-card h3,.elh-showcase-copy h3,.elh-grammar-pair h3,.elh-story-card h3{font-weight:600}.elh-card-meta,.elh-card-submeta,.elh-eyebrow-pill,.elh-kicker,.elh-hero-pill{font-weight:500}

@media(max-width:1180px){.elh-library-filter{grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(120px,1fr));}.elh-library-filter>label:nth-last-of-type(1),.elh-filter-submit,.elh-filter-reset{grid-row:2}.elh-library-filter>label:nth-last-of-type(1){grid-column:1/2}.elh-filter-submit{grid-column:2/3}.elh-filter-reset{grid-column:3/4;justify-content:flex-start}}
@media(max-width:820px){.elh-library-filter{grid-template-columns:1fr 1fr}.elh-filter-search{grid-column:1/-1}.elh-library-filter>label:nth-last-of-type(1),.elh-filter-submit,.elh-filter-reset{grid-row:auto;grid-column:auto}.elh-filter-reset{justify-content:center}.elh-tool-demo-grid a>strong{white-space:normal}}
@media(max-width:520px){.elh-library-filter{grid-template-columns:1fr;padding:11px}.elh-filter-search{grid-column:auto}.elh-filter-submit,.elh-filter-reset{width:100%}.elh-tool-demo-grid a{grid-template-columns:20px 1fr 14px;padding:0 10px}.elh-card-submeta{gap:8px}.elh-card-action{margin-top:13px}}

/* Version 7: tighter reference-driven spacing, lighter typography and cleaner tool launcher */
:root{--elh-shell:1160px;--elh-radius:16px;--elh-red:#e62f33;--elh-soft:#f2f4f7;--elh-line:#dce2e9}
.elh-header-inner{height:62px}.elh-brand-symbol{width:36px;height:36px;border-radius:8px}.elh-brand-copy strong{font-size:14px;font-weight:600}.elh-brand-copy small{font-size:10.5px;color:#8b96a6}.elh-nav-list>li>a{font-size:12.5px;font-weight:500;padding:8px 10px}.elh-login-link{font-size:12.5px;font-weight:500}.elh-btn{font-size:12.5px;font-weight:500;border-radius:8px}.elh-home-hero-v5{padding:48px 0 46px}.elh-home-hero-v5 .elh-home-hero-inner{max-width:820px}.elh-home-hero-v5 .elh-kicker{font-size:10.5px;letter-spacing:.075em;margin-bottom:9px}.elh-home-hero-v5 h1{font-size:clamp(38px,4.05vw,49px);font-weight:700;letter-spacing:-.042em;line-height:1.12}.elh-home-hero-v5 p{font-size:14px;max-width:610px;line-height:1.72;margin-top:12px}.elh-home-hero-v5 .elh-home-tabs{margin-top:24px;padding:4px;border-color:#dfe4ea;box-shadow:0 3px 12px rgba(16,24,40,.025)}.elh-home-hero-v5 .elh-home-tabs a{font-size:11.5px;font-weight:500;padding:7px 15px;min-width:82px}
.elh-quick-tools-v7{padding:34px 0 56px;border-bottom:1px solid #edf0f3}.elh-quick-tools-v7 .elh-shell{grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:center}.elh-quick-tools-v7 .elh-tool-heading{align-items:flex-start;padding:0}.elh-quick-tools-v7 .elh-tool-heading-icon{width:42px;height:42px;border-radius:11px;flex:0 0 42px}.elh-quick-tools-v7 .elh-tool-heading>div>span{font-size:10.5px;color:#e04a4e;font-weight:600;text-transform:uppercase;letter-spacing:.045em}.elh-quick-tools-v7 .elh-tool-heading h2{font-size:17px;line-height:1.35;font-weight:600;letter-spacing:-.015em;margin:2px 0 2px;color:#2e3948}.elh-quick-tools-v7 .elh-tool-heading p{margin:0;font-size:11px;color:#8a95a5;line-height:1.5}.elh-quick-tools-v7 .elh-tool-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.elh-quick-tools-v7 .elh-tool-grid a{min-height:48px;border-radius:9px;padding:0 10px;gap:8px;box-shadow:0 3px 9px rgba(16,24,40,.025);font-size:11.5px;font-weight:500}.elh-quick-tools-v7 .elh-tool-grid a>span:first-child{width:26px;height:26px;border-radius:7px;background:#f7f8fa;color:#718096;display:grid;place-items:center}.elh-quick-tools-v7 .elh-tool-grid a>strong{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.elh-quick-tools-v7 .elh-tool-grid a>.elh-icon:last-child{margin-left:auto;color:#a5afbc}
.elh-feature-lead{padding:58px 0 30px}.elh-feature-lead h2{max-width:630px;font-size:clamp(34px,3.8vw,43px);font-weight:700;line-height:1.17;letter-spacing:-.038em}.elh-features-v5{padding-bottom:8px}.elh-features-v5 .elh-showcase-stack{gap:38px}.elh-features-v5 .elh-showcase-card{grid-template-columns:46% 54%;min-height:360px;border-color:#dfe4ea;border-radius:16px}.elh-features-v5 .elh-showcase-reverse{grid-template-columns:54% 46%}.elh-features-v5 .elh-showcase-copy{padding:42px 48px}.elh-features-v5 .elh-feature-icon{width:64px;height:64px;border-radius:14px;margin-bottom:24px;background:#fff2f2;color:#eb666a}.elh-features-v5 .elh-showcase-copy h3{font-size:23px;line-height:1.36;font-weight:600;letter-spacing:-.02em;max-width:430px}.elh-features-v5 .elh-showcase-copy p{font-size:14px;line-height:1.7;margin-top:11px;max-width:430px;color:#697789}.elh-features-v5 .elh-showcase-demo{background:#f1f3f6;padding:22px}.elh-progress-panel{padding:22px 22px;border-radius:9px}.elh-streak-strip{padding:8px 10px;border-radius:9px}.elh-streak-number{min-width:92px;height:44px}.elh-streak-number b{font-size:19px}.elh-streak-strip strong{font-size:12px}.elh-streak-strip small{font-size:10px}.elh-ring-grid{margin-top:20px;gap:10px}.elh-ring{width:66px;height:66px}.elh-ring-item>strong{font-size:10.5px}.elh-ring-item>small{font-size:9.5px}.elh-mini-course-grid{gap:10px}.elh-mini-course-grid>div{min-height:76px;padding:15px 16px}.elh-mini-course-grid strong{font-size:12px}.elh-mini-course-grid span{font-size:10px;margin-top:8px}.elh-score-demo{gap:22px;max-width:470px}.elh-score-number strong{font-size:34px}.elh-score-demo svg{width:250px}.elh-pronunciation-demo{min-height:248px;padding:20px}.elh-pronunciation-text{font-size:13.5px;line-height:1.9}.elh-skill-grid>div{min-height:108px}.elh-tool-demo-grid>div{min-height:56px}
.elh-section{padding:64px 0}.elh-section-head{margin-bottom:24px}.elh-section-head h2{font-size:29px;font-weight:600;letter-spacing:-.025em}.elh-section-head>a{font-size:12px;font-weight:500}.elh-card-grid{gap:22px}.elh-card h3{font-size:17px;line-height:1.43;font-weight:600}.elh-card-submeta,.elh-card-meta{font-size:11px}.elh-card-action{font-size:12px;font-weight:500}.elh-card-media{border-radius:9px}.elh-grammar-pair>article{padding:32px}.elh-grammar-pair h3{font-size:21px;font-weight:600}.elh-list-cards strong{font-weight:500}.elh-knowledge-hero h2,.elh-results-head h2,.elh-section-intro h2{font-size:clamp(31px,3.4vw,40px);font-weight:700}.elh-knowledge-hero p,.elh-section-intro p,.elh-results-head p{font-size:14px}.elh-segmented button,.elh-results-tabs button{font-weight:500}.elh-result-card>div:last-child strong{font-weight:500}.elh-story-card h3{font-weight:600}
.elh-article-hero{padding:42px 0 28px}.elh-article-hero h1{font-size:clamp(32px,3.7vw,44px);font-weight:700}.elh-article-deck{font-size:15px}.elh-article-grid{grid-template-columns:270px minmax(0,760px) 230px;gap:34px}.elh-article-content{font-size:15.5px;line-height:1.88}.elh-article-content h2{font-size:27px;font-weight:600}.elh-article-content h3{font-size:20px;font-weight:600}.elh-side-card>h3,.elh-toc-card>strong{font-weight:600}.elh-toc-card a{font-size:12.5px}
@media(max-width:1040px){.elh-quick-tools-v7 .elh-shell{grid-template-columns:1fr}.elh-quick-tools-v7 .elh-tool-heading{max-width:520px}.elh-quick-tools-v7 .elh-tool-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.elh-quick-tools-v7 .elh-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.elh-features-v5 .elh-showcase-card,.elh-features-v5 .elh-showcase-reverse{grid-template-columns:1fr}.elh-features-v5 .elh-showcase-copy{padding:32px 34px}.elh-features-v5 .elh-feature-icon{width:58px;height:58px}.elh-article-grid{display:block;width:min(calc(100% - 32px),760px)}}
@media(max-width:600px){.elh-home-hero-v5{padding:38px 0}.elh-home-hero-v5 h1{font-size:32px}.elh-quick-tools-v7{padding:28px 0 44px}.elh-quick-tools-v7 .elh-tool-grid{grid-template-columns:1fr 1fr}.elh-quick-tools-v7 .elh-tool-grid a{font-size:11px}.elh-feature-lead{padding:42px 0 22px}.elh-feature-lead h2{font-size:29px}.elh-features-v5 .elh-showcase-copy{padding:27px 24px}.elh-features-v5 .elh-showcase-copy h3{font-size:20px}.elh-features-v5 .elh-showcase-copy p{font-size:13.5px}.elh-features-v5 .elh-showcase-demo{padding:14px}.elh-section{padding:48px 0}.elh-section-head h2{font-size:25px}}

/* =========================================================
   Version 8 — UI QA pass: optical icon alignment + control system
   ========================================================= */
:root{
  --elh-control-h:40px;
  --elh-control-h-lg:44px;
  --elh-control-radius:9px;
  --elh-focus:0 0 0 3px rgba(47,102,216,.12);
}

/* Prevent OS/browser control metrics and SVG baselines from shifting UI. */
button,input,select,textarea{font-family:inherit}
button{appearance:none;-webkit-appearance:none}
.elh-icon,.elc-icon{
  display:block!important;
  flex:0 0 auto;
  vertical-align:middle;
  overflow:visible;
  color:inherit;
}
.elh-icon *, .elc-icon *{vector-effect:non-scaling-stroke}
.elh-icon-slot,.elh-tool-icon,.elh-tool-arrow,.elh-action-icon,.elh-action-arrow{
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  line-height:0;
}

/* Shared button metrics. */
.elh-btn,.elh-card-action,.elh-filter-submit,.elh-filter-reset,
.elh-section-head>a,.elh-text-link,.elh-login-link{
  line-height:1;
  text-decoration:none;
}
.elh-btn{
  min-height:var(--elh-control-h);
  padding:0 14px;
  gap:7px;
  border-radius:var(--elh-control-radius);
  font-size:12.5px;
  font-weight:500;
  letter-spacing:0;
}
.elh-btn-compact{height:var(--elh-control-h);min-height:var(--elh-control-h);padding-inline:14px}
.elh-btn .elh-icon{margin:0}
.elh-btn-primary{box-shadow:none}
.elh-btn-primary:hover{transform:none;box-shadow:none}
.elh-btn-outline{border-color:#d9e0e8;box-shadow:0 1px 2px rgba(16,24,40,.02)}
.elh-btn-outline:hover{background:#f9fafb;border-color:#c8d0da}
.elh-btn:focus-visible,.elh-icon-btn:focus-visible,.elh-mobile-toggle:focus-visible,
.elh-card-action:focus-visible,.elh-tool-grid a:focus-visible,.elh-tool-demo-grid a:focus-visible,
.elh-section-head>a:focus-visible,.elh-text-link:focus-visible,.elh-home-tabs a:focus-visible{
  outline:0;
  box-shadow:var(--elh-focus);
}

/* Header controls match the supplied compact navigation proportions. */
.elh-header-inner{height:62px;gap:24px}
.elh-header-actions{gap:7px}
.elh-icon-btn,.elh-mobile-toggle,.elh-search-close{
  width:38px;
  height:38px;
  min-width:38px;
  padding:0;
  border:0;
  border-radius:9px;
  line-height:0;
}
.elh-login-link{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 7px;font-weight:500}
.elh-nav-list>li>a{line-height:1;min-height:38px;align-items:center}

/* Segmented controls: stable 36px vertical rhythm, no text jump on active state. */
.elh-home-tabs,.elh-segmented,.elh-results-tabs{align-items:center}
.elh-home-tabs a,.elh-segmented button,.elh-results-tabs button{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  border:0;
  font-weight:500;
}
.elh-home-tabs a.is-active,.elh-segmented button.active,.elh-results-tabs button.active{font-weight:600}

/* Practice launcher: icon, label and chevron get fixed optical columns. */
.elh-quick-tools-v7 .elh-tool-grid a{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 16px;
  align-items:center;
  min-height:50px;
  padding:0 11px;
  gap:9px;
  border-color:#dce2e9;
  box-shadow:0 2px 7px rgba(16,24,40,.025);
  line-height:1;
}
.elh-quick-tools-v7 .elh-tool-grid a:hover{
  transform:none;
  background:#fcfcfd;
  border-color:#cbd3dc;
  box-shadow:0 3px 10px rgba(16,24,40,.04);
}
.elh-quick-tools-v7 .elh-tool-icon{
  width:30px;
  height:30px;
  border-radius:8px;
  background:#f6f8fa;
  color:#687789;
}
.elh-quick-tools-v7 .elh-tool-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11.75px;
  line-height:1.25;
  font-weight:500;
  color:#3d4959;
}
.elh-quick-tools-v7 .elh-tool-arrow{width:16px;height:16px;color:#a3adba;justify-self:end}
.elh-tool-heading-icon{line-height:0}

/* Feature/tool grid uses the same control primitive, not a second visual system. */
.elh-tool-demo-grid a{
  grid-template-columns:30px minmax(0,1fr) 16px;
  min-height:52px;
  padding:0 12px;
  gap:9px;
  border-radius:9px;
  line-height:1;
}
.elh-tool-demo-grid .elh-tool-icon{
  width:30px;
  height:30px;
  border-radius:8px;
  background:#f7f8fa;
  color:#687789;
}
.elh-tool-demo-grid .elh-tool-label{font-size:11.75px;font-weight:500;line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.elh-tool-demo-grid .elh-tool-arrow{width:16px;height:16px;color:#a4aebb;justify-self:end}

/* Feature icon containers: center the actual 24x24 geometry, independent of text line-height. */
.elh-feature-icon,.elh-grammar-icon,.elh-tool-heading-icon,.elh-ai-tip-icon,.elh-card-media-icon,.elh-story-play{
  line-height:0;
}
.elh-feature-icon>.elh-icon,.elh-grammar-icon>.elh-icon,.elh-tool-heading-icon>.elh-icon,
.elh-ai-tip-icon>.elh-icon,.elh-card-media-icon>.elh-icon,.elh-story-play>.elh-icon{margin:auto}
.elh-features-v5 .elh-feature-icon{width:62px;height:62px;border-radius:14px}

/* Skill tiles: icon sits on the same first-line center as the title. */
.elh-skill-grid>div{grid-template-columns:24px minmax(0,1fr);column-gap:9px;align-content:center}
.elh-skill-grid .elh-icon{margin:0;align-self:center;justify-self:center}
.elh-skill-grid strong{align-self:center;line-height:1.3}
.elh-skill-grid span,.elh-skill-grid small{line-height:1.35}

/* Mini course counters: icon + number are explicitly paired. */
.elh-mini-course-grid span{align-items:center;line-height:1;gap:5px}
.elh-mini-course-grid span .elh-icon{margin-left:7px}
.elh-mini-course-grid span .elh-icon:first-child{margin-left:0}

/* Practice cards: action button follows the reference button anatomy. */
.elh-card-action{
  min-height:40px;
  padding:0 11px;
  display:inline-grid;
  grid-template-columns:18px auto 14px;
  align-items:center;
  gap:7px;
  border-radius:9px;
  border-color:#d9e0e8;
  background:#fff;
  font-size:12.5px;
  font-weight:500;
  color:#263140;
  box-shadow:0 1px 2px rgba(16,24,40,.018);
}
.elh-card-action:hover{background:#fafbfc;border-color:#cbd3dc}
.elh-action-icon{width:18px;height:18px;color:var(--elh-red)}
.elh-action-label{line-height:1;white-space:nowrap}
.elh-action-arrow{width:14px;height:14px;color:#a1abb8}
.elh-card-submeta span{line-height:1.25}
.elh-card-submeta .elh-icon{align-self:center}

/* Text links / section links use a controlled 16px icon column. */
.elh-section-head>a,.elh-text-link{display:inline-flex;align-items:center;gap:6px;min-height:34px;line-height:1}
.elh-section-head>a>.elh-icon,.elh-text-link>.elh-icon{width:16px;height:16px}

/* List rows: the icon is visually aligned to the first title line. */
.elh-list-cards>a{grid-template-columns:22px minmax(0,1fr) 16px;column-gap:10px}
.elh-list-cards>a>.elh-icon:first-child{width:18px;height:18px;margin:2px 0 0;justify-self:center}
.elh-list-cards>a>.elh-icon:last-child{width:15px;height:15px;margin:0;justify-self:end;align-self:center}

/* Pills and status chips never inherit a tall body line-height. */
.elh-eyebrow-pill,.elh-hero-pill{min-height:32px;line-height:1;align-items:center;padding:0 11px}
.elh-eyebrow-pill>.elh-icon,.elh-hero-pill>.elh-icon{margin:0}

/* Search/filter controls share the same height and radius as buttons. */
.elh-library-filter input,.elh-library-filter select,.elh-filter-submit,.elh-filter-reset{height:42px;min-height:42px;border-radius:9px}
.elh-filter-submit{line-height:1}
.elh-filter-submit>.elh-icon,.elh-filter-reset>.elh-icon{margin:0}

/* Media play buttons are truly centered, not font-baseline centered. */
.elh-story-play{display:grid;place-items:center}
.elh-story-play .elh-icon{transform:translateX(1px)}

/* Accessibility + button text stability. */
@media (prefers-reduced-motion:reduce){
  .elh-btn,.elh-card-action,.elh-tool-grid a,.elh-tool-demo-grid a,.elh-tab-pane{transition:none!important;animation:none!important}
}
@media(max-width:600px){
  .elh-quick-tools-v7 .elh-tool-grid a{grid-template-columns:28px minmax(0,1fr) 14px;padding-inline:9px;gap:8px}
  .elh-quick-tools-v7 .elh-tool-icon{width:28px;height:28px}
  .elh-quick-tools-v7 .elh-tool-label{font-size:11.25px}
  .elh-tool-demo-grid a{grid-template-columns:28px minmax(0,1fr) 14px;padding-inline:10px}
  .elh-tool-demo-grid .elh-tool-icon{width:28px;height:28px}
}

/* V8.0.1 final control polish after visual QA */
.elh-btn,.elh-login-link,.elh-card-action,.elh-filter-submit,.elh-filter-reset,
.elh-section-head>a,.elh-text-link,.elh-home-tabs a,.elh-segmented button,.elh-results-tabs button{white-space:nowrap}
.elh-card-action{display:inline-flex;grid-template-columns:none}
.elh-action-arrow{margin-left:1px}
.elh-filter-submit{gap:7px}
.elh-filter-reset{padding-inline:10px}
.elh-home-tabs a{line-height:1}
.elh-segmented button,.elh-results-tabs button{line-height:1}

/* V8.0.2 header and compact-action QA */
.elh-header-actions>.elh-login-link{min-width:52px;white-space:nowrap}
.elh-header-actions>.elh-btn{min-width:112px;white-space:nowrap}
.elh-header-actions>.elh-icon-btn{flex:0 0 38px}
.elh-card-action,.elh-tool-grid a,.elh-tool-demo-grid a{-webkit-tap-highlight-color:transparent}
.elh-card-action>.elh-icon,.elh-tool-icon>.elh-icon,.elh-tool-arrow>.elh-icon,.elh-action-icon>.elh-icon,.elh-action-arrow>.elh-icon{display:block;margin:0 auto}

/* V9: reference-led visual QA, predictable wrapping and accessible controls. */
:root{
  --elh-shell:1160px;
  --elh-focus:0 0 0 3px rgba(47,102,216,.17);
  --elh-button-text:13px;
  --elh-grid-gap:18px;
}
.elh-header{backdrop-filter:none;background:#fff}
.elh-header-inner{gap:18px}
.elh-brand{min-width:210px}
.elh-brand-copy strong{font-weight:600;letter-spacing:-.01em}
.elh-nav-list>li>a{font-size:13px;font-weight:500;min-height:40px}
.elh-nav-list>li>a:focus-visible,.elh-mobile-list a:focus-visible,.elh-login-link:focus-visible,.elh-search-close:focus-visible{outline:2px solid var(--elh-blue);outline-offset:2px}
.elh-nav-list li:focus-within > .sub-menu,.elh-nav-list li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.elh-icon-btn,.elh-mobile-toggle,.elh-search-close{display:grid;place-items:center}
.elh-menu-icon,.elh-close-icon{display:grid;place-items:center;width:22px;height:22px}
.elh-close-icon{display:none}
.elh-mobile-toggle[aria-expanded="true"] .elh-menu-icon{display:none}
.elh-mobile-toggle[aria-expanded="true"] .elh-close-icon{display:grid}
.elh-search-panel[hidden],.elh-mobile-nav[hidden],.elh-tab-pane[hidden]{display:none!important}
.elh-search-inner .search-field:focus-visible{outline:0;box-shadow:inset 0 -2px var(--elh-blue)}
.elh-home-hero-v5 h1{font-size:clamp(35px,4vw,46px);font-weight:600;letter-spacing:-.035em}
.elh-home-hero-v5 h1 span{font-weight:600}
.elh-home-hero-v5 p{font-size:15px}
.elh-home-tabs a{min-height:38px!important;font-size:13px!important;font-weight:500!important}
.elh-home-tabs a.is-active{font-weight:600!important}
.elh-quick-tools-v7{padding:42px 0 46px}
.elh-quick-tools-v7 .elh-shell{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:36px}
.elh-quick-tools-v7 .elh-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.elh-quick-tools-v7 .elh-tool-grid a{min-height:50px;font-size:13px;border-color:#e1e5ec;box-shadow:0 2px 5px rgba(16,24,40,.025);padding-inline:12px}
.elh-quick-tools-v7 .elh-tool-label{font-size:12.5px;line-height:1.35;font-weight:500;letter-spacing:-.008em}
.elh-quick-tools-v7 .elh-tool-heading h2{font-size:20px;letter-spacing:-.02em;line-height:1.3}
.elh-quick-tools-v7 .elh-tool-heading p{font-size:12.5px;line-height:1.6}
.elh-feature-lead h2{font-size:clamp(31px,3.5vw,40px);font-weight:600;letter-spacing:-.028em}
.elh-showcase-demo{position:relative}
.elh-showcase-demo .elh-preview-label{position:absolute;right:13px;top:10px;z-index:2;font-size:10px;line-height:1;padding:6px 8px;border:1px solid #e3e7ed;border-radius:20px;background:rgba(255,255,255,.9);color:#7d8797;font-weight:500;letter-spacing:.01em;pointer-events:none}
.elh-features-v5 .elh-showcase-copy h3{font-size:22px;line-height:1.4;font-weight:600}
.elh-features-v5 .elh-showcase-copy{padding:44px 46px}
.elh-features-v5 .elh-showcase-copy p{font-size:14px;line-height:1.75}
.elh-card-practice .elh-card-body > p{display:none}
.elh-card-practice .elh-card-body{display:flex;flex-direction:column;align-items:flex-start}
.elh-card-practice .elh-card-action{margin-top:auto}
.elh-card-practice .elh-card-submeta{margin-bottom:16px}
.elh-card-grid .elh-card{min-width:0}
.elh-card .elh-card-media{overflow:hidden}
.elh-card .elh-card-media img{aspect-ratio:1.74;object-fit:cover}
.elh-card-media img{transition:transform .2s ease}
.elh-card-media:hover img{transform:scale(1.025)}
.elh-card h3{font-size:17px;line-height:1.5;font-weight:600;letter-spacing:-.012em}
.elh-card-submeta{flex-wrap:wrap;gap:10px}
.elh-card-submeta span{display:inline-flex;align-items:center;gap:4px}
.elh-card-action{min-height:40px;font-size:12.75px;font-weight:500}
.elh-empty-state{grid-column:1/-1;border:1px dashed #d9e0e9;border-radius:14px;background:#fafbfc;padding:36px 28px;color:#68778a;min-width:0}
.elh-empty-state h2{font-size:20px;font-weight:600;margin:0 0 5px;color:#303b4c}
.elh-empty-state p{margin:0 0 14px;font-size:14px}
.elh-result-portrait > span{display:grid;place-items:center}
.elh-result-portrait > span .elh-icon{color:#77879c}
.elh-btn,.elh-tool-grid a,.elh-card-action,.elh-filter-submit,.elh-filter-reset{font-weight:500}
.elh-tool-grid a:focus-visible,.elh-segmented button:focus-visible,.elh-results-tabs button:focus-visible,.elh-card a:focus-visible{outline:2px solid var(--elh-blue);outline-offset:2px}
@media(max-width:1100px){
  .elh-quick-tools-v7 .elh-shell{grid-template-columns:1fr}
  .elh-quick-tools-v7 .elh-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .elh-quick-tools-v7 .elh-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .elh-features-v5 .elh-showcase-copy{padding:34px}
  .elh-header{isolation:isolate}
  .elh-mobile-nav{max-height:min(75vh,580px);overflow:auto}
}
@media(max-width:650px){
  .elh-shell{width:min(calc(100% - 32px),var(--elh-shell))}
  .elh-home-hero-v5 h1{font-size:clamp(28px,7.5vw,35px)}
  .elh-home-hero-v5 p{font-size:13.5px}
  .elh-quick-tools-v7 .elh-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .elh-quick-tools-v7 .elh-tool-label{font-size:12px}
  .elh-home-tabs{overflow-x:auto;justify-content:start;scrollbar-width:none}
  .elh-home-tabs a{flex:0 0 auto;min-width:78px!important}
  .elh-showcase-demo .elh-preview-label{font-size:9.5px;right:8px;top:6px}
  .elh-card-grid{gap:18px}
}
@media(max-width:390px){
  .elh-quick-tools-v7 .elh-tool-grid{grid-template-columns:1fr}
  .elh-brand-copy small{display:none}
  .elh-tool-grid a{min-width:0}
  .elh-mobile-list a{font-size:13.5px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .elh-card-media img{transition:none}
  .elh-card-media:hover img{transform:none}
}
/* Nested WordPress menu items, with a touch-friendly mobile fallback. */
.elh-nav-list li{position:relative}
.elh-nav-list .sub-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:90;min-width:198px;list-style:none;margin:0;padding:7px;border-radius:11px;border:1px solid #e1e6ed;background:#fff;box-shadow:0 12px 30px rgba(16,24,40,.09);opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .15s ease,transform .15s ease,visibility .15s}
.elh-nav-list .sub-menu a{display:block;border-radius:7px;padding:10px 12px;color:#465267;font-size:13px;line-height:1.45;font-weight:500}
.elh-nav-list .sub-menu a:hover,.elh-nav-list .sub-menu a:focus-visible{color:var(--elh-red);background:#fbf6f6}
.elh-mobile-list .sub-menu{position:static;list-style:none;padding:0 0 0 16px;margin:0}
.elh-mobile-list .sub-menu a{font-size:13px;color:#67758a;padding:9px 0}
@media(prefers-reduced-motion:reduce){.elh-nav-list .sub-menu{transition:none}}

/* V10 — genuine reading workspace: quiet toolbar, visible reading position, distraction-free mode. */
.elh-reading-progress{position:fixed;left:0;right:0;top:0;height:3px;background:transparent;z-index:160;pointer-events:none}
.elh-reading-progress>span{display:block;height:100%;width:0;background:var(--elh-red);transition:width .12s linear}
.elh-article-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:17px}
.elh-article-toolbar .elh-article-meta{margin-top:0}
.elh-focus-toggle{display:inline-flex;gap:8px;justify-content:center;align-items:center;height:40px;min-width:130px;padding:0 12px;border:1px solid #e1e6ed;background:#fff;border-radius:9px;color:#596579;font-family:inherit;font-weight:500;font-size:12.5px;line-height:1.2;cursor:pointer;white-space:nowrap;flex-shrink:0}
.elh-focus-toggle .elh-icon{display:block;width:16px;height:16px;flex:0 0 16px}
.elh-focus-toggle:hover,.elh-focus-toggle[aria-pressed="true"]{border-color:#e8a9ad;background:#fff7f7;color:#d5262c}
.elh-focus-toggle:focus-visible{outline:2px solid #2f66d8;outline-offset:3px}
.elh-reading-focus .elh-header,.elh-reading-focus .elh-site-footer{display:none}
.elh-reading-focus .elh-article-left,.elh-reading-focus .elh-toc{display:none!important}
.elh-reading-focus .elh-article-grid{display:block;width:min(calc(100% - 40px),840px);max-width:840px;padding-top:44px;margin-inline:auto}
.elh-reading-focus .elh-article-head-inner{max-width:840px}
.elh-reading-focus .elh-article-hero{padding:36px 0 30px}
.elh-reading-focus .elh-article-content{font-size:17px;line-height:1.92}
.elh-reading-focus .elh-reading-progress{height:4px}
@media(max-width:650px){
  .elh-article-toolbar{align-items:flex-start;gap:12px}
  .elh-focus-toggle{min-width:0}
  .elh-reading-focus .elh-article-grid{width:min(calc(100% - 32px),840px)}
  .elh-reading-focus .elh-article-content{font-size:15.5px}
}
@media(prefers-reduced-motion:reduce){.elh-reading-progress>span{transition:none}}
