: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}}
