*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{font-family:var(--ds-font-body);background:var(--ds-surface-page);color:var(--ds-text-primary);overflow-x:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseRing{0%,to{box-shadow:0 0 #241c1833}50%{box-shadow:0 0 0 10px #241c1800}}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.btn-purple{background:var(--ds-accent);color:var(--ds-text-on-accent);border:1px solid var(--ds-accent);border-radius:var(--ds-radius-pill);font-family:var(--ds-font-body);cursor:pointer;letter-spacing:.01em;transition:transform box-shadow background-color .2s ease;align-items:center;gap:8px;padding:15px 30px;font-size:14.5px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 6px 18px -6px #dc262673}.btn-purple:hover{background:var(--ds-accent-hover);border-color:var(--ds-accent-hover);transform:translateY(-2px)}.btn-purple:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:3px}.btn-ghost{color:var(--ds-text-primary);border:1px solid var(--ds-border-default);border-radius:var(--ds-radius-pill);font-family:var(--ds-font-body);cursor:pointer;transition:transform background-color border-color .2s ease;background:0 0;align-items:center;gap:8px;padding:15px 30px;font-size:14.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn-ghost:hover{background:var(--ds-surface-sunken);border-color:var(--ds-border-default);transform:translateY(-2px)}.btn-ghost:focus-visible{outline:2px solid var(--ds-focus-ring);outline-offset:3px}.g-card{background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-sm);transition:all .3s}.g-card:hover{border-color:var(--ds-border-default);box-shadow:var(--ds-shadow-md);transform:translateY(-3px)}.pill{background:var(--ds-accent-subtle);border:1px solid var(--ds-accent-border);color:var(--ds-accent-hover);border-radius:var(--ds-radius-pill);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;padding:6px 14px;font-size:11px;font-weight:700;display:inline-flex}.home-section{max-width:1200px;margin:0 auto;padding:88px 24px}.home-section--soft{background:var(--ds-surface-sunken)}.home-section--bleed{width:100%;max-width:none}.home-section--tight-top{padding:0 24px 88px}.home-section-head{max-width:640px;margin-bottom:48px}.home-section-head--center{text-align:center;max-width:640px;margin:0 auto 48px}.home-section-title{font-family:var(--ds-font-display);letter-spacing:-.02em;color:var(--ds-text-primary);font-size:clamp(28px,4vw,36px);font-weight:800;line-height:1.15}.home-section-lead{color:var(--ds-text-secondary);margin-top:14px;font-size:16px;line-height:1.6}.hero-section{box-sizing:border-box;flex-direction:column;justify-content:center;min-height:100vh;padding:104px 24px 40px;display:flex;overflow:hidden}.hero-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:72px;width:100%;max-width:1200px;margin:0 auto;padding-bottom:40px;display:grid}.hero-title{font-family:var(--ds-font-display);letter-spacing:-.02em;color:var(--ds-text-primary);margin-bottom:26px;font-size:clamp(40px,5.6vw,68px);font-weight:800;line-height:1.06}.hero-title__accent{color:var(--ds-accent)}.hero-lead{color:var(--ds-text-secondary);max-width:560px;margin-bottom:38px;font-size:20px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:16px;margin-bottom:52px;display:flex}.hero-stats{border-top:1px solid var(--ds-border-subtle);flex-wrap:wrap;gap:48px;padding-top:32px;display:flex}.hero-stat__value{font-family:var(--ds-font-display);color:var(--ds-text-primary);font-size:34px;font-weight:800;display:block}.hero-stat__label{color:var(--ds-text-secondary);max-width:170px;margin-top:4px;font-size:14px;line-height:1.4;display:block}.exam-mock{background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-md);padding:30px;position:relative}.exam-mock__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.exam-mock__title{color:var(--ds-text-primary);font-size:16px;font-weight:700}.exam-mock__timer{color:var(--ds-accent);background:var(--ds-accent-subtle);font-variant-numeric:tabular-nums;letter-spacing:.02em;border-radius:8px;padding:5px 12px;font-size:14px;font-weight:700}.exam-mock__q{background:var(--ds-surface-sunken);border-radius:var(--ds-radius-md);margin-bottom:16px;padding:24px}.exam-mock__qlabel{text-transform:uppercase;letter-spacing:.06em;color:var(--ds-text-tertiary);margin-bottom:10px;font-size:12px;font-weight:700}.exam-mock__text{color:var(--ds-text-primary);font-size:16.5px;line-height:1.55}.exam-mock__opts{grid-template-columns:1fr 1fr;gap:10px;display:grid}.exam-mock__opt{border:1.5px solid var(--ds-border-default);color:var(--ds-text-secondary);border-radius:10px;align-items:center;gap:9px;padding:13px 14px;font-size:15px;display:flex}.exam-mock__opt--active{border-color:var(--ds-accent);background:var(--ds-accent-subtle);color:var(--ds-accent-hover);font-weight:600}.exam-mock__letter{background:var(--ds-border-default);width:24px;height:24px;color:var(--ds-text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.exam-mock__opt--active .exam-mock__letter{background:var(--ds-accent);color:var(--ds-text-on-accent)}.browser-mock{background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-lg);max-width:880px;box-shadow:var(--ds-shadow-lg);margin:0 auto;overflow:hidden}.browser-mock__bar{background:var(--ds-surface-sunken);border-bottom:1px solid var(--ds-border-subtle);align-items:center;gap:12px;padding:12px 16px;display:flex}.browser-mock__dots{flex-shrink:0;gap:6px;display:flex}.browser-mock__dot{border-radius:50%;width:10px;height:10px}.browser-mock__dot--red{background:#f87171}.browser-mock__dot--amber{background:#fbbf24}.browser-mock__dot--green{background:#4ade80}.browser-mock__url{background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);color:var(--ds-text-tertiary);border-radius:8px;flex:1;padding:5px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.profile-mock{background:var(--ds-surface-page)}.profile-mock__topbar{background:var(--ds-surface-card);border-bottom:1px solid var(--ds-border-subtle);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.profile-mock__brand{font-family:var(--ds-font-display);color:var(--ds-text-primary);align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.profile-mock__greeting{color:var(--ds-text-secondary);align-items:center;gap:10px;font-size:12px;display:flex}.profile-mock__avatar-sm{background:var(--ds-accent);width:24px;height:24px;color:var(--ds-text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.profile-mock__shell{min-height:380px;display:flex}.profile-mock__nav{border-right:1px solid var(--ds-border-subtle);background:var(--ds-surface-card);flex-direction:column;flex-shrink:0;gap:2px;width:150px;padding:14px 10px;display:flex}.profile-mock__nav-item{color:var(--ds-text-secondary);border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-size:12.5px;display:flex}.profile-mock__nav-item--active{background:var(--ds-accent-subtle);color:var(--ds-accent-hover);font-weight:700}.profile-mock__nav-item--logout{border-top:1px solid var(--ds-border-subtle);color:var(--ds-danger);margin-top:auto;padding-top:12px}.profile-mock__main{flex:1;min-width:0;padding:20px}.profile-mock__header{border-bottom:1px solid var(--ds-border-subtle);align-items:center;gap:16px;margin-bottom:18px;padding-bottom:18px;display:flex}.profile-mock__avatar-lg{background:linear-gradient(135deg, var(--ds-accent), var(--ds-accent-hover));width:56px;height:56px;color:var(--ds-text-on-accent);font-family:var(--ds-font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex;position:relative}.profile-mock__badge{border-radius:var(--ds-radius-pill);border:2px solid var(--ds-surface-card);align-items:center;gap:2px;font-size:9px;font-weight:700;display:flex;position:absolute}.profile-mock__badge--verified{background:var(--ds-success);color:#fff;justify-content:center;width:18px;height:18px;bottom:-2px;right:-2px}.profile-mock__badge--streak{background:var(--ds-warning);color:#fff;padding:2px 6px 2px 4px;top:-6px;left:-8px}.profile-mock__identity{flex:1;min-width:0}.profile-mock__identity h4{font-family:var(--ds-font-display);color:var(--ds-text-primary);margin-bottom:4px;font-size:16px;font-weight:800}.profile-mock__location{color:var(--ds-text-secondary);align-items:center;gap:5px;font-size:12px;display:flex}.profile-mock__edit{border-radius:var(--ds-radius-pill);border:1px solid var(--ds-border-default);background:var(--ds-surface-card);color:var(--ds-text-secondary);cursor:default;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;font-size:12.5px;font-weight:700;display:flex}.profile-mock__progress{margin-bottom:20px}.profile-mock__progress-head{color:var(--ds-text-secondary);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.profile-mock__progress-track{border-radius:var(--ds-radius-pill);background:var(--ds-surface-sunken);height:6px;overflow:hidden}.profile-mock__progress-fill{border-radius:inherit;background:var(--ds-accent);height:100%;display:block}.profile-mock__grid{grid-template-columns:1.3fr 1fr;gap:16px;display:grid}.profile-mock__card{background:var(--ds-surface-sunken);border-radius:var(--ds-radius-md);padding:16px}.profile-mock__card-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ds-text-tertiary);margin-bottom:10px;font-size:11px;font-weight:700}.profile-mock__bio{color:var(--ds-text-primary);margin-bottom:14px;font-size:13px;line-height:1.5}.profile-mock__rows{flex-direction:column;gap:10px;display:flex}.profile-mock__row{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.profile-mock__row>span:first-child{color:var(--ds-text-tertiary)}.profile-mock__row>span:last-child{color:var(--ds-text-primary);font-weight:600}.profile-mock__row-badge{align-items:center;gap:4px;display:flex;color:var(--ds-success)!important;font-weight:700!important}.profile-mock__social{flex-direction:column;gap:8px;display:flex}.profile-mock__social-chip{background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);color:var(--ds-text-secondary);border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-size:12.5px;font-weight:600;display:flex}.marquee-wrap{border-top:1px solid var(--ds-border-subtle);border-bottom:1px solid var(--ds-border-subtle);padding:22px 0;overflow:hidden}.marquee{white-space:nowrap;gap:44px;width:max-content;animation:84s linear infinite marqueeScroll;display:flex}.marquee__item{color:var(--ds-text-secondary);align-items:center;gap:10px;font-size:16.5px;font-weight:600;display:flex}.marquee__item:before{content:"";background:var(--ds-accent);border-radius:50%;width:6px;height:6px}@media (prefers-reduced-motion:reduce){.marquee{animation:none}}.paths-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.path-card{border-radius:var(--ds-radius-lg);cursor:pointer;min-height:220px;box-shadow:var(--ds-shadow-sm);transition:transform box-shadow .25s ease;flex-direction:column;justify-content:space-between;padding:26px 22px;text-decoration:none;display:flex;position:relative;overflow:hidden}.path-card:hover{box-shadow:var(--ds-shadow-lg);transform:translateY(-4px)}.path-card--exam{background:linear-gradient(155deg, var(--ds-accent) 0%, var(--ds-red-800) 100%)}.path-card--vocab{background:linear-gradient(155deg, var(--ds-skill-reading) 0%, #15803d 100%)}.path-card--speaking{background:linear-gradient(155deg, var(--ds-skill-speaking) 0%, #5b21b6 100%)}.path-card--writing{background:linear-gradient(155deg, var(--ds-skill-writing) 0%, #92400e 100%)}.path-card__icon{color:#fff;background:#fff3;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:14px;display:flex}.path-card__title{font-family:var(--ds-font-display);color:#fff;margin-bottom:8px;font-size:21px;font-weight:800}.path-card__desc{color:#ffffffd9;font-size:13.5px;line-height:1.5}.steps-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.step{border-top:2px solid var(--ds-border-default);padding-top:20px;position:relative}.step__num{color:var(--ds-accent);background:var(--ds-surface-sunken);font-variant-numeric:tabular-nums;padding-right:10px;font-size:13px;font-weight:700;position:absolute;top:-11px;left:0}.step__title{color:var(--ds-text-primary);margin:14px 0 8px;font-size:17px;font-weight:700}.step__desc{color:var(--ds-text-secondary);font-size:14px;line-height:1.55}.team-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.team-card{padding:0;overflow:hidden}.team-card__photo{aspect-ratio:1;background:var(--ds-surface-sunken);position:relative;overflow:hidden}.team-card__photo img{object-fit:cover;width:100%;height:100%}.team-card__badge{background:var(--ds-accent);color:var(--ds-text-on-accent);border-radius:var(--ds-radius-pill);letter-spacing:.02em;padding:5px 12px;font-size:12px;font-weight:700;position:absolute;top:14px;right:14px}.team-card__body{padding:22px}.team-card__name{font-family:var(--ds-font-display);color:var(--ds-text-primary);font-size:17px;font-weight:800}.team-card__role{color:var(--ds-text-secondary);margin-top:4px;margin-bottom:16px;font-size:13.5px}.team-card__socials{gap:10px;display:flex}.team-card__socials a{background:var(--ds-surface-sunken);width:34px;height:34px;color:var(--ds-text-secondary);transition:background-color color .2s ease;border-radius:50%;justify-content:center;align-items:center;display:flex}.team-card__socials a:hover{background:var(--ds-accent-subtle);color:var(--ds-accent)}.partners-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.partner-card{text-align:center;padding:30px 26px}.partner-card__logo{justify-content:center;align-items:center;height:64px;margin-bottom:18px;display:flex}.partner-card__logo img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}.partner-card__name{font-family:var(--ds-font-display);color:var(--ds-text-primary);font-size:16px;font-weight:800}.partner-card__sub{color:var(--ds-text-secondary);margin-top:2px;margin-bottom:14px;font-size:13px}.partner-card__tag{color:var(--ds-accent-hover);background:var(--ds-accent-subtle);border:1px solid var(--ds-accent-border);border-radius:var(--ds-radius-pill);letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;font-size:11px;font-weight:700;display:inline-flex}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.t-card{padding:26px}.t-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.t-avatar{width:44px;height:44px;color:var(--ds-text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.t-name{color:var(--ds-text-primary);font-size:14.5px;font-weight:700}.t-meta{color:var(--ds-text-secondary);font-size:12.5px}.t-text{color:var(--ds-text-secondary);margin-bottom:16px;font-size:14.5px;line-height:1.6}.band-chip{background:var(--ds-success-soft);color:var(--ds-success);border-radius:var(--ds-radius-pill);align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.band-chip__arrow{color:var(--ds-text-secondary)}.pricing-box{background:var(--ds-surface-card);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-lg);box-shadow:var(--ds-shadow-md);text-align:center;max-width:520px;margin:0 auto;padding:40px}.pricing-box__plan{color:var(--ds-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:14px;font-weight:600}.pricing-box__price{font-family:var(--ds-font-display);color:var(--ds-text-primary);letter-spacing:-.02em;margin:8px 0 4px;font-size:44px;font-weight:800}.pricing-box__price span{font-family:var(--ds-font-body);color:var(--ds-text-secondary);font-size:16px;font-weight:600}.pricing-box__sub{color:var(--ds-text-secondary);margin-bottom:26px;font-size:14px}.pricing-box__list{text-align:left;gap:12px;margin-bottom:28px;display:grid}.pricing-box__item{color:var(--ds-text-primary);align-items:center;gap:10px;font-size:14.5px;display:flex}.pricing-box__check{background:var(--ds-success-soft);width:20px;height:20px;color:var(--ds-success);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.pricing-box__cta{justify-content:center;width:100%}.faq{max-width:760px;margin:0 auto}.faq-item{border-bottom:1px solid var(--ds-border-subtle);padding:20px 0}.faq-item__q{cursor:pointer;width:100%;color:var(--ds-text-primary);text-align:left;font-size:16px;font-weight:700;font-family:var(--ds-font-body);background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;display:flex}.faq-item__plus{color:var(--ds-accent);flex-shrink:0;font-size:22px;font-weight:400;line-height:1;transition:transform .2s}.faq-item--open .faq-item__plus{transform:rotate(45deg)}.faq-item__a{max-height:0;transition:max-height .25s;overflow:hidden}.faq-item--open .faq-item__a{max-height:240px;margin-top:12px}.faq-item__a p{color:var(--ds-text-secondary);font-size:14.5px;line-height:1.6}
@media (max-width:1023px){.hero-grid{grid-template-columns:1fr;gap:36px}.hero-lead{max-width:100%}.paths-grid,.steps-grid,.testimonials-grid,.team-grid,.partners-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:767px){.home-section{padding:48px 16px}.home-section--tight-top{padding:0 16px 48px}.home-section-title{font-size:clamp(24px,6.5vw,30px)}.hero-section{min-height:100svh;padding:calc(56px + 40px + env(safe-area-inset-top,0px)) 16px 40px}.hero-title{font-size:clamp(30px,8vw,38px)}.hero-actions{margin-bottom:32px}.hero-actions .btn-purple,.hero-actions .btn-ghost{justify-content:center;width:100%;min-height:44px}.hero-stats{gap:20px 28px}.exam-mock{padding:18px}.exam-mock__opts{grid-template-columns:1fr;gap:8px}.exam-mock__opt{min-height:44px}.marquee-wrap{padding:16px 0}.marquee{will-change:transform;gap:28px;animation-duration:60s}.marquee__item{font-size:13.5px}.profile-mock__nav{display:none}.profile-mock__grid{grid-template-columns:1fr}.profile-mock__main{padding:16px}.paths-grid{grid-template-columns:1fr;gap:12px}.path-card{min-height:auto;padding:16px}.path-card>div{grid-template-columns:44px 1fr;align-items:center;gap:4px 14px;display:grid}.path-card__icon{grid-row:1/3;width:44px;height:44px;margin-bottom:0}.path-card__title{margin-bottom:0;font-size:16.5px}.path-card__desc{font-size:13px}.steps-grid{grid-template-columns:1fr;gap:14px}.testimonials-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:14px;margin:0 -16px;padding:4px 16px 10px;display:flex;overflow-x:auto}.testimonials-grid::-webkit-scrollbar{display:none}.t-card{scroll-snap-align:start;flex:0 0 84%;max-width:340px}.team-grid,.partners-grid{grid-template-columns:1fr;gap:14px}.team-card{align-items:center;gap:14px;padding:12px;display:flex}.team-card__photo{aspect-ratio:1;border-radius:16px;flex-shrink:0;width:76px}.team-card__badge{display:none}.team-card__body{min-width:0;padding:0}.team-card__name{font-size:15px}.team-card__role{margin-top:2px;margin-bottom:10px;font-size:12px}.team-card__socials{gap:6px}.team-card__socials a{width:44px;height:44px}.pricing-box{padding:28px 22px}.faq-item__q{min-height:44px;font-size:15px}}@media (max-width:599px){.hero-section{padding:calc(56px + 32px + env(safe-area-inset-top,0px)) 12px 32px}.hero-title{font-size:clamp(26px,7vw,32px)}.hero-lead{font-size:15px}.hero-stat__value{font-size:22px}.hero-stats{gap:16px 24px}.exam-mock__opt{padding:10px 12px;font-size:13px}.marquee__item{font-size:14px}.path-card{padding:14px}.path-card__desc{font-size:12.5px;line-height:1.45}.t-card{flex-basis:88%;padding:22px}.pricing-box{padding:24px 18px}.pricing-box__price{font-size:34px}.browser-mock__url{font-size:11px}.profile-mock__topbar{padding:10px 14px}.profile-mock__greeting-text{display:none}.profile-mock__header{flex-wrap:wrap;row-gap:12px}.profile-mock__edit{margin-left:auto}}
