/*
Theme Name: English Academy Fez — Challenge Edition
Author: The English Academy
Description: A premium homepage with an interactive 60-second word-search challenge and lead capture.
Version: 7.0.0
Text Domain: ea-challenge
*/
:root{--navy:#061d3e;--blue:#0758c9;--gold:#ffbe23;--ink:#10264a;--muted:#586a83;--line:#dce6f2;--bg:#f3f7fc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:white}a{text-decoration:none;color:inherit}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.topline{background:var(--navy);color:#cbdcf5;font-size:12px;padding:9px 0}.topline .wrap{display:flex;justify-content:space-between;gap:12px}.site-head{position:sticky;top:0;z-index:20;background:#fffefaee;backdrop-filter:blur(16px);box-shadow:0 4px 24px #071d3c13}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px}.brand img{width:220px;max-height:72px;object-fit:contain}.links{display:flex;align-items:center;gap:24px;font-weight:700;font-size:13px}.links a:hover{color:var(--blue)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:10px;padding:14px 20px;font-weight:800;font-size:14px;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#092347}.btn-blue{background:var(--blue);color:white}.btn-light{border-color:#b5c9e3;background:#fff;color:var(--navy)}.menu-toggle{display:none}.hero{background:radial-gradient(circle at 75% 10%,#164b89 0%,transparent 36%),linear-gradient(125deg,#061a38,#082d61);color:white;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:28px;align-items:center;padding:54px 0 48px}.eyebrow{display:inline-flex;align-items:center;gap:8px;letter-spacing:2px;text-transform:uppercase;font-size:11px;font-weight:800;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,5.5vw,75px);letter-spacing:-3px;line-height:1.04;margin:17px 0 19px}h1 em{font-style:normal;color:var(--gold)}.lead{font-size:17px;line-height:1.7;color:#d2e1f5;max-width:580px}.actions{display:flex;flex-wrap:wrap;gap:11px;margin:26px 0}.hero-proof{display:flex;gap:16px;flex-wrap:wrap;color:#dbe9fa;font-size:12px;font-weight:700}.hero-proof span:before{content:'✦';color:var(--gold);margin-right:7px}.hero-visual{position:relative}.hero-visual>img{width:100%;height:425px;object-fit:cover;border-radius:22px;box-shadow:0 26px 50px #0005}.float-card{position:absolute;bottom:-16px;left:-18px;background:white;color:var(--navy);padding:15px 20px;border-radius:12px;box-shadow:0 15px 40px #0004;font-size:13px;font-weight:800}.float-card b{font-size:25px;color:var(--blue);display:block}.ribbon{background:var(--gold);color:var(--navy);padding:13px 0;font-size:12px;font-weight:900;letter-spacing:.6px}.ribbon .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.section{padding:68px 0}.section.soft{background:var(--bg)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.kicker{color:var(--blue);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:900;margin-bottom:9px}h2{font-size:clamp(29px,3.4vw,44px);letter-spacing:-1.5px;line-height:1.13;margin-bottom:10px}.sub{color:var(--muted);line-height:1.65;max-width:650px}.challenge-shell{display:grid;grid-template-columns:.88fr 1.12fr;background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 22px 65px #123a6715}.challenge-info{padding:35px;background:linear-gradient(145deg,#082856,#0a4b9d);color:white}.challenge-info .kicker{color:var(--gold)}.challenge-info h2{font-size:36px}.challenge-info p{color:#d4e6ff;line-height:1.65}.offer{border:1px solid #ffffff40;background:#ffffff13;padding:18px;border-radius:14px;margin:24px 0}.offer strong{display:block;font-size:33px;color:var(--gold)}.rules{padding-left:20px;color:#e2edfc;line-height:2;font-size:13px}.challenge-game{padding:28px;min-width:0}.game-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.timer{background:#fff2c9;color:#7c4d00;padding:10px 14px;border-radius:10px;font-weight:900;font-variant-numeric:tabular-nums}.level-select{border:1px solid #cbd9ea;border-radius:8px;padding:10px;max-width:190px;width:100%}.game-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;touch-action:none;user-select:none;max-width:310px;margin:auto}.cell{aspect-ratio:1;min-width:0;border:0;border-radius:3px;background:#eaf1f9;color:#16335b;font-size:clamp(18px,2vw,25px);font-weight:800;padding:0}.cell.selected{background:#ffd46b}.cell.found{background:#1876c6;color:white}.clues{margin:15px 0;display:flex;flex-wrap:wrap;gap:6px}.clue{font-size:11px;padding:6px 9px;border-radius:20px;background:#eaf1f9;color:#365272}.clue.done{background:#d6f4e8;color:#11724e;text-decoration:line-through}.game-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.game-status{font-size:13px;color:var(--muted)}.game-status strong{color:var(--blue)}.program-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.program{background:white;border:1px solid var(--line);padding:22px 16px;border-radius:15px;transition:.2s;min-height:206px}.program:hover{transform:translateY(-4px);box-shadow:0 12px 30px #103e7220}.program .emoji{font-size:29px;margin-bottom:13px}.program h3{font-size:19px;margin:0 0 4px}.age{color:var(--blue);font-size:12px;font-weight:900;margin-bottom:12px}.program p{font-size:13px;color:var(--muted);line-height:1.6}.story{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.story-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.story-photos img{height:290px;width:100%;object-fit:cover;border-radius:14px}.story-photos img:first-child{height:340px}.story-photos img:last-child{margin-top:40px}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.benefit{padding:15px;border:1px solid var(--line);border-radius:11px}.benefit b{display:block;margin-bottom:6px}.benefit span{font-size:12px;color:var(--muted);line-height:1.5}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:center}.form-box{background:white;border:1px solid var(--line);box-shadow:0 12px 35px #0b356017;padding:25px;border-radius:16px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:12px;font-weight:800}.field input,.field select{width:100%;border:1px solid #cad7e7;border-radius:8px;padding:12px;background:white}.small{font-size:12px;color:var(--muted);line-height:1.6}.consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.5;margin:12px 0}.consent input{margin-top:3px}.success{background:#e7f7ef;border:1px solid #98d8b9;color:#11623d;padding:12px;border-radius:10px;margin-top:12px}.error{background:#fff0ec;color:#922e19;padding:12px;border-radius:10px;margin-top:12px}.footer{background:var(--navy);color:#dce8f7;padding:35px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer a{text-decoration:underline}.footer small{color:#b7c9e2}.winner-panel{background:#f0f9ef;padding:16px;border:1px solid #add9aa;border-radius:12px;margin-top:15px}.winner-panel h3{color:#1b6530}.hidden{display:none!important}@media(max-width:980px){.program-grid{grid-template-columns:repeat(3,1fr)}.links{gap:12px}.brand img{width:165px}.hero-grid{grid-template-columns:1fr 1fr}.hero-visual>img{height:360px}.challenge-shell{grid-template-columns:1fr}.challenge-info{padding:25px}.challenge-info .rules{columns:2}}@media(max-width:720px){.topline{display:none}.nav{min-height:65px}.menu-toggle{display:block;border:1px solid var(--line);background:white;border-radius:8px;padding:9px}.links{display:none;position:absolute;top:65px;left:0;right:0;background:white;box-shadow:0 15px 25px #0002;padding:20px;flex-direction:column;align-items:stretch}.links.open{display:flex}.hero-grid,.story,.contact-grid{grid-template-columns:1fr}.hero-grid{padding:38px 0}.hero-visual>img{height:270px}.float-card{left:8px}.program-grid{grid-template-columns:repeat(2,1fr)}.section{padding:48px 0}.section-head{display:block}.challenge-game{padding:15px}.game-grid{gap:1px}.cell{font-size:20px}.field-row{grid-template-columns:1fr}.story-photos img,.story-photos img:first-child{height:230px}.story-photos img:last-child{margin-top:20px}.footer-grid{display:block}.benefits{grid-template-columns:1fr 1fr}}@media(max-width:390px){.program-grid{grid-template-columns:1fr}.hero-proof{gap:8px}.challenge-info .rules{columns:1}}

/* Challenge Edition v3 enhancements */
.brand img{width:230px;max-height:72px;object-fit:contain}.nav{min-height:90px}.float-card{max-width:220px}.program{padding:0 0 17px;overflow:hidden;min-height:0}.program-image{width:100%;height:125px;object-fit:cover;background:#e8f2ff;margin-bottom:15px}.program h3,.program .age,.program p{margin-left:16px;margin-right:16px}.program p{margin-bottom:0}.contact-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin-top:18px}.map-card{display:flex;align-items:center;gap:12px;width:min(100%,440px);border:1px solid #cfdef0;background:white;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #0b356015}.map-card img{width:122px;height:90px;object-fit:cover}.map-card span{display:flex;flex-direction:column;gap:5px;padding-right:10px}.map-card small{color:#506682}.game-grid{width:100%;gap:5px}.cell{border-radius:8px}.section{padding-top:54px;padding-bottom:54px}.game-status{line-height:1.5}@media(max-width:720px){.brand img{width:190px}.nav{min-height:78px}.program-image{height:135px}.game-grid{max-width:290px}.cell{font-size:21px}}

/* Challenge V4 */
.brand img{width:310px;max-height:88px}.nav{min-height:98px}.game-grid{grid-template-columns:repeat(8,minmax(0,1fr));max-width:400px;gap:3px}.cell{font-size:clamp(14px,1.55vw,20px);border-radius:5px}.challenge-game{padding:25px}.clue{font-size:12px}.site-head .wrap{width:min(1240px,calc(100% - 30px))}@media(max-width:980px){.brand img{width:235px}}@media(max-width:720px){.brand img{width:205px;max-height:70px}.nav{min-height:78px}.game-grid{max-width:340px;gap:2px}.cell{font-size:16px}.challenge-game{padding:15px}}

/* Version 6: identity-first homepage */
.topflex,.topcontacts{display:flex;align-items:center;justify-content:space-between;gap:18px}.topcontacts a{color:white}.lang-trigger{border:1px solid #ffffff66;border-radius:7px;background:#ffffff17;color:white;padding:5px 10px}.site-head{position:relative}.nav{min-height:58px}.mini-brand{font-weight:900;letter-spacing:.09em;color:#062e64;font-size:13px}.mini-brand span{color:#c89200}.links{gap:20px}.links .btn{padding:10px 16px}
.new-hero{position:relative;min-height:510px;background:#0b2244 url('assets/lobby.jpg') center 50%/cover no-repeat;color:white}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#071b36a8 0%,#07172eb0 65%,#061b38e6 100%)}.hero-center{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:32px 0 54px;gap:12px}.hero-logo{height:auto;width:min(590px,85%);max-height:165px;object-fit:contain;filter:drop-shadow(0 7px 15px #0005)}.hero-copy{max-width:790px}.hero-kicker{font-size:12px;letter-spacing:2px;color:#ffe17d;font-weight:900}.new-hero h1{font-size:clamp(42px,5.3vw,72px);margin:8px 0 7px;letter-spacing:-2.5px;text-shadow:0 3px 12px #0006}.new-hero h1 em{color:#ffca27}.hero-second{font-weight:850;color:#ffdd70;font-size:clamp(16px,2.1vw,24px);margin:0 0 9px}.hero-description{font-size:clamp(14px,1.5vw,17px);line-height:1.55;max-width:680px;margin:0 auto;color:#f3f7ff}.hero-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}.hero-buttons .btn{box-shadow:0 5px 18px #0003}
.challenge-band{background:linear-gradient(145deg,#f2f8ff,#fff9e9);padding:36px 0 40px}.challenge-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.challenge-intro h2{margin:0}.prize-label{background:#ffcd23;border-radius:13px;color:#092b57;padding:12px 18px;display:flex;flex-direction:column;box-shadow:0 5px 15px #daa70026}.prize-label span{font-size:19px;font-weight:950}.prize-label strong{font-size:12px}.challenge-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:16px}.challenge-explain{background:#092d61;color:white;border-radius:19px;padding:24px}.challenge-icon{font-size:32px}.challenge-explain h3{font-size:25px;margin:10px 0}.challenge-explain p{font-size:14px;line-height:1.65;color:#dce8fa}.challenge-stat-row{display:flex;justify-content:space-between;gap:10px;margin:18px 0}.challenge-stat-row span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:23px;color:#ffcd23}.challenge-stat-row b{font-size:19px;color:white}.challenge-stat-row small{font-size:11px;color:#d9e9ff}.challenge-explain .offer-small{font-size:11px}.challenge-game{background:white;border:1px solid #dbe8f4;border-radius:19px;padding:20px;box-shadow:0 15px 35px #06264a12}.puzzle-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.78fr);gap:20px;align-items:center;margin:14px 0}.game-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important;max-width:340px;gap:3px}.cell{font-size:clamp(13px,1.5vw,20px);border-radius:5px}.clue-panel{align-self:stretch;background:#f2f7fe;border-radius:13px;padding:13px}.clue-panel>b{font-size:13px}.clues{display:flex;flex-direction:column;align-items:stretch;gap:6px}.clue{font-size:12px;border-radius:7px}.game-foot .btn{padding:12px 14px}.timer{background:#0c3977;color:white;font-size:19px}
.programmes-section{padding:42px 0 48px;background:#fff}.section-heading{text-align:center;margin-bottom:22px}.section-heading h2{margin:3px 0}.section-heading p{color:#61728a;margin:0}.new-program-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.new-program{overflow:hidden;background:white;border:1px solid #dbe5f1;border-radius:15px;box-shadow:0 10px 30px #0d33510d}.new-program img{height:156px;width:100%;object-fit:cover}.program-content{padding:15px 13px 17px;text-align:center}.program-content h3{font-size:20px;margin:0 0 4px}.program-content .age{font-size:13px;margin:0 0 7px}.program-content p{font-size:12px;line-height:1.5;color:#566b85;min-height:55px;margin:0 0 12px}.program-content a{display:block;background:#e6f2ff;border-radius:8px;padding:10px;font-size:12px;font-weight:900;color:#063c82}.new-program:nth-child(even) .program-content a{background:#fff1b8}
.academy-section{background:#edf5ff;padding:42px 0}.academy-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}.academy-layout>img{height:290px;width:100%;object-fit:cover;object-position:center 60%;border-radius:16px}.academy-layout p{line-height:1.65;color:#556980}.feature-tags{display:grid;grid-template-columns:1fr 1fr;gap:9px}.feature-tags span{padding:10px 12px;background:white;border-radius:9px;font-size:13px;font-weight:700}
.location-section{display:grid;grid-template-columns:34% 66%;min-height:365px}.location-details{background:#082954;color:white;display:flex;justify-content:flex-end}.location-content{width:min(390px,100%);padding:36px 28px}.location-content h2{margin-bottom:20px}.location-content p{line-height:1.65;color:#e1edff}.location-content .btn{font-size:12px;padding:12px}.location-map iframe{display:block;width:100%;height:100%;min-height:365px;border:0}.contact-section{padding:42px 0;background:#f5f9ff}.contact-section .contact-grid{align-items:start}.contact-section .contact-grid>div:first-child{padding-top:25px}.contact-section .contact-grid p{color:#546a83;line-height:1.6}.ea-hp{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}
.language-backdrop{position:fixed;inset:0;background:#06152ccc;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.language-dialog{background:white;border-radius:20px;padding:28px;max-width:490px;width:100%;text-align:center;box-shadow:0 20px 80px #0006}.modal-logo{width:260px;height:110px;object-fit:contain;margin:0 auto}.language-dialog h2{font-size:24px;letter-spacing:-.5px}.language-dialog p{font-size:13px;color:#586a83}.lang-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.lang-options button{background:#f2f7ff;border:1px solid #c8d8ed;border-radius:10px;padding:15px 4px;font-weight:800}.lang-options button:hover{background:#ffe4a0}
@media(max-width:980px){.new-program-grid{grid-template-columns:repeat(3,1fr)}.challenge-layout{grid-template-columns:1fr}.new-hero{min-height:440px}.topflex{flex-wrap:wrap}.location-section{grid-template-columns:40% 60%}}
@media(max-width:720px){.topline{display:block}.topflex{flex-direction:column;align-items:center;gap:5px}.topcontacts{gap:12px;flex-wrap:wrap;justify-content:center}.mini-brand{font-size:11px}.new-hero{min-height:0}.hero-center{padding:24px 0 42px}.hero-logo{width:min(95%,430px);max-height:135px}.new-hero h1{font-size:43px}.hero-description{font-size:14px}.challenge-intro{flex-direction:column;align-items:flex-start}.puzzle-zone{grid-template-columns:1fr}.clues{display:grid;grid-template-columns:repeat(2,1fr)}.game-grid{max-width:340px}.new-program-grid{grid-template-columns:repeat(2,1fr)}.academy-layout,.location-section{grid-template-columns:1fr}.academy-layout>img{height:250px}.location-details{justify-content:center}.location-content{width:100%;padding:28px}.location-map iframe{min-height:300px}.program-content p{min-height:0}.feature-tags{grid-template-columns:1fr 1fr}}
@media(max-width:410px){.new-program-grid{grid-template-columns:1fr 1fr;gap:8px}.new-program img{height:110px}.program-content{padding:12px 8px}.program-content h3{font-size:17px}.challenge-game{padding:12px}.game-grid{gap:2px}.lang-options{gap:5px}.language-dialog{padding:16px}}

/* V8: Spotlight Instagram feed section */
.instagram-section{padding:68px 0 76px;background:#f6f9fd}
.instagram-section .section-heading{margin-bottom:30px;text-align:center}
.instagram-section .section-heading h2 span{color:#1167b1}
.academy-instagram-feed{max-width:1120px;margin:0 auto;min-height:160px}
.academy-instagram-fallback{text-align:center;padding:40px 18px;background:white;border-radius:16px}
.instagram-follow{text-align:center;margin-top:26px}
@media(max-width:680px){.instagram-section{padding:44px 0 52px}.instagram-section .section-heading{margin-bottom:20px}}
