/* Learning English Academy — modern, conversion-focused UI */
:root{
  --blue:#1b4f9c; --blue-600:#163f7d; --blue-050:#eaf1fb;
  --green:#1f9d6b; --green-600:#17835a; --green-050:#e9f7f0;
  --amber:#ffb020; --amber-600:#e69a00;
  --ink:#16233b; --body:#41506a; --muted:#6a7891;
  --line:#e5eaf1; --bg:#fff; --soft:#f5f8fc; --tint:#eef4fb;
  --ok:#17835a; --ok-bg:#e9f7f0; --err:#c72820; --err-bg:#fdeceb;
  --r:14px; --r-sm:9px; --r-lg:22px; --pill:999px;
  --sh:0 6px 20px rgba(22,35,59,.10); --sh-sm:0 1px 3px rgba(22,35,59,.10);
  --wrap:1140px;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --accent:var(--blue); --accent-600:var(--blue-600); --accent-050:var(--blue-050);
}
.accent-blue{--accent:var(--blue);--accent-600:var(--blue-600);--accent-050:var(--blue-050)}
.accent-green{--accent:var(--green);--accent-600:var(--green-600);--accent-050:var(--green-050)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--sans);color:var(--body);background:var(--bg);line-height:1.6;font-size:1.02rem;-webkit-font-smoothing:antialiased}
img,svg,iframe{max-width:100%}
h1,h2,h3{color:var(--ink);line-height:1.15;font-weight:800;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,1.3rem+3vw,3.1rem)} h2{font-size:clamp(1.5rem,1.1rem+1.8vw,2.1rem)} h3{font-size:1.15rem}
p{margin:0 0 1rem} a{color:var(--blue-600);text-decoration:none} a:hover{text-decoration:underline}
ul{margin:0;padding:0;list-style:none} address{font-style:normal}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.wrap--narrow{max-width:820px} .wrap--form{max-width:840px}
.section{padding-block:clamp(2.4rem,6vw,4.4rem)}
.section--tint{background:var(--soft)}
.sec__title{font-size:clamp(1.5rem,1.1rem+1.8vw,2.1rem)}
.sec__lead{color:var(--muted);font-size:1.15rem;max-width:56ch}
.center{text-align:center}.center .sec__lead{margin-inline:auto}
.muted{color:var(--muted)} .small{font-size:.85rem} .req{color:var(--err)}
.lead{font-size:1.18rem;color:var(--body);max-width:60ch}
.eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;color:var(--accent-600);background:var(--accent-050);padding:.35rem .8rem;border-radius:var(--pill);margin:0 0 .8rem}
.hl{color:var(--green)}
.note{display:flex;gap:.5rem;align-items:flex-start;background:var(--soft);border:1px solid var(--line);border-radius:var(--r-sm);padding:.8rem 1rem;font-size:.9rem;color:var(--muted)}
.note .icon{color:var(--blue);flex:none;margin-top:.1rem}
.icon{width:1.4em;height:1.4em;flex:none;vertical-align:middle}.icon--sm{width:1.05em;height:1.05em}
.skip{position:absolute;left:.5rem;top:-3rem;background:var(--ink);color:#fff;padding:.5rem 1rem;border-radius:0 0 8px 8px;z-index:200;transition:top .15s}.skip:focus{top:0}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:4px}
.accentbar{height:5px;background:linear-gradient(90deg,var(--blue) 0 40%,var(--green) 40% 75%,var(--amber) 75% 100%)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;font-size:1rem;padding:.8rem 1.4rem;border-radius:var(--r-sm);border:2px solid transparent;cursor:pointer;text-decoration:none;transition:transform .1s,background .15s,box-shadow .15s;white-space:nowrap}
.btn:hover{text-decoration:none;transform:translateY(-1px);box-shadow:var(--sh-sm)}
.btn--primary{background:var(--amber);color:#3a2a00;border-color:var(--amber)}
.btn--primary:hover{background:var(--amber-600);border-color:var(--amber-600)}
.btn--ghost{background:#fff;color:var(--ink);border-color:#cdd6e2}.btn--ghost:hover{border-color:var(--ink);background:var(--soft)}
.btn--lg{padding:.95rem 1.7rem;font-size:1.08rem}.btn--sm{padding:.55rem 1rem;font-size:.9rem}.btn--block{width:100%}
.cta-band .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.cta-band .btn--ghost:hover{background:#fff;color:var(--ink)}

/* announce + header */
.announce{background:var(--ink);color:#d6e0ef;font-size:.88rem}
.announce__in{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding-block:.5rem}
.announce__in span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.announce a{color:#fff;font-weight:700;display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.hd{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line)}
.hd__in{display:flex;align-items:center;gap:1rem;min-height:70px}
.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--ink)}.brand:hover{text-decoration:none}
.brand__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--blue);color:#fff}
.brand__mark .icon{width:24px;height:24px}
.brand__txt{display:flex;flex-direction:column;line-height:1.05}
.brand__txt b{font-size:1.05rem;color:var(--ink)}.brand__txt small{font-size:.62rem;letter-spacing:.18em;color:var(--green-600);font-weight:700}
.nav{margin-left:auto;display:flex;align-items:center;gap:.4rem}
.nav__x{display:none}
.nav ul{display:flex;align-items:center;gap:.2rem}
.nav a{color:var(--ink);font-weight:600;padding:.5rem .8rem;border-radius:var(--pill)}
.nav a:hover{background:var(--soft);text-decoration:none}
.nav a[aria-current=page]{color:var(--blue-600)}
.nav__cta{margin-left:.4rem}
.hd__call,.burger{display:none}
@media(max-width:900px){
  .hd__call{display:inline-grid;place-items:center;width:44px;height:44px;margin-left:auto;border-radius:10px;background:var(--green);color:#fff}
  .burger{display:inline-grid;gap:4px;place-items:center;width:46px;height:46px;background:var(--blue);border:0;border-radius:10px;cursor:pointer}
  .burger span{width:22px;height:3px;background:#fff;border-radius:3px}
  .nav{position:fixed;inset:0;background:#fff;transform:translateY(-100%);transition:transform .25s;z-index:200;flex-direction:column;justify-content:flex-start;padding:4rem 1.5rem 2rem;gap:1rem;margin:0}
  .nav.open{transform:translateY(0)}
  .nav ul{flex-direction:column;align-items:stretch;width:100%;gap:.3rem}
  .nav a{padding:.9rem;border:1px solid var(--line);border-radius:10px;font-size:1.1rem}
  .nav__cta{width:100%}
  .nav__x{display:grid;place-items:center;position:absolute;top:1rem;right:1rem;width:44px;height:44px;background:var(--soft);border:0;border-radius:10px;font-size:1.6rem;cursor:pointer}
}

/* flash */
.flash{border-block:1px solid}
.flash--ok{background:var(--ok-bg);border-color:#bfe6d3;color:var(--ok)}
.flash--err{background:var(--err-bg);border-color:#f3c9c5;color:var(--err)}
.flash__in{display:flex;gap:.7rem;align-items:center;padding-block:.9rem}
.flash__in p{margin:0}

/* hero */
.hero{background:radial-gradient(1000px 500px at 85% -10%,var(--blue-050),transparent 60%),linear-gradient(180deg,#fff,var(--soft))}
.hero__in{display:grid;gap:2rem;padding-block:clamp(2rem,5vw,3.4rem);align-items:center}
.ticks{display:grid;gap:.5rem;margin-top:1.3rem}
.ticks li{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--ink)}
.ticks .icon{color:var(--green)}
.ticks--row{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1rem}
.hero__btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}
@media(min-width:920px){.hero__in{grid-template-columns:1.05fr .95fr;gap:3rem}}

/* card + forms */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:clamp(1.2rem,3vw,1.8rem)}
.card__title{font-size:1.25rem;margin-bottom:.2rem}.card__sub{color:var(--muted);margin-bottom:1rem}
.card--form{box-shadow:var(--sh)}
.fld{margin-bottom:.9rem;display:flex;flex-direction:column}
.fld-row{display:grid;gap:0 1rem;grid-template-columns:1fr}
.fld label,.fs legend{font-weight:700;font-size:.9rem;color:var(--ink);margin-bottom:.35rem}
.fld input,.fld select,.fld textarea{font:inherit;color:var(--ink);width:100%;padding:.7rem .8rem;border:2px solid var(--line);border-radius:var(--r-sm);background:#fff}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-050)}
.fld textarea{resize:vertical;min-height:80px}
.fld__err{color:var(--err);font-size:.82rem;margin:.3rem 0 0;font-weight:600}
.fld__note{color:var(--muted);font-size:.82rem;margin:.5rem 0 0}
.chk{display:flex;gap:.5rem;align-items:flex-start;font-size:.92rem;margin:.4rem 0}
.chk input{margin-top:.25rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lead button,.appform__submit{margin-top:.4rem}
@media(min-width:560px){.fld-row{grid-template-columns:1fr 1fr}.fld-row--3{grid-template-columns:1fr 1fr 1fr}}
.formalert{padding:.7rem 1rem;border-radius:var(--r-sm);font-weight:600;margin-bottom:1rem}
.formalert--err{background:var(--err-bg);color:var(--err);border:1px solid #f3c9c5}

/* application fieldsets */
.appform .fs{border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;margin-bottom:1.1rem}
.appform legend{padding:0 .4rem;color:var(--blue-600);font-size:1rem}
.fs--elig{background:var(--green-050);border-color:#c7e8d7}
.pickcards{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
@media(min-width:680px){.pickcards{grid-template-columns:repeat(4,1fr)}}
.pick{cursor:pointer}
.pick input{position:absolute;opacity:0}
.pick__b{display:flex;flex-direction:column;gap:.3rem;height:100%;padding:.9rem;border:2px solid var(--line);border-radius:var(--r-sm);background:#fff;transition:.12s}
.pick__ic{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--blue-050);color:var(--blue-600)}
.pick b{color:var(--ink);font-size:.95rem}.pick small{color:var(--muted);font-size:.8rem}
.pick input:checked + .pick__b{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-050)}
.pick input:focus-visible + .pick__b{outline:3px solid var(--amber)}
.appform__submit{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}

/* program cards (home) */
.progcards{display:grid;gap:1.2rem;grid-template-columns:1fr;margin-top:2rem}
@media(min-width:760px){.progcards{grid-template-columns:repeat(3,1fr)}}
.progcard{display:flex;flex-direction:column;gap:.5rem;background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--r);padding:1.4rem;color:var(--ink);box-shadow:var(--sh-sm);transition:.12s}
.progcard:hover{text-decoration:none;transform:translateY(-4px);box-shadow:var(--sh)}
.progcard__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--accent-050);color:var(--accent-600)}
.progcard__ic .icon{width:28px;height:28px}
.progcard p{color:var(--muted);margin:0;flex:1}
.badge{display:inline-block;align-self:flex-start;background:var(--accent-050);color:var(--accent-600);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .55rem;border-radius:var(--pill)}
.progcard__go{margin-top:.4rem;font-weight:700;color:var(--accent-600);display:inline-flex;align-items:center;gap:.3rem}

/* feats + steps */
.feats{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:2rem}
@media(min-width:640px){.feats{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.feats{grid-template-columns:repeat(4,1fr)}.feats--3{grid-template-columns:repeat(3,1fr)}}
.feat{display:flex;gap:.9rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem}
.feat--card{flex-direction:column;text-align:left}
.feat__ic{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:12px;background:var(--blue-050);color:var(--blue-600)}
.feat h3{margin:0 0 .2rem;font-size:1.05rem}.feat p{margin:0;color:var(--muted);font-size:.92rem}
.steps{display:grid;gap:1.2rem;grid-template-columns:1fr;margin-top:2rem}
@media(min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;text-align:center}
.step__n{display:grid;place-items:center;width:44px;height:44px;margin:0 auto .7rem;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:1.1rem}
.step h3{margin:0 0 .3rem}.step p{margin:0;color:var(--muted)}

/* faq */
.faq{margin-top:1.5rem;display:grid;gap:.6rem}
.faq__i{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 1.1rem}
.faq__i[open]{border-color:var(--blue)}
.faq__i summary{cursor:pointer;font-weight:700;color:var(--ink);padding:1rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq__i summary::-webkit-details-marker{display:none}
.faq__i summary::after{content:"+";color:#fff;background:var(--blue);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none}
.faq__i[open] summary::after{content:"–"}
.faq__i>div{padding-bottom:1rem;color:var(--body)}.faq__i p{margin:0}

/* pagehead */
.pagehead{background:linear-gradient(180deg,var(--accent-050),#fff);padding-block:clamp(2rem,5vw,3.2rem);border-bottom:1px solid var(--line)}
.pagehead__ic{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--accent);color:#fff;margin-bottom:.8rem}
.pagehead .lead{color:var(--body)}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:.8rem}.crumbs a{color:var(--accent-600)}
.err404{font-size:clamp(3.5rem,10vw,6rem);font-weight:900;margin:0;background:linear-gradient(90deg,var(--blue),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent}

/* programs list + detail */
.proglist{display:grid;gap:1.2rem}
.prow{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:var(--r);padding:1.4rem}
.prow__ic{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:var(--accent-050);color:var(--accent-600)}
.prow__ic .icon{width:30px;height:30px}
.prow h2{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.prow__fmt{color:var(--muted);font-size:.9rem;display:flex;align-items:center;gap:.4rem}
.prow__btns{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
.prog{display:grid;gap:2rem}
@media(min-width:960px){.prog{grid-template-columns:1.5fr .9fr;align-items:start}}
.prog__main h2{margin-top:1.6em}.prog__main h2:first-child{margin-top:0}
.prog__fmt{color:var(--muted);display:inline-flex;align-items:center;gap:.4rem}
.ticklist{display:grid;gap:.5rem}.ticklist li{display:flex;gap:.5rem;align-items:flex-start}.ticklist .icon{color:var(--green);margin-top:.15rem}
.bullets{display:grid;gap:.4rem}.bullets li{position:relative;padding-left:1.2rem}
.bullets li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.prog__aside .card{position:sticky;top:90px}

/* contact */
.contact{display:grid;gap:2.5rem}
@media(min-width:900px){.contact{grid-template-columns:1fr 1fr;align-items:start}}
.cinfo{display:grid;gap:1.3rem}
.cinfo li{display:flex;gap:1rem}
.cinfo__ic{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:12px;background:var(--blue-050);color:var(--blue-600)}
.cinfo b{display:block;color:var(--ink)}
.cinfo__big{font-size:1.3rem;font-weight:800;color:var(--blue-600)}
.cinfo__row{display:flex;justify-content:space-between;gap:1.5rem;max-width:280px;font-size:.92rem}
.cinfo__row span:first-child{color:var(--muted)}
.prose p{max-width:70ch}.prose h2{margin-top:1.8em}

/* cta band */
.cta-band{background:linear-gradient(120deg,var(--blue),var(--green));color:#fff}
.cta-band__in{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;align-items:center;padding-block:clamp(2rem,4vw,3rem)}
.cta-band h2{color:#fff;margin:0} .cta-band p{color:rgba(255,255,255,.9);margin:.3rem 0 0}
.cta-band__btns{display:flex;flex-wrap:wrap;gap:.8rem}

/* footer */
.ft{background:var(--soft);border-top:1px solid var(--line)}
.ft__grid{display:grid;gap:2rem;padding-block:clamp(2rem,5vw,3rem)}
@media(min-width:720px){.ft__grid{grid-template-columns:1.6fr 1fr 1fr 1.3fr}}
.ft h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);margin:0 0 .8rem}
.ft ul{display:grid;gap:.4rem}.ft a{color:var(--body)}.ft a:hover{color:var(--blue-600)}
.ft__blurb{color:var(--muted);max-width:34ch;margin-top:1rem}
.ft__contact a,.ft__contact li{display:flex;align-items:center;gap:.5rem}
.ft__contact .icon{color:var(--green)}
.brand--ft .brand__mark{background:var(--blue)}
.ft__bottom{border-top:1px solid var(--line)}
.ft__bottom-in{padding-block:1rem;font-size:.85rem;color:var(--muted)}
.ft__bottom p{margin:.2rem 0}.ft__disc{font-size:.78rem}

/* mobile sticky cta */
.mobcta{position:fixed;bottom:0;left:0;right:0;z-index:90;display:none;gap:.5rem;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08);padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}
.mobcta__b{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem;border-radius:var(--pill);font-weight:800}
.mobcta__call{background:var(--green);color:#fff}.mobcta__go{background:var(--amber);color:#3a2a00}
.mobcta__b:hover{text-decoration:none}
@media(max-width:760px){.mobcta{display:flex}body{padding-bottom:66px}}

/* real logo + visit section (restored original brand assets) */
.brand__logo{height:46px;width:auto;display:block}
.brand__logo--ft{height:52px}
@media(max-width:520px){.brand__logo{height:38px}}
.visit{display:grid;gap:2rem;align-items:center}
.visit__photo img{width:100%;height:auto;border-radius:var(--r-lg);box-shadow:var(--sh);border:1px solid var(--line);object-fit:cover}
@media(min-width:860px){.visit{grid-template-columns:1fr 1fr}}

/* program/about images */
.progcard{overflow:hidden}
.progcard__img{margin:-1.4rem -1.4rem 1rem;overflow:hidden}
.progcard__img img{width:100%;height:172px;object-fit:cover;display:block;transition:transform .3s}
.progcard:hover .progcard__img img{transform:scale(1.05)}
.prow{grid-template-columns:1fr}
.prow__photo img{width:100%;height:100%;min-height:190px;max-height:260px;object-fit:cover;border-radius:var(--r-sm);display:block}
.prow__ic-sm .icon{color:var(--accent-600);vertical-align:-3px}
@media(min-width:700px){.prow{grid-template-columns:280px 1fr}}
.proghead{display:grid;gap:2rem;align-items:center}
.proghead__photo img{width:100%;height:auto;border-radius:var(--r-lg);box-shadow:var(--sh);object-fit:cover;display:block}
@media(min-width:900px){.proghead{grid-template-columns:1.1fr .9fr}}
