@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#092d52;--ink:#112e49;--blue:#1c6eaa;--gold:#ffc52e;--paper:#faf9f5;--muted:#586777;--line:#dce2e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.6}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #2185bc;outline-offset:6px}a,summary{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(46px,5.3vw,79px);font-weight:800}h2{font-size:clamp(34px,3.3vw,49px);font-weight:800}h3{font-size:25px;font-weight:800}.header{height:96px;max-width:1400px;margin:auto;padding:0 5%;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:Manrope,Arial,sans-serif;font-size:20px;letter-spacing:-.7px;font-weight:800;line-height:1.2}.brand-mark{display:grid;place-items:center;background:var(--navy);color:var(--gold);width:42px;height:42px;font-size:35px;border-radius:50% 50% 50% 10%}.brand-sub{display:block;font-size:8px;letter-spacing:2.3px;margin-top:6px}.header nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.header nav a{text-decoration:none}.header nav a:hover{color:var(--blue)}.login{border:1px solid var(--navy);padding:10px 19px;border-radius:5px}.login span{margin-left:15px}.hero{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.02fr 1fr;gap:40px;padding:62px 5% 65px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:22px}.eyebrow>span{display:inline-block;background:var(--gold);height:8px;width:8px;border-radius:50%;margin-right:6px}.hero h1 em{font-style:normal;color:var(--blue)}.intro{color:var(--muted);font-size:18px;max-width:490px;margin:27px 0 30px;line-height:1.7}.button{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 22px;text-decoration:none;font-weight:700;font-size:14px;border-radius:5px;line-height:1.4;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-2px);box-shadow:0 5px 18px #092d5218}.button span{font-size:22px;font-weight:400}.yellow{background:var(--gold);color:var(--navy)}.navy{background:var(--navy);color:white}.outline{border:1px solid var(--navy)}.hero-actions{display:flex;gap:25px;align-items:center}.text-link{font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid #8a9dad;padding-bottom:4px}.text-link span{margin-left:10px}.hero-notes{display:flex;gap:17px;margin-top:26px;font-size:11px;color:var(--muted);flex-wrap:wrap}.hero-notes span:before{content:'✓';margin-right:5px;color:var(--blue)}.hero-art{height:475px;border-radius:150px 12px 12px 12px;background:var(--navy);overflow:hidden;position:relative;box-shadow:15px 15px 0 #eeeae0;display:flex;flex-direction:column}.hero-art>img{width:100%;height:335px;object-fit:cover;object-position:100% center}.art-caption{padding:23px 30px;color:white}.small-label{font-size:8px;letter-spacing:1.8px;color:#becfe0}.caption-bottom{display:flex;align-items:center;gap:6px;font-family:Manrope,Arial,sans-serif;font-size:23px;margin-top:5px;letter-spacing:-.7px}.caption-bottom>span{margin-left:auto;color:var(--gold);font-size:36px}.route-strip{background:var(--navy);color:#fff;display:flex;justify-content:center;align-items:center;gap:38px;padding:24px 5%;font-size:13px}.route-strip b{color:var(--gold);margin-right:13px;font-size:11px}.route-strip i{width:75px;border-top:1px dashed #7c93a8}.section{max-width:1400px;margin:auto;padding:90px 5%}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:40px}.section-heading>p{max-width:350px;color:var(--muted);font-size:15px}.section-heading .eyebrow{margin-bottom:15px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}.features article{padding:25px 0 0;border-top:1px solid #bbc9d3}.feature-number{font-size:10px;letter-spacing:1.8px;font-weight:700}.feature-symbol{font-size:30px;color:var(--blue);margin:23px 0 13px;line-height:1}.features h3{font-size:23px}.features p{font-size:14px;margin-top:15px;color:var(--muted)}.courses{background:#eef2f3;max-width:none}.courses>.section-heading,.course-grid{max-width:1260px;margin-left:auto;margin-right:auto}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.course-card{background:white;border-radius:8px;overflow:hidden;border:1px solid #dce4e7}.course-card>img{width:100%;display:block;aspect-ratio:3 / 1;object-fit:cover}.course-body{padding:28px 30px}.course-language{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--blue)}.course-body h3{margin:11px 0 15px;font-size:31px}.course-body p{color:var(--muted);font-size:14px;margin-bottom:24px}.course-body .button{max-width:290px}.pricing{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:24px;align-items:center}.pricing-intro{padding-right:25px}.pricing-intro h2{font-size:40px}.pricing-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:22px}.pricing-intro .fine{font-size:11px!important}.price-card{border:1px solid #c9d2d9;padding:29px 25px;border-radius:8px;position:relative;background:white}.plan-name{font-size:9px;letter-spacing:1.7px;font-weight:700;margin-bottom:17px}.price-card h3{font-size:24px}.price{font-family:Manrope,Arial,sans-serif;font-size:52px;font-weight:800;letter-spacing:-2px;margin:23px 0 8px;line-height:1.2}.price span{font-family:'DM Sans',Arial,sans-serif;font-size:10px;letter-spacing:0;font-weight:500;margin-left:8px}.price-card>p:not(.price):not(.plan-name){font-size:12px;margin-bottom:24px}.best{background:var(--navy);color:#fff;border:0;padding-top:39px;padding-bottom:35px}.best-tag{position:absolute;top:-12px;left:25px;background:var(--gold);color:var(--navy);font-size:9px;letter-spacing:1.3px;font-weight:700;padding:5px 12px;border-radius:3px}.getting-started{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:60px}.getting-started ol{margin:0;padding:0;list-style:none}.getting-started li{display:flex;gap:21px;padding:0 0 27px;margin-bottom:27px;border-bottom:1px solid var(--line)}.getting-started li:last-child{margin:0;padding-bottom:0;border:0}.getting-started li>span{background:#e8edf0;flex-shrink:0;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700}.getting-started h3{font-size:20px;margin:4px 0 9px}.getting-started li p{font-size:14px;color:var(--muted)}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.faq h2{font-size:39px}.faq>div>p:not(.eyebrow){margin-top:24px;font-size:13px}.faq a{color:var(--blue)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:21px 0}summary{font-weight:600;font-size:14px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:21px;color:var(--blue);line-height:1}details[open] summary:after{content:'−'}details p{font-size:14px;color:var(--muted);padding-top:15px;padding-right:20px}.closing{background:var(--navy);color:white;text-align:center;padding:65px 20px 70px;position:relative;overflow:hidden}.closing .eyebrow{color:#c0d1e1}.closing h2{font-size:53px}.closing .button{width:240px;margin:28px auto 0}footer{max-width:1400px;margin:auto;padding:45px 5% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:35px;border-bottom:1px solid var(--line)}.footer-top>a:not(.brand){font-size:12px;text-decoration:none}.footer-bottom{display:flex;align-items:start;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted);padding-top:21px}.footer-bottom p{max-width:380px}.legal-note{color:#735e38} @media(min-width:1600px){.courses{padding-left:calc((100vw - 1260px)/2);padding-right:calc((100vw - 1260px)/2)}}@media(max-width:1050px){.header nav{gap:18px}.hero{gap:25px;padding-top:35px}.hero-art{height:410px}.hero-art>img{height:275px}.hero-actions{gap:15px}.hero-actions .text-link{font-size:11px}.pricing{grid-template-columns:1fr 1fr}.pricing-intro{grid-column:1 / -1;max-width:650px;margin-bottom:10px}.pricing-intro h2 br{display:none}.caption-bottom{font-size:19px}.route-strip{gap:20px}.route-strip i{width:35px}.section{padding-top:65px;padding-bottom:65px}}@media(max-width:700px){html{scroll-padding-top:20px}.header{height:80px}.brand{font-size:16px}.brand-mark{width:35px;height:35px;font-size:28px}.brand-sub{font-size:6px;letter-spacing:1.7px}.header nav>a:not(.login){display:none}.header nav .login{font-size:11px;padding:9px 12px}.hero{grid-template-columns:1fr;padding-top:25px;padding-bottom:40px;gap:35px}h1{font-size:49px}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}.intro{font-size:16px;margin:20px 0 25px}.hero-actions{gap:20px}.hero-art{height:330px;border-top-left-radius:90px;box-shadow:8px 8px 0 #eeeae0}.hero-art>img{height:220px}.art-caption{padding:15px 24px}.small-label{font-size:7px}.caption-bottom{font-size:20px}.hero-notes{font-size:10px;gap:14px}.route-strip{justify-content:space-between;gap:8px;font-size:10px;padding:20px 5%}.route-strip span{max-width:100px}.route-strip b{display:block;margin-bottom:4px}.route-strip i{display:none}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:none}.section{padding-top:50px;padding-bottom:50px}.eyebrow{font-size:9px}h2{font-size:35px}.features{grid-template-columns:1fr;gap:25px}.features article{position:relative;padding-left:55px}.feature-symbol{position:absolute;left:0;top:39px}.features h3{margin-top:12px}.features p{margin-top:10px}.course-grid{grid-template-columns:1fr}.course-body{padding:25px}.course-body h3{font-size:29px}.course-body .button{max-width:none}.pricing{grid-template-columns:1fr;gap:30px}.pricing-intro{grid-column:auto}.pricing-intro h2{font-size:35px}.price-card{padding:28px}.price-card .price{margin-top:18px}.price-card .button{max-width:none}.getting-started,.faq{grid-template-columns:1fr;gap:30px}.getting-started li{margin-bottom:20px;padding-bottom:20px}.faq h2{font-size:35px}.closing h2{font-size:43px}.footer-top{flex-wrap:wrap;justify-content:start;gap:20px}.footer-top .brand{width:100%;margin-bottom:5px}.footer-bottom{display:block}.footer-bottom p{margin:10px 0}.button{min-height:50px}summary{min-height:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Free practice test entry points */
.header nav{gap:20px}.free-test-nav{color:var(--blue)}
.free-test-intro{margin-top:25px;padding:18px 20px;border:1px solid #c7d7e3;border-left:4px solid var(--blue);border-radius:6px;background:#eef4f7;scroll-margin-top:24px}
.free-test-intro h2{font-size:20px;letter-spacing:-.025em;line-height:1.3}
.free-test-intro>p{font-size:12px;color:var(--muted);margin:6px 0 8px}
.free-test-languages{display:flex;flex-wrap:wrap;gap:8px 20px}
.free-test-languages a,.course-sample{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:700;color:var(--blue);text-underline-offset:4px;overflow-wrap:anywhere}
.course-sample{margin-top:10px}.free-test-languages a:hover,.course-sample:hover{text-decoration-thickness:2px}
@media(max-width:1050px){.header nav{gap:14px;font-size:13px}.login{padding:10px 12px}.login span{margin-left:7px}}
@media(max-width:700px){.header{height:auto;min-height:80px;flex-wrap:wrap;gap:12px;padding-top:16px;padding-bottom:12px}.header .brand{width:100%}.header nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;gap:4px 12px}.header nav>a:not(.login){display:inline-flex;align-items:center;justify-content:center;grid-column:span 2;min-width:0;min-height:44px;font-size:13px}.header nav>a.free-test-nav{grid-column:span 3;justify-content:flex-start}.header nav .login{display:inline-flex;align-items:center;justify-content:center;grid-column:span 3;min-width:0;min-height:44px}.free-test-intro{padding:16px;margin-top:22px}.free-test-intro h2{font-size:20px}.free-test-languages{gap:4px 18px}.course-sample{font-size:13px;line-height:1.5}}
@media(max-width:380px){.free-test-languages{flex-direction:column;align-items:flex-start}}
