:root{--navy:#0d1f4b;--blue:#1268f6;--sky:#eaf4ff;--coral:#ff5a43;--violet:#7654ff;--mint:#16bfa6;--yellow:#ffc857;--ink:#111936;--muted:#69738d;--line:#e7ebf3;--bg:#fff;--radius:28px;--shadow:0 20px 60px rgba(17,25,54,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.eslcamp-custom-ui{margin:0!important;background:#fff;color:var(--ink);font-family:"Vazirmatn","IRANSansX",Tahoma,Arial,sans-serif!important;direction:rtl}.ec-shell{width:min(1180px,calc(100% - 40px));margin:auto}.ec-header{height:78px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);display:flex;align-items:center;position:sticky;top:0;z-index:50;backdrop-filter:blur(18px)}.ec-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px}.ec-brand{text-decoration:none;color:var(--navy);display:flex;flex-direction:column;align-items:flex-start;line-height:1}.ec-brand strong{font-size:25px;font-weight:900;letter-spacing:-1.5px}.ec-brand strong span{color:var(--coral)}.ec-brand small{font-size:9px;margin-top:7px;color:var(--blue);direction:ltr}.ec-menu{display:flex;gap:28px;align-items:center;justify-content:flex-start}.ec-menu a,.ec-login{color:var(--ink);font-size:13px;font-weight:800;text-decoration:none}.ec-account{display:flex;gap:15px;align-items:center}.ec-btn{border:0;border-radius:14px;padding:13px 19px;font-weight:900;text-decoration:none;display:inline-flex;gap:9px;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.ec-btn:hover{transform:translateY(-2px)}.ec-btn-dark{background:var(--navy);color:#fff!important}.ec-btn-primary{background:var(--blue);color:#fff!important;box-shadow:0 13px 30px rgba(18,104,246,.25)}.ec-btn-white{background:#fff;color:var(--navy)!important}.ec-btn-outline{border:1px solid var(--navy);color:var(--navy)!important;background:transparent}.ec-menu-toggle{display:none;background:var(--navy);color:#fff;border:0;border-radius:10px;padding:9px 11px}.ec-hero{display:grid;grid-template-columns:1fr 1.06fr;gap:58px;align-items:center;padding:52px 0 70px}.ec-kicker{display:block;color:var(--blue);font-size:11px;font-weight:900;letter-spacing:.8px;margin-bottom:15px}.ec-hero h1{font-size:clamp(56px,6vw,84px);line-height:1.08;letter-spacing:-3px;margin:0 0 22px;font-weight:900}.ec-hero h1 em{font-style:normal;color:var(--coral)}.ec-hero-copy>p{font-size:17px;line-height:2;color:var(--muted);max-width:580px}.ec-hero-cta{margin-top:18px;padding:15px 25px}.ec-hero-note{display:flex;gap:20px;margin-top:22px;color:#5b6580;font-size:11px;font-weight:700}.ec-hero-photo{position:relative;min-height:485px;border-radius:34px;overflow:hidden;background:linear-gradient(140deg,#ecf6ff,#fff0eb);box-shadow:var(--shadow)}.ec-hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 50%;filter:saturate(.93) contrast(1.02)}.ec-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,31,75,.05),transparent 40%,rgba(255,255,255,.12))}.ec-float{position:absolute;z-index:3;background:rgba(255,255,255,.95);border-radius:16px;padding:11px 14px;box-shadow:0 14px 34px rgba(19,31,67,.16);display:flex;flex-direction:column}.ec-float b{font-size:12px}.ec-float small{font-size:9px;color:var(--muted);margin-top:2px}.ec-float-rating{top:34px;right:24px}.ec-float-safe{bottom:35px;right:25px}.ec-handwrite{position:absolute;z-index:3;left:22px;bottom:22px;font-size:16px;line-height:1.25;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3);font-weight:800;direction:ltr;transform:rotate(-4deg)}
.ec-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:100px}.ec-path{min-height:300px;position:relative;border-radius:28px;overflow:hidden;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:.46fr .54fr;box-shadow:0 15px 50px rgba(20,33,72,.06);transition:.25s}.ec-path:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.ec-path img{width:100%;height:100%;object-fit:cover;object-position:35% center}.ec-path>div{padding:27px 24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.ec-path small{font-weight:800;color:#66708a}.ec-path h2{font-size:25px;line-height:1.35;margin:7px 0}.ec-path h2 b{font-size:32px}.ec-path p{font-size:12px;line-height:1.85;color:#5c6680}.ec-path span{font-size:12px;font-weight:900;margin-top:auto}.ec-path-learn{background:#e9f5ff}.ec-path-learn h2 b{color:var(--blue)}.ec-path-teach{background:#f0eaff}.ec-path-teach h2 b{color:var(--violet)}.ec-path-hire{background:#fff0e8}.ec-path-hire h2 b{color:var(--coral)}
.ec-courses,.ec-teachers,.ec-why{padding-bottom:100px}.ec-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:16px}.ec-section-head h2{font-size:42px;margin:0;letter-spacing:-1.4px}.ec-section-head>a{font-size:12px;font-weight:900;color:var(--blue);text-decoration:none}.ec-section-lead{color:var(--muted);line-height:1.9;font-size:13px;margin:0 0 28px}.ec-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ec-course-card{min-height:360px;border-radius:28px;padding:28px;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.03);position:relative;overflow:hidden}.ec-course-card:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;left:-75px;bottom:-100px;background:rgba(255,255,255,.48)}.ec-course-blue{background:linear-gradient(145deg,#dff4ff,#cce7ff)}.ec-course-coral{background:linear-gradient(145deg,#ffe8df,#ffd5c7)}.ec-course-mint{background:linear-gradient(145deg,#dcfbf3,#c7efe9)}.ec-course-top{display:flex;justify-content:space-between;align-items:center}.ec-course-top span{font-size:10px;font-weight:900;background:rgba(255,255,255,.75);padding:6px 10px;border-radius:999px}.ec-course-top i{font-style:normal;font-size:20px}.ec-course-card h3{font-size:27px;margin:35px 0 10px}.ec-course-card>p{font-size:12px;line-height:1.9;color:#5c6680}.ec-course-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0;font-size:10px;color:#516078}.ec-course-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto;position:relative;z-index:2}.ec-course-bottom b{font-size:12px}.ec-course-bottom a{font-size:11px;font-weight:900;color:var(--navy);text-decoration:none}
.ec-teacher-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.ec-teacher-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 35px rgba(15,30,70,.05)}.ec-teacher-photo{height:205px;position:relative;overflow:hidden}.ec-teacher-photo img{width:100%;height:100%;object-fit:cover}.ec-teacher-photo span{position:absolute;top:12px;right:12px;background:#d8f8e9;color:#16875f;font-size:9px;font-weight:900;border-radius:999px;padding:6px 9px}.ec-teacher-photo i{position:absolute;top:12px;left:12px;background:#fff;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:var(--coral);font-style:normal}.ec-teacher-body{padding:18px}.ec-teacher-body h3{margin:0;font-size:18px;direction:ltr;text-align:right}.ec-teacher-body h3 small{color:var(--mint);font-size:10px}.ec-teacher-body p{font-size:10px;color:var(--muted);min-height:28px}.ec-teacher-body>div{display:flex;gap:10px;font-size:10px;margin:13px 0}.ec-teacher-body b{color:#ee9200}.ec-teacher-body a{font-size:11px;font-weight:900;text-decoration:none;color:var(--blue)}
.ec-jobs{background:var(--navy);color:#fff;padding:85px 0;margin-bottom:95px}.ec-jobs-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.ec-jobs .ec-kicker{color:#76dcff}.ec-jobs-copy h2{font-size:42px;margin:0 0 14px}.ec-jobs-copy p{color:#c2c9d9;line-height:1.9}.ec-job-list{display:grid;gap:12px}.ec-job-list article{background:#fff;color:var(--ink);padding:21px 24px;border-radius:18px;position:relative}.ec-job-list article:nth-child(2){transform:translateX(-28px)}.ec-job-list span{font-size:9px;font-weight:900;background:#eaf4ff;color:#2572c9;padding:5px 8px;border-radius:999px}.ec-job-list h3{margin:9px 0 2px}.ec-job-list p{margin:0;font-size:11px;color:var(--muted)}
.ec-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.ec-why-grid article{padding:25px 20px;border-top:2px solid var(--line)}.ec-why-grid i{font-style:normal;font-size:11px;color:var(--coral);font-weight:900}.ec-why-grid h3{font-size:19px}.ec-why-grid p{font-size:11px;line-height:2;color:var(--muted)}.ec-bottom-ctas{display:grid;grid-template-columns:.8fr 1.2fr;gap:15px;padding-bottom:85px}.ec-bottom-ctas>div{min-height:285px;border-radius:30px;padding:36px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.ec-institute-cta{background:linear-gradient(145deg,#ffe7d8,#ffc9b5)}.ec-teacher-cta{background:linear-gradient(135deg,#173c8c,#1168f5);color:#fff}.ec-bottom-ctas small{font-weight:900;opacity:.75}.ec-bottom-ctas h2{font-size:31px;margin:7px 0}.ec-bottom-ctas p{font-size:12px;line-height:1.9;max-width:540px}
.ec-footer{background:#081a3e;color:#fff;padding:55px 0 48px;margin:0}.ec-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:42px}.ec-footer-logo{font-size:26px;font-weight:900;direction:ltr;text-align:right}.ec-footer-logo span{color:var(--coral)}.ec-footer p{font-size:11px;color:#aeb9d1;line-height:1.8}.ec-footer a{display:block;color:#d7deed;text-decoration:none;font-size:11px;margin-top:9px}.ec-footer b{font-size:12px}.ec-footer-end{direction:ltr;text-align:left}.ec-footer-end small{display:block;color:#8090af;margin-top:8px}
.ec-page{min-height:calc(100vh - 78px);background:#fff}.ec-page-hero{padding:80px 0 45px}.ec-page-hero h1{font-size:56px;margin:0 0 10px}.ec-page-hero p{font-size:15px;color:var(--muted);line-height:2;max-width:700px}.ec-course-grid-all{padding-bottom:85px}.ec-course-single{display:grid;grid-template-columns:1fr 360px;gap:60px;padding:80px 0}.ec-course-main h1{font-size:55px;margin:4px 0 12px}.ec-course-excerpt{font-size:17px;color:var(--muted);line-height:2}.ec-course-content{line-height:2.2;color:#39425b}.ec-course-sidebar{border:1px solid var(--line);border-radius:24px;padding:25px;align-self:start;position:sticky;top:100px}.ec-course-sidebar h3{margin-top:0}.ec-course-sidebar dl{margin:0 0 22px}.ec-course-sidebar dl div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:11px 0}.ec-course-sidebar dt{font-size:11px;color:var(--muted)}.ec-course-sidebar dd{font-size:11px;font-weight:800;margin:0;text-align:left}.ec-enrolled{background:#e9fbf3;color:#197b5f;border-radius:14px;padding:13px;line-height:1.8;font-size:11px;font-weight:700}.ec-my-courses{padding-bottom:90px}.ec-empty{border:1px dashed #cfd6e4;border-radius:22px;padding:50px;text-align:center;line-height:3}.ec-my-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.ec-my-grid article{border:1px solid var(--line);border-radius:20px;padding:22px}.ec-my-grid article>span{font-size:9px;color:var(--mint);font-weight:900}.ec-my-grid a{display:block;color:var(--blue);font-size:11px;font-weight:900;margin-top:8px;text-decoration:none}.ec-room-link{background:var(--blue);color:#fff!important;padding:9px 10px;border-radius:11px;text-align:center}
@media(max-width:920px){.ec-nav{grid-template-columns:1fr auto}.ec-menu,.ec-account{display:none}.ec-menu.open{display:flex;position:absolute;top:78px;right:15px;left:15px;background:#fff;border:1px solid var(--line);padding:20px;border-radius:18px;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.ec-menu-toggle{display:block}.ec-hero{grid-template-columns:1fr;padding-top:30px}.ec-hero-photo{min-height:420px}.ec-paths{grid-template-columns:1fr}.ec-path{min-height:260px}.ec-course-grid{grid-template-columns:1fr 1fr}.ec-teacher-grid{grid-template-columns:1fr 1fr}.ec-jobs-inner,.ec-bottom-ctas,.ec-course-single{grid-template-columns:1fr}.ec-job-list article:nth-child(2){transform:none}.ec-why-grid{grid-template-columns:1fr 1fr}.ec-footer-grid{grid-template-columns:1fr 1fr}.ec-course-sidebar{position:static}.ec-my-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ec-shell{width:min(100% - 24px,1180px)}.ec-header{height:68px}.ec-brand strong{font-size:22px}.ec-hero{gap:25px;padding-bottom:50px}.ec-hero h1{font-size:48px}.ec-hero-copy>p{font-size:14px}.ec-hero-note{flex-direction:column;gap:7px}.ec-hero-photo{min-height:330px}.ec-float-rating{top:15px;right:15px}.ec-float-safe{bottom:15px;right:15px}.ec-handwrite{display:none}.ec-path{grid-template-columns:.42fr .58fr}.ec-path>div{padding:20px 17px}.ec-path h2{font-size:20px}.ec-path h2 b{font-size:26px}.ec-section-head{align-items:flex-start;flex-direction:column}.ec-section-head h2{font-size:34px}.ec-course-grid,.ec-teacher-grid,.ec-why-grid,.ec-footer-grid,.ec-my-grid{grid-template-columns:1fr}.ec-course-card{min-height:330px}.ec-teacher-photo{height:280px}.ec-jobs{padding:60px 0}.ec-bottom-ctas>div{padding:28px}.ec-page-hero h1,.ec-course-main h1{font-size:42px}.ec-course-single{padding:50px 0}.ec-footer-end{text-align:right;direction:rtl}}



/* ============================================================
   ESLCAMP v0.7 visual correction pass
   ============================================================ */
html,body{margin:0!important;padding:0!important;background:#fff}
.ec-home-v07{overflow:hidden;background:#fff}
.ec-header{position:relative;z-index:50;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(18px)}
.ec-menu-toggle{display:none!important;width:44px;height:42px;border:0;background:#0a1c43;border-radius:13px;padding:10px;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.ec-menu-toggle span{width:20px;height:2px;background:#fff;border-radius:999px;display:block}

/* Hero */
.ec-hero-v2{background:
  radial-gradient(circle at 8% 15%,rgba(48,196,219,.12),transparent 28%),
  radial-gradient(circle at 90% 4%,rgba(255,98,77,.12),transparent 28%),
  #fff;
  padding:48px 0 120px;
  border-bottom:1px solid #eef1f7;
}
.ec-hero-v2-inner{display:grid;grid-template-columns:1fr 1.04fr;gap:64px;align-items:center}
.ec-hero-v2-copy h1{font-size:clamp(58px,6.4vw,92px);line-height:1.02;letter-spacing:-4.2px;margin:10px 0 24px;color:#10152f}
.ec-hero-v2-copy h1 em{font-style:normal;color:#ff5d52}
.ec-hero-v2-copy>p{max-width:620px;color:#5f6981;font-size:16px;line-height:2.05;margin-bottom:28px}
.ec-hero-proof{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;color:#59647a;font-size:11px;font-weight:700}
.ec-hero-proof b{display:inline-grid;place-items:center;width:20px;height:20px;background:#def8ed;color:#12825d;border-radius:50%;margin-left:5px}
.ec-hero-v2-media{position:relative;min-height:520px}
.ec-photo-frame{position:absolute;inset:0 35px 0 0;border-radius:48px 48px 120px 48px;overflow:hidden;background:#e8eef7;box-shadow:0 34px 90px rgba(22,36,82,.14)}
.ec-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.ec-float-card{position:absolute;z-index:3;background:rgba(255,255,255,.96);border:1px solid rgba(228,233,244,.95);box-shadow:0 18px 46px rgba(18,31,72,.15);border-radius:18px;padding:13px 16px;display:flex;flex-direction:column}
.ec-float-card strong{font-size:13px}.ec-float-card small{font-size:9px;color:#667089;margin-top:3px}
.ec-float-rating{top:32px;right:0}.ec-float-community{top:108px;left:0}.ec-float-trust{bottom:34px;right:5px}.ec-float-trust strong{color:#138562}

/* Three capabilities: intentionally pulled into the first screen */
.ec-paths-v2{position:relative;z-index:8;margin-top:-74px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:100px}
.ec-capability{min-height:285px;border-radius:30px;text-decoration:none!important;color:#11162f!important;overflow:hidden;display:grid;grid-template-columns:1.05fr .72fr;box-shadow:0 22px 65px rgba(25,39,82,.12);border:1px solid rgba(255,255,255,.85);transition:.28s ease}
.ec-capability:hover{transform:translateY(-7px);box-shadow:0 30px 78px rgba(25,39,82,.17)}
.ec-capability-copy{padding:28px 26px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;position:relative;z-index:2}
.ec-capability-copy small{font-size:10px;font-weight:900;color:#6a7184}.ec-capability-copy h2{font-size:24px;line-height:1.3;margin:7px 0 10px}.ec-capability-copy h2 b{font-size:31px}
.ec-capability-copy p{font-size:11px;line-height:1.85;color:#5c6680;margin:0 0 17px}.ec-capability-copy span{margin-top:auto;font-size:11px;font-weight:900}
.ec-capability-photo{position:relative;overflow:hidden;min-height:285px}
.ec-capability-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent 45%)}
.ec-capability-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.ec-capability-learn{background:linear-gradient(145deg,#e5f7ff,#d8ecff)}.ec-capability-learn b{color:#096fe8}
.ec-capability-teach{background:linear-gradient(145deg,#f3e9ff,#e8ddff)}.ec-capability-teach b{color:#7535df}
.ec-capability-hire{background:linear-gradient(145deg,#fff0e4,#ffe0d1)}.ec-capability-hire b{color:#ed5b35}

/* Courses v2 */
.ec-courses-v2{padding-bottom:105px}
.ec-section-head-v2 h2{max-width:720px}
.ec-course-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ec-course-card-v2{border:1px solid #e8edf5;background:#fff;border-radius:30px;overflow:hidden;box-shadow:0 16px 54px rgba(24,38,78,.07);transition:.28s ease;min-width:0}
.ec-course-card-v2:hover{transform:translateY(-5px);box-shadow:0 25px 70px rgba(24,38,78,.12)}
.ec-course-art{height:190px;position:relative;padding:20px 22px;overflow:hidden;isolation:isolate}
.ec-course-art:before,.ec-course-art:after{content:"";position:absolute;border-radius:50%;z-index:-1}
.ec-course-art:before{width:190px;height:190px;left:-45px;bottom:-82px;background:rgba(255,255,255,.5)}
.ec-course-art:after{width:90px;height:90px;right:-22px;top:-25px;background:rgba(255,255,255,.32)}
.ec-course-conversation .ec-course-art{background:linear-gradient(145deg,#ccecff,#a9dcff)}
.ec-course-pronunciation .ec-course-art{background:linear-gradient(145deg,#ffe0d7,#ffc4b7)}
.ec-course-accent .ec-course-art{background:linear-gradient(145deg,#cef7ea,#a8ead9)}
.ec-course-art-top{display:flex;justify-content:space-between;align-items:center}.ec-course-art-top small{font-size:10px;font-weight:900;color:#29334d}
.ec-course-status{font-size:9px;font-weight:900;background:#fff;border-radius:999px;padding:6px 9px;color:#11835f;box-shadow:0 8px 18px rgba(0,0,0,.05)}
.ec-course-art>strong{position:absolute;right:24px;bottom:28px;font-size:72px;line-height:1;font-weight:900;letter-spacing:-5px;color:#10152f;opacity:.9}
.ec-course-art-caption{position:absolute;left:22px;bottom:28px;font-size:12px;font-weight:900;transform:rotate(-4deg);color:#34405b}
.ec-course-copy{padding:25px 24px 23px}.ec-course-copy h3{font-size:24px;line-height:1.45;margin:0 0 8px}.ec-course-copy>p{font-size:11px;line-height:1.9;color:#687188;min-height:43px;margin:0 0 20px}
.ec-course-meta-v2{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid #edf0f6;border-bottom:1px solid #edf0f6;padding:15px 0}
.ec-course-meta-v2 span{display:flex;flex-direction:column;font-size:10px;color:#4e5b73;min-width:0}.ec-course-meta-v2 b{font-size:8px;color:#9aa3b5;margin-bottom:2px}
.ec-course-bottom-v2{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:18px}.ec-course-bottom-v2>div{display:flex;flex-direction:column}.ec-course-bottom-v2 small{font-size:8px;color:#9aa3b5}.ec-course-bottom-v2 b{font-size:12px}.ec-course-bottom-v2 a{font-size:11px;font-weight:900;text-decoration:none;color:#145fd7}

/* Teachers: prevent awkward cropping */
.ec-teacher-photo{height:230px;background:#eef3f8}
.ec-teacher-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}

/* Jobs contrast fix */
.ec-jobs-v2{background:linear-gradient(135deg,#081a3e,#102b61)!important}
.ec-jobs-v2 .ec-jobs-copy h2{color:#fff!important;text-shadow:none!important}
.ec-jobs-v2 .ec-jobs-copy p{color:#d6deed!important}
.ec-jobs-v2 .ec-kicker{color:#69e0eb!important}
.ec-jobs-v2 .ec-job-list h3{color:#10152f!important}

/* Courses archive */
.ec-courses-page-v2{background:#fff}
.ec-courses-hero{padding:72px 0 58px;background:linear-gradient(180deg,#f6f9ff,#fff)}
.ec-courses-hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}
.ec-courses-hero h1{font-size:56px;line-height:1.15;margin:7px 0 14px;letter-spacing:-2px}.ec-courses-hero p{max-width:620px;color:#65708a;line-height:2}
.ec-course-filter-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.ec-course-filter-chips span{border:1px solid #dfe5ef;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:800;background:#fff}
.ec-course-grid-all-v2{padding-top:15px;padding-bottom:90px}

/* No unexplained page-end space */
.ec-footer{margin-bottom:0!important}
body.eslcamp-custom-ui{min-height:0!important}
body.eslcamp-custom-ui:after{display:none!important;content:none!important}
.ec-home-v07+style{display:none!important}

@media(max-width:920px){
  .ec-menu-toggle{display:flex!important}
  .ec-hero-v2{padding:35px 0 90px}
  .ec-hero-v2-inner{grid-template-columns:1fr;gap:30px}
  .ec-hero-v2-copy h1{font-size:58px;letter-spacing:-2.5px}
  .ec-hero-v2-media{min-height:450px}
  .ec-paths-v2{grid-template-columns:1fr;margin-top:-48px}
  .ec-capability{min-height:245px}
  .ec-capability-photo{min-height:245px}
  .ec-course-grid-v2{grid-template-columns:1fr 1fr}
  .ec-courses-hero-inner{grid-template-columns:1fr}
}
@media(max-width:560px){
  .ec-hero-v2{padding-top:24px}
  .ec-hero-v2-copy h1{font-size:46px;line-height:1.08}
  .ec-hero-v2-copy>p{font-size:13px}
  .ec-hero-proof{gap:8px;flex-direction:column}
  .ec-hero-v2-media{min-height:365px}
  .ec-photo-frame{inset:0 10px 0 0;border-radius:34px 34px 70px 34px}
  .ec-float-community{display:none}
  .ec-paths-v2{margin-top:-34px;padding-bottom:72px}
  .ec-capability{grid-template-columns:1.1fr .75fr;min-height:220px;border-radius:24px}
  .ec-capability-photo{min-height:220px}
  .ec-capability-copy{padding:20px 17px}
  .ec-capability-copy h2{font-size:19px}.ec-capability-copy h2 b{font-size:24px}
  .ec-capability-copy p{font-size:10px}
  .ec-course-grid-v2{grid-template-columns:1fr}
  .ec-course-art{height:170px}
  .ec-course-copy h3{font-size:22px}
  .ec-courses-hero h1{font-size:42px}
  .ec-course-filter-chips{justify-content:flex-start}
  .ec-teacher-photo{height:300px}
}


/* ============================================================
   ESLCAMP 0.8 — bespoke art-direction pass
   Inspired by the user's reference: stronger ink, coral accents,
   elegant Persian typography, airy composition, fewer template boxes.
   ============================================================ */
:root{
  --ec-ink:#100659;
  --ec-navy:#0b1745;
  --ec-coral:#e8725d;
  --ec-royal:#245be8;
  --ec-soft:#f8f7fc;
  --ec-cream:#fffaf5;
  --ec-line:#e8e6f0;
}
body.eslcamp-custom-ui{
  font-family:"Estedad","Vazirmatn","IRANSansX",Tahoma,sans-serif!important;
  color:#17152e;
  background:#fff!important;
}
.ec-shell{width:min(1240px,calc(100% - 56px))}

/* Header: cleaner, more deliberate, Persian-first. */
.ec-header{
  height:86px!important;
  border-bottom:0!important;
  box-shadow:0 8px 28px rgba(24,21,65,.055);
  background:rgba(255,255,255,.985)!important;
}
.ec-nav{gap:48px}
.ec-brand strong{font-size:28px!important;color:var(--ec-ink)!important}
.ec-brand strong span{color:var(--ec-coral)!important}
.ec-brand small{color:var(--ec-royal)!important;letter-spacing:.2px!important}
.ec-menu{gap:31px!important}
.ec-menu a,.ec-login{font-size:13px!important;font-weight:700!important;color:#252140!important;position:relative}
.ec-menu a:after{content:"";position:absolute;right:0;left:100%;bottom:-9px;height:2px;background:var(--ec-coral);transition:.22s}
.ec-menu a:hover:after{left:0}
.ec-btn-dark{background:var(--ec-ink)!important;border-radius:999px!important;padding-inline:24px!important}
.ec-btn-primary{background:var(--ec-royal)!important;border-radius:999px!important;box-shadow:0 12px 28px rgba(36,91,232,.20)!important}
.ec-btn{font-family:inherit}

/* Hero: use the complete approved composition. Do not crop it. */
.ec-hero-v2{
  position:relative;
  padding:68px 0 70px!important;
  background:
    radial-gradient(circle at 92% 15%,rgba(232,114,93,.10),transparent 28%),
    radial-gradient(circle at 8% 50%,rgba(44,103,229,.075),transparent 28%),
    #fff!important;
}
.ec-hero-v2:after{
  content:"";
  position:absolute;right:0;bottom:0;width:68%;height:12px;
  background:var(--ec-ink);
  border-radius:30px 0 0 0;
  opacity:.98;
}
.ec-hero-v2-inner{grid-template-columns:.92fr 1.08fr!important;gap:72px!important}
.ec-hero-v2-copy{position:relative;z-index:3}
.ec-kicker{color:var(--ec-royal)!important;font-weight:800!important;letter-spacing:.4px!important}
.ec-hero-v2-copy h1{
  color:var(--ec-ink)!important;
  font-size:clamp(61px,6.3vw,91px)!important;
  line-height:1.12!important;
  letter-spacing:-3.7px!important;
  margin-top:4px!important
}
.ec-hero-v2-copy h1 em{color:var(--ec-coral)!important}
.ec-hero-v2-copy>p{color:#55536a!important;max-width:610px!important;font-size:15px!important}
.ec-calligraphy{
  margin-top:19px;
  color:var(--ec-ink);
  font-family:"Noto Nastaliq Urdu","Times New Roman",serif;
  font-size:24px;
  line-height:2;
  transform:rotate(-2deg);
  width:max-content;
  max-width:100%;
}
.ec-calligraphy:after{
  content:"";
  display:block;
  width:92px;height:3px;border-radius:99px;
  background:var(--ec-coral);
  margin:-3px 40px 0 0;
  transform:rotate(-4deg)
}
.ec-hero-proof{color:#656278!important}
.ec-photo-frame{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  border-radius:46px 14px 46px 14px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 30px 85px rgba(21,12,79,.13)!important;
}
.ec-photo-frame img{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important
}
.ec-hero-v2-media{min-height:0!important;align-self:center}
.ec-float-rating,.ec-float-community,.ec-float-trust{display:none!important}

/* Capabilities: immediately after hero, with complete person panels. */
.ec-paths-v2{
  margin-top:0!important;
  padding-top:38px!important;
  padding-bottom:96px!important;
  gap:18px!important;
}
.ec-capability{
  grid-template-columns:1.05fr .76fr!important;
  min-height:305px!important;
  border-radius:30px 8px 30px 8px!important;
  border:1px solid var(--ec-line)!important;
  box-shadow:0 12px 34px rgba(28,24,74,.075)!important;
  background:#fff!important;
  position:relative
}
.ec-capability:before{
  content:"";position:absolute;inset:0 0 auto auto;width:5px;height:100%;border-radius:0 8px 8px 0;
}
.ec-capability-learn:before{background:#2d78e9}
.ec-capability-teach:before{background:#7751df}
.ec-capability-hire:before{background:var(--ec-coral)}
.ec-capability-photo{
  background:#f4f3f9!important;
  min-height:305px!important;
  padding:12px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:hidden!important
}
.ec-capability-photo img{
  width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center bottom!important;
  border-radius:22px 6px 22px 6px!important;
}
.ec-capability-copy{padding:30px 26px!important}
.ec-capability-copy small{color:#7a768b!important}
.ec-capability-copy h2{font-weight:650!important;font-size:23px!important}
.ec-capability-copy h2 b{font-size:31px!important}
.ec-capability-learn b{color:#2773db!important}
.ec-capability-teach b{color:#6f48d6!important}
.ec-capability-hire b{color:var(--ec-coral)!important}
.ec-capability-copy p{color:#656176!important}

/* Section typography: more editorial, less WordPress-template. */
.ec-section-head{border-top:0!important;padding-top:0!important}
.ec-section-head h2,.ec-section-head-v2 h2{
  color:var(--ec-ink)!important;
  font-weight:800!important;
  letter-spacing:-1.3px!important;
}
.ec-section-lead{color:#68657a!important}
.ec-section-head>a{color:var(--ec-royal)!important;font-weight:800!important}

/* Home courses: one large editorial course + two compact courses. */
.ec-courses-v2{
  padding:78px 0 110px!important;
  background:linear-gradient(180deg,#fbfaff 0,#fff 100%);
  width:100%!important;
  max-width:none!important;
}
.ec-courses-v2>.ec-section-head,
.ec-courses-v2>.ec-section-lead,
.ec-courses-v2>.ec-course-grid-v2{
  width:min(1240px,calc(100% - 56px));margin-left:auto;margin-right:auto
}
.ec-courses-v2 .ec-course-grid-v2{
  grid-template-columns:1.18fr .82fr!important;
  grid-template-rows:1fr 1fr!important;
  gap:18px!important
}
.ec-courses-v2 .ec-course-card-v2:first-child{
  grid-row:1 / span 2!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:560px!important
}
.ec-courses-v2 .ec-course-card-v2:first-child .ec-course-art{
  height:285px!important;flex:0 0 285px!important
}
.ec-courses-v2 .ec-course-card-v2:nth-child(2),
.ec-courses-v2 .ec-course-card-v2:nth-child(3){
  display:grid!important;grid-template-columns:165px 1fr!important;min-height:270px!important
}
.ec-courses-v2 .ec-course-card-v2:nth-child(2) .ec-course-art,
.ec-courses-v2 .ec-course-card-v2:nth-child(3) .ec-course-art{
  height:100%!important;min-height:270px!important
}
.ec-courses-v2 .ec-course-card-v2:nth-child(2) .ec-course-art>strong,
.ec-courses-v2 .ec-course-card-v2:nth-child(3) .ec-course-art>strong{
  font-size:47px!important;right:24px!important;bottom:35px!important
}
.ec-course-card-v2{
  border-radius:30px 9px 30px 9px!important;
  box-shadow:0 13px 40px rgba(28,24,74,.065)!important;
  border-color:var(--ec-line)!important
}
.ec-course-art{border-radius:0!important}
.ec-course-conversation .ec-course-art{background:linear-gradient(145deg,#d9eeff,#acd9ff)!important}
.ec-course-pronunciation .ec-course-art{background:linear-gradient(145deg,#ffebe5,#ffc5b7)!important}
.ec-course-accent .ec-course-art{background:linear-gradient(145deg,#dcf7ef,#a7e7d6)!important}
.ec-course-art>strong{color:var(--ec-ink)!important}
.ec-course-copy h3{color:#24203b!important;font-weight:750!important}
.ec-course-bottom-v2 a{color:var(--ec-royal)!important}

/* Teacher cards: taller images, calmer cards. */
.ec-teachers{padding-top:86px!important;padding-bottom:112px!important}
.ec-teacher-card{border-radius:24px 7px 24px 7px!important;border:1px solid var(--ec-line)!important;box-shadow:0 9px 30px rgba(28,24,74,.055)!important}
.ec-teacher-photo{height:275px!important;background:#f4f3f8!important}
.ec-teacher-photo img{object-fit:contain!important;object-position:center bottom!important;background:#f4f3f8!important}
.ec-teacher-body h3{font-weight:800!important;color:var(--ec-ink)!important}

/* Jobs: high contrast and strong bespoke band. */
.ec-jobs-v2{
  background:var(--ec-ink)!important;
  border-radius:0 54px 0 54px!important;
  margin:0 22px!important;
}
.ec-jobs-v2 .ec-jobs-copy h2{color:#fff!important;font-size:43px!important}
.ec-jobs-v2 .ec-jobs-copy p{color:#d7d3ec!important}
.ec-jobs-v2 .ec-job-list article{
  border-radius:20px 5px 20px 5px!important;
  border-left:4px solid var(--ec-coral)!important
}

/* Why section inspired by the clean editorial reference. */
.ec-why{padding-top:105px!important}
.ec-why-grid{border-top:2px solid var(--ec-ink)!important;gap:0!important}
.ec-why-grid article{border-top:0!important;border-left:1px solid var(--ec-line)!important;padding:30px 28px!important}
.ec-why-grid article:last-child{border-left:0!important}
.ec-why-grid i{color:var(--ec-coral)!important;font-size:13px!important}
.ec-why-grid h3{color:var(--ec-ink)!important}

/* CTA treatment closer to bespoke studio sites, not generic cards. */
.ec-bottom-ctas{gap:18px!important}
.ec-bottom-ctas>div{border-radius:34px 8px 34px 8px!important}
.ec-teacher-cta{background:linear-gradient(118deg,var(--ec-ink),#243b96)!important}
.ec-institute-cta{background:linear-gradient(130deg,#fff6ee,#f6c9bb)!important}

/* Footer */
.ec-footer{background:#09052e!important;border-radius:48px 48px 0 0!important;margin-top:65px!important}

/* Courses archive: premium editorial layout, no generic boxed grid. */
.ec-courses-hero{
  background:
    linear-gradient(90deg,rgba(16,6,89,.98),rgba(25,22,94,.94))!important;
  color:#fff!important;
  padding:82px 0 72px!important;
  border-radius:0 0 55px 55px
}
.ec-courses-hero h1{color:#fff!important}
.ec-courses-hero p{color:#d9d7ec!important}
.ec-courses-hero .ec-kicker{color:#85a6ff!important}
.ec-course-filter-chips span{color:#fff!important;border-color:rgba(255,255,255,.25)!important;background:rgba(255,255,255,.08)!important}
.ec-course-grid-all-v2{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:22px!important;
  padding-top:54px!important
}
.ec-course-grid-all-v2 .ec-course-card-v2{display:block!important;min-height:0!important}
.ec-course-grid-all-v2 .ec-course-art{height:220px!important}

/* Mobile */
@media(max-width:920px){
  .ec-shell{width:min(100% - 30px,760px)!important}
  .ec-hero-v2{padding-top:38px!important}
  .ec-hero-v2-inner{grid-template-columns:1fr!important;gap:35px!important}
  .ec-hero-v2-copy h1{font-size:57px!important}
  .ec-photo-frame{border-radius:32px 8px 32px 8px!important}
  .ec-calligraphy{font-size:21px}
  .ec-paths-v2{grid-template-columns:1fr!important;padding-top:24px!important}
  .ec-capability{min-height:260px!important}
  .ec-capability-photo{min-height:260px!important}
  .ec-courses-v2 .ec-course-grid-v2{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .ec-courses-v2 .ec-course-card-v2:first-child{grid-row:auto!important;min-height:0!important}
  .ec-courses-v2 .ec-course-card-v2:nth-child(2),
  .ec-courses-v2 .ec-course-card-v2:nth-child(3){grid-template-columns:145px 1fr!important;min-height:245px!important}
  .ec-course-grid-all-v2{grid-template-columns:1fr 1fr!important}
}
@media(max-width:560px){
  .ec-header{height:72px!important}
  .ec-hero-v2-copy h1{font-size:45px!important;letter-spacing:-2px!important}
  .ec-hero-v2:after{width:82%;height:8px}
  .ec-calligraphy{font-size:18px}
  .ec-capability{grid-template-columns:1.1fr .72fr!important;min-height:230px!important}
  .ec-capability-photo{min-height:230px!important;padding:7px!important}
  .ec-courses-v2{padding-top:55px!important}
  .ec-courses-v2>.ec-section-head,
  .ec-courses-v2>.ec-section-lead,
  .ec-courses-v2>.ec-course-grid-v2{width:calc(100% - 30px)!important}
  .ec-courses-v2 .ec-course-card-v2:nth-child(2),
  .ec-courses-v2 .ec-course-card-v2:nth-child(3){grid-template-columns:1fr!important}
  .ec-courses-v2 .ec-course-card-v2:nth-child(2) .ec-course-art,
  .ec-courses-v2 .ec-course-card-v2:nth-child(3) .ec-course-art{height:165px!important;min-height:165px!important}
  .ec-teacher-photo{height:330px!important}
  .ec-jobs-v2{margin:0 8px!important;border-radius:0 34px 0 34px!important}
  .ec-course-grid-all-v2{grid-template-columns:1fr!important}
  .ec-footer{border-radius:32px 32px 0 0!important}
}


/* ============================================================
   ESLCAMP 0.9 — cleanup and proportion correction
   ============================================================ */

/* Remove decorative bars/separators that looked detached on the live page. */
.ec-hero-v2:after,
.ec-calligraphy,
.ec-calligraphy:after{
  display:none!important;
  content:none!important;
}
.ec-why-grid{
  border-top:0!important;
}
.ec-why-grid article{
  border-left:0!important;
  border-top:0!important;
  position:relative;
}
.ec-why-grid article:before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:38px;
  height:2px;
  background:#e8725d;
  border-radius:10px;
}

/* Slightly tighten the hero now that the fake calligraphic line is gone. */
.ec-hero-v2{
  padding-bottom:58px!important;
}
.ec-hero-v2-copy>p{
  margin-bottom:26px!important;
}
.ec-hero-proof{
  margin-top:18px!important;
}

/* Main capability cards remain close to the hero and visually balanced. */
.ec-paths-v2{
  padding-top:28px!important;
  padding-bottom:82px!important;
}
.ec-capability{
  min-height:275px!important;
}
.ec-capability-photo{
  min-height:275px!important;
}
.ec-capability-photo img{
  object-fit:contain!important;
  object-position:center bottom!important;
}

/* ------------------------------------------------------------
   Courses: compact, equal, readable cards.
   ------------------------------------------------------------ */
.ec-courses-v2{
  padding:60px 0 84px!important;
  background:#fbfbfe!important;
}
.ec-courses-v2 .ec-course-grid-v2{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:auto!important;
  gap:18px!important;
}
.ec-courses-v2 .ec-course-card-v2,
.ec-courses-v2 .ec-course-card-v2:first-child,
.ec-courses-v2 .ec-course-card-v2:nth-child(2),
.ec-courses-v2 .ec-course-card-v2:nth-child(3){
  display:block!important;
  grid-row:auto!important;
  grid-column:auto!important;
  min-height:0!important;
}
.ec-courses-v2 .ec-course-art,
.ec-courses-v2 .ec-course-card-v2:first-child .ec-course-art,
.ec-courses-v2 .ec-course-card-v2:nth-child(2) .ec-course-art,
.ec-courses-v2 .ec-course-card-v2:nth-child(3) .ec-course-art{
  height:125px!important;
  min-height:125px!important;
  flex:0 0 125px!important;
}
.ec-courses-v2 .ec-course-art>strong,
.ec-courses-v2 .ec-course-card-v2:nth-child(2) .ec-course-art>strong,
.ec-courses-v2 .ec-course-card-v2:nth-child(3) .ec-course-art>strong{
  font-size:48px!important;
  right:22px!important;
  bottom:20px!important;
}
.ec-courses-v2 .ec-course-art-caption{
  bottom:20px!important;
}
.ec-courses-v2 .ec-course-copy{
  padding:20px 20px 18px!important;
}
.ec-courses-v2 .ec-course-copy h3{
  font-size:20px!important;
  margin-bottom:5px!important;
}
.ec-courses-v2 .ec-course-copy>p{
  min-height:0!important;
  font-size:10px!important;
  line-height:1.8!important;
  margin-bottom:13px!important;
}
.ec-courses-v2 .ec-course-meta-v2{
  padding:11px 0!important;
  gap:7px!important;
}
.ec-courses-v2 .ec-course-bottom-v2{
  margin-top:12px!important;
}
.ec-courses-v2 .ec-section-lead{
  margin-bottom:24px!important;
}

/* Courses archive is compact too. */
.ec-course-grid-all-v2{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  padding-top:40px!important;
}
.ec-course-grid-all-v2 .ec-course-art{
  height:145px!important;
}
.ec-course-grid-all-v2 .ec-course-copy{
  padding:20px!important;
}

/* ------------------------------------------------------------
   Teacher cards: clean standalone portraits, no crop.
   ------------------------------------------------------------ */
.ec-teacher-grid{
  gap:18px!important;
}
.ec-teacher-card{
  overflow:hidden!important;
  background:#fff!important;
}
.ec-teacher-photo{
  height:290px!important;
  background:#f5f6fa!important;
  padding:0!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
}
.ec-teacher-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  background:transparent!important;
  display:block!important;
}
.ec-teacher-photo span,
.ec-teacher-photo i{
  z-index:2;
}
.ec-teacher-body{
  padding:17px 17px 18px!important;
}

/* ------------------------------------------------------------
   Jobs: retain strong contrast and remove visual ambiguity.
   ------------------------------------------------------------ */
.ec-jobs-v2{
  border-radius:38px 10px 38px 10px!important;
  margin:0 24px!important;
  background:#100659!important;
}
.ec-jobs-v2 .ec-jobs-copy h2,
.ec-jobs-v2 .ec-jobs-copy p,
.ec-jobs-v2 .ec-kicker{
  opacity:1!important;
}
.ec-jobs-v2 .ec-jobs-copy h2{
  color:#fff!important;
}
.ec-jobs-v2 .ec-jobs-copy p{
  color:#dedcef!important;
}
.ec-jobs-v2 .ec-kicker{
  color:#8faeff!important;
}

/* ------------------------------------------------------------
   CTA contrast fix.
   ------------------------------------------------------------ */
.ec-teacher-cta,
.ec-teacher-cta h2,
.ec-teacher-cta p,
.ec-teacher-cta small{
  color:#fff!important;
}
.ec-teacher-cta h2{
  text-shadow:none!important;
}
.ec-teacher-cta p{
  opacity:.92!important;
}
.ec-teacher-cta small{
  opacity:.78!important;
}
.ec-institute-cta,
.ec-institute-cta h2,
.ec-institute-cta p,
.ec-institute-cta small{
  color:#17142e!important;
}

/* Prevent unexpected lines from pseudo-elements inherited from older theme rules. */
.ec-home-v07 section:before,
.ec-home-v07 section:after{
  pointer-events:none;
}
.ec-paths-v2:before,
.ec-paths-v2:after,
.ec-courses-v2:before,
.ec-courses-v2:after,
.ec-teachers:before,
.ec-teachers:after,
.ec-why:before,
.ec-why:after,
.ec-bottom-ctas:before,
.ec-bottom-ctas:after{
  content:none!important;
  display:none!important;
}

/* Footer should end the document cleanly. */
.ec-footer{
  margin-top:58px!important;
  margin-bottom:0!important;
}
body.eslcamp-custom-ui{
  padding-bottom:0!important;
}

/* Mobile proportions */
@media(max-width:920px){
  .ec-courses-v2 .ec-course-grid-v2{
    grid-template-columns:1fr 1fr!important;
  }
  .ec-course-grid-all-v2{
    grid-template-columns:1fr 1fr!important;
  }
  .ec-teacher-photo{
    height:320px!important;
  }
}
@media(max-width:560px){
  .ec-courses-v2 .ec-course-grid-v2,
  .ec-course-grid-all-v2{
    grid-template-columns:1fr!important;
  }
  .ec-courses-v2 .ec-course-art,
  .ec-course-grid-all-v2 .ec-course-art{
    height:120px!important;
  }
  .ec-teacher-photo{
    height:360px!important;
  }
  .ec-jobs-v2{
    margin:0 8px!important;
  }
}


/* ============================================================
   ESLCAMP 0.10 — clearer roles and role-aware account entry
   ============================================================ */
.ec-btn-account{
  background:#f1f3fb!important;
  color:#100659!important;
  border:1px solid #e0e4f0!important;
  border-radius:999px!important;
  padding:11px 18px!important;
  font-size:12px!important;
}
.ec-btn-account:hover{
  background:#e8ebf7!important;
}

/* Make the three homepage cards speak to the person directly. */
.ec-capability-copy small{
  font-size:11px!important;
  color:#777388!important;
  font-weight:800!important;
}
.ec-capability-copy h2{
  margin-top:7px!important;
}
.ec-capability-copy p{
  min-height:70px;
}

/* Account role gateway */
.ec-role-gateway{
  min-height:72vh;
  background:
    radial-gradient(circle at 88% 5%,rgba(232,114,93,.10),transparent 28%),
    radial-gradient(circle at 10% 25%,rgba(36,91,232,.08),transparent 26%),
    #fff;
  padding:80px 0 95px;
}
.ec-role-gateway-head{
  max-width:900px;
  margin-bottom:42px;
}
.ec-role-gateway-head h1{
  color:#100659;
  font-size:clamp(42px,5vw,66px);
  line-height:1.22;
  letter-spacing:-2.4px;
  margin:6px 0 14px;
}
.ec-role-gateway-head p{
  color:#656176;
  font-size:15px;
  line-height:2;
  max-width:760px;
}
.ec-role-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.ec-role-card{
  position:relative;
  min-height:360px;
  padding:31px 28px 27px;
  border:1px solid #e6e8f0;
  border-radius:32px 9px 32px 9px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  box-shadow:0 15px 48px rgba(29,24,74,.07);
}
.ec-role-card:after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  left:-70px;
  bottom:-95px;
  background:rgba(255,255,255,.5);
}
.ec-role-student{background:linear-gradient(145deg,#e5f5ff,#d9eaff)}
.ec-role-teacher{background:linear-gradient(145deg,#f1e9ff,#e5dcff)}
.ec-role-institute{background:linear-gradient(145deg,#fff0e8,#ffdcd0)}
.ec-role-no{
  position:absolute;
  left:23px;
  top:20px;
  font-size:11px;
  font-weight:900;
  opacity:.45;
}
.ec-role-card>small{
  font-weight:900;
  font-size:11px;
  color:#676277;
  margin-bottom:22px;
}
.ec-role-card h2{
  color:#17142e;
  font-size:28px;
  line-height:1.4;
  margin:0 0 12px;
}
.ec-role-card p{
  color:#5f5a70;
  font-size:12px;
  line-height:2;
  margin:0 0 24px;
}
.ec-role-actions{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
  position:relative;
  z-index:2;
}
.ec-role-register{
  color:#100659!important;
  text-decoration:none!important;
  font-size:11px;
  font-weight:900;
}
.ec-registration-note{
  margin-top:26px;
  padding:15px 18px;
  border:1px solid #f0cfb9;
  background:#fff7ef;
  color:#7b573f;
  border-radius:15px;
  font-size:11px;
  line-height:1.9;
}

@media(max-width:920px){
  .ec-role-grid{grid-template-columns:1fr}
  .ec-role-card{min-height:285px}
}
@media(max-width:560px){
  .ec-role-gateway{padding-top:48px}
  .ec-role-gateway-head h1{font-size:40px}
  .ec-role-card{padding:25px 21px}
}


/* ============================================================
   ESLCAMP 0.11 — freeze visual system; improve only the 3 role cards
   and expose live admin customization variables.
   ============================================================ */
.ec-capability{
  border-radius:var(--ec-card-radius,28px) 8px var(--ec-card-radius,28px) 8px!important;
  min-height:292px!important;
  position:relative!important;
  overflow:hidden!important;
}
.ec-capability:after{
  content:"";
  position:absolute;
  width:145px;
  height:145px;
  border-radius:50%;
  right:-65px;
  bottom:-70px;
  opacity:.34;
  background:#fff;
  pointer-events:none;
}
.ec-capability-learn{background:linear-gradient(145deg,var(--ec-student-bg,#DCEEFF),#fff)!important}
.ec-capability-teach{background:linear-gradient(145deg,var(--ec-teacher-bg,#EADFFF),#fff)!important}
.ec-capability-hire{background:linear-gradient(145deg,var(--ec-institute-bg,#FFE4DB),#fff)!important}
.ec-capability-photo{
  position:relative!important;
  background:transparent!important;
  padding:18px 14px 0!important;
}
.ec-capability-photo:before{
  content:"";
  position:absolute;
  inset:20px 14px 14px;
  border:1px solid rgba(16,6,89,.08);
  border-radius:90px 90px 24px 24px;
  background:rgba(255,255,255,.44);
}
.ec-capability-photo img{
  position:relative!important;
  z-index:2!important;
  filter:saturate(.94) contrast(1.02);
}
.ec-capability-copy{
  padding-top:26px!important;
  padding-bottom:26px!important;
}
.ec-capability-copy h2{
  max-width:290px;
  font-size:24px!important;
  line-height:1.45!important;
}
.ec-capability-copy p{
  max-width:320px;
}

/* Admin pages */
.ec-admin-wrap .form-table th{width:240px}
.ec-admin-media{background:#fff;border:1px solid #dcdcde;border-radius:12px;padding:16px}
.ec-admin-media label{display:block;margin-bottom:10px}
.ec-admin-media img{display:block;margin-bottom:10px}
.ec-admin-media button{margin-top:4px}


/* ESLCAMP 0.12 — teacher milestone and settings support */
.ec-capability{border-radius:var(--ec-card-radius,28px) 8px var(--ec-card-radius,28px) 8px!important;}
.ec-capability-learn{background:linear-gradient(145deg,var(--ec-student-bg,#DCEEFF),#fff)!important}
.ec-capability-teach{background:linear-gradient(145deg,var(--ec-teacher-bg,#F0E8FF),#fff)!important}
.ec-capability-hire{background:linear-gradient(145deg,var(--ec-institute-bg,#FFE6DE),#fff)!important}
.ec-capability-photo{background:transparent!important}
.ec-capability-photo:before{content:"";position:absolute;inset:20px 14px 14px;border:1px solid rgba(16,6,89,.08);border-radius:90px 90px 24px 24px;background:rgba(255,255,255,.44)}
.ec-capability-photo img{position:relative;z-index:2;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important}
.ec-teacher-hub .ec-teacher-hero,.ec-teacher-directory .ec-page-hero{padding-top:44px;padding-bottom:18px}
.ec-teacher-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}
.ec-teacher-summary-grid article,.ec-side-card,.ec-directory-card,.ec-public-teacher,.ec-form-section{background:#fff;border:1px solid #e8e6f0;border-radius:22px;padding:20px;box-shadow:0 10px 28px rgba(23,20,56,.04)}
.ec-teacher-summary-grid small,.ec-note{display:block;color:#6b6780;font-size:12px;line-height:1.8}.ec-teacher-summary-grid strong{display:block;color:var(--ec-ink);font-size:26px;line-height:1.3;margin:4px 0 8px}
.ec-teacher-workspace,.ec-directory-layout{display:grid;grid-template-columns:minmax(0,1.25fr) 320px;gap:20px;padding-bottom:40px}
.ec-teacher-form{display:grid;gap:18px}.ec-form-section h3,.ec-side-card h3,.ec-public-panels h3{margin-top:0;color:var(--ec-ink)}
.ec-form-grid{display:grid;gap:14px}.ec-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ec-form-section label,.ec-form-section fieldset{display:block}.ec-form-section span,.ec-format-list legend{display:block;font-size:12px;font-weight:700;color:#635f79;margin-bottom:6px}
.ec-form-section input[type=text],.ec-form-section input[type=url],.ec-form-section textarea{width:100%;border:1px solid #d9dce7;border-radius:12px;padding:12px 14px;font-family:inherit;background:#fcfcfe}
.ec-form-section textarea{min-height:140px;resize:vertical}.ec-format-list{border:1px solid #e4e6ef;border-radius:14px;padding:14px 16px}.ec-format-list label{display:inline-flex;align-items:center;gap:8px;margin-inline-end:18px;margin-top:8px}
.ec-checkbox-row{display:flex!important;justify-content:space-between;align-items:center;gap:16px;border:1px solid #e4e6ef;border-radius:12px;padding:12px 14px;background:#fcfcfe}
.ec-checkbox-row span{margin:0!important}.ec-form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ec-flash-success{background:#eefaf2;border:1px solid #b8e2c3;color:#24623b;border-radius:14px;padding:12px 14px;margin-top:16px}
.ec-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ec-directory-card h3{margin:4px 0 10px}.ec-directory-card a{font-weight:800;color:var(--ec-royal)}
.ec-public-teacher-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.ec-public-teacher-head h1{margin:6px 0;color:var(--ec-ink)}
.ec-public-meta,.ec-public-panels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ec-public-meta span,.ec-public-panels section{border:1px solid #ececf3;border-radius:16px;padding:14px;background:#fcfcfe}.ec-public-meta b{display:block;margin-bottom:6px;color:#6b6780}
.ec-public-panels{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}
@media(max-width:980px){.ec-teacher-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-teacher-workspace,.ec-directory-layout{grid-template-columns:1fr}.ec-public-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-public-panels,.ec-directory-grid,.ec-form-grid-2{grid-template-columns:1fr}}
@media(max-width:560px){.ec-teacher-summary-grid{grid-template-columns:1fr}.ec-public-teacher-head{flex-direction:column}.ec-public-meta{grid-template-columns:1fr}}


/* ESLCAMP 0.13 — Teacher Profile Experience milestone */
.ec-profile-media-row{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;margin-bottom:18px}
.ec-profile-photo-preview{width:150px;height:170px;border-radius:24px;overflow:hidden;background:#f0f2f7;border:1px solid #e3e6ef}
.ec-profile-photo-preview img{width:100%;height:100%;object-fit:contain;object-position:center bottom;background:#f0f2f7}
.ec-profile-media-actions p,.ec-file-note{font-size:12px;color:#6b6780;line-height:1.8}
.ec-profile-video-manager{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px;padding:14px;border:1px dashed #d7dae5;border-radius:14px;background:#fcfcfe}
.ec-public-teacher-v2{padding:0;overflow:hidden}
.ec-public-teacher-hero{display:grid;grid-template-columns:210px minmax(0,1fr) 260px;gap:24px;align-items:center;padding:28px;background:linear-gradient(135deg,#f8f8fd,#fff)}
.ec-public-teacher-photo{width:210px;height:250px;border-radius:28px 10px 28px 10px;overflow:hidden;background:#f0f2f7}
.ec-public-teacher-photo img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
.ec-public-teacher-title h1{font-size:42px;line-height:1.15;margin:6px 0;color:var(--ec-ink)}
.ec-public-teacher-title>p{font-size:16px;color:#5f5b72}
.ec-public-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ec-public-badges span{background:#fff;border:1px solid #e2e5ef;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800}
.ec-public-teacher-cta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ec-public-teacher-cta small{font-size:11px;color:#6f6a7e;line-height:1.8}
.ec-public-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}
.ec-public-sections section{border:1px solid #ececf3;border-radius:18px;padding:18px;background:#fff}
.ec-public-sections h3{margin:0 0 8px;color:var(--ec-ink)}
.ec-public-sections p{color:#5f5a70;line-height:1.95}
.ec-public-video{margin:0 18px 22px;padding:20px;border:1px solid #e8e9f1;border-radius:20px;background:#fbfbfe;display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:center}
.ec-public-video video{width:100%;max-height:420px;border-radius:18px;background:#111}
@media(max-width:900px){.ec-public-teacher-hero{grid-template-columns:160px 1fr}.ec-public-teacher-cta{grid-column:1/-1}.ec-public-sections{grid-template-columns:1fr}.ec-public-video{grid-template-columns:1fr}.ec-profile-media-row{grid-template-columns:120px 1fr}.ec-profile-photo-preview{width:120px;height:145px}}
@media(max-width:560px){.ec-public-teacher-hero{grid-template-columns:1fr}.ec-public-teacher-photo{width:100%;height:320px}.ec-profile-media-row{grid-template-columns:1fr}.ec-profile-photo-preview{width:100%;height:300px}}

.ec-upload-control{display:flex!important;flex-direction:column;gap:7px;align-items:flex-start}
.ec-upload-control span{font-size:12px;font-weight:800;color:#5f5a70}
.ec-upload-control input[type=file]{max-width:100%;background:#fff;border:1px solid #dfe2eb;border-radius:12px;padding:10px}


/* ESLCAMP 0.14 — Verification + Booking milestones */
.ec-teacher-verification-panel{padding-bottom:22px}
.ec-verification-card{display:flex;justify-content:space-between;gap:24px;align-items:center;background:linear-gradient(135deg,#f6f0ff,#fff);border:1px solid #e6dcf8;border-radius:24px;padding:24px}
.ec-verification-card.is-active{background:linear-gradient(135deg,#ecfaf3,#fff);border-color:#cce8d7}
.ec-verification-card h2{margin:4px 0 8px;color:var(--ec-ink)}
.ec-verification-card p{margin:0;color:#666178;line-height:1.8}
.ec-teacher-bookings-panel{padding-bottom:28px}
.ec-booking-list{display:grid;gap:14px}
.ec-booking-card{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start;background:#fff;border:1px solid #e8e7ef;border-radius:20px;padding:18px}
.ec-booking-type{display:inline-flex;border-radius:999px;background:#f0ecff;color:#5d43c6;font-size:11px;font-weight:800;padding:6px 9px}
.ec-booking-card h3{margin:8px 0 4px;color:var(--ec-ink)}
.ec-booking-card p{color:#656176;line-height:1.75}
.ec-booking-note{background:#faf9fd;border-radius:12px;padding:10px}
.ec-booking-status{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ec-booking-decision-form{width:100%}
.ec-booking-decision-form textarea{width:100%;border:1px solid #dcdfe8;border-radius:10px;padding:9px;font-family:inherit}
.ec-booking-decision-form>div{display:flex;gap:8px;margin-top:8px}
.ec-availability-editor{display:grid;gap:10px}
.ec-availability-row{display:grid;grid-template-columns:180px 1fr 1fr;gap:12px;align-items:end;border:1px solid #e7e8ef;border-radius:14px;padding:12px;background:#fcfcfe}
.ec-day-enable{display:flex!important;align-items:center;gap:8px}
.ec-day-enable span{margin:0!important}
.ec-public-availability{display:grid;gap:7px;margin-top:10px}
.ec-public-availability span{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #ececf3;padding-top:7px;font-size:12px}
.ec-verified-badge{background:#eaf9f1!important;color:#24704a!important;border-color:#c9ead7!important}
.ec-booking-page{padding-bottom:60px}
.ec-booking-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;align-items:start}
.ec-booking-teacher-summary{background:#fff;border:1px solid #e7e7ef;border-radius:22px;overflow:hidden}
.ec-booking-teacher-summary img{width:100%;height:330px;object-fit:contain;object-position:center bottom;background:#f4f5f9}
.ec-booking-teacher-summary>div{padding:18px}
.ec-booking-teacher-summary h2{margin:0 0 6px;color:var(--ec-ink)}
.ec-booking-teacher-summary span{display:inline-block;margin-top:8px;border-radius:999px;background:#f0ecff;padding:7px 10px;font-size:11px;font-weight:800}
.ec-booking-form{background:#fff;border:1px solid #e7e7ef;border-radius:22px;padding:22px}
.ec-booking-form label>span{display:block;margin-bottom:6px;font-size:12px;font-weight:800;color:#625e75}
.ec-booking-form input,.ec-booking-form textarea{width:100%;border:1px solid #dcdfe8;border-radius:12px;padding:12px;font-family:inherit}
.ec-student-hub{padding-bottom:60px}
@media(max-width:900px){.ec-booking-card{grid-template-columns:1fr}.ec-booking-layout{grid-template-columns:1fr}.ec-availability-row{grid-template-columns:1fr 1fr}.ec-day-enable{grid-column:1/-1}}
@media(max-width:560px){.ec-verification-card{flex-direction:column;align-items:stretch}.ec-availability-row{grid-template-columns:1fr}.ec-day-enable{grid-column:auto}}


/* ESLCAMP 0.14.1 — richer teacher dashboard + 3 periods per day */
.ec-teacher-dashboard-hero{margin:0 0 28px;background:linear-gradient(125deg,#100659 0%,#2448b9 58%,#e8725d 140%);color:#fff;overflow:hidden;position:relative}
.ec-teacher-dashboard-hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.055);left:-140px;top:-250px}
.ec-teacher-dashboard-hero:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.045);right:-120px;bottom:-180px}
.ec-teacher-dashboard-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:24px;align-items:center;padding-top:38px;padding-bottom:38px}
.ec-teacher-dashboard-avatar{width:120px;height:138px;border-radius:30px 10px 30px 10px;overflow:hidden;background:#fff;border:4px solid rgba(255,255,255,.55);box-shadow:0 18px 44px rgba(0,0,0,.16)}
.ec-teacher-dashboard-avatar img{width:100%;height:100%;object-fit:contain;object-position:center bottom;background:#f2f3f8}
.ec-teacher-dashboard-copy .ec-kicker{color:#b9ccff!important}
.ec-teacher-dashboard-copy h1{font-size:38px;line-height:1.2;margin:4px 0 8px;color:#fff}
.ec-teacher-dashboard-copy>p{margin:0;color:#e9e9f7;max-width:720px;line-height:1.9}
.ec-teacher-dashboard-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}
.ec-teacher-dashboard-pills a{color:#fff!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.10);backdrop-filter:blur(6px);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:800}
.ec-teacher-dashboard-pills a:hover{background:rgba(255,255,255,.20)}
.ec-teacher-dashboard-preview{align-self:start}
.ec-teacher-dashboard-preview .ec-btn-white{color:#100659!important}
.ec-summary-wrap{margin-top:-6px;margin-bottom:30px}
.ec-teacher-summary-grid{gap:14px}
.ec-teacher-summary-grid article{position:relative;overflow:hidden;border-radius:20px;border:0;box-shadow:0 12px 35px rgba(27,23,73,.07)}
.ec-teacher-summary-grid article:nth-child(1){background:linear-gradient(145deg,#eef4ff,#fff);border-top:4px solid #2e68e8}
.ec-teacher-summary-grid article:nth-child(2){background:linear-gradient(145deg,#fff5ed,#fff);border-top:4px solid #e8725d}
.ec-teacher-summary-grid article:nth-child(3){background:linear-gradient(145deg,#effaf5,#fff);border-top:4px solid #33a06f}
.ec-teacher-summary-grid article:nth-child(4){background:linear-gradient(145deg,#f7f1ff,#fff);border-top:4px solid #744ad8}
.ec-teacher-workspace{align-items:start}
.ec-teacher-main{display:grid;gap:18px}
.ec-form-section{position:relative;overflow:hidden;border-radius:22px!important}
.ec-form-section:before{content:"";position:absolute;right:0;top:0;width:5px;height:100%;background:#245be8}
.ec-form-section:nth-child(2):before{background:#744ad8}
.ec-form-section:nth-child(3):before{background:#e8725d}
.ec-form-section:nth-child(4):before{background:#33a06f}
.ec-form-section:nth-child(5):before{background:#d29b28}
.ec-form-section:nth-child(6):before{background:#2f93a4}
.ec-form-section:nth-child(7):before{background:#9c4d8c}
.ec-form-section h3{font-size:19px!important;margin-bottom:16px!important}
.ec-form-section>p.ec-note{background:#f8f8fc;border-radius:12px;padding:10px 12px}
.ec-form-section-availability{background:linear-gradient(180deg,#fff,#fafbff)!important}
.ec-availability-editor-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ec-availability-day-card{border:1px solid #e2e5ee;background:#fff;border-radius:18px;padding:14px;box-shadow:0 7px 20px rgba(24,29,70,.035)}
.ec-availability-day-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eef0f5}
.ec-availability-day-head strong{color:#100659;font-size:14px}
.ec-availability-day-head small{color:#888399;font-size:10px}
.ec-availability-periods{display:grid;gap:8px}
.ec-availability-period{display:grid;grid-template-columns:110px 1fr 1fr;gap:8px;align-items:end;padding:9px;border-radius:12px;background:#f8f9fc;border:1px solid #edf0f5;transition:.18s}
.ec-availability-period.is-enabled{background:#f1f8ff;border-color:#cfe0fa}
.ec-availability-period label>span{font-size:10px;margin-bottom:4px}
.ec-period-enable{display:flex!important;align-items:center!important;gap:7px!important;padding-bottom:10px}
.ec-period-enable span{margin:0!important;font-weight:800!important;color:#4f4b61!important}
.ec-availability-period input[type=time]{padding:9px!important;background:#fff!important}
.ec-public-availability-day{align-items:flex-start!important}
.ec-public-availability-day i{font-style:normal;color:#5f5a70;text-align:left;line-height:1.7}
.ec-booking-availability-preview{padding:14px 18px 18px;border-top:1px solid #eceef4;background:#fbfcff;display:grid;gap:7px}
.ec-booking-availability-preview>b{color:#100659;font-size:12px}
.ec-booking-availability-preview small{display:flex;justify-content:space-between;gap:12px;color:#686376}
.ec-booking-availability-preview small strong{color:#3b3750}
.ec-verification-card{box-shadow:0 13px 38px rgba(31,26,78,.055)}
.ec-teacher-bookings-panel .ec-section-head h2{color:#100659}
@media(max-width:980px){
  .ec-teacher-dashboard-hero-inner{grid-template-columns:100px 1fr}
  .ec-teacher-dashboard-preview{grid-column:1/-1}
  .ec-teacher-dashboard-avatar{width:100px;height:118px}
  .ec-availability-editor-v2{grid-template-columns:1fr}
}
@media(max-width:620px){
  .ec-teacher-dashboard-hero-inner{grid-template-columns:1fr;text-align:right}
  .ec-teacher-dashboard-avatar{width:105px;height:120px}
  .ec-teacher-dashboard-copy h1{font-size:30px}
  .ec-availability-period{grid-template-columns:1fr 1fr}
  .ec-period-enable{grid-column:1/-1;padding-bottom:0}
  .ec-booking-availability-preview small{flex-direction:column;gap:2px}
}


/* ESLCAMP 0.15 — Institute Accounts + Teaching Job Board */
.ec-institute-hero{background:linear-gradient(125deg,#fff0e9,#fff 72%);border-bottom:1px solid #f1e3dd;margin-bottom:30px}
.ec-institute-hero .ec-shell{padding-top:48px;padding-bottom:40px}
.ec-institute-hero h1{color:#100659;font-size:42px;margin:6px 0 10px}
.ec-institute-grid{display:grid;grid-template-columns:minmax(0,1.4fr) 320px;gap:20px;align-items:start}
.ec-institute-main{display:grid;gap:18px}
.ec-institute-panel{background:#fff;border:1px solid #e8e7ef;border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(31,25,77,.045)}
.ec-institute-panel h2{margin-top:0;color:#100659}
.ec-institute-form,.ec-job-create-form{display:grid;gap:14px}
.ec-institute-form label>span,.ec-job-create-form label>span{display:block;font-size:12px;font-weight:800;color:#615d73;margin-bottom:6px}
.ec-institute-form input,.ec-institute-form textarea,.ec-job-create-form input,.ec-job-create-form textarea,.ec-job-create-form select{width:100%;border:1px solid #dce0e9;border-radius:12px;padding:11px 12px;font-family:inherit;background:#fcfcfe}
.ec-own-jobs{display:grid;gap:8px}.ec-own-jobs a{display:flex;justify-content:space-between;gap:10px;text-decoration:none!important;border:1px solid #ececf2;border-radius:12px;padding:10px 11px;color:#2a2640!important;background:#fcfcfe}.ec-own-jobs small{color:#817c90}
.ec-applicants-section{padding-top:34px;padding-bottom:60px}.ec-applicant-list{display:grid;gap:14px}.ec-applicant-card{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;background:#fff;border:1px solid #e8e7ef;border-radius:20px;padding:18px}.ec-applicant-card h3{margin:6px 0;color:#100659}.ec-applicant-card>div>span{font-size:11px;color:#7a758b}.ec-applicant-card textarea{width:100%;border:1px solid #dce0e9;border-radius:10px;padding:9px;font-family:inherit}.ec-applicant-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.ec-jobs-page{padding-bottom:65px}.ec-jobs-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ec-job-card-v2{background:#fff;border:1px solid #e7e7ef;border-radius:22px;padding:20px;box-shadow:0 9px 30px rgba(30,25,74,.045)}.ec-job-card-v2 h3{font-size:20px;margin:12px 0 4px;color:#100659}.ec-job-card-v2>a{display:inline-block;margin-top:16px;font-weight:900;color:#245be8!important;text-decoration:none!important}.ec-job-card-top{display:flex;justify-content:space-between;gap:8px}.ec-job-card-top span{background:#eff4ff;color:#2a5bb9;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900}.ec-job-card-top small{color:#817c90}.ec-job-employer{color:#5f5a70}.ec-job-meta-v2{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.ec-job-meta-v2 span{border:1px solid #e8e8ef;border-radius:999px;padding:5px 8px;font-size:10px;color:#666177}
.ec-job-detail{background:#fff;border:1px solid #e7e7ef;border-radius:26px;overflow:hidden}.ec-job-detail>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:26px;background:linear-gradient(135deg,#f7f5ff,#fff)}.ec-job-detail h1{font-size:38px;color:#100659;margin:6px 0}.ec-job-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#e9e8ef;border-top:1px solid #e9e8ef;border-bottom:1px solid #e9e8ef}.ec-job-facts span{background:#fff;padding:16px}.ec-job-facts b{display:block;font-size:10px;color:#898394;margin-bottom:5px}.ec-job-description,.ec-job-apply{padding:24px}.ec-job-description h2,.ec-job-apply h2{color:#100659}.ec-job-apply{border-top:1px solid #ececf2}.ec-job-apply form{display:grid;gap:12px}.ec-job-apply label>span{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.ec-job-apply textarea{width:100%;border:1px solid #dce0e9;border-radius:12px;padding:12px;font-family:inherit}.ec-application-state{padding:14px;border-radius:14px;background:#f0f8f4;border:1px solid #cde6d7;color:#285c40}
.ec-teacher-jobs-panel{padding-top:25px;padding-bottom:38px}
.ec-job-list article h3 a{color:inherit!important;text-decoration:none!important}
@media(max-width:980px){.ec-institute-grid{grid-template-columns:1fr}.ec-jobs-grid-v2{grid-template-columns:1fr 1fr}.ec-applicant-card{grid-template-columns:1fr}.ec-job-facts{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ec-jobs-grid-v2{grid-template-columns:1fr}.ec-job-detail>header{flex-direction:column}.ec-job-facts{grid-template-columns:1fr}.ec-institute-hero h1{font-size:34px}}


/* ESLCAMP 0.16 — analytics, invites, messaging, featured jobs, footer v2 */
.ec-header-inbox{position:relative;color:#504b65!important;text-decoration:none!important;font-size:11px;font-weight:900;padding:8px 9px}
.ec-header-inbox b{position:absolute;top:-2px;left:-1px;min-width:17px;height:17px;display:grid;place-items:center;border-radius:999px;background:#e8725d;color:#fff;font-size:9px;padding:0 4px}
.ec-job-analytics-section{padding-top:35px;padding-bottom:35px}
.ec-job-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ec-job-analytics-card{background:#fff;border:1px solid #e7e7ef;border-radius:22px;padding:20px}
.ec-job-analytics-card h3{margin-top:0;color:#100659}
.ec-analytics-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.ec-analytics-numbers span{background:#f8f8fc;border-radius:14px;padding:12px;text-align:center;font-size:10px;color:#726d80}
.ec-analytics-numbers b{display:block;color:#100659;font-size:24px;margin-bottom:3px}
.ec-viewer-list{display:grid;gap:8px;margin-top:17px;padding-top:14px;border-top:1px solid #ececf2}
.ec-viewer-list>strong{font-size:12px;color:#5c576d}
.ec-viewer-row{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fbfbfd;border:1px solid #eeeeF3;border-radius:13px;padding:10px}
.ec-viewer-row b,.ec-viewer-row small{display:block}.ec-viewer-row small{color:#817c90;margin-top:2px}
.ec-viewer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ec-viewer-actions a,.ec-viewer-actions button{border:0;background:none;color:#245be8!important;font-family:inherit;font-size:10px;font-weight:900;cursor:pointer;text-decoration:none!important}
.ec-viewer-actions span{font-size:10px;color:#37815d}
.ec-job-invite-banner{margin:20px 24px 0;background:linear-gradient(135deg,#f1ebff,#fff);border:1px solid #ddd0fa;border-radius:15px;padding:14px;color:#4b3a76}
.ec-job-invite-banner p{margin:5px 0 0}
.ec-applicant-message{display:inline-block;margin-right:12px;color:#245be8!important;text-decoration:none!important;font-weight:800}
.ec-job-card-v2.is-featured{border:2px solid #e8725d;box-shadow:0 15px 42px rgba(232,114,93,.12);position:relative}
.ec-job-card-v2.is-featured:after{content:"Featured";position:absolute;left:16px;bottom:16px;color:#e8725d;font-size:9px;font-weight:900}
.ec-package-note{background:#fff8f3;border:1px solid #f0d7c7;border-radius:13px;padding:11px 13px;color:#765d4d;font-size:11px;line-height:1.85}
.ec-messages-page{padding-bottom:65px}
.ec-messaging-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;align-items:start}
.ec-message-sidebar,.ec-message-thread{background:#fff;border:1px solid #e7e7ef;border-radius:22px;overflow:hidden}
.ec-message-sidebar-head,.ec-thread-head{padding:16px 18px;border-bottom:1px solid #ececf2;background:#fafafd}
.ec-peer-list{display:grid}.ec-peer-list a{display:flex;justify-content:space-between;gap:8px;text-decoration:none!important;padding:12px 15px;border-bottom:1px solid #f0f0f4;color:#312d45!important}.ec-peer-list a.active{background:#f0edff}.ec-peer-list small{color:#8a8595}
.ec-notification-box{padding:16px;border-top:1px solid #ececf2}.ec-notification-box>b{display:block;margin-bottom:10px;color:#100659}.ec-notification-box a{display:block;text-decoration:none!important;border-radius:12px;background:#fafafd;padding:9px 10px;margin-bottom:7px}.ec-notification-box strong,.ec-notification-box span{display:block}.ec-notification-box strong{font-size:11px;color:#312d45}.ec-notification-box span{font-size:10px;color:#817c90;margin-top:3px}
.ec-thread-messages{padding:18px;display:grid;gap:10px;min-height:300px;max-height:570px;overflow:auto;background:#fcfcfe}
.ec-message-bubble{max-width:75%;border-radius:18px;padding:10px 12px}.ec-message-bubble p{margin:0;line-height:1.8}.ec-message-bubble small{display:block;margin-top:5px;font-size:9px;opacity:.6}.ec-message-bubble.mine{justify-self:start;background:#100659;color:#fff;border-bottom-right-radius:4px}.ec-message-bubble.theirs{justify-self:end;background:#eef0f5;color:#29263b;border-bottom-left-radius:4px}
.ec-message-compose{display:grid;grid-template-columns:1fr auto;gap:10px;padding:14px;border-top:1px solid #ececf2}.ec-message-compose textarea{width:100%;border:1px solid #dce0e9;border-radius:12px;padding:10px;font-family:inherit;resize:vertical}
.ec-footer-v2{margin-top:70px!important;background:#0f0b33!important;color:#fff;padding-top:0!important}
.ec-footer-newsletter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;background:linear-gradient(120deg,#245be8,#5d43c6 65%,#e8725d 140%);border-radius:34px 9px 34px 9px;padding:32px 36px;transform:translateY(-34px);box-shadow:0 20px 50px rgba(15,11,51,.24)}
.ec-footer-newsletter .ec-kicker{color:#c7d7ff!important}.ec-footer-newsletter h2{font-size:28px;line-height:1.45;margin:4px 0 8px;color:#fff}.ec-footer-newsletter p{margin:0;color:#eceafa;max-width:760px;line-height:1.9}
.ec-footer-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.ec-footer-text-link{color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:900}
.ec-footer-grid-v2{grid-template-columns:1.35fr repeat(3,1fr)!important;padding-top:12px!important;padding-bottom:26px!important}
.ec-footer-brand-col p{color:#b9b5cb!important;max-width:340px;line-height:1.9}.ec-footer-brand-col small{color:#8d87a4}
.ec-footer-v2 .ec-footer-grid>div>b{color:#fff!important}.ec-footer-v2 .ec-footer-grid a{color:#aaa5bb!important}.ec-footer-v2 .ec-footer-grid a:hover{color:#fff!important}
.ec-footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.10);padding-top:18px;padding-bottom:24px;color:#7f7998;font-size:10px}
@media(max-width:980px){.ec-job-analytics-grid{grid-template-columns:1fr}.ec-messaging-layout{grid-template-columns:1fr}.ec-footer-newsletter{grid-template-columns:1fr}.ec-footer-grid-v2{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.ec-analytics-numbers{grid-template-columns:1fr}.ec-viewer-row{align-items:flex-start;flex-direction:column}.ec-message-compose{grid-template-columns:1fr}.ec-message-bubble{max-width:90%}.ec-footer-newsletter{padding:26px 22px}.ec-footer-newsletter h2{font-size:23px}.ec-footer-grid-v2{grid-template-columns:1fr!important}.ec-footer-bottom{flex-direction:column}}


/* ESLCAMP 0.16.1 — solid editable footer inspired by the supplied reference */
.ec-footer-solid{
  --ec-footer-bg:#100659;
  --ec-footer-accent:#E8725D;
  position:relative;
  margin-top:70px!important;
  padding:0!important;
  background:var(--ec-footer-bg)!important;
  color:#fff;
  overflow:hidden;
}
.ec-footer-solid:before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  right:-150px;
  top:-230px;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.018);
  pointer-events:none;
}
.ec-footer-solid:after{
  content:"";
  position:absolute;
  left:-60px;
  bottom:-100px;
  width:220px;
  height:220px;
  background:var(--ec-footer-accent);
  opacity:.07;
  transform:rotate(28deg);
  border-radius:46px;
  pointer-events:none;
}
.ec-footer-solid-grid{
  position:relative;
  z-index:2;
  display:grid!important;
  grid-template-columns:1.45fr .75fr .85fr 1.05fr!important;
  gap:44px!important;
  padding-top:58px!important;
  padding-bottom:42px!important;
  align-items:start;
}
.ec-footer-brand-block{
  padding-left:18px;
}
.ec-footer-logo-large{
  font-size:32px!important;
  letter-spacing:-1.6px;
  margin-bottom:17px;
}
.ec-footer-logo-large span{color:var(--ec-footer-accent)!important}
.ec-footer-custom-logo{
  display:block;
  width:auto;
  max-width:190px;
  max-height:70px;
  object-fit:contain;
  margin-bottom:18px;
}
.ec-footer-brand-block>p{
  color:#c3bfd5!important;
  font-size:12px!important;
  line-height:2!important;
  max-width:400px;
  margin:0 0 9px!important;
}
.ec-footer-brand-block>small{
  color:#817a9b!important;
  font-size:10px;
}
.ec-footer-social-wrap{
  margin-top:27px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.10);
}
.ec-footer-social-wrap>b{
  display:block;
  color:#fff;
  font-size:12px;
  margin-bottom:4px;
}
.ec-footer-social-wrap>p{
  margin:0 0 14px!important;
  color:#9690ad!important;
  font-size:10px!important;
  line-height:1.9!important;
}
.ec-footer-socials{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}
.ec-footer-socials a,
.ec-footer-socials span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.07);
  color:#fff;
  transition:.18s ease;
}
.ec-footer-socials a:hover{
  background:var(--ec-footer-accent);
  border-color:var(--ec-footer-accent);
  transform:translateY(-2px);
}
.ec-footer-socials span.is-empty{
  opacity:.36;
}
.ec-footer-socials svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ec-footer-links-block h3,
.ec-footer-trust-block h3{
  margin:2px 0 19px!important;
  color:#fff!important;
  font-size:14px!important;
  position:relative;
  padding-bottom:11px;
}
.ec-footer-links-block h3:after,
.ec-footer-trust-block h3:after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:28px;
  height:3px;
  background:var(--ec-footer-accent);
  border-radius:99px;
}
.ec-footer-links-block{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
}
.ec-footer-links-block a{
  position:relative;
  display:block!important;
  color:#b5b0c8!important;
  text-decoration:none!important;
  font-size:11px!important;
  padding:6px 13px 6px 0!important;
  margin:0!important;
  transition:.16s;
}
.ec-footer-links-block a:before{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:4px;
  height:4px;
  margin-top:-2px;
  border-radius:50%;
  background:#615a7f;
}
.ec-footer-links-block a:hover{
  color:#fff!important;
  transform:translateX(-2px);
}
.ec-footer-links-block a:hover:before{
  background:var(--ec-footer-accent);
}
.ec-footer-trust-block>p{
  color:#9690ad!important;
  font-size:10px!important;
  line-height:1.9!important;
  margin:0 0 15px!important;
}
.ec-footer-trust-badges{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.ec-trust-badge{
  min-height:112px;
  border-radius:15px;
  background:#fff;
  border:1px solid rgba(255,255,255,.25);
  display:grid!important;
  place-items:center;
  padding:10px!important;
  margin:0!important;
  overflow:hidden;
  text-decoration:none!important;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.ec-trust-badge img{
  display:block;
  width:100%;
  height:90px;
  object-fit:contain;
}
.ec-trust-placeholder{
  display:grid;
  place-items:center;
  gap:4px;
  color:#777188;
  text-align:center;
}
.ec-trust-placeholder b{
  color:#312c4e;
  font-size:14px;
}
.ec-trust-placeholder small{
  color:#9994a6;
  font-size:9px;
}
.ec-footer-solid-bottom{
  position:relative;
  z-index:2;
  min-height:58px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding-top:17px!important;
  padding-bottom:17px!important;
  color:#706a8a;
  font-size:9px;
}
.ec-footer-solid-bottom>div{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.ec-footer-solid-bottom a{
  color:#918ba8!important;
  text-decoration:none!important;
}
.ec-footer-solid-bottom a:hover{color:#fff!important}

/* Neutralize the previous floating CTA footer treatment */
.ec-footer-solid .ec-footer-newsletter{display:none!important}

@media(max-width:1050px){
  .ec-footer-solid-grid{
    grid-template-columns:1.25fr .75fr .75fr!important;
  }
  .ec-footer-trust-block{grid-column:1/-1}
  .ec-footer-trust-badges{max-width:360px}
}
@media(max-width:720px){
  .ec-footer-solid-grid{
    grid-template-columns:1fr 1fr!important;
    gap:30px 22px!important;
    padding-top:42px!important;
  }
  .ec-footer-brand-block,
  .ec-footer-trust-block{grid-column:1/-1}
  .ec-footer-brand-block{padding-left:0}
  .ec-footer-trust-badges{max-width:360px}
}
@media(max-width:480px){
  .ec-footer-solid-grid{grid-template-columns:1fr!important}
  .ec-footer-brand-block,
  .ec-footer-trust-block{grid-column:auto}
  .ec-footer-trust-badges{grid-template-columns:1fr 1fr}
  .ec-footer-solid-bottom{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   ESLCAMP Smart Login — Core 0.16.5
   ========================================================= */
.ec-auth-page{background:#f6f7fb;min-height:70vh}
.ec-auth-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;padding-top:70px;padding-bottom:80px}
.ec-auth-aside{background:linear-gradient(145deg,#100659,#28206f);color:#fff;border-radius:28px;padding:46px;min-height:440px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 25px 60px rgba(16,6,89,.16)}
.ec-auth-aside .ec-kicker{color:#ff9c89}
.ec-auth-aside h1{font-size:42px;line-height:1.45;margin:10px 0 15px;color:#fff}
.ec-auth-aside p{color:#d9d7ec;line-height:2;margin:0;max-width:540px}
.ec-auth-role-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.ec-auth-role-pills span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 13px;font-size:12px}
.ec-auth-card{background:#fff;border:1px solid #ececf3;border-radius:24px;padding:38px;box-shadow:0 18px 55px rgba(29,30,54,.08)}
.ec-auth-brand{font-size:25px;font-weight:900;letter-spacing:-1px;color:#100659;margin-bottom:22px}.ec-auth-brand span{color:#E8725D}
.ec-auth-card h2{margin:0 0 7px;font-size:26px;color:#17152f}
.ec-auth-card>p{margin:0 0 24px;color:#777b8d;line-height:1.8}
.ec-auth-alert{border-radius:12px;padding:11px 13px;margin:0 0 18px;font-size:13px;line-height:1.8}
.ec-auth-alert.is-error{background:#fff0f1;color:#a12833;border:1px solid #ffd4d8}
.ec-auth-alert.is-success{background:#ecfbf3;color:#21714b;border:1px solid #c8efd9}
.ec-auth-alert.is-info{background:#f0f4ff;color:#394f87;border:1px solid #dbe4ff}
.ec-auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f5f6fa;padding:4px;border-radius:12px;margin-bottom:20px}
.ec-auth-tabs button{border:0;background:transparent;padding:11px 12px;border-radius:9px;cursor:pointer;font-family:inherit;color:#6d7184;font-weight:700}
.ec-auth-tabs button.is-active{background:#fff;color:#100659;box-shadow:0 4px 14px rgba(25,26,55,.08)}
.ec-auth-panel{display:none}.ec-auth-panel.is-active{display:block}
.ec-auth-form{display:grid;gap:15px}
.ec-auth-form label{display:grid;gap:7px;color:#4f5366;font-size:13px;font-weight:600}
.ec-auth-form label span{display:block}
.ec-auth-form input:not([type=checkbox]),.ec-auth-form select{width:100%;box-sizing:border-box;border:1px solid #dfe1e9;background:#fff;border-radius:11px;padding:12px 13px;font-family:inherit;font-size:14px;outline:0;transition:.18s}
.ec-auth-form input:not([type=checkbox]):focus,.ec-auth-form select:focus{border-color:#7669c7;box-shadow:0 0 0 3px rgba(118,105,199,.10)}
.ec-auth-form .ec-btn{border:0;cursor:pointer;font-family:inherit;width:100%;justify-content:center;min-height:47px;margin-top:3px}
.ec-auth-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center!important;justify-content:flex-start;gap:8px!important;font-weight:500!important}
.ec-auth-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:18px;font-size:12px;color:#777b8d}
.ec-auth-links a,.ec-auth-switch a{color:#5a49bd;text-decoration:none;font-weight:700}
.ec-auth-switch{margin-top:18px;padding-top:18px;border-top:1px solid #eeeef4;color:#777b8d;font-size:13px;text-align:center}
.ec-auth-admin-note{margin-top:24px;padding-top:18px;border-top:1px dashed #e1e2e9;color:#9a9dac;font-size:11px;line-height:1.8}
@media(max-width:900px){.ec-auth-wrap{grid-template-columns:1fr;padding-top:35px}.ec-auth-aside{min-height:auto;padding:32px}.ec-auth-aside h1{font-size:32px}}
@media(max-width:600px){.ec-auth-wrap{padding-left:14px;padding-right:14px;gap:18px}.ec-auth-aside{border-radius:20px;padding:25px}.ec-auth-card{border-radius:20px;padding:24px 18px}.ec-auth-links{flex-direction:column}.ec-auth-role-pills{gap:6px}}


/* =========================================================
   ESLCAMP Core 0.16.6 — homepage role-card image fit
   ========================================================= */

/*
 * Previous versions used object-fit:contain for the role images.
 * Portrait images therefore became narrow "posters" inside the card.
 * The image now fills a controlled arched frame and is cropped by CSS,
 * so users can upload the full source image without manually clipping it.
 */
.ec-capability{
  grid-template-columns:minmax(0,1.18fr) minmax(150px,.82fr)!important;
  min-height:292px!important;
}
.ec-capability-photo{
  position:relative!important;
  min-width:0!important;
  min-height:292px!important;
  padding:0!important;
  overflow:visible!important;
}
.ec-capability-photo:before{
  inset:18px 12px 14px!important;
  border-radius:78px 78px 20px 20px!important;
  background:rgba(255,255,255,.40)!important;
}
.ec-capability-photo img{
  position:absolute!important;
  z-index:2!important;
  inset:22px 16px 18px!important;
  width:calc(100% - 32px)!important;
  height:calc(100% - 40px)!important;
  max-width:none!important;
  object-fit:cover!important;
  border-radius:72px 72px 18px 18px!important;
  display:block!important;
  filter:saturate(.96) contrast(1.02)!important;
}

/* Per-role focal points keep faces/upper body visible without hand-cropping. */
.ec-capability-learn .ec-capability-photo img{
  object-position:center 30%!important;
}
.ec-capability-teach .ec-capability-photo img{
  object-position:center 27%!important;
}
.ec-capability-hire .ec-capability-photo img{
  object-position:center 28%!important;
}

@media(max-width:920px){
  .ec-capability{
    grid-template-columns:minmax(0,1.3fr) minmax(155px,.7fr)!important;
  }
  .ec-capability-photo{
    min-height:260px!important;
  }
}

@media(max-width:560px){
  .ec-capability{
    grid-template-columns:minmax(0,1.12fr) minmax(125px,.72fr)!important;
    min-height:230px!important;
  }
  .ec-capability-photo{
    min-height:230px!important;
  }
  .ec-capability-photo:before{
    inset:14px 8px 10px!important;
    border-radius:62px 62px 16px 16px!important;
  }
  .ec-capability-photo img{
    inset:18px 12px 14px!important;
    width:calc(100% - 24px)!important;
    height:calc(100% - 32px)!important;
    border-radius:58px 58px 14px 14px!important;
  }
}


/* =========================================================
   ESLCAMP Core 0.16.7 — generic application page template
   ========================================================= */
.ec-generic-page{background:#f7f8fc;min-height:65vh;padding:44px 0 70px}
.ec-generic-page-shell{max-width:1120px}
.ec-generic-page-card{background:#fff;border:1px solid #ececf3;border-radius:24px;box-shadow:0 16px 48px rgba(25,28,65,.07);padding:34px}
.ec-generic-page-head{margin-bottom:20px}
.ec-generic-page-head h1{margin:5px 0 0;font-size:32px;line-height:1.55;color:#17152f}
.ec-generic-page-content{line-height:2;color:#45495d}
.ec-generic-page-content>.eca-card:first-child{margin-top:0}
@media(max-width:640px){.ec-generic-page{padding:24px 0 45px}.ec-generic-page-card{padding:22px 16px;border-radius:18px}.ec-generic-page-head h1{font-size:26px}}

/* ESLCAMP 0.16.8 — integrated eNamad/ZarinPal badge provider support */
.ec-trust-badge-integrated>a,
.ec-trust-badge-integrated>span,
.ec-trust-badge-integrated>div{
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  margin:0!important;
}
.ec-trust-badge-integrated a{margin:0!important}
.ec-trust-badge-integrated img{max-width:100%!important;max-height:90px!important;width:auto!important;height:auto!important;object-fit:contain!important}


/* =========================================================
   ESLCAMP Core 0.16.9 — Footer readability upgrade
   ========================================================= */
.ec-footer-solid-grid{
  gap:48px!important;
  padding-top:62px!important;
  padding-bottom:46px!important;
}
.ec-footer-logo-large{
  font-size:36px!important;
  line-height:1.15!important;
  margin-bottom:20px!important;
}
.ec-footer-brand-block>p{
  color:#d3cfe2!important;
  font-size:15px!important;
  line-height:2!important;
  max-width:430px!important;
  margin:0 0 11px!important;
}
.ec-footer-brand-block>small{
  color:#aaa4bd!important;
  font-size:13px!important;
  line-height:1.8!important;
}
.ec-footer-social-wrap{
  margin-top:30px!important;
  padding-top:22px!important;
}
.ec-footer-social-wrap>b{
  font-size:16px!important;
  line-height:1.6!important;
  margin-bottom:6px!important;
}
.ec-footer-social-wrap>p{
  color:#b2acc4!important;
  font-size:14px!important;
  line-height:1.9!important;
  margin:0 0 16px!important;
}
.ec-footer-socials{
  gap:10px!important;
}
.ec-footer-socials a,
.ec-footer-socials span{
  width:44px!important;
  height:44px!important;
  border-radius:13px!important;
}
.ec-footer-socials svg{
  width:20px!important;
  height:20px!important;
}
.ec-footer-links-block h3,
.ec-footer-trust-block h3{
  font-size:19px!important;
  line-height:1.6!important;
  margin:0 0 22px!important;
  padding-bottom:13px!important;
  font-weight:800!important;
}
.ec-footer-links-block h3:after,
.ec-footer-trust-block h3:after{
  width:34px!important;
  height:4px!important;
}
.ec-footer-links-block a{
  color:#d0cbe0!important;
  font-size:15px!important;
  line-height:1.8!important;
  padding:7px 15px 7px 0!important;
  font-weight:500!important;
}
.ec-footer-links-block a:before{
  width:5px!important;
  height:5px!important;
  margin-top:-2.5px!important;
  background:#857f9c!important;
}
.ec-footer-trust-block>p{
  color:#b9b3ca!important;
  font-size:14px!important;
  line-height:1.9!important;
  margin:0 0 17px!important;
}
.ec-trust-placeholder b{
  font-size:15px!important;
}
.ec-trust-placeholder small{
  font-size:12px!important;
}
.ec-footer-solid-bottom{
  min-height:66px!important;
  padding-top:20px!important;
  padding-bottom:20px!important;
  color:#aaa4bd!important;
  font-size:13px!important;
  line-height:1.8!important;
}
.ec-footer-solid-bottom a{
  color:#c1bbd0!important;
  font-size:13px!important;
}
@media(max-width:1050px){
  .ec-footer-solid-grid{gap:38px!important}
}
@media(max-width:720px){
  .ec-footer-links-block h3,
  .ec-footer-trust-block h3{font-size:18px!important}
  .ec-footer-links-block a{font-size:15px!important}
  .ec-footer-brand-block>p{font-size:15px!important}
  .ec-footer-solid-bottom{font-size:12px!important}
}


/* =========================================================
   ESLCAMP Core 0.17.2 — About ESLCAMP page
   ========================================================= */
.ec-about-page{background:linear-gradient(180deg,#fbfcff 0%,#f7f8fc 100%);padding:54px 0 80px}
.ec-about-hero{padding-top:26px;padding-bottom:36px}
.ec-about-hero-copy{max-width:900px;margin:0 auto;text-align:center}
.ec-about-hero-copy h1{font-size:46px;line-height:1.55;color:#171159;margin:10px 0 18px;font-weight:900}
.ec-about-hero-copy p{font-size:17px;line-height:2;color:#565a70;margin:8px 0}
.ec-about-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.ec-about-role-card{background:#fff;border:1px solid #e8e8f0;border-radius:28px;padding:30px;box-shadow:0 18px 48px rgba(20,17,70,.07);position:relative;overflow:hidden}
.ec-about-role-card:before{content:"";position:absolute;inset:0 0 auto 0;height:6px}
.ec-about-role-student:before{background:#2f6df6}.ec-about-role-teacher:before{background:#7c4ce0}.ec-about-role-institute:before{background:#ef7a61}
.ec-about-role-icon{width:54px;height:54px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;margin-bottom:18px;background:#f4f5fb;color:#171159}
.ec-about-eyebrow{display:block;font-size:13px;font-weight:800;color:#787b91;margin-bottom:8px}
.ec-about-role-card h2{font-size:24px;line-height:1.7;margin:0 0 18px;color:#17152f}
.ec-about-role-card ul{margin:0 0 24px;padding:0;list-style:none}
.ec-about-role-card li{position:relative;padding:6px 22px 6px 0;font-size:15px;line-height:1.9;color:#565a70}
.ec-about-role-card li:before{content:"✓";position:absolute;right:0;top:6px;font-weight:900;color:#19a974}
.ec-about-role-card .ec-btn{width:100%;justify-content:center}
.ec-about-how{padding-top:64px}
.ec-about-section-head{text-align:center;margin-bottom:24px}
.ec-about-section-head h2{font-size:34px;line-height:1.6;color:#171159;margin:8px 0 0}
.ec-about-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ec-about-steps>div{background:#fff;border:1px solid #ececf3;border-radius:22px;padding:24px;text-align:center}
.ec-about-steps b{display:flex;width:42px;height:42px;border-radius:50%;background:#171159;color:#fff;align-items:center;justify-content:center;margin:0 auto 12px;font-size:17px}
.ec-about-steps h3{font-size:20px;margin:0 0 8px;color:#24213f}
.ec-about-steps p{font-size:14px;line-height:1.9;color:#6c7083;margin:0}
.ec-about-final-cta{margin-top:64px;background:#171159;border-radius:30px;padding:38px 42px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
.ec-about-final-cta h2{font-size:30px;line-height:1.6;margin:6px 0 6px;color:#fff}
.ec-about-final-cta p{margin:0;color:#d8d4ef;font-size:15px}
.ec-about-final-actions{display:flex;gap:12px;flex-wrap:wrap}
.ec-about-action{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:16px;font-weight:800;text-decoration:none!important;min-width:130px}
.ec-about-action-student{background:#2f6df6;color:#fff}.ec-about-action-teacher{background:#7c4ce0;color:#fff}.ec-about-action-institute{background:#f7d2c5;color:#171159}
@media(max-width:960px){.ec-about-role-grid,.ec-about-steps{grid-template-columns:1fr}.ec-about-final-cta{flex-direction:column;align-items:flex-start}.ec-about-hero-copy h1{font-size:38px}}
@media(max-width:640px){.ec-about-page{padding-top:30px}.ec-about-hero-copy h1{font-size:30px}.ec-about-hero-copy p{font-size:15px}.ec-about-role-card{padding:24px}.ec-about-final-cta{padding:28px 22px;border-radius:22px}.ec-about-final-actions{width:100%}.ec-about-action{flex:1 1 100%}}


/* =========================================================
   ESLCAMP Core 0.17.4 — About page visual redesign
   ========================================================= */
.ec-about-page-v2{
  background:
    radial-gradient(circle at 92% 2%,rgba(232,114,93,.12),transparent 26%),
    radial-gradient(circle at 8% 20%,rgba(36,91,232,.09),transparent 29%),
    linear-gradient(180deg,#fcfdff 0%,#f7f8fc 58%,#fff 100%);
  padding:22px 0 86px;
  overflow:hidden;
}
.ec-about-topbar{display:flex;justify-content:flex-start;padding-top:12px;padding-bottom:10px}
.ec-about-back{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 16px;border:1px solid #e3e5ef;border-radius:999px;
  background:rgba(255,255,255,.86);box-shadow:0 8px 26px rgba(23,17,89,.05);
  color:#171159!important;text-decoration:none!important;font-size:14px;font-weight:800;
}
.ec-about-back:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(23,17,89,.09)}

.ec-about-hero-v2{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);
  gap:62px;align-items:center;min-height:520px;padding-top:32px;padding-bottom:64px;
}
.ec-about-hero-text{max-width:720px}
.ec-about-pill{
  display:inline-flex;padding:8px 14px;border-radius:999px;
  background:#eef3ff;color:#245be8;font-size:13px;font-weight:900;letter-spacing:.15px;
}
.ec-about-hero-v2 h1{
  font-size:52px;line-height:1.5;letter-spacing:-1.2px;color:#171159;
  margin:16px 0 18px;font-weight:950;
}
.ec-about-hero-v2 h1 span{
  background:linear-gradient(90deg,#245be8 5%,#7c4ce0 50%,#e8725d 95%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.ec-about-hero-v2 p{font-size:17px;line-height:2.05;color:#555a70;margin:0 0 24px}
.ec-about-hero-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ec-about-text-link{color:#171159!important;font-size:14px;font-weight:800;text-decoration:none!important;border-bottom:1px dashed #a5a8ba;padding-bottom:3px}
.ec-about-mini-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;color:#595d72;font-size:13px;font-weight:700}
.ec-about-mini-points span{display:flex;gap:6px;align-items:center}
.ec-about-mini-points span::first-letter{color:#16a66b}

.ec-about-hero-collage{position:relative;min-height:440px}
.ec-about-hero-collage figure{margin:0;overflow:hidden;background:#fff;box-shadow:0 24px 60px rgba(23,17,89,.14)}
.ec-about-collage-main{position:absolute;right:54px;top:8px;width:330px;height:390px;border-radius:44px 44px 110px 44px;transform:rotate(2deg)}
.ec-about-collage-main img,.ec-about-collage-small img{width:100%;height:100%;object-fit:cover}
.ec-about-collage-small{position:absolute;width:150px;height:180px;border:8px solid #fff}
.ec-about-collage-small-1{left:0;top:44px;border-radius:34px;transform:rotate(-5deg)}
.ec-about-collage-small-2{left:55px;bottom:0;border-radius:34px 34px 70px 34px;transform:rotate(5deg)}
.ec-about-float-card{
  position:absolute;background:#fff;border:1px solid #ececf4;border-radius:18px;
  padding:12px 15px;font-size:13px;font-weight:900;color:#171159;
  box-shadow:0 14px 34px rgba(23,17,89,.1)
}
.ec-about-float-one{right:0;bottom:32px}
.ec-about-float-two{right:290px;top:18px;color:#e8725d}

.ec-about-story{padding-top:20px;padding-bottom:26px}
.ec-about-story-head{text-align:center;max-width:820px;margin:auto}
.ec-about-story-head h2{font-size:36px;line-height:1.6;color:#171159;margin:7px 0 10px}
.ec-about-story-head p{font-size:16px;line-height:2;color:#676b80;margin:0}

.ec-about-role-grid-v2{grid-template-columns:repeat(3,1fr);gap:24px}
.ec-about-role-grid-v2 .ec-about-role-card{
  padding:0;overflow:hidden;border-radius:30px;background:#fff;
  border:1px solid #e8e9f2;box-shadow:0 20px 54px rgba(23,17,89,.07);
  transition:transform .2s ease,box-shadow .2s ease;
}
.ec-about-role-grid-v2 .ec-about-role-card:hover{transform:translateY(-5px);box-shadow:0 27px 64px rgba(23,17,89,.12)}
.ec-about-role-grid-v2 .ec-about-role-card:before{height:7px;z-index:2}
.ec-about-role-media{height:230px;overflow:hidden;background:#eef1f7}
.ec-about-role-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ec-about-role-card:hover .ec-about-role-media img{transform:scale(1.035)}
.ec-about-role-content{padding:27px}
.ec-about-role-content h2{font-size:24px;line-height:1.7;margin:8px 0 10px;color:#17152f}
.ec-about-role-content>p{font-size:14px;line-height:1.95;color:#73768a;margin:0 0 14px}
.ec-about-role-content li{font-size:14px;line-height:1.85;padding-top:6px;padding-bottom:6px}
.ec-about-eyebrow{font-size:13px;font-weight:900;color:#6f7287}
.ec-about-role-student .ec-about-eyebrow{color:#245be8}
.ec-about-role-teacher .ec-about-eyebrow{color:#7545d4}
.ec-about-role-institute .ec-about-eyebrow{color:#d7634e}

.ec-about-how-v2{padding-top:72px}
.ec-about-how-v2 .ec-about-steps>div{
  border-radius:24px;padding:28px;box-shadow:0 12px 34px rgba(23,17,89,.05)
}
.ec-about-how-v2 .ec-about-steps>div:nth-child(1){background:linear-gradient(145deg,#f7faff,#eef4ff)}
.ec-about-how-v2 .ec-about-steps>div:nth-child(2){background:linear-gradient(145deg,#fcf9ff,#f2ebff)}
.ec-about-how-v2 .ec-about-steps>div:nth-child(3){background:linear-gradient(145deg,#fffaf8,#fff0ea)}

.ec-about-final-cta-v2{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 8% 120%,rgba(232,114,93,.24),transparent 34%),
    radial-gradient(circle at 94% -30%,rgba(89,76,224,.35),transparent 35%),
    #171159;
  margin-top:72px;padding:44px 46px;
}
.ec-about-final-cta-v2:after{
  content:"";position:absolute;left:-30px;bottom:-76px;width:190px;height:190px;
  border:28px solid rgba(255,255,255,.04);border-radius:50%
}
.ec-about-pill-light{background:rgba(255,255,255,.12);color:#fff}
.ec-about-final-cta-v2 h2{font-size:32px}
.ec-about-final-cta-v2>div{position:relative;z-index:1}

.ec-about-home-bottom{text-align:center;padding-top:34px}
.ec-about-home-bottom a{display:inline-flex;padding:10px 16px;border-radius:999px;color:#171159!important;background:#f0f2fa;text-decoration:none!important;font-size:14px;font-weight:850}

@media(max-width:1100px){
  .ec-about-hero-v2{grid-template-columns:1fr;gap:30px}
  .ec-about-hero-text{text-align:center;margin:auto}
  .ec-about-hero-actions,.ec-about-mini-points{justify-content:center}
  .ec-about-hero-collage{max-width:520px;width:100%;margin:auto}
  .ec-about-role-grid-v2{grid-template-columns:1fr}
  .ec-about-role-grid-v2 .ec-about-role-card{display:grid;grid-template-columns:280px 1fr}
  .ec-about-role-media{height:100%;min-height:360px}
}
@media(max-width:700px){
  .ec-about-page-v2{padding-top:8px}
  .ec-about-topbar{padding-left:4px;padding-right:4px}
  .ec-about-hero-v2{padding-top:20px;min-height:auto}
  .ec-about-hero-v2 h1{font-size:34px;line-height:1.55;letter-spacing:-.5px}
  .ec-about-hero-v2 p{font-size:15px}
  .ec-about-hero-collage{min-height:360px}
  .ec-about-collage-main{right:26px;width:260px;height:315px}
  .ec-about-collage-small{width:118px;height:140px}
  .ec-about-collage-small-1{left:2px}
  .ec-about-collage-small-2{left:34px}
  .ec-about-float-two{right:auto;left:8px;top:4px}
  .ec-about-float-one{right:6px;bottom:10px}
  .ec-about-story-head h2{font-size:28px}
  .ec-about-role-grid-v2 .ec-about-role-card{display:block}
  .ec-about-role-media{height:220px;min-height:0}
  .ec-about-role-content{padding:23px}
  .ec-about-final-cta-v2{padding:30px 22px;border-radius:24px}
  .ec-about-final-cta-v2 h2{font-size:26px}
}


/* =========================================================
   ESLCAMP Core 0.17.5 — About image crop + teacher showcase
   ========================================================= */

/* About page: portrait source images need more vertical breathing room. */
.ec-about-role-grid-v2 .ec-about-role-media{
  height:auto!important;
  aspect-ratio:4/3!important;
}
.ec-about-role-grid-v2 .ec-about-role-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 22%!important;
}
.ec-about-role-grid-v2 .ec-about-role-student .ec-about-role-media img{object-position:center 20%!important}
.ec-about-role-grid-v2 .ec-about-role-teacher .ec-about-role-media img{object-position:center 19%!important}
.ec-about-role-grid-v2 .ec-about-role-institute .ec-about-role-media img{object-position:center 18%!important}

/* Sample teacher showcase */
.ec-teacher-demo-note{
  margin:-8px 0 22px;
  font-size:13px;
  line-height:1.9;
  color:#7b7f91;
}
.ec-teacher-card-v2{
  border-radius:24px!important;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ec-teacher-card-v2:hover{
  transform:translateY(-5px);
  border-color:#dfe4f5;
  box-shadow:0 20px 48px rgba(26,35,80,.11);
}
.ec-teacher-photo-v2{
  height:auto!important;
  aspect-ratio:4/3!important;
  background:#eef2f7;
}
.ec-teacher-photo-v2 img{
  object-fit:cover!important;
  object-position:center 28%!important;
  transition:transform .35s ease;
}
.ec-teacher-card-v2:hover .ec-teacher-photo-v2 img{transform:scale(1.035)}
.ec-demo-label{
  top:14px!important;
  right:14px!important;
  background:rgba(255,255,255,.94)!important;
  color:#5b5f72!important;
  font-size:10px!important;
  padding:7px 10px!important;
  box-shadow:0 7px 18px rgba(20,25,55,.08);
}
.ec-teacher-body-v2{padding:20px 20px 22px!important}
.ec-teacher-name-row{display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.ec-teacher-name-row h3{
  margin:0!important;
  font-size:20px!important;
  direction:rtl!important;
  text-align:right!important;
  color:#1d1b37;
}
.ec-sample-note{
  font-size:10px!important;
  color:#7c4ce0!important;
  background:#f3edff;
  border-radius:999px;
  padding:5px 8px;
  white-space:nowrap;
}
.ec-teacher-body-v2>p{
  font-size:13px!important;
  line-height:1.8!important;
  min-height:0!important;
  color:#686c7e!important;
  margin:6px 0 14px!important;
}
.ec-teacher-tags{
  display:flex!important;
  flex-wrap:wrap;
  gap:7px!important;
  margin:0 0 16px!important;
}
.ec-teacher-tags span{
  font-size:10px!important;
  line-height:1!important;
  color:#315eb5;
  background:#edf4ff;
  border:1px solid #dfeafd;
  border-radius:999px;
  padding:7px 9px;
}
.ec-teacher-body-v2>a{
  display:inline-flex;
  align-items:center;
  font-size:12px!important;
  color:#245be8!important;
  font-weight:900!important;
}
@media(max-width:700px){
  .ec-about-role-grid-v2 .ec-about-role-media{aspect-ratio:16/11!important}
  .ec-teacher-photo-v2{aspect-ratio:16/11!important}
}


/* =========================================================
   ESLCAMP Core 0.17.6 — editable demo content + richer courses
   ========================================================= */
.ec-course-card-v2 .ec-course-meta-v2{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.ec-course-card-v2 .ec-course-status{
  background:rgba(255,255,255,.94)!important;
  color:#6456b5!important;
}
.ec-course-card-v2:hover .ec-course-status{transform:translateY(-1px)}
.ec-course-copy h3{font-size:23px!important}
.ec-course-copy>p{font-size:12px!important;line-height:1.95!important}
.ec-course-meta-v2 span{font-size:11px!important}
.ec-course-meta-v2 b{font-size:9px!important}
.ec-course-bottom-v2 b{font-size:13px!important}

.ec-home-job-list{gap:14px!important}
.ec-home-job-item{padding:22px 24px!important}
.ec-home-job-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ec-home-job-top small{
  font-size:9px!important;font-weight:900;color:#e8725d!important;
  background:#fff0eb;border-radius:999px;padding:5px 8px
}
.ec-home-job-item>a{
  display:inline-flex;margin-top:10px;color:#245be8!important;
  font-size:11px;font-weight:900;text-decoration:none!important
}
.ec-demo-content-banner{
  margin:0 0 22px;padding:13px 15px;border-radius:14px;
  background:#fff4e9;border:1px solid #ffd9ba;color:#8b4e1e;
  font-size:13px;line-height:1.8;font-weight:700
}
.ec-real-teacher-label{
  color:#245be8!important;background:#edf4ff!important
}


/* =========================================================
   ESLCAMP Core 0.17.7 — Mobile bottom navigation
   ========================================================= */
.ec-mobile-bottom-nav{display:none}
@media(max-width:760px){
  body{padding-bottom:76px!important}
  .ec-mobile-bottom-nav{
    display:block;
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:99990;
    padding:0 8px calc(env(safe-area-inset-bottom,0px) + 6px);
    pointer-events:none;
  }
  .ec-mobile-bottom-nav-inner{
    max-width:620px;
    margin:0 auto;
    min-height:66px;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:center;
    background:rgba(255,255,255,.97);
    border:1px solid rgba(35,31,84,.10);
    border-radius:20px 20px 0 0;
    box-shadow:0 -10px 34px rgba(22,18,70,.13);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    overflow:hidden;
    pointer-events:auto;
  }
  .ec-mobile-nav-item{
    min-width:0;
    height:64px;
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    text-decoration:none!important;
    color:#777b8e!important;
    font-size:10px!important;
    font-weight:750!important;
    position:relative;
    transition:background .18s ease,color .18s ease,transform .18s ease;
  }
  .ec-mobile-nav-item:active{transform:scale(.96)}
  .ec-mobile-nav-item:hover{
    color:#245be8!important;
    background:#f5f8ff;
  }
  .ec-mobile-nav-icon{
    width:25px;height:25px;
    position:relative;
    display:grid;place-items:center;
  }
  .ec-mobile-nav-icon svg{
    width:22px;height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .ec-mobile-nav-home .ec-mobile-nav-icon svg path,
  .ec-mobile-nav-courses .ec-mobile-nav-icon svg path,
  .ec-mobile-nav-teachers .ec-mobile-nav-icon svg path,
  .ec-mobile-nav-jobs .ec-mobile-nav-icon svg path,
  .ec-mobile-nav-messages .ec-mobile-nav-icon svg path,
  .ec-mobile-nav-cart .ec-mobile-nav-icon svg path,
  .ec-mobile-nav-account .ec-mobile-nav-icon svg path{
    fill:none;
  }
  .ec-mobile-cart-count{
    position:absolute;
    top:-7px;left:-10px;
    min-width:17px;height:17px;
    padding:0 4px;
    border-radius:999px;
    background:#e8725d;
    color:#fff;
    border:2px solid #fff;
    font-size:9px;
    line-height:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
  }
  .ec-mobile-nav-label{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:100%;
    padding:0 2px;
  }
  .ec-footer-solid{padding-bottom:8px}
}
@media(max-width:380px){
  .ec-mobile-bottom-nav{padding-left:0;padding-right:0}
  .ec-mobile-bottom-nav-inner{border-radius:16px 16px 0 0}
  .ec-mobile-nav-item{font-size:9px!important}
}


/* =========================================================
   ESLCAMP Core 0.17.8 — custom cart + teacher directory demos
   ========================================================= */
.ec-cart-page{background:#f7f8fc;min-height:70vh}
.ec-cart-hero{padding-bottom:24px}
.ec-cart-shell{padding-bottom:80px}
.ec-cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}
.ec-cart-items{display:grid;gap:14px}
.ec-cart-item{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid #e8eaf1;border-radius:22px;padding:16px;box-shadow:0 10px 32px rgba(26,31,72,.05)}
.ec-cart-item-media{width:110px;height:90px;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,#edf2ff,#f8f4ff);display:grid;place-items:center;color:#4d4b68;font-weight:900}
.ec-cart-item-media img{width:100%;height:100%;object-fit:cover}
.ec-cart-item-copy small{color:#8b8fa1;font-size:10px;font-weight:800}
.ec-cart-item-copy h3{margin:4px 0 6px;font-size:18px;color:#1d1b37}
.ec-cart-item-copy p{margin:0 0 10px;font-size:12px;color:#6f7385}
.ec-cart-qty{display:flex;align-items:center;gap:10px;font-size:11px;color:#6f7385}
.ec-cart-qty input{width:72px;border:1px solid #dfe2eb;border-radius:10px;padding:8px 9px;text-align:center}
.ec-cart-item-side{display:flex;flex-direction:column;align-items:flex-end;gap:13px;min-width:120px}
.ec-cart-item-side strong{font-size:14px;color:#171159}
.ec-cart-remove{border:0;background:transparent;color:#d65b48;font-size:11px;font-weight:800;cursor:pointer}
.ec-cart-update{justify-self:start}
.ec-cart-summary{position:sticky;top:92px;background:#fff;border:1px solid #e8eaf1;border-radius:24px;padding:24px;box-shadow:0 16px 40px rgba(26,31,72,.07)}
.ec-cart-summary>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #eef0f5;font-size:12px;color:#686c7d}
.ec-cart-summary>div b{color:#24213f}
.ec-cart-summary .ec-cart-total{padding:18px 0;border-bottom:0;font-size:14px}
.ec-cart-summary .ec-cart-total b{font-size:17px;color:#171159}
.ec-cart-checkout{width:100%;justify-content:center;margin-top:10px}
.ec-cart-continue{display:block;text-align:center;margin-top:14px;font-size:11px;color:#686c7d!important;text-decoration:none!important}
.ec-cart-empty{text-align:center;background:#fff;border:1px solid #e8eaf1;border-radius:26px;padding:54px 24px;box-shadow:0 16px 42px rgba(26,31,72,.06)}
.ec-cart-empty-icon{font-size:40px;margin-bottom:12px}
.ec-cart-empty h2{font-size:25px;color:#171159;margin:0 0 8px}
.ec-cart-empty p{color:#727689;margin:0 0 20px}

.ec-directory-demo-note{margin:0 0 18px;font-size:13px;line-height:1.9;color:#74788b}
.ec-directory-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.ec-directory-card-v2{padding:0!important;overflow:hidden!important;border-radius:22px!important}
.ec-directory-card-photo{height:180px;position:relative;overflow:hidden;background:#eef2f7}
.ec-directory-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center 26%;display:block}
.ec-directory-card-photo>span{position:absolute;right:12px;top:12px;background:rgba(255,255,255,.94);color:#53576a;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900}
.ec-directory-card-copy{padding:18px}
.ec-directory-card-copy h3{font-size:20px!important;margin:0 0 5px!important;color:#1d1b37}
.ec-directory-card-copy p{font-size:12px!important;line-height:1.85!important;margin:0 0 10px!important}
.ec-directory-card-copy>div>span{display:inline-flex;background:#eef4ff;color:#315eb5;border-radius:999px;padding:6px 9px;font-size:9px}
.ec-directory-card-copy>a{display:inline-flex;margin-top:14px;font-size:11px!important;font-weight:900!important;color:#245be8!important;text-decoration:none!important}
.ec-directory-demo-card{border-style:dashed!important}
.ec-directory-demo-title{display:flex!important;justify-content:space-between;align-items:center;gap:10px}
.ec-directory-demo-title small{color:#7c4ce0;background:#f2ecff;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:800}

@media(max-width:840px){
  .ec-cart-layout{grid-template-columns:1fr}
  .ec-cart-summary{position:static}
  .ec-directory-grid-v2{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .ec-cart-item{grid-template-columns:82px minmax(0,1fr);gap:12px}
  .ec-cart-item-media{width:82px;height:74px}
  .ec-cart-item-side{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;width:100%}
}


/* =========================================================
   ESLCAMP Core 0.18.0 — About CTA hover + footer About route
   ========================================================= */

/* Final About-page role buttons: all three must feel equally interactive. */
.ec-about-final-actions .ec-about-action{
  position:relative;
  overflow:hidden;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease,
    background .18s ease,
    color .18s ease;
  box-shadow:0 8px 20px rgba(8,8,45,.12);
}
.ec-about-final-actions .ec-about-action::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.26) 48%,transparent 72%);
  transform:translateX(130%);
  transition:transform .45s ease;
  pointer-events:none;
}
.ec-about-final-actions .ec-about-action:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(8,8,45,.20);
  filter:saturate(1.06);
}
.ec-about-final-actions .ec-about-action:hover::after{
  transform:translateX(-130%);
}
.ec-about-final-actions .ec-about-action:active{
  transform:translateY(-1px) scale(.985);
}
.ec-about-final-actions .ec-about-action-student:hover{
  background:#1f5ee8;
  color:#fff!important;
}
.ec-about-final-actions .ec-about-action-teacher:hover{
  background:#6b38d6;
  color:#fff!important;
}
.ec-about-final-actions .ec-about-action-institute:hover{
  background:#ef8c6f;
  color:#171159!important;
}

/* The institute button had a light fill, so add a visible border/focus state too. */
.ec-about-final-actions .ec-about-action-institute{
  border:1px solid rgba(23,17,89,.08);
}
.ec-about-final-actions .ec-about-action:focus-visible{
  outline:3px solid rgba(255,255,255,.72);
  outline-offset:3px;
}


/* =========================================================
   ESLCAMP Core 0.19.0 — Business Pro foundation
   ========================================================= */
.ec-business-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-34px;position:relative;z-index:3}
.ec-business-summary>a{background:#fff;border:1px solid #e7e9f1;border-radius:20px;padding:20px;text-decoration:none!important;box-shadow:0 15px 42px rgba(22,18,70,.07);transition:.18s}
.ec-business-summary>a:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(22,18,70,.11)}
.ec-business-summary b{display:block;font-size:30px;color:#171159}.ec-business-summary span{display:block;font-weight:900;color:#2e2b48;margin:2px 0}.ec-business-summary small{color:#85899a}
.ec-business-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding-top:28px;padding-bottom:24px}
.ec-business-quick-actions a{display:flex;flex-direction:column;gap:4px;background:#f6f8ff;border:1px solid #e5eaff;border-radius:16px;padding:16px;text-decoration:none!important;color:#24213f!important}
.ec-business-quick-actions a:hover{background:#eef3ff}.ec-business-quick-actions strong{font-size:14px}.ec-business-quick-actions span{font-size:10px;color:#777c8e}
.ec-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.ec-panel-heading h2{margin:3px 0}.ec-panel-heading p{margin:0;color:#818596;font-size:11px}
.ec-wizard-progress{display:flex;align-items:center;gap:7px;padding-top:5px}.ec-wizard-progress span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eceef5;color:#7c8090;font-size:11px;font-weight:900}.ec-wizard-progress span.is-active{background:#245be8;color:#fff}.ec-wizard-progress i{width:22px;height:2px;background:#e0e3eb}
.ec-job-wizard fieldset{border:0;margin:0;padding:0;display:none}.ec-job-wizard fieldset.is-active{display:block}.ec-job-wizard legend{font-size:20px;font-weight:900;color:#171159;padding-top:20px}.ec-job-wizard fieldset>p{color:#7c8090;font-size:11px;margin:3px 0 16px}.ec-wizard-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.ec-save-teacher-form{margin:0}.ec-save-teacher-form button{width:100%}
.ec-saved-teachers-section{padding-top:50px}.ec-saved-teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ec-saved-teacher-grid article{display:flex;gap:13px;align-items:center;background:#fff;border:1px solid #e7e9f0;border-radius:18px;padding:14px}.ec-saved-teacher-grid img{width:70px;height:70px;object-fit:cover;border-radius:16px}.ec-saved-teacher-grid h3{margin:0 0 4px;font-size:16px}.ec-saved-teacher-grid p{margin:0;color:#777b8d;font-size:10px}.ec-saved-teacher-grid a{display:inline-block;margin-top:7px;font-size:10px;color:#245be8!important;text-decoration:none!important;font-weight:900}
.ec-applicant-pipeline-actions{display:flex!important;flex-wrap:wrap;gap:7px!important}.ec-applicant-pipeline-actions .ec-btn{padding:8px 10px!important;font-size:9px!important}.ec-danger-btn{color:#b23c3c!important;border-color:#f0caca!important}
@media(max-width:980px){.ec-business-summary,.ec-business-quick-actions{grid-template-columns:repeat(2,1fr)}.ec-saved-teacher-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ec-business-summary,.ec-business-quick-actions,.ec-saved-teacher-grid{grid-template-columns:1fr}.ec-panel-heading{display:block}.ec-wizard-progress{margin:12px 0}.ec-wizard-nav{flex-direction:column-reverse}.ec-wizard-nav .ec-btn{width:100%}}

/* =========================================================
   ESLCAMP Core 0.20.0 — Business Pro II / teacher discovery
   ========================================================= */
.ec-teacher-search-panel{margin-top:-20px;position:relative;z-index:2}
.ec-teacher-search-panel form{background:#fff;border:1px solid #e5e8f0;border-radius:22px;padding:16px;box-shadow:0 14px 40px rgba(22,18,70,.07)}
.ec-teacher-search-main{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:10px;align-items:end}
.ec-teacher-search-panel label span{display:block;font-size:10px;font-weight:900;color:#676b7c;margin-bottom:5px}
.ec-teacher-search-panel input,.ec-teacher-search-panel select{width:100%;box-sizing:border-box;border:1px solid #dfe3eb;border-radius:11px;padding:10px 11px;font-family:inherit;background:#fcfdff}
.ec-teacher-advanced-filters{margin-top:10px;border-top:1px solid #eef0f4;padding-top:9px}.ec-teacher-advanced-filters summary{cursor:pointer;font-size:11px;font-weight:900;color:#4f5771}.ec-teacher-advanced-filters>div{display:grid;grid-template-columns:1fr 1fr repeat(3,auto);gap:12px;align-items:end;padding-top:12px}
.ec-filter-check{display:flex!important;align-items:center;gap:6px;font-size:10px;color:#626778;padding-bottom:9px}.ec-filter-check input{width:auto!important}.ec-clear-filters{font-size:10px;font-weight:900;color:#b04b4b!important;padding-bottom:9px;text-decoration:none!important}
.ec-directory-no-results{grid-column:1/-1}
.ec-report-link{display:inline-block;font-size:10px;color:#9a6670!important;text-decoration:none!important;border-bottom:1px dashed #d9aeb6;padding-bottom:2px}.ec-report-link:hover{color:#b13d51!important}.ec-report-link-job{margin-top:7px}
@media(max-width:900px){.ec-teacher-search-main{grid-template-columns:1fr 1fr}.ec-teacher-advanced-filters>div{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ec-teacher-search-main,.ec-teacher-advanced-filters>div{grid-template-columns:1fr}.ec-teacher-search-main .ec-btn{width:100%}}


/* =========================================================
   ESLCAMP Core 0.21.0 — Languages as a first-class marketplace layer
   ========================================================= */
.ec-language-field{display:block}.ec-language-field>span{display:block;font-size:11px;font-weight:900;color:#5e596f;margin-bottom:8px}.ec-form-grid-full{grid-column:1/-1}
.ec-language-pills{display:flex;flex-wrap:wrap;gap:8px}.ec-language-pills label{cursor:pointer}.ec-language-pills input{position:absolute;opacity:0;pointer-events:none}.ec-language-pills label>span{display:flex!important;align-items:center;gap:5px;border:1px solid #dfe3ec;border-radius:999px;padding:8px 11px;background:#fff;color:#4f5364!important;margin:0!important;transition:.15s;font-size:11px!important}.ec-language-pills small{font-size:8px;font-weight:600;color:#9296a4}.ec-language-pills input:checked+span{background:#edf2ff;border-color:#9db7ff;color:#173fa5!important;box-shadow:0 0 0 2px rgba(36,91,232,.06)}
.ec-home-languages{padding-top:54px;padding-bottom:18px}.ec-home-language-head h2{font-size:32px;color:var(--ec-ink);margin:6px 0}.ec-home-language-head p{color:#797d8f;margin:0 0 18px}.ec-home-language-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.ec-home-language-grid a{display:block;background:#fff;border:1px solid #e7e9f0;border-radius:17px;padding:16px;text-decoration:none!important;box-shadow:0 10px 28px rgba(22,18,70,.05);transition:.16s}.ec-home-language-grid a:hover{transform:translateY(-2px);border-color:#ccd7ff;box-shadow:0 15px 34px rgba(22,18,70,.09)}.ec-home-language-grid strong{display:block;color:#171159;font-size:15px}.ec-home-language-grid small{display:block;color:#9296a5;margin:2px 0 12px}.ec-home-language-grid span{font-size:9px;font-weight:900;color:#245be8}
.ec-student-language-card{margin-bottom:24px;background:#fff;border:1px solid #e6e9f1;border-radius:22px;padding:22px;box-shadow:0 12px 36px rgba(22,18,70,.05)}.ec-student-language-card h2{margin:5px 0;color:#171159}.ec-student-language-card p{color:#7b7f90}.ec-student-language-card form{display:grid;gap:15px}.ec-language-actions{display:flex;flex-wrap:wrap;gap:9px}
.ec-course-language-filter{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:flex-end}.ec-course-language-filter strong{font-size:10px;color:#74798b}.ec-course-language-filter a{font-size:10px;text-decoration:none!important;color:#54596b!important;background:#fff;border:1px solid #e2e5ed;border-radius:999px;padding:6px 9px}.ec-course-language-filter a.is-active{background:#171159;color:#fff!important;border-color:#171159}.ec-course-language{position:absolute;bottom:12px;right:12px;background:rgba(255,255,255,.88);backdrop-filter:blur(5px);border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;color:#29254a}.ec-course-art{position:relative}
.ec-teacher-search-main{grid-template-columns:1.25fr .9fr .9fr .9fr auto!important}
@media(max-width:980px){.ec-home-language-grid{grid-template-columns:repeat(2,1fr)}.ec-teacher-search-main{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){.ec-home-language-grid{grid-template-columns:1fr 1fr}.ec-home-language-head h2{font-size:25px}.ec-teacher-search-main{grid-template-columns:1fr!important}.ec-course-language-filter{justify-content:flex-start}}


/* =========================================================
   ESLCAMP Core 0.22.0 — Browse first, login later
   ========================================================= */
.ec-learn-marketplace-hero{background:linear-gradient(135deg,#f5f7ff 0%,#fff 55%,#fff5f1 100%);padding:72px 0 48px;border-bottom:1px solid #eceef5}
.ec-learn-marketplace-hero-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center}
.ec-learn-marketplace-hero h1{font-size:48px;line-height:1.35;color:#171159;margin:8px 0 12px}
.ec-learn-marketplace-hero p{max-width:700px;color:#6f7385;line-height:2;font-size:14px}
.ec-learn-flow{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #e6e9f2;border-radius:22px;padding:22px;box-shadow:0 16px 45px rgba(22,18,70,.06)}
.ec-learn-flow span{display:grid;gap:5px;text-align:center;color:#8b8f9f;font-size:10px;min-width:72px}.ec-learn-flow span b{margin:auto;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eff1f6;color:#717687}
.ec-learn-flow span.is-active{color:#245be8;font-weight:900}.ec-learn-flow span.is-active b{background:#245be8;color:#fff}.ec-learn-flow i{height:2px;width:34px;background:#e4e7ef}
.ec-learn-language-picker{padding-top:52px}.ec-learn-language-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ec-learn-language-grid a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px;border:1px solid #e4e7ef;border-radius:17px;background:#fff;text-decoration:none!important;color:#25213e!important;transition:.18s}
.ec-learn-language-grid a:hover,.ec-learn-language-grid a.is-active{transform:translateY(-2px);border-color:#bfcfff;background:#f5f8ff;box-shadow:0 12px 30px rgba(36,91,232,.08)}
.ec-learn-language-grid strong{font-size:14px}.ec-learn-language-grid small{font-size:9px;color:#9296a5;direction:ltr}
.ec-learn-choose-path{padding-top:52px}.ec-learn-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ec-learn-path-card{border:1px solid #e5e8ef;border-radius:25px;padding:28px;background:#fff;box-shadow:0 14px 42px rgba(22,18,70,.05)}
.ec-learn-path-card>span{display:inline-block;font-size:10px;font-weight:900;border-radius:999px;padding:6px 10px;background:#eef3ff;color:#245be8}
.ec-learn-path-card h3{font-size:24px;color:#171159;margin:12px 0 8px}.ec-learn-path-card p{color:#747889;line-height:1.9}
.ec-learn-path-card ul{display:grid;gap:7px;padding:0;margin:18px 0 22px;list-style:none}.ec-learn-path-card li:before{content:"✓";color:#245be8;font-weight:900;margin-left:7px}
.ec-learn-path-courses>span{background:#fff0eb;color:#cf604b}.ec-learn-login-note{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:42px;margin-bottom:72px;padding:22px 24px;border:1px solid #e7e9f0;background:#fafbfe;border-radius:20px}.ec-learn-login-note strong{color:#24213f}.ec-learn-login-note p{margin:5px 0 0;color:#818595;font-size:11px}
.ec-transaction-login{background:#fff;border:1px solid #e4e7ef;border-radius:20px;padding:24px;box-shadow:0 14px 38px rgba(22,18,70,.06)}.ec-transaction-login h3{font-size:22px;color:#171159;margin:5px 0}.ec-transaction-login p{color:#737889;line-height:1.9}.ec-transaction-login small{display:block;margin-top:10px;color:#9397a6}
@media(max-width:900px){.ec-learn-marketplace-hero-inner{grid-template-columns:1fr}.ec-learn-language-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.ec-learn-marketplace-hero{padding:44px 0 30px}.ec-learn-marketplace-hero h1{font-size:35px}.ec-learn-flow{overflow:auto;justify-content:flex-start}.ec-learn-language-grid,.ec-learn-path-grid{grid-template-columns:1fr}.ec-learn-login-note{align-items:stretch;flex-direction:column}.ec-learn-login-note .ec-btn{width:100%}}


/* =========================================================
   ESLCAMP Core 0.22.1 — Student marketplace visual match
   Reference-driven redesign: image-led, pastel, premium, RTL
   ========================================================= */
.ec-learn-marketplace-v2{background:#fff;overflow:hidden}
.ec-learn-v2-hero{background:linear-gradient(90deg,#fff8f2 0%,#fff 46%,#f3f7ff 100%);border-bottom:1px solid #edf0f6}
.ec-learn-v2-hero-grid{min-height:390px;display:grid;grid-template-columns:1fr 1.08fr;gap:0;align-items:stretch}
.ec-learn-v2-copy{padding:54px 26px 38px 0;display:flex;flex-direction:column;justify-content:center}
.ec-learn-v2-eyebrow{font-size:11px;color:#2e66f1;font-weight:900;margin-bottom:7px}
.ec-learn-v2-copy h1{font-size:48px;line-height:1.28;letter-spacing:-1.5px;color:#121054;margin:0 0 12px}
.ec-learn-v2-copy h1 em{font-style:normal;color:#2d6df3}
.ec-learn-v2-copy>p{max-width:660px;margin:0;color:#6f7487;font-size:13px;line-height:2}
.ec-learn-v2-visual{position:relative;min-height:390px;overflow:hidden;border-radius:0 0 28px 0}
.ec-learn-v2-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.02),rgba(255,255,255,.08));pointer-events:none}
.ec-learn-v2-visual img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.ec-learn-v2-sticker{position:absolute;left:24px;top:74px;z-index:2;color:#2767e8;font-family:ui-rounded,system-ui,sans-serif;font-size:18px;line-height:1.35;transform:rotate(-7deg);text-align:left}
.ec-learn-v2-bubble{position:absolute;right:25px;top:83px;z-index:2;background:rgba(255,255,255,.92);border-radius:20px;padding:11px 15px;color:#161454;font-weight:900;line-height:1.45;box-shadow:0 12px 30px rgba(29,40,91,.12);transform:rotate(4deg)}
.ec-learn-v2-progress{margin-top:26px;background:rgba(255,255,255,.92);border:1px solid #e5e9f1;border-radius:20px;padding:16px 18px;display:grid;grid-template-columns:1fr 42px 1fr 42px 1fr;align-items:center;box-shadow:0 15px 38px rgba(26,29,70,.06)}
.ec-learn-v2-progress span{display:grid;text-align:center;justify-items:center;gap:3px;color:#767c8e}.ec-learn-v2-progress span b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#eef1f7;color:#777c8d;font-size:11px}.ec-learn-v2-progress span strong{font-size:11px}.ec-learn-v2-progress span small{font-size:8px;color:#999dad}.ec-learn-v2-progress span.is-active b{background:#2f6ff3;color:#fff}.ec-learn-v2-progress span.is-active strong{color:#2865ed}.ec-learn-v2-progress i{height:1px;background:repeating-linear-gradient(90deg,#bac4da 0 5px,transparent 5px 9px)}

.ec-learn-v2-language-panel{margin-top:0;padding:20px 28px 24px;background:linear-gradient(110deg,#f1f8ff 0%,#fff 55%,#fff 100%);border:1px solid #e1e8f1;border-radius:0 0 28px 28px;display:grid;grid-template-columns:.72fr 1.55fr;gap:28px;align-items:center;box-shadow:0 16px 44px rgba(28,48,91,.05)}
.ec-learn-v2-language-copy h2{font-size:26px;color:#151252;margin:7px 0 6px}.ec-learn-v2-language-copy p{font-size:10px;color:#7b8191;line-height:1.9}
.ec-step-chip{display:inline-flex;background:#edf2ff;color:#2d67ef;padding:5px 11px;border-radius:999px;font-size:9px;font-weight:900;direction:ltr}
.ec-learn-v2-language-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ec-learn-v2-language-grid a{position:relative;min-height:58px;display:grid;grid-template-columns:40px 1fr 16px;gap:8px;align-items:center;padding:9px 11px;border:1px solid #e1e5ed;border-radius:14px;background:#fff;text-decoration:none!important;color:#24213f!important;box-shadow:0 6px 20px rgba(26,31,70,.035);transition:.18s}
.ec-learn-v2-language-grid a:hover,.ec-learn-v2-language-grid a.is-active{border-color:#2d71ff;background:#f4f8ff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(45,113,255,.11)}
.ec-lang-flag{font-size:27px;filter:saturate(.96)}.ec-lang-name{display:grid;gap:2px}.ec-lang-name strong{font-size:11px}.ec-lang-name small{font-size:8px;color:#858a9a;direction:ltr;text-align:right}.ec-learn-v2-language-grid a>i{font-style:normal;font-size:18px;color:#8b92a2}
.ec-lang-selected{position:absolute;left:7px;top:7px;width:17px;height:17px;border-radius:50%;background:#2d71ff;color:#fff;display:grid;place-items:center;font-size:9px}

.ec-learn-v2-paths{padding-top:22px}.ec-learn-v2-path-head{margin-bottom:15px}.ec-learn-v2-path-head h2{font-size:28px;color:#151252;margin:7px 0}.ec-learn-v2-path-head h2 em{font-style:normal;color:#2d6df3}.ec-learn-v2-path-head p{margin:0;color:#7a7f90;font-size:10px}
.ec-learn-v2-path-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ec-learn-v2-card{display:grid;grid-template-columns:1.06fr .94fr;min-height:185px;border:1px solid #e5e8ef;border-radius:19px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(22,18,70,.05)}
.ec-learn-v2-card-media{overflow:hidden}.ec-learn-v2-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.ec-learn-v2-card:hover .ec-learn-v2-card-media img{transform:scale(1.025)}
.ec-learn-v2-card-body{padding:18px;display:flex;flex-direction:column;justify-content:center}.ec-card-icon{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#eef3ff;color:#2d67ef;font-weight:900}.ec-learn-v2-card-course .ec-card-icon{background:#fff0e8;color:#eb6c45}
.ec-learn-v2-card h3{font-size:18px;color:#171452;margin:8px 0 5px}.ec-learn-v2-card p{font-size:10px;line-height:1.9;color:#73798b;margin:0 0 12px}.ec-learn-v2-card .ec-btn{align-self:flex-start;padding:9px 14px;font-size:10px}
.ec-learn-v2-card-course{background:#fffdfa}
.ec-learn-v2-login{margin-top:12px;margin-bottom:60px;padding:12px 16px;min-height:58px;display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;background:linear-gradient(90deg,#eef5ff,#f8fbff);border:1px solid #dce8fb;border-radius:17px}
.ec-learn-v2-login-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#dce9ff;color:#2866ee;font-size:18px}.ec-learn-v2-login strong{color:#201d50;font-size:11px}.ec-learn-v2-login p{margin:2px 0 0;color:#818798;font-size:9px}.ec-learn-v2-login .ec-btn{font-size:10px;padding:9px 14px}

@media(max-width:1050px){
  .ec-learn-v2-hero-grid{grid-template-columns:1fr}.ec-learn-v2-copy{padding:40px 0 30px}.ec-learn-v2-visual{min-height:310px;border-radius:24px}.ec-learn-v2-language-panel{grid-template-columns:1fr}.ec-learn-v2-language-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .ec-learn-v2-copy h1{font-size:36px}.ec-learn-v2-progress{grid-template-columns:1fr 18px 1fr 18px 1fr;padding:13px 8px}.ec-learn-v2-progress span small{display:none}.ec-learn-v2-visual{min-height:250px}.ec-learn-v2-sticker{font-size:14px}.ec-learn-v2-language-panel{padding:18px}.ec-learn-v2-language-grid{grid-template-columns:1fr}.ec-learn-v2-path-grid{grid-template-columns:1fr}.ec-learn-v2-card{grid-template-columns:1fr;min-height:auto}.ec-learn-v2-card-media{height:190px}.ec-learn-v2-login{grid-template-columns:34px 1fr}.ec-learn-v2-login .ec-btn{grid-column:1/-1;width:100%}
}


/* =========================================================
   ESLCAMP Core 0.22.2 — Teacher directory UI cleanup
   ========================================================= */
.ec-teacher-directory-v3{background:linear-gradient(180deg,#fbfcff 0,#fff 430px)}
.ec-teacher-directory-hero{background:linear-gradient(135deg,#f4f7ff 0%,#fff 54%,#fff6f2 100%);border-bottom:1px solid #edf0f6}
.ec-teacher-directory-hero-inner{min-height:230px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:30px;align-items:center;padding-top:36px;padding-bottom:36px}
.ec-teacher-directory-hero h1{font-size:42px;line-height:1.35;color:#171159;margin:5px 0 10px}
.ec-teacher-directory-hero p{max-width:760px;color:#757a8d;font-size:13px;line-height:2;margin:0}
.ec-directory-hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.ec-directory-hero-pills span{font-size:9px;font-weight:900;color:#43506f;background:#fff;border:1px solid #e3e8f1;border-radius:999px;padding:7px 10px}
.ec-directory-hero-badge{background:#171159;color:#fff;border-radius:22px;padding:22px;box-shadow:0 18px 50px rgba(23,17,89,.16)}
.ec-directory-hero-badge b{display:block;font-size:34px;line-height:1}.ec-directory-hero-badge span{display:block;font-weight:900;margin-top:7px}.ec-directory-hero-badge small{display:block;color:#c8c9df;font-size:9px;line-height:1.8;margin-top:5px}

.ec-teacher-search-panel-v3{margin-top:24px!important}
.ec-teacher-search-panel-v3 form{padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
.ec-teacher-search-panel-v3{background:#fff;border:1px solid #e5e8f0;border-radius:22px;padding:18px 20px;box-shadow:0 14px 40px rgba(22,18,70,.06)}
.ec-filter-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #eef0f4}
.ec-filter-heading h2{font-size:20px;color:#1c194e;margin:3px 0 0}.ec-filter-reset-top{font-size:9px;font-weight:900;text-decoration:none!important;color:#b44e4e!important;background:#fff4f4;border:1px solid #f2d8d8;border-radius:999px;padding:7px 10px}
.ec-teacher-search-main-v3{display:grid!important;grid-template-columns:1.35fr .8fr .8fr .9fr auto!important;gap:12px!important;align-items:end!important}
.ec-search-field{display:flex!important;flex-direction:column;min-width:0}.ec-search-field>span{display:block!important;font-size:10px!important;font-weight:900!important;color:#5f6579!important;margin:0 0 6px!important;line-height:1.2}
.ec-teacher-search-panel-v3 input,.ec-teacher-search-panel-v3 select{height:44px!important;width:100%!important;box-sizing:border-box!important;border:1px solid #dfe3eb!important;border-radius:12px!important;padding:0 12px!important;font-family:inherit!important;background:#fcfdff!important;outline:none}
.ec-teacher-search-panel-v3 input:focus,.ec-teacher-search-panel-v3 select:focus{border-color:#9cb7ff!important;box-shadow:0 0 0 3px rgba(36,91,232,.07)!important;background:#fff!important}
.ec-search-submit{height:44px!important;white-space:nowrap;padding-inline:18px!important}

.ec-teacher-advanced-filters-v3{margin-top:14px!important;border-top:1px solid #eef0f4!important;padding-top:12px!important}
.ec-teacher-advanced-filters-v3 summary{display:flex!important;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;list-style:none;font-size:10px!important;font-weight:900!important;color:#4c536b!important}
.ec-teacher-advanced-filters-v3 summary::-webkit-details-marker{display:none}.ec-teacher-advanced-filters-v3 summary small{font-size:8px;color:#989cab;font-weight:600}
.ec-teacher-advanced-filters-v3>div{display:grid!important;grid-template-columns:.8fr .8fr 1.5fr!important;gap:14px!important;align-items:end!important;padding-top:14px!important}
.ec-filter-toggles{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-bottom:2px}
.ec-filter-check{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:8px 10px!important;margin:0!important;border:1px solid #e3e7ee;border-radius:999px;background:#fafbfe;font-size:9px!important;color:#666c7e!important;cursor:pointer}
.ec-filter-check input{width:14px!important;height:14px!important;margin:0!important}.ec-filter-check span{margin:0!important;font-size:9px!important;font-weight:800!important;color:inherit!important}

.ec-directory-layout-v3{grid-template-columns:minmax(0,1fr) 280px!important;gap:22px!important;padding-top:24px}
.ec-directory-results-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px}.ec-directory-results-head h2{font-size:24px;color:#171159;margin:3px 0}.ec-directory-results-head>small{font-size:9px;color:#858a9a;background:#f6f8fb;border:1px solid #e8ebf1;border-radius:999px;padding:6px 9px}
.ec-directory-demo-note{background:#fbfcff;border:1px solid #edf0f5;border-radius:13px;padding:10px 12px!important;margin:0 0 14px!important;font-size:10px!important;line-height:1.9!important;color:#808596!important}
.ec-directory-side-v3{align-self:start;position:sticky;top:96px}.ec-side-card-teacher{background:linear-gradient(150deg,#f6f8ff,#fff)!important;padding:22px!important;border-radius:20px!important}.ec-side-card-teacher h3{font-size:20px;line-height:1.5;margin:6px 0 8px!important}.ec-side-card-teacher p{font-size:11px;line-height:1.9;color:#74798b}.ec-side-card-teacher ul{list-style:none;padding:0;margin:14px 0;display:grid;gap:7px}.ec-side-card-teacher li{font-size:9px;color:#676d7e}.ec-side-card-teacher li:before{content:"✓";color:#245be8;font-weight:900;margin-left:6px}.ec-side-card-teacher .ec-btn{width:100%;box-sizing:border-box}
.ec-directory-no-results{grid-column:1/-1!important;padding:40px 28px!important;line-height:1.8!important;background:#fbfcff}.ec-directory-no-results>span{display:inline-block;background:#fff1f1;color:#b44e4e;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900}.ec-directory-no-results>strong{display:block;font-size:18px;color:#24213f;margin:10px 0 4px}.ec-directory-no-results>p{margin:0 0 14px;color:#7e8393;font-size:11px}.ec-directory-no-results .ec-btn{display:inline-flex}

@media(max-width:1050px){
  .ec-teacher-search-main-v3{grid-template-columns:1fr 1fr!important}.ec-search-submit{width:100%;grid-column:1/-1}.ec-teacher-advanced-filters-v3>div{grid-template-columns:1fr 1fr!important}.ec-filter-toggles{grid-column:1/-1}
}
@media(max-width:980px){
  .ec-directory-layout-v3{grid-template-columns:1fr!important}.ec-directory-side-v3{position:static}.ec-side-card-teacher{max-width:none}
}
@media(max-width:720px){
  .ec-teacher-directory-hero-inner{grid-template-columns:1fr;padding-top:26px;padding-bottom:26px}.ec-teacher-directory-hero h1{font-size:34px}.ec-directory-hero-badge{display:none}.ec-filter-heading{align-items:flex-start;flex-direction:column}.ec-teacher-search-main-v3,.ec-teacher-advanced-filters-v3>div{grid-template-columns:1fr!important}.ec-filter-toggles{grid-column:auto}.ec-directory-results-head{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   ESLCAMP Core 0.23.0 — Terms / teacher financial policy
   ========================================================= */
.ec-legal-page{background:#fbfcff}.ec-legal-hero{background:linear-gradient(135deg,#f4f7ff,#fff 58%,#fff5f0);border-bottom:1px solid #e9edf4}.ec-legal-hero .ec-shell{padding-top:62px;padding-bottom:45px}.ec-legal-hero h1{font-size:42px;color:#171159;margin:6px 0 10px}.ec-legal-hero p{max-width:760px;color:#72788a;line-height:2}.ec-legal-hero small{color:#999dac}
.ec-legal-content{display:grid;gap:14px;padding-top:30px;padding-bottom:70px}.ec-legal-content article{background:#fff;border:1px solid #e6e9f0;border-radius:18px;padding:22px}.ec-legal-content h2{font-size:18px;color:#1c194e;margin:0 0 8px}.ec-legal-content p{font-size:12px;line-height:2.1;color:#606679;margin:0}.ec-legal-content a{display:inline-block;margin-top:10px;color:#245be8!important;text-decoration:none!important;font-size:11px;font-weight:900}
.ec-financial-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:-24px;position:relative;z-index:2}.ec-financial-summary>div{background:#fff;border:1px solid #e4e8ef;border-radius:18px;padding:18px;box-shadow:0 12px 30px rgba(22,18,70,.06)}.ec-financial-summary b{display:block;font-size:28px;color:#245be8}.ec-financial-summary span{display:block;color:#666c7d;font-size:10px;margin-top:4px}
@media(max-width:700px){.ec-financial-summary{grid-template-columns:1fr}.ec-legal-hero h1{font-size:34px}}


/* Transitional theme isolation: harmless after ESLCAMP Base becomes active. */
body.eslcamp-surface .stm_lms_header,
body.eslcamp-surface .stm_lms_header_wrapper,
body.eslcamp-surface .stm_lms_user_info_top,
body.eslcamp-surface .stm_lms_account_dropdown,
body.eslcamp-surface .stm_mobile__header,
body.eslcamp-surface .stm_mobile_header,
body.eslcamp-surface .mobile_header,
body.eslcamp-surface .mobile-header,
body.eslcamp-surface .header-mobile,
body.eslcamp-surface .stm-header,
body.eslcamp-surface .stm_header,
body.eslcamp-surface .mobile-menu,
body.eslcamp-surface #mobile-menu,
body.eslcamp-surface .mobile-navigation,
body.eslcamp-surface .mobile-nav,
body.eslcamp-surface .stm_lms_categories,
body.eslcamp-surface .stm_lms_wishlist_button,
body.eslcamp-surface .woocommerce-mini-cart,
body.eslcamp-surface .widget_shopping_cart,
body.eslcamp-surface .stm_lms_cart{display:none!important}

/* Home Business Showcase supplied by ESLCAMP Growth */
.ec-home-business-showcase{padding-top:70px;padding-bottom:20px}
.ec-home-business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.ec-home-business-card{background:#fff;border:1px solid #e5e8ef;border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(22,18,70,.05)}
.ec-home-business-card-media{height:150px;background:#eef3fb;overflow:hidden}.ec-home-business-card-media img{width:100%;height:100%;object-fit:cover}
.ec-home-business-card-copy{padding:17px}.ec-home-business-card-copy h3{margin:4px 0 6px;color:#171159}.ec-home-business-card-copy p{font-size:10px;line-height:1.9;color:#757a8b}.ec-home-business-card-copy a{font-size:10px;font-weight:900;color:#245be8!important;text-decoration:none!important}
.ec-sponsored-label{display:inline-flex;background:#fff2e8;color:#b96435;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}
@media(max-width:800px){.ec-home-business-grid{grid-template-columns:1fr}}


/* Learn page typography and flag restoration */
.ec-learn-v2-copy h1{font-size:58px;line-height:1.22}
.ec-learn-v2-copy>p{font-size:15px;line-height:2.05}
.ec-learn-v2-progress{padding:18px 20px}
.ec-learn-v2-progress span strong{font-size:13px}
.ec-learn-v2-progress span small{font-size:9px}
.ec-learn-v2-language-copy h2{font-size:34px;line-height:1.45}
.ec-learn-v2-language-grid a{min-height:74px;padding:13px 15px;grid-template-columns:52px 1fr 18px}
.ec-lang-flag{width:40px;height:40px;display:grid;place-items:center}
.ec-lang-flag img{width:36px;height:36px;display:block;object-fit:contain}
.ec-lang-fallback{font-size:28px;line-height:1}
.ec-lang-name strong{font-size:17px;line-height:1.4}
.ec-lang-name small{font-size:11px}
.ec-learn-v2-language-grid a>i{font-size:22px}
.ec-learn-v2-path-head h2{font-size:36px;line-height:1.45}
.ec-learn-v2-path-head p{font-size:13px;line-height:2}
.ec-learn-v2-card h3{font-size:24px}
.ec-learn-v2-card p{font-size:13px;line-height:2}
.ec-learn-v2-card .ec-btn{font-size:12px;padding:10px 16px}
.ec-learn-v2-login strong{font-size:14px}.ec-learn-v2-login p{font-size:12px;line-height:1.9}.ec-learn-v2-login .ec-btn{font-size:12px}
@media(max-width:1024px){
  .ec-learn-v2-copy h1{font-size:50px}
  .ec-learn-v2-language-copy h2,.ec-learn-v2-path-head h2{font-size:30px}
}
@media(max-width:640px){
  .ec-learn-v2-copy h1{font-size:40px}
  .ec-learn-v2-copy>p{font-size:14px}
  .ec-learn-v2-language-copy h2,.ec-learn-v2-path-head h2{font-size:26px}
  .ec-lang-name strong{font-size:16px}
  .ec-lang-name small{font-size:10px}
  .ec-learn-v2-card h3{font-size:22px}
  .ec-learn-v2-card p,.ec-learn-v2-path-head p,.ec-learn-v2-login p{font-size:12px}
}


/* ESLCAMP Foundation 1.1.2 — shared staff portal */
.ec-staff-page{background:#f6f7fb;min-height:70vh}
.ec-staff-hero{padding:52px 0 22px;background:linear-gradient(180deg,#f0f2ff 0,#f6f7fb 100%);border-bottom:1px solid #e7e9f2}
.ec-staff-hero h1{margin:6px 0 8px;color:#171159;font-size:34px;line-height:1.5}.ec-staff-hero p{margin:0;color:#74798a}
.ec-staff-shell{padding-top:22px;padding-bottom:70px}
.ec-staff-login-card{max-width:540px;margin:28px auto;background:#fff;border:1px solid #e3e6ef;border-radius:24px;padding:28px;box-shadow:0 18px 55px rgba(26,22,74,.07)}
.ec-staff-login-copy h2{margin:5px 0 7px;color:#171159}.ec-staff-login-copy p{margin:0 0 18px;color:#777c8d}
.ec-staff-login-form{display:grid;gap:13px}.ec-staff-login-form label>span{display:block;font-size:11px;font-weight:800;color:#555b70;margin-bottom:5px}
.ec-staff-login-form input[type=text],.ec-staff-login-form input[type=password],.ec-staff-login-form input:not([type]){width:100%;box-sizing:border-box;border:1px solid #dfe3ec;border-radius:12px;padding:12px;font-family:inherit}
.ec-staff-check{display:flex;align-items:center;gap:7px;font-size:11px;color:#656a7c}.ec-staff-primary{border:0;border-radius:12px;background:#171159;color:#fff;padding:12px 16px;font-family:inherit;font-weight:900;cursor:pointer}
.ec-staff-alert{border-radius:12px;padding:11px 13px;margin:0 0 14px}.ec-staff-alert.is-error{background:#fff0f0;border:1px solid #f1cccc;color:#9d2d2d}
.ec-staff-userbar{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid #e1e5ee;border-radius:18px;padding:12px 15px;margin-bottom:12px}
.ec-staff-user{display:flex;align-items:center;gap:10px}.ec-staff-avatar{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#171159;color:#fff;font-weight:900}
.ec-staff-user strong,.ec-staff-user small{display:block}.ec-staff-user strong{color:#292744}.ec-staff-user small{color:#85899a;font-size:10px;margin-top:2px}.ec-staff-logout{font-size:11px;text-decoration:none!important;color:#8f2630!important}
.ec-staff-nav{display:flex;gap:7px;flex-wrap:wrap;background:#fff;border:1px solid #e1e5ee;border-radius:16px;padding:7px;margin-bottom:16px}
.ec-staff-nav a{padding:9px 14px;border-radius:10px;text-decoration:none!important;color:#555a70!important;font-size:11px;font-weight:800}.ec-staff-nav a.is-active{background:#171159;color:#fff!important}
.ec-staff-workarea{min-width:0}.ec-staff-section-head{margin:8px 0 17px}.ec-staff-section-head h2{margin:4px 0;color:#171159}.ec-staff-section-head p{margin:0;color:#74798a}
.ec-staff-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ec-staff-tool-grid>a{background:#fff;border:1px solid #e1e5ee;border-radius:18px;padding:20px;text-decoration:none!important;color:#292744!important;transition:.15s}
.ec-staff-tool-grid>a:hover{transform:translateY(-2px);border-color:#cbd3ef;box-shadow:0 12px 35px rgba(23,17,89,.06)}.ec-staff-tool-grid span{font-size:9px;font-weight:900;color:#6572e8}.ec-staff-tool-grid h3{margin:5px 0}.ec-staff-tool-grid p{min-height:42px;color:#74798a;font-size:11px;line-height:1.9}.ec-staff-tool-grid b{font-size:10px;color:#171159}
.ec-staff-access-denied,.ec-staff-empty{background:#fff;border:1px solid #e1e5ee;border-radius:18px;padding:30px;text-align:center;color:#6f7485}
@media(max-width:700px){.ec-staff-hero h1{font-size:27px}.ec-staff-tool-grid{grid-template-columns:1fr}.ec-staff-userbar{align-items:flex-start}}


/* Foundation 1.1.4 — isolate ESLCAMP surfaces from active theme footers */
body.eslcamp-surface #footer,
body.eslcamp-surface .footer-container,
body.eslcamp-surface .footer-widgets,
body.eslcamp-surface .copyrights-wrapper,
body.eslcamp-surface .site-footer:not(.ec-footer-solid),
body.eslcamp-surface footer.footer:not(.ec-footer-solid){
  display:none!important;
}
body.eslcamp-surface .ec-footer-solid{display:block!important}

/* Admin-only diagnostic/helper copy shown only when an administrator is viewing the public page. */
.ec-admin-only-hint{margin:8px 0;padding:8px 10px;border:1px dashed #d4d8e6;border-radius:10px;background:#fffaf0;color:#765b1c;font-size:10px}

/* Premium homepage path cards — same content, stronger hierarchy and interaction */
.ec-home-v07 .ec-paths-v2{gap:20px!important}
.ec-home-v07 .ec-capability{
  position:relative!important;
  min-height:330px!important;
  border:1px solid rgba(23,17,89,.08)!important;
  border-radius:30px!important;
  box-shadow:0 16px 42px rgba(26,22,70,.09)!important;
  overflow:hidden!important;
  isolation:isolate;
}
.ec-home-v07 .ec-capability:after{
  content:"";position:absolute;inset:auto -70px -95px auto;width:210px;height:210px;border-radius:50%;
  background:rgba(255,255,255,.42);z-index:0;pointer-events:none
}
.ec-home-v07 .ec-capability-copy{padding:30px 28px!important;z-index:3!important}
.ec-home-v07 .ec-capability-copy small{
  display:inline-flex!important;width:max-content;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.72);
  border:1px solid rgba(23,17,89,.07);font-size:10px!important
}
.ec-home-v07 .ec-capability-copy h2{font-size:25px!important;line-height:1.55!important;margin:12px 0 8px!important;color:#1d1a39!important}
.ec-home-v07 .ec-capability-copy p{font-size:11px!important;line-height:2!important;max-width:340px}
.ec-home-v07 .ec-capability-copy>span{
  display:inline-flex;align-items:center;justify-content:center;margin-top:auto!important;padding:9px 12px;border-radius:12px;
  background:#fff;box-shadow:0 7px 18px rgba(28,22,75,.08);color:#171159;font-size:10px!important
}
.ec-home-v07 .ec-capability-photo{margin:13px 13px 13px 0!important;border-radius:90px 90px 24px 24px!important;overflow:hidden!important;z-index:2}
.ec-home-v07 .ec-capability-photo:before{display:none!important}
.ec-home-v07 .ec-capability-photo img{object-fit:cover!important;object-position:center top!important;transition:transform .35s ease!important}
.ec-home-v07 .ec-capability:hover{transform:translateY(-5px)!important;box-shadow:0 24px 58px rgba(26,22,70,.14)!important}
.ec-home-v07 .ec-capability:hover .ec-capability-photo img{transform:scale(1.035)}
@media(max-width:760px){
  .ec-home-v07 .ec-capability{min-height:260px!important}
  .ec-home-v07 .ec-capability-photo{margin:9px 9px 9px 0!important;border-radius:60px 60px 18px 18px!important}
  .ec-home-v07 .ec-capability-copy{padding:21px 17px!important}
  .ec-home-v07 .ec-capability-copy h2{font-size:19px!important}
}


/* Foundation 1.1.5 — Join page */
.ec-join-page{padding-bottom:70px}
.ec-join-hero{
  padding-top:58px!important;padding-bottom:26px!important;
  max-width:900px;text-align:center
}
.ec-join-hero h1{
  font-size:clamp(34px,5vw,62px);line-height:1.15;margin:8px 0 14px;
  color:#171159;letter-spacing:-.035em
}
.ec-join-hero p{
  max-width:720px;margin:0 auto;color:#667085;font-size:16px;line-height:2
}
.ec-join-role-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px
}
.ec-join-role-card{
  position:relative;display:flex;flex-direction:column;min-height:330px;padding:28px;
  border:1px solid #e4e7ef;border-radius:24px;background:#fff;text-decoration:none!important;
  overflow:hidden;box-shadow:0 12px 34px rgba(24,31,67,.06);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease
}
.ec-join-role-card:before{
  content:"";position:absolute;inset:auto -45px -70px auto;width:180px;height:180px;
  border-radius:50%;background:var(--join-accent,#eef2ff);opacity:.85
}
.ec-join-role-card:hover{
  transform:translateY(-5px);box-shadow:0 22px 48px rgba(24,31,67,.11);border-color:#cdd4e3
}
.ec-join-student{--join-accent:#dff6ff}
.ec-join-teacher{--join-accent:#ffe2dd}
.ec-join-institute{--join-accent:#e4f8e7}
.ec-join-role-icon{
  width:50px;height:50px;border-radius:15px;display:grid;place-items:center;
  background:#171159;color:#fff;font-weight:850;font-size:14px;margin-bottom:34px
}
.ec-join-role-card small{font-weight:800;color:#73798b}
.ec-join-role-card h2{font-size:24px;line-height:1.45;margin:7px 0;color:#171159}
.ec-join-role-card p{color:#6b7280;line-height:1.9;margin:0 0 24px;max-width:90%}
.ec-join-role-card b{margin-top:auto;color:#171159;position:relative;z-index:1}
.ec-join-role-card b i{font-style:normal;margin-right:5px}
.ec-join-help{
  margin-top:24px;padding:16px 20px;border-radius:16px;background:#f7f8fb;
  display:flex;justify-content:center;gap:12px;align-items:center;flex-wrap:wrap
}
.ec-join-help a{font-weight:800}
@media(max-width:900px){
  .ec-join-role-grid{grid-template-columns:1fr}
  .ec-join-role-card{min-height:260px}
}


/* ============================================================
   ESLCAMP Foundation 1.2.0 — high-readability motion design pass
   Original ESLCAMP design system inspired by strong Persian SaaS UX:
   larger type, airy spacing, soft color bands, motion with reduced-motion fallback.
   ============================================================ */
:root{
  --ec-ui-ink:#11154a;
  --ec-ui-blue:#245be8;
  --ec-ui-coral:#e8725d;
  --ec-ui-sky:#edf7ff;
  --ec-ui-lilac:#f4f1ff;
  --ec-ui-mint:#eefaf5;
  --ec-ui-cream:#fff7ee;
  --ec-ui-text:#33384c;
  --ec-ui-muted:#687086;
}
body.eslcamp-custom-ui{font-size:16px!important;line-height:1.9!important;background:#fff!important}
body.eslcamp-custom-ui p{line-height:2!important}
.ec-shell{width:min(1280px,calc(100% - 64px))!important}
.ec-header{height:92px!important;box-shadow:none!important;border-bottom:1px solid #edf0f5!important}
.ec-nav{gap:46px!important}.ec-menu{gap:33px!important}.ec-menu a,.ec-login{font-size:15px!important;font-weight:750!important}
.ec-brand strong{font-size:30px!important}.ec-brand small{font-size:10px!important}
.ec-btn{font-size:14px!important;min-height:48px;padding:12px 23px!important;border-radius:16px!important}
.ec-btn-primary,.ec-btn-dark{border-radius:16px!important}
.ec-kicker{font-size:13px!important;letter-spacing:0!important;margin-bottom:12px!important}
.ec-section-head h2,.ec-section-head-v2 h2{font-size:clamp(34px,4vw,52px)!important;line-height:1.35!important;letter-spacing:-1.2px!important;color:var(--ec-ui-ink)!important}
.ec-section-head>a{font-size:14px!important}
.ec-section-lead{font-size:16px!important;line-height:2.05!important;color:var(--ec-ui-muted)!important;max-width:820px!important}
.ec-page-hero h1{font-size:clamp(40px,5vw,64px)!important;line-height:1.3!important}.ec-page-hero p{font-size:16px!important}

/* Home color rhythm */
.ec-home-v07{overflow:hidden}
.ec-home-v07 .ec-hero-v2{background:linear-gradient(125deg,#e9f6ff 0%,#f3f7ff 50%,#f7f1ff 100%)!important;padding:74px 0 78px!important}
.ec-home-v07 .ec-hero-v2:after{display:none!important}
.ec-home-v07 .ec-hero-v2-copy h1{font-size:clamp(56px,6vw,86px)!important;line-height:1.14!important;letter-spacing:-2.6px!important}
.ec-home-v07 .ec-hero-v2-copy>p{font-size:18px!important;line-height:2.05!important;color:#4e556b!important;max-width:680px!important}
.ec-home-v07 .ec-photo-frame{box-shadow:0 25px 70px rgba(24,43,94,.12)!important;border:1px solid rgba(255,255,255,.8)!important}
.ec-home-v07 .ec-hero-proof span{font-size:13px!important;background:rgba(255,255,255,.72);padding:8px 11px;border-radius:999px}

/* Animated feature ribbon */
.ec-feature-ribbon{background:#fff;border-bottom:1px solid #edf0f4;border-top:1px solid #edf0f4;overflow:hidden;padding:15px 0}
.ec-feature-ribbon-viewport{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ec-feature-ribbon-track{display:flex;width:max-content;gap:12px;animation:ecRibbon 34s linear infinite}
.ec-feature-ribbon:hover .ec-feature-ribbon-track{animation-play-state:paused}
.ec-feature-ribbon span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid #e6eaf2;background:#f9fbff;color:#343a52;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:750}
.ec-feature-ribbon span:before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#eef2ff;color:var(--ec-ui-blue);font-size:11px;font-weight:900}
@keyframes ecRibbon{from{transform:translateX(0)}to{transform:translateX(50%)}}

/* Animated ESLCAMP product story */
.ec-home-demo-band{background:var(--ec-ui-sky);padding:92px 0;margin:0 0 84px}
.ec-home-demo{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:center}
.ec-home-demo-copy h2{font-size:clamp(38px,4.4vw,60px);line-height:1.35;margin:6px 0 16px;color:var(--ec-ui-ink);letter-spacing:-1.4px}
.ec-home-demo-copy>p{font-size:17px;color:#555d73;max-width:570px;margin:0 0 24px}
.ec-demo-benefits{display:grid;gap:10px;margin:24px 0 28px}.ec-demo-benefits span{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:720;color:#343a4e}.ec-demo-benefits span:before{content:"✓";display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;color:var(--ec-ui-blue);box-shadow:0 7px 18px rgba(36,91,232,.08)}
.ec-home-demo-visual{position:relative;min-width:0}
.ec-demo-device{position:relative;background:#fff;border:1px solid rgba(30,47,92,.08);border-radius:34px;padding:15px;box-shadow:0 28px 70px rgba(32,52,104,.13);overflow:hidden}
.ec-demo-device:before{content:"";display:block;width:82px;height:7px;border-radius:999px;background:#dce2ed;margin:0 auto 12px}
.ec-demo-video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:23px;background:#121b45}
.ec-demo-screen{position:relative;aspect-ratio:16/10;border-radius:23px;overflow:hidden;background:linear-gradient(135deg,#f5f8ff,#eef7ff);padding:22px}
.ec-demo-screen-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.ec-demo-screen-brand{font-weight:950;color:var(--ec-ui-ink);font-size:17px}.ec-demo-screen-brand b{color:var(--ec-ui-coral)}.ec-demo-screen-status{font-size:11px;color:#6680b9;background:#fff;border-radius:999px;padding:6px 9px}
.ec-demo-stage{position:absolute;inset:70px 22px 22px;opacity:0;transform:translateY(12px) scale(.985);transition:opacity .45s ease,transform .45s ease;pointer-events:none}
.ec-demo-stage.is-active{opacity:1;transform:none}
.ec-demo-search,.ec-demo-confirm,.ec-demo-classlink{height:100%;display:flex;flex-direction:column;justify-content:center}
.ec-demo-search-bar{height:45px;border:1px solid #dfe5f0;border-radius:13px;background:#fff;display:flex;align-items:center;padding:0 14px;color:#7c8396;font-size:12px;margin-bottom:13px}
.ec-demo-mini-teacher{display:grid;grid-template-columns:58px 1fr auto;gap:13px;align-items:center;background:#fff;border:1px solid #e5e9f1;border-radius:18px;padding:13px;box-shadow:0 12px 30px rgba(29,43,82,.05)}
.ec-demo-avatar{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#dbeeff,#eee7ff);display:grid;place-items:center;color:#171159;font-weight:900}.ec-demo-mini-teacher strong{display:block;color:#171159}.ec-demo-mini-teacher small{color:#848a9a}.ec-demo-mini-teacher b{font-size:11px;color:#245be8;background:#eef3ff;padding:7px 9px;border-radius:10px}
.ec-demo-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.ec-demo-slots span{background:#fff;border:1px solid #dfe5ef;border-radius:12px;padding:10px;text-align:center;font-size:11px;font-weight:800}.ec-demo-slots span.is-picked{background:#245be8;color:#fff;border-color:#245be8}
.ec-demo-confirm-card,.ec-demo-link-card{margin:auto;max-width:420px;background:#fff;border-radius:22px;padding:26px;text-align:center;box-shadow:0 18px 45px rgba(30,44,86,.08)}
.ec-demo-confirm-icon,.ec-demo-link-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#e8f8f0;color:#13855f;font-size:24px;font-weight:900}.ec-demo-confirm-card h3,.ec-demo-link-card h3{margin:0 0 7px;color:#171159;font-size:22px}.ec-demo-confirm-card p,.ec-demo-link-card p{margin:0;color:#70778a;font-size:13px}.ec-demo-link-button{display:inline-flex;margin-top:14px;padding:9px 15px;border-radius:11px;background:#171159;color:#fff;font-size:12px;font-weight:900}
.ec-demo-progress{display:flex;gap:7px;justify-content:center;margin-top:14px}.ec-demo-progress button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#cbd3e4;cursor:pointer}.ec-demo-progress button.is-active{width:28px;border-radius:99px;background:#245be8}
.ec-demo-float{position:absolute;background:#fff;border:1px solid #e4e9f2;border-radius:16px;padding:10px 13px;box-shadow:0 12px 30px rgba(33,45,85,.10);font-size:12px;font-weight:800;color:#3d445b}.ec-demo-float-one{left:-18px;top:45px}.ec-demo-float-two{right:-18px;bottom:45px}

/* Section bands and more readable cards */
.ec-home-v07 .ec-paths-v2{padding-top:18px;padding-bottom:90px!important}
.ec-home-v07 .ec-capability{min-height:360px!important;border-radius:32px!important;box-shadow:0 12px 38px rgba(27,37,75,.07)!important}
.ec-home-v07 .ec-capability-copy h2{font-size:28px!important}.ec-home-v07 .ec-capability-copy p{font-size:14px!important;line-height:2!important}
.ec-home-v07 .ec-capability-copy>span{font-size:13px!important}
.ec-home-v07 .ec-courses-v2{max-width:none!important;width:100%!important;padding:88px max(32px,calc((100% - 1280px)/2)) 96px!important;background:var(--ec-ui-lilac)}
.ec-home-v07 .ec-teachers{padding-top:90px!important;padding-bottom:94px!important}
.ec-home-v07 .ec-why{max-width:none!important;width:100%!important;padding:90px max(32px,calc((100% - 1280px)/2))!important;background:var(--ec-ui-sky)}
.ec-why-grid article{background:#fff;border:1px solid #e5eaf3!important;border-radius:22px;padding:24px!important}.ec-why-grid h3{font-size:21px!important}.ec-why-grid p{font-size:14px!important}
.ec-teacher-body p{font-size:13px!important;line-height:1.9!important}.ec-teacher-body a{font-size:13px!important}.ec-teacher-body h3{font-size:20px!important}
.ec-home-job-item h3{font-size:20px!important}.ec-home-job-item p,.ec-home-job-item>a{font-size:13px!important}

/* Motion is subtle and never required to understand content */
.ec-home-v07 [data-ec-reveal]{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.ec-home-v07 [data-ec-reveal].is-visible{opacity:1;transform:none}

/* Friendlier footer with a clear support/action strip */
.ec-footer-solid{margin-top:0!important;padding-top:42px!important}
.ec-footer-help-strip{position:relative;z-index:2;background:linear-gradient(110deg,#edf8f4,#f3f7ff);border:1px solid rgba(255,255,255,.4);border-radius:26px;padding:22px 26px;margin-bottom:48px;display:flex;align-items:center;justify-content:space-between;gap:26px;color:#171159}
.ec-footer-help-strip>div:first-child{display:flex;align-items:center;gap:14px}.ec-footer-help-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#dff3eb;color:#16805e;font-size:21px;font-weight:900}.ec-footer-help-strip strong{font-size:20px}.ec-footer-help-strip p{margin:2px 0 0!important;color:#596278!important;font-size:14px!important}.ec-footer-help-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ec-footer-help-actions>a:not(.ec-btn){color:#171159!important;font-weight:900;font-size:13px;text-decoration:none!important}.ec-footer-help-actions .ec-btn{background:#171159!important;color:#fff!important}
.ec-footer-logo-large{font-size:34px!important}.ec-footer-brand-block>p{font-size:16px!important;line-height:2!important}.ec-footer-links-block h3,.ec-footer-trust-block h3{font-size:19px!important}.ec-footer-links-block a{font-size:14px!important;line-height:1.8!important}.ec-footer-trust-block>p{font-size:13px!important}.ec-footer-solid-bottom{font-size:12px!important}

@media(max-width:980px){
  .ec-shell{width:min(100% - 38px,1280px)!important}.ec-home-demo{grid-template-columns:1fr;gap:38px}.ec-home-demo-copy{max-width:760px}.ec-demo-float-one{left:8px}.ec-demo-float-two{right:8px}
  .ec-menu a,.ec-login{font-size:14px!important}.ec-footer-help-strip{align-items:flex-start;flex-direction:column}
}
@media(max-width:640px){
  body.eslcamp-custom-ui{font-size:15px!important}.ec-shell{width:calc(100% - 28px)!important}.ec-header{height:76px!important}.ec-brand strong{font-size:25px!important}.ec-home-v07 .ec-hero-v2{padding:38px 0 48px!important}.ec-home-v07 .ec-hero-v2-copy h1{font-size:44px!important;letter-spacing:-1.5px!important}.ec-home-v07 .ec-hero-v2-copy>p{font-size:15px!important}.ec-section-head h2,.ec-section-head-v2 h2{font-size:31px!important}.ec-section-lead{font-size:14px!important}
  .ec-home-demo-band{padding:60px 0;margin-bottom:54px}.ec-home-demo-copy h2{font-size:34px}.ec-home-demo-copy>p{font-size:15px}.ec-demo-device{border-radius:24px;padding:9px}.ec-demo-screen{padding:14px;border-radius:18px}.ec-demo-stage{inset:58px 14px 14px}.ec-demo-slots{grid-template-columns:1fr 1fr}.ec-demo-float{display:none}.ec-home-v07 .ec-capability{min-height:0!important}.ec-home-v07 .ec-capability-copy h2{font-size:23px!important}.ec-home-v07 .ec-capability-copy p{font-size:13px!important}.ec-home-v07 .ec-courses-v2,.ec-home-v07 .ec-why{padding:60px 14px!important}.ec-footer-help-strip{padding:18px}.ec-footer-help-strip strong{font-size:18px}.ec-footer-help-strip p{font-size:13px!important}
}
@media(prefers-reduced-motion:reduce){
  .ec-feature-ribbon-track{animation:none!important;transform:none!important}.ec-home-v07 [data-ec-reveal]{opacity:1!important;transform:none!important;transition:none!important}.ec-demo-stage{transition:none!important}
}


/* Foundation 1.2.1 — green action accent + secure test-session return */
.ec-btn-green{background:#16b978!important;color:#fff!important;border-color:#16b978!important;box-shadow:0 10px 24px rgba(22,185,120,.18)!important}
.ec-btn-green:hover{background:#109e66!important;border-color:#109e66!important;transform:translateY(-2px)}
.ec-footer-help-actions .ec-btn{background:#16b978!important;color:#fff!important;border-color:#16b978!important}
.ec-test-return-admin{position:fixed;right:18px;bottom:18px;z-index:100001;background:#171159;color:#fff!important;text-decoration:none!important;border-radius:999px;padding:11px 16px;font-family:Estedad,Tahoma,sans-serif;font-size:12px;font-weight:900;box-shadow:0 15px 35px rgba(23,17,89,.24)}
.ec-test-return-admin:hover{background:#245be8;color:#fff!important}
@media(max-width:640px){.ec-test-return-admin{right:12px;bottom:74px;font-size:11px;padding:9px 13px}}


/* ============================================================
   Foundation 1.2.2 — mobile navigation + theme isolation + footer palette
   ============================================================ */

/* High-contrast mobile hamburger */
.ec-menu-toggle{
  width:48px!important;height:48px!important;min-width:48px!important;
  border:1px solid #cfd8e8!important;border-radius:15px!important;
  background:#171159!important;box-shadow:0 10px 24px rgba(23,17,89,.16)!important;
  align-items:center!important;justify-content:center!important;padding:0!important;
}
.ec-menu-toggle span{
  display:block!important;width:22px!important;height:2.5px!important;
  border-radius:99px!important;background:#fff!important;margin:3px auto!important;
}
.ec-menu-toggle:hover{background:#245be8!important;border-color:#245be8!important}
@media(min-width:921px){.ec-menu-toggle{display:none!important}}

/* Better anchor landing for the Why section */
#why{scroll-margin-top:110px}

/* Pale footer mode: readable ink automatically replaces white/dim text. */
.ec-footer-solid.ec-footer-light{color:#171159!important}
.ec-footer-solid.ec-footer-light:before{border-color:rgba(23,17,89,.06)!important;box-shadow:0 0 0 42px rgba(23,17,89,.018),0 0 0 84px rgba(23,17,89,.012)!important}
.ec-footer-solid.ec-footer-light .ec-footer-logo{color:#171159!important}
.ec-footer-solid.ec-footer-light .ec-footer-brand-block>p{color:#505a70!important}
.ec-footer-solid.ec-footer-light .ec-footer-brand-block>small{color:#747c8e!important}
.ec-footer-solid.ec-footer-light .ec-footer-social-wrap{border-top-color:rgba(23,17,89,.10)!important}
.ec-footer-solid.ec-footer-light .ec-footer-social-wrap>b,
.ec-footer-solid.ec-footer-light .ec-footer-links-block h3,
.ec-footer-solid.ec-footer-light .ec-footer-trust-block h3{color:#171159!important}
.ec-footer-solid.ec-footer-light .ec-footer-social-wrap>p,
.ec-footer-solid.ec-footer-light .ec-footer-trust-block>p{color:#687186!important}
.ec-footer-solid.ec-footer-light .ec-footer-links-block a{color:#4d566a!important}
.ec-footer-solid.ec-footer-light .ec-footer-links-block a:before{background:#9aa6ba!important}
.ec-footer-solid.ec-footer-light .ec-footer-links-block a:hover{color:#0f8d60!important}
.ec-footer-solid.ec-footer-light .ec-footer-socials a,
.ec-footer-solid.ec-footer-light .ec-footer-socials span{border-color:#d8e0ea!important;background:rgba(255,255,255,.75)!important;color:#171159!important}
.ec-footer-solid.ec-footer-light .ec-footer-socials a:hover{background:var(--ec-footer-accent)!important;color:#fff!important}
.ec-footer-solid.ec-footer-light .ec-footer-solid-bottom{border-top-color:rgba(23,17,89,.10)!important;color:#6d7588!important}
.ec-footer-solid.ec-footer-light .ec-footer-solid-bottom a{color:#596277!important}
.ec-footer-solid.ec-footer-light .ec-footer-solid-bottom a:hover{color:#0f8d60!important}
.ec-footer-solid.ec-footer-light .ec-trust-badge{box-shadow:0 10px 26px rgba(48,67,100,.09)!important}

/* Keep the mobile quick nav visually above any legacy theme remnants. */
.ec-mobile-bottom-nav{z-index:99990!important}
body.eslcamp-surface .site-footer:not(.ec-footer-solid),
body.eslcamp-surface #footer:not(.ec-footer-solid),
body.eslcamp-surface .footer-container:not(.ec-footer-solid){display:none!important}

@media(max-width:920px){
  .ec-nav{grid-template-columns:1fr auto!important}
  .ec-menu.open{top:68px!important;border-radius:18px!important;padding:14px!important}
  .ec-menu.open a{width:100%!important;padding:11px 12px!important;border-radius:11px!important}
}


/* Foundation 1.2.3 — one clear support entry point */
.ec-footer-help-actions .ec-footer-quick-support{
  appearance:none!important;font-family:inherit!important;cursor:pointer!important;
  background:#16c66a!important;color:#fff!important;border:0!important;
  border-radius:999px!important;padding:11px 22px!important;min-height:46px!important;
  box-shadow:0 9px 22px rgba(22,198,106,.18)!important
}
.ec-footer-help-actions .ec-footer-quick-support:hover{background:#10ad5b!important;transform:translateY(-1px)}
.ec-footer-support-history{font-size:12px!important;font-weight:850!important}
@media(max-width:640px){
  .ec-footer-help-actions{align-items:stretch!important}
  .ec-footer-help-actions .ec-footer-quick-support{width:100%!important}
  .ec-footer-support-history{text-align:center!important}
}


/* Foundation 1.3.1 — unified return path from account-owned secondary pages */
.ec-dashboard-return-wrap{display:flex!important;align-items:center!important;justify-content:flex-start!important;margin-top:18px!important;margin-bottom:12px!important;position:relative;z-index:15}
.ec-dashboard-return-link{display:inline-flex!important;align-items:center!important;gap:9px!important;padding:10px 14px!important;border-radius:14px!important;border:1px solid #dfe5ef!important;background:rgba(255,255,255,.94)!important;color:#171159!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(31,45,84,.055)!important;font-size:12px!important;font-weight:850!important;transition:.16s ease!important}
.ec-dashboard-return-link:hover{transform:translateY(-1px)!important;border-color:#b9c7e9!important;box-shadow:0 12px 28px rgba(31,45,84,.08)!important}
.ec-dashboard-return-link>span{display:grid!important;place-items:center!important;width:25px!important;height:25px!important;border-radius:9px!important;background:#eef3ff!important;color:#245be8!important;font-size:14px!important}
.ec-dashboard-return-link>b{font-size:12px!important}.ec-dashboard-return-link>small{font-size:10px!important;color:#8a91a1!important;font-weight:750!important}
@media(max-width:640px){.ec-dashboard-return-wrap{margin-top:12px!important}.ec-dashboard-return-link{width:100%!important;justify-content:center!important}.ec-dashboard-return-link>small{display:none!important}}

/* Teacher flow only: useful mobile space and predictable photo geometry. */
.ec-teacher-footer .ec-shell{display:flex;flex-wrap:wrap;gap:24px;padding-block:24px}
.ec-teacher-footer a{color:inherit;font-weight:800}
.ec-teacher-hub img,.ec-teacher-owner-preview-page img{max-width:100%}
.ec-teacher-hub .ec-profile-photo-preview,.ec-teacher-owner-preview-page .ec-public-teacher-photo{aspect-ratio:1;height:auto}
.ec-teacher-hub .ec-profile-photo-preview img,.ec-teacher-owner-preview-page .ec-public-teacher-photo img{height:100%;object-fit:cover;object-position:center}
@media(max-width:600px){
 .ec-teacher-hub .ec-shell,.ec-teacher-onboarding .ec-shell,.ec-teacher-owner-preview-page .ec-shell{width:calc(100% - 24px);min-width:0}
 .ec-teacher-hub .ec-teacher-workspace,.ec-teacher-hub .ec-form-grid,.ec-teacher-hub .ec-profile-media-row{grid-template-columns:minmax(0,1fr)!important}
 .ec-teacher-hub .ec-teacher-main,.ec-teacher-onboarding form,.ec-teacher-owner-preview-page article{min-width:0;max-width:100%;overflow-wrap:anywhere}
 .ec-teacher-hub input:not([type=checkbox]):not([type=radio]),.ec-teacher-hub textarea,.ec-teacher-onboarding input:not([type=checkbox]):not([type=radio]),.ec-teacher-onboarding textarea{min-width:0;max-width:100%;font-size:16px}
 .ec-teacher-hub .ec-profile-photo-preview,.ec-teacher-owner-preview-page .ec-public-teacher-photo{width:min(100%,280px);margin-inline:auto}
 .ec-owner-preview-bar,.ec-owner-preview-next-actions{flex-wrap:wrap;gap:10px}
 .ec-owner-preview-bar a,.ec-owner-preview-next-actions a{white-space:normal}
 .ec-teacher-footer{padding-bottom:90px}
}

/* ESLCAMP Foundation 1.3.5 — Teacher mobile navigation cleanup */
@media(max-width:760px){
  .ec-teacher-footer{display:none!important}
  body:has(.ec-mobile-bottom-nav){padding-bottom:78px}
}

/* 1.10.12: owned mobile shell, fixed controls and safe-area clearance. */
.eslcamp-isolated .wd-toolbar,.eslcamp-isolated .woodmart-toolbar,
.eslcamp-isolated .wd-sticky-btn,.eslcamp-isolated .woodmart-sticky-btn,
.eslcamp-isolated .studiare-sticky-toolbar { display:none!important; }
@media(max-width:767px){
  body.eslcamp-isolated { padding-bottom:calc(92px + env(safe-area-inset-bottom,0px)); }
  .eslcamp-isolated .ec-mobile-bottom-nav { padding-bottom:env(safe-area-inset-bottom,0px); }
  .eslcamp-isolated .ecqs { bottom:calc(90px + env(safe-area-inset-bottom,0px))!important; }
}

@media(max-width:767px){.eslcamp-isolated .ecqs-panel{max-height:calc(100dvh - 180px);overflow:auto}.eslcamp-isolated .ec-booking-submit-row{scroll-margin-bottom:160px}}

/* =========================================================
   Foundation 1.3.8 — multi-role identity + compact mobile footer
   ========================================================= */
body.eslcamp-role-student,body.eslcamp-role-teacher,body.eslcamp-role-institute{--ec-active-role:var(--ec-role-color,#245BE8)}
body[class*="eslcamp-role-"] .ec-btn-primary{background:var(--ec-active-role)!important;border-color:var(--ec-active-role)!important}
body[class*="eslcamp-role-"] .ec-role-nav a.is-active,
body[class*="eslcamp-role-"] .ec-mobile-nav-item.is-active{color:var(--ec-active-role)!important}
body[class*="eslcamp-role-"] .ec-dashboard-return-link>span{background:var(--ec-role-soft,#eef3ff)!important;color:var(--ec-active-role)!important}
.ec-active-role-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:6px 9px;border-radius:999px;background:var(--ec-role-soft,#f4f7ff);color:var(--ec-active-role,#245BE8);font-size:10px;font-weight:900;border:1px solid color-mix(in srgb,var(--ec-active-role,#245BE8) 18%,#fff)}
.ec-role-switcher{position:relative;font-size:11px}
.ec-role-switcher>summary{list-style:none;cursor:pointer;font-weight:850;color:#4d5570;padding:7px 9px;border:1px solid #e0e5ee;border-radius:10px;background:#fff}
.ec-role-switcher>summary::-webkit-details-marker{display:none}
.ec-role-switcher>div{position:absolute;z-index:90;top:calc(100% + 6px);left:0;min-width:180px;padding:7px;background:#fff;border:1px solid #e1e6ef;border-radius:13px;box-shadow:0 14px 34px rgba(29,39,74,.15);display:grid;gap:4px}
.ec-role-switcher a{padding:8px 10px;border-radius:9px;color:#353b50;text-decoration:none;font-weight:800}
.ec-role-switcher a.is-active{background:var(--ec-role-soft,#eef3ff);color:var(--ec-active-role,#245BE8)}
.ec-role-switcher a.is-add{color:#6d7487;border-top:1px solid #eef0f4;margin-top:2px}

@media(max-width:760px){
  /* One compact footer language across every ESLCAMP mobile surface. */
  .ec-footer-solid{margin-top:26px!important;padding:0 0 calc(82px + env(safe-area-inset-bottom,0px))!important}
  .ec-footer-help-strip{padding:12px 14px!important;gap:10px!important;align-items:center!important;min-height:0!important}
  .ec-footer-help-strip>div:first-child{gap:8px!important;align-items:center!important}
  .ec-footer-help-strip .ec-footer-help-icon{width:30px!important;height:30px!important;min-width:30px!important;font-size:13px!important}
  .ec-footer-help-strip strong{font-size:12px!important}.ec-footer-help-strip p{display:none!important}
  .ec-footer-help-actions{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;margin:0!important}
  .ec-footer-help-actions .ec-footer-quick-support,.ec-footer-help-actions .ec-btn{width:auto!important;min-height:34px!important;padding:7px 12px!important;font-size:10px!important;box-shadow:none!important}
  .ec-footer-support-history,.ec-footer-help-actions>a:not(.ec-btn){font-size:10px!important;white-space:nowrap!important}
  .ec-footer-solid-grid{grid-template-columns:1fr!important;gap:12px!important;padding:18px 14px 10px!important}
  .ec-footer-brand-block{padding:0!important;display:grid!important;grid-template-columns:1fr auto!important;gap:6px 12px!important;align-items:center!important}
  .ec-footer-logo-large{font-size:25px!important;margin:0!important}.ec-footer-custom-logo{max-height:38px!important;width:auto!important}
  .ec-footer-brand-block>p{grid-column:1/-1!important;margin:0!important;font-size:11px!important;line-height:1.8!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;max-width:none!important}
  .ec-footer-brand-block>small{display:none!important}
  .ec-footer-social-wrap{grid-column:1/-1!important;margin:2px 0 0!important;padding:0!important;display:flex!important;align-items:center!important;gap:9px!important;flex-wrap:wrap!important}
  .ec-footer-social-wrap>b{font-size:10px!important;margin:0!important}.ec-footer-social-wrap>p{display:none!important}.ec-footer-socials{gap:6px!important;margin:0!important}
  .ec-footer-socials a,.ec-footer-socials span{width:31px!important;height:31px!important;border-radius:9px!important}.ec-footer-socials svg{width:15px!important;height:15px!important}
  .ec-footer-links-block{display:flex!important;flex-wrap:wrap!important;gap:6px!important;padding:0!important;margin:0!important}
  .ec-footer-links-block h3{width:100%!important;font-size:11px!important;margin:0 0 2px!important}.ec-footer-links-block h3:after{display:none!important}
  .ec-footer-links-block a{display:inline-flex!important;align-items:center!important;width:auto!important;margin:0!important;padding:6px 9px!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;font-size:9.5px!important;line-height:1.4!important}
  .ec-footer-links-block a:before{display:none!important}
  .ec-footer-trust-block{padding:0!important;margin:0!important}.ec-footer-trust-block h3{font-size:11px!important;margin:0 0 7px!important}.ec-footer-trust-block h3:after,.ec-footer-trust-block>p{display:none!important}
  .ec-footer-trust-badges{display:flex!important;gap:8px!important;max-width:none!important}.ec-footer-trust-badges>*{max-width:96px!important;min-height:54px!important;padding:6px!important}
  .ec-footer-solid-bottom{padding:10px 14px!important;gap:8px!important;align-items:flex-start!important;flex-direction:column!important;font-size:9px!important}
  .ec-footer-solid-bottom>div{display:flex!important;flex-wrap:wrap!important;gap:6px 10px!important}.ec-footer-solid-bottom a{font-size:9px!important}
  .ec-active-role-badge{font-size:9px;padding:5px 7px}.ec-role-switcher>summary{font-size:9px;padding:5px 7px}.ec-role-switcher>div{position:fixed;left:12px;right:12px;top:auto;bottom:calc(82px + env(safe-area-inset-bottom,0px));min-width:0}
}

/* Foundation 1.3.9-beta — compact global mobile footer and trust badges */
@media(max-width:767px){
  .ec-footer-solid{margin-top:12px!important;padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))!important;overflow:hidden!important}
  .ec-footer-help-strip{margin-bottom:12px!important;border-radius:18px!important;padding:10px 12px!important}
  .ec-footer-solid-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px 14px!important;padding:14px 14px 8px!important;align-items:start!important}
  .ec-footer-brand-block{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr auto!important;gap:5px 10px!important}
  .ec-footer-logo-large{font-size:23px!important}.ec-footer-brand-block>p{font-size:10.5px!important;line-height:1.7!important;-webkit-line-clamp:2!important;margin:0!important}.ec-footer-social-wrap{margin-top:3px!important}
  .ec-footer-links-block{display:block!important;min-width:0!important}.ec-footer-links-block h3{font-size:11px!important;margin:0 0 5px!important}.ec-footer-links-block a{display:block!important;background:transparent!important;padding:3px 0!important;border-radius:0!important;font-size:9.5px!important;line-height:1.5!important;color:#5f687b!important;white-space:normal!important}
  .ec-footer-trust-block{grid-column:1/-1!important;min-width:0!important}.ec-footer-trust-block h3{font-size:11px!important;margin:2px 0 7px!important}.ec-footer-trust-badges{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;max-width:100%!important;overflow:visible!important}
  .ec-footer-trust-badges>*{width:100%!important;max-width:none!important;min-width:0!important;height:88px!important;min-height:88px!important;padding:7px!important;margin:0!important;box-sizing:border-box!important;overflow:hidden!important}
  .ec-footer-trust-badges img{display:block!important;width:100%!important;height:100%!important;max-height:74px!important;object-fit:contain!important;margin:auto!important}
  .ec-trust-placeholder{height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
  .ec-footer-solid-bottom{padding:8px 14px 10px!important;gap:5px!important;font-size:8.5px!important}.ec-footer-solid-bottom>div{gap:4px 8px!important}.ec-footer-solid-bottom a{font-size:8.5px!important;line-height:1.5!important}
}
