/* WinStar English shared visual system. Existing page URLs and interactions are retained. */
:root{--navy:#102b50;--blue:#2364e8;--gold:#f4c76b;--ink:#172d4a;--muted:#61718a;--line:#e2e8f1;--paper:#fbfaf7;--radius:20px}
html{scroll-padding-top:100px;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-size:16px;line-height:1.8;text-align:left}
*{text-align:inherit}
h1,h2,h3,h4{line-height:1.4;letter-spacing:-.025em}
p{line-height:1.85}
img{max-width:100%}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.container{max-width:1200px;padding:0 36px}
section{padding:96px 0;scroll-margin-top:10px}
header{background:rgba(251,250,247,.97);color:var(--navy);padding:19px 0;border-bottom:1px solid var(--line);box-shadow:none;backdrop-filter:blur(16px)}
.header-container{gap:30px}
.logo{font-size:24px;letter-spacing:-1px;white-space:nowrap;gap:10px}
.logo i{display:none}
.logo:before{display:none}
.logo .brand-logo{display:block;width:60px;height:40px;object-fit:contain;border-radius:9px;flex-shrink:0}
.logo span{color:var(--navy)}
.logo .highlight{color:var(--blue);font-weight:500}
nav ul{align-items:center;gap:24px}
nav li{margin:0}
nav a{color:#475b75;font-size:14px;white-space:nowrap}
nav a:hover{color:var(--blue)}
nav li:last-child a{display:inline-flex;padding:9px 17px;background:var(--navy);color:#fff;border-radius:9px}
nav li:last-child a:hover{background:var(--blue)}
.mobile-menu-btn{color:var(--navy);min-width:44px;min-height:44px}
.btn{background:var(--blue);border-radius:10px;padding:15px 25px;font-size:15px;font-weight:600;box-shadow:0 7px 18px #2364e821;text-align:center}
.btn:hover{background:#174db9;box-shadow:0 10px 24px #2364e82b}
.btn span{margin-left:24px}
.hero{background:var(--paper);color:var(--ink);padding:80px 0 90px;position:relative;overflow:hidden}
.hero-layout{display:grid;grid-template-columns:1.14fr 1fr;gap:44px;align-items:center}
.hero-copy{text-align:left}
.hero .eyebrow,.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--blue);text-transform:uppercase;margin:0 0 25px;display:flex;align-items:center;gap:9px}
.eyebrow>span:first-child{width:7px;height:7px;border-radius:50%;background:var(--blue)}
.hero h1{font-size:clamp(38px,4.2vw,60px);line-height:1.25;color:var(--navy);font-weight:750;margin:0 0 26px;letter-spacing:-2px;text-shadow:none}
.hero h1>span{color:var(--blue)}
.hero .hero-description{color:var(--muted);font-size:16px;line-height:1.9;margin:0 0 32px;max-width:none}
.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}
.text-link{font-size:14px;color:var(--navy);text-decoration:none;font-weight:600}
.text-link span{margin-left:9px}
.text-link:hover{color:var(--blue)}
.hero-points{display:flex;gap:22px;border-top:1px solid #dce2e9;margin-top:38px;padding-top:22px;color:#61718a;font-size:11px;font-weight:600;letter-spacing:.3px}
.learning-visual{height:460px;position:relative;border-radius:140px 24px 24px 24px;background:#eaf0fa;isolation:isolate}
.visual-orbit{position:absolute;inset:45px 32px;border:1px solid #c6d5ee;border-radius:50%;transform:rotate(-23deg)}
.visual-orbit:after{content:'';position:absolute;inset:27px -20px;border:1px dashed #c6d5ee;border-radius:50%}
.visual-center{position:absolute;inset:62px 44px 53px 60px;background:var(--navy);color:white;border-radius:22px;padding:30px 35px;transform:rotate(-5deg);box-shadow:0 20px 30px #102b501f;text-align:left}
.visual-kicker{font-size:9px;letter-spacing:2px;color:#c1cfe3}
.visual-center strong{display:block;font-family:Georgia,serif;font-size:53px;line-height:1.06;margin:17px 0 20px;letter-spacing:-1.5px}
.visual-center em{color:var(--gold);font-weight:400}
.visual-caption{font-size:12px;color:#c1cfe3}
.visual-spark{position:absolute;right:28px;top:4px;font-size:62px;color:#d4a74c;z-index:3;transform:rotate(12deg)}
.speech{position:absolute;z-index:2;background:#fff;padding:15px 20px;border-radius:14px;box-shadow:0 12px 35px #102b5012;font-size:19px;font-weight:700;color:var(--navy)}
.speech span{display:block;font-size:10px;color:var(--muted);font-weight:400;letter-spacing:1px;margin-top:2px}
.speech-one{top:19px;left:10px;transform:rotate(-5deg)}
.speech-two{right:-9px;bottom:91px;transform:rotate(5deg);min-width:180px}
.speech .live-dot{display:inline-block;background:#45ae84;width:8px;height:8px;border-radius:50%;margin-right:7px}
.visual-path{position:absolute;bottom:18px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;font-weight:600;color:#547299}
.visual-path span{padding:5px 11px;background:#fff;border:1px solid #dce4f1;border-radius:6px}
.visual-path i{font-style:normal}
.section-title,.company-header,.curriculum-intro,.teacher-intro{margin-bottom:44px;text-align:center}
.section-title h2,.company-header h2,.curriculum-intro h2,.teacher-intro h2{font-size:32px;color:var(--navy);margin-bottom:18px}
.section-title h2:after,.company-header h2:after{background:var(--gold);height:3px;width:35px;bottom:-9px}
.section-title p,.company-header p,.curriculum-intro p,.teacher-intro p{color:var(--muted);font-size:15px;max-width:720px;margin-left:auto;margin-right:auto}
.company-section{background:white;border-top:1px solid var(--line)}
.company-content{display:grid;grid-template-columns:1.45fr 1fr;gap:60px;align-items:center}
.company-text{min-width:0}
.company-text .eyebrow{font-size:11px;color:var(--blue);margin-bottom:14px;line-height:1.6}
.company-text h3{font-size:29px;color:var(--navy);margin-bottom:20px}
.company-text p{font-size:14px;line-height:1.95;color:var(--muted);text-align:left}
.company-stats{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:27px}
.stat-item{border:0;border-radius:0;background:transparent;padding:0 8px 0 0;text-align:left}
.stat-number{color:var(--navy);font-size:29px;font-family:Georgia,serif;font-weight:700;margin:0}
.stat-label{font-size:11px;color:var(--muted)}
.company-logo-container{background:var(--paper);border:1px solid #eee9df;min-height:320px;height:auto;padding:35px 23px;margin:0;border-radius:24px;gap:9px;text-align:center}
.brand-mascot{display:block;width:220px;height:auto;object-fit:contain;border-radius:16px;margin-bottom:10px}
.company-logo-text{font-size:30px;color:var(--navy);margin:0;letter-spacing:-1px}
.company-logo-text span{color:var(--blue);font-weight:400}
.brand-motto{font-family:Georgia,serif;color:var(--muted);font-size:16px;font-style:italic}
.company-logo-subtext{font-size:12px;color:var(--muted)}
.brand-tags{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap;justify-content:center}
.brand-tags span{font-size:10px;padding:4px 10px;background:white;border:1px solid #e7e2d9;border-radius:6px;color:#758094}
.curriculum-section,.testimonials,.standards-section{background:var(--paper)}
.cefr-table-container{background:var(--navy);border-radius:var(--radius);box-shadow:none;margin-bottom:45px}
.cefr-table-header{background:var(--navy);padding:27px;text-align:left}
.cefr-table-header h3{font-size:21px;color:white}
.cefr-table-header p{color:#c2d0e3;opacity:1;font-size:12px}
.cefr-level:nth-child(n){background:#19375e;border-right:1px solid #345071;padding:25px 12px;text-align:center}
.cefr-level:nth-child(even){background:#234772}
.cefr-level h4{font-size:23px}
.cefr-level .level-subtitle{color:var(--gold);font-size:11px;min-height:36px}
.cefr-level .level-desc{font-size:11px;line-height:1.6;color:#d7e3f1;opacity:1}
.cefr-explanation-title h3{color:var(--navy);font-size:24px}
.cefr-explanation-title p{font-size:14px;color:var(--muted)}
.cefr-levels-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cefr-level-card{border:1px solid var(--line);border-left:1px solid var(--line);border-radius:16px;padding:25px;box-shadow:none;text-align:left}
.cefr-level-card h4{font-size:16px;color:var(--navy);gap:5px}
.cefr-level-card h4 span{background:#eaf0fd;color:var(--blue);border-radius:9px;width:37px;height:37px;font-size:13px}
.cefr-level-card p{font-size:13px;color:var(--muted);line-height:1.9}
.ph-teachers{background:white}
.ph-teachers-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.teacher-profile{padding:28px;flex-direction:row;gap:21px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;text-align:left;align-items:flex-start}
.teacher-photo-container{margin:0;flex:0 0 130px;min-width:0}
.teacher-profile .teacher-photo{width:82px;height:100px;border:0;border-radius:13px;box-shadow:none;margin:0}
.teacher-name,.teacher-profile .teacher-name{text-align:left;font-size:17px;color:var(--navy);margin-bottom:7px}
.teacher-experience,.teacher-profile .teacher-experience{text-align:left;color:var(--blue);font-size:11px;line-height:1.7}
.teacher-info{min-width:0}
.teacher-info>p{font-size:12px;line-height:1.9;color:var(--muted);text-align:left}
.teacher-quote{font-size:11px;line-height:1.85;background:#f5f7fb;border:0;padding:13px;border-radius:10px;color:#6a7c95;text-align:left}
.testimonials-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.testimonial-card{padding:32px 26px 25px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;text-align:left;display:flex;flex-direction:column}
.testimonial-card:before{color:var(--blue);opacity:.18;top:0;left:20px;font-size:56px}
.testimonial-content{font-size:13px;font-style:normal;line-height:2;color:var(--muted);position:relative;flex:1}
.testimonial-author{padding-top:18px;border-top:1px solid var(--line)}
.author-info h4,.author-info p{text-align:left}
.appointment{background:var(--navy);color:white;padding:70px 0;text-align:center}
.appointment h2{font-size:35px;color:white;margin-bottom:17px}
.appointment p{color:#c3d1e3;font-size:15px;margin:0 auto 27px;max-width:700px}
.appointment .btn{background:var(--gold);color:var(--navy);box-shadow:none}
.appointment .btn:hover{background:#ffdb91}
#contact-form{background:white}
#contact-form .section-title{margin:0}
.qr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:930px;margin:38px auto 0}
.qr-card{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:white;text-align:center}
.qr-card img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 18px;max-width:240px}
.qr-card figcaption strong,.qr-card figcaption span{display:block}
.qr-card figcaption strong{font-size:15px;color:var(--navy)}
.qr-card figcaption span{font-size:12px;color:var(--muted);margin-top:4px}
footer{background:#0b2343;color:#b7c4d8;padding:65px 0 24px;text-align:left}
.footer-content{grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:35px;margin-bottom:40px}
.footer-column,.footer-column:nth-child(n),.footer-column p,.footer-column li{text-align:left}
.footer-column h3{color:#fff;font-size:15px;margin-bottom:20px}
.footer-column p,.footer-links a,.contact-info p{color:#b7c4d8;font-size:12px;line-height:1.9}
.footer-links li{margin-bottom:9px}
.footer-links a:hover{color:var(--gold)}
.social-links a{background:#1b3555;color:#b7c4d8;width:32px;height:32px;font-size:14px;display:inline-flex;align-items:center;justify-content:center}
.copyright{border-top:1px solid #29405f;padding-top:22px;color:#a4b5cc;font-size:11px;text-align:center}
.copyright p{font-size:11px}
.page-header{background:var(--navy);padding:64px 0 49px;text-align:center}
.page-header h1{font-size:40px;color:white;letter-spacing:-1px}
.page-header p{color:#cedaeb;font-size:15px;margin-top:12px}
.breadcrumbs{margin-top:23px;color:#cedaeb;font-size:12px}
.breadcrumbs a{color:var(--gold)}
.qualifications-grid,.teachers-grid{gap:24px}
.standards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.qualification-card,.certificate-card,.teacher-card,.standard-card,.video-card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:none;padding:30px;background:white}
.qualification-card h3,.certificate-card h4,.standard-card h4{color:var(--navy);font-size:18px}
.qualification-card p,.certificate-card p,.standard-card p{font-size:14px;color:var(--muted);line-height:1.9}
.qualification-icon,.certificate-icon,.standard-icon{color:var(--blue);font-size:30px;margin-bottom:18px}
.teacher-card .teacher-photo{border:4px solid #edf2fa;box-shadow:none}
.teacher-card h3{font-size:21px;color:var(--navy)}
.teacher-card .teacher-experience{text-align:center}
.teacher-bio{text-align:left;color:var(--muted);font-size:13px;line-height:1.9}
.certificate-badge{background:#edf2fc;color:#2b58a2;font-size:11px;border-radius:6px}
.process-steps{gap:22px}
.step-number{background:#eaf0fd;color:var(--blue);width:54px;height:54px;font-size:22px;border-radius:16px}
.process-step p{font-size:13px;color:var(--muted)}
.timeline:before{background:#d8e1ee}
.timeline-dot{background:var(--blue);border-color:#eaf0fd}
.timeline-content{border:1px solid var(--line);border-radius:15px;box-shadow:none}
.timeline-content h3{color:var(--blue)}
.timeline-content p{font-size:14px;color:var(--muted)}
.videos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.video-card{padding:20px}
.video-card h4{color:var(--navy);margin-bottom:18px}
.video-container video{object-fit:contain}
@media(min-width:768px) and (max-width:1080px){.standards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.logo{font-size:21px}.logo:before{width:33px;height:33px}nav ul{gap:13px}nav a{font-size:12px}.header-container{gap:15px}.container{padding:0 25px}.hero-layout{gap:25px}.hero h1{font-size:46px}.hero-points{gap:10px;font-size:10px}.visual-center{inset:62px 26px 53px 35px}.learning-visual{height:440px}.hero-actions{gap:15px}.teacher-profile{flex-direction:column}.company-content{gap:30px}.teacher-photo-container{flex-basis:auto}}
@media(max-width:767px){
 .container{padding:0 22px}section{padding:62px 0}header{padding:12px 0}.logo{font-size:22px}.logo:before{width:34px;height:34px;font-size:24px}.mobile-menu-btn{display:block}
 .header-container{flex-wrap:nowrap}nav{position:absolute;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 14px 20px #102b5010;top:calc(100% + 12px);padding:12px 22px;width:100%;left:0;margin:0;border-radius:0 0 15px 15px}nav ul{gap:0;background:transparent}nav li{margin:0;width:100%;border-bottom:1px solid var(--line)}nav a{color:var(--navy);display:block;padding:11px 0;font-size:14px;text-align:left}nav li:last-child a{display:block;text-align:center;margin:8px 0}nav li:last-child{border:0}
 .hero{padding:46px 0 50px}.hero-layout{grid-template-columns:1fr;gap:35px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:21px}.hero h1{font-size:42px;letter-spacing:-1.8px;line-height:1.3;margin-bottom:21px}.hero .hero-description{font-size:14px;margin-bottom:25px}.hero-actions{gap:20px}.hero-actions .btn{padding:13px 18px;font-size:13px}.text-link{font-size:12px}.btn span{margin-left:12px}.hero-points{gap:0;justify-content:space-between;font-size:10px;margin-top:27px;padding-top:18px}
 .learning-visual{height:375px;max-width:440px;width:100%;margin:auto;border-radius:95px 22px 22px 22px}.visual-center{inset:55px 37px 49px 44px;padding:24px 28px}.visual-center strong{font-size:43px;margin:15px 0}.visual-kicker{font-size:8px}.visual-caption{font-size:10px}.speech{padding:11px 15px;font-size:16px}.speech span{font-size:9px}.speech-one{top:10px;left:4px}.speech-two{right:1px;bottom:73px;min-width:145px}.visual-spark{font-size:49px;right:15px}.visual-path{bottom:13px;left:18px;right:18px;font-size:9px}.visual-path span{padding:4px 8px}
 .section-title,.company-header,.curriculum-intro,.teacher-intro{margin-bottom:32px}.section-title h2,.company-header h2,.curriculum-intro h2,.teacher-intro h2{font-size:25px}.section-title p,.company-header p,.curriculum-intro p,.teacher-intro p{font-size:13px}.company-content{grid-template-columns:1fr;gap:30px}.company-text h3{font-size:25px}.company-text p{font-size:13px}.company-stats{gap:7px}.stat-number{font-size:26px}.stat-label{font-size:10px}.company-logo-container{min-height:270px;padding:28px 20px}.company-logo-text{font-size:29px}
 .cefr-table-header{padding:23px}.cefr-table-header h3{font-size:18px}.cefr-table-header p{font-size:11px}.cefr-levels-grid{grid-template-columns:1fr;gap:14px}.cefr-level-card{padding:22px}.cefr-explanation-title h3{font-size:21px}.cefr-explanation-title p{font-size:13px}
 .ph-teachers-container{grid-template-columns:1fr;gap:18px}.teacher-profile{padding:22px;gap:16px}.teacher-photo-container{flex-basis:95px}.teacher-profile .teacher-photo{width:66px;height:80px}.teacher-name,.teacher-profile .teacher-name{font-size:14px;overflow-wrap:anywhere}.teacher-experience,.teacher-profile .teacher-experience{font-size:10px}.teacher-info>p{font-size:12px}.teacher-quote{font-size:11px;padding:11px}
 .testimonials-grid{grid-template-columns:1fr;gap:18px}.testimonial-card{padding:30px 25px 24px}.appointment{padding:55px 0}.appointment h2{font-size:29px}.appointment p{font-size:13px}.qr-grid{grid-template-columns:1fr;max-width:310px;gap:20px;margin-top:28px}.qr-card{padding:25px}.qr-card img{max-width:220px}
 .footer-content{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-column:first-child,.footer-column:last-child{grid-column:1/-1}footer{padding:48px 0 22px}.footer-column h3{margin-bottom:13px}.copyright p{font-size:10px;line-height:1.9}.page-header{padding:46px 0 36px}.page-header h1{font-size:31px}.page-header p{font-size:13px}.standards-grid,.qualifications-grid,.certificates-grid,.teachers-grid,.videos-grid{grid-template-columns:1fr}.process-steps{grid-template-columns:1fr 1fr;gap:26px 16px}.process-step p{font-size:12px}.qualification-card,.certificate-card,.standard-card{padding:26px}.teacher-card{padding:26px}.video-card{padding:16px}.timeline-content p{font-size:12px}
}
@media(max-width:360px){.container{padding:0 18px}.hero h1{font-size:36px}.hero-actions{gap:14px}.hero-points{font-size:9px}.teacher-profile{flex-direction:column}.visual-center{left:30px;right:30px}.speech-two{min-width:130px}.company-logo-text{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* GEO answer navigation */
.faq-toc{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.faq-toc a{display:block;padding:10px 14px;border:1px solid var(--line);border-radius:8px}.faq-card,[id="company-info"],[id="teacher-team"],[id="teacher-standards"],[id="teaching-videos"]{scroll-margin-top:100px}.faq-card a,.section-title p a,.company-header p a{color:var(--primary,#245f9e);text-decoration:underline;text-underline-offset:3px}.faq-card p{line-height:1.9}

/* Use one offset for native links, direct hash loads and history navigation. */
html{scroll-padding-top:var(--anchor-offset,110px)}
section[id],.cefr-level-card[id]{scroll-margin-top:0}
#mainNav{display:block}
#mobileMenuBtn{display:none}
@media(max-width:767px){
    #mainNav{display:none}
    #mainNav.active{display:block;max-height:calc(100dvh - 90px);overflow-y:auto}
    #mobileMenuBtn{display:block}
    header .header-container{flex-wrap:nowrap}
}

header{position:sticky;top:0;z-index:1000}
.faq-main nav{position:static;width:auto;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.faq-main .faq-toc{margin:24px 0}
@media(max-width:767px){#mainNav{top:100%;margin-top:0}}
