/* FrenchToEnglish / French Grammar Lab launch. Scope: main-site campaign only. */
.fte-lab-hero,.fte-lab-method,.fte-lab-promo{--lab-navy:#1c244b;--lab-blue:#2563eb;--lab-muted:#475569;--lab-line:#dfe5f0;--lab-soft:#f5f7fc;font-family:'DM Sans',system-ui,sans-serif;color:var(--lab-navy);box-sizing:border-box}
.fte-lab-hero *,.fte-lab-method *,.fte-lab-promo *{box-sizing:border-box}
.fte-lab-home-width{max-width:1200px;margin:0 auto;padding:0 32px}
.fte-lab-hero{padding:72px 0 60px;background:#f7f9fe;border-bottom:1px solid #dfe5f0}
.fte-lab-hero-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:48px;align-items:center}
.fte-lab-hero .fte-lab-product{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:800;line-height:1.4;margin:0 0 23px}
.fte-lab-product>span{display:grid;place-items:center;width:34px;height:34px;background:#2563eb;border-radius:9px;color:white;font-size:19px;letter-spacing:-1px}
.fte-lab-hero h1{font-size:clamp(38px,4.65vw,64px);font-weight:850;letter-spacing:-.055em;line-height:1.055;color:#1c244b;margin:0 0 24px;text-wrap:balance}
.fte-lab-hero-lead{color:#475569;font-size:18px;line-height:1.65;max-width:45ch;margin:0 0 27px}
.fte-lab-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.fte-lab-main-cta,.fte-lab-promo a.fte-lab-promo-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:14px 20px;background:#1c244b;color:#fff!important;border:1px solid #1c244b;border-radius:10px;font-size:14px;font-weight:800;line-height:1.4;text-decoration:none!important;box-shadow:0 3px 0 #10162f}
.fte-lab-main-cta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0}
.fte-lab-main-cta:hover,.fte-lab-promo a.fte-lab-promo-cta:hover{background:#2b3975;color:#fff}
.fte-lab-watch{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 0;color:#1c244b!important;font-size:13px;font-weight:750;text-decoration:underline;text-underline-offset:4px}
.fte-lab-watch>span{font-size:11px;display:grid;place-items:center;width:27px;height:27px;border:1px solid #becbe4;border-radius:50%;padding-left:2px}
.fte-lab-hero .fte-lab-upfront{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:24px 0 5px;color:#1c244b;font-size:14px;line-height:1.5}
.fte-lab-upfront strong{font-weight:850}.fte-lab-upfront>span{color:#475569}
.fte-lab-hero .fte-lab-upfront-note{font-size:12px;color:#52627b;line-height:1.65;margin:0 0 16px}
.fte-lab-free-link{display:inline-flex;align-items:center;min-height:44px;color:#475569!important;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.fte-lab-film{min-width:0;margin:0;background:#fff;border:1px solid #d4deef;border-radius:16px;box-shadow:0 20px 60px #1c244b12;overflow:hidden}
.fte-lab-film-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 17px;border-bottom:1px solid #e5eaf3;min-height:49px}
.fte-lab-film-brand{font-weight:850;font-size:14px;letter-spacing:-.6px;white-space:nowrap}.fte-lab-film-brand>span{color:#2563eb}
.fte-lab-example{color:#52627b;font-size:10px;white-space:nowrap}
.fte-lab-film-screen{position:relative;aspect-ratio:3/2;overflow:hidden;background:#f5f7ff}
.fte-lab-film-screen picture,.fte-lab-film-screen video{display:block;width:100%;height:100%;position:absolute;inset:0;margin:0;object-fit:contain}
.fte-lab-film-screen picture img{display:block;width:100%;height:100%;object-fit:contain}
.fte-lab-film-screen video{opacity:0}.fte-lab-film.has-played .fte-lab-film-screen video{opacity:1}
.fte-lab-film.has-played picture{visibility:hidden}
.fte-lab-film-start{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;background:#1c244b16;border:0;color:#1c244b;cursor:pointer}
.fte-lab-film-start>span{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#fff;color:#1c244b;font-size:23px;padding-left:4px;box-shadow:0 8px 40px #1c244b26}
.fte-lab-film-start strong,.fte-lab-film-start small{background:white;padding:5px 12px;border-radius:5px;font:750 13px/1.4 'DM Sans',system-ui,sans-serif}.fte-lab-film-start small{font-size:11px;font-weight:500}
.fte-lab-film.has-played .fte-lab-film-start{display:none}
.fte-lab-film-controls{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 8px;border-top:1px solid #e6ebf3}
.fte-lab-film-controls button,.fte-lab-chapters button{font:750 11px/1.35 'DM Sans',system-ui,sans-serif;color:#1c244b;border:0;background:transparent;min-height:44px;cursor:pointer;padding:8px 10px;border-radius:6px}
.fte-lab-film-controls button:hover,.fte-lab-chapters button:hover{background:#eaf0fc}
.fte-lab-current-scene{color:#52627b;font-size:11px;text-align:center}
.fte-lab-chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e6ebf3;padding:3px 6px;gap:3px}
.fte-lab-chapters button[aria-current=true]{background:#eaf0fc;color:#1743a0}
.fte-lab-film figcaption{padding:12px 17px;margin:0;border-top:1px solid #e6ebf3;font-size:10px;line-height:1.5;color:#52627b}
.fte-lab-film figcaption [role=status]:not(:empty){display:block;font-size:12px;color:#8d213a;margin-bottom:6px}
.fte-lab-hero [hidden],.fte-lab-method [hidden],.fte-lab-promo [hidden]{display:none!important}
.fte-lab-method{padding:64px 0;background:#fff}
.fte-lab-method-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}
.fte-lab-method h2{font-size:clamp(26px,3.25vw,38px);line-height:1.15;letter-spacing:-1.25px;font-weight:800;color:#1c244b;margin:0}
.fte-lab-method-heading>p{max-width:38ch;margin:0;font-size:15px;color:#475569;line-height:1.65}
.fte-lab-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.fte-lab-method-grid>article{padding:0 30px 0 0;border-right:1px solid #dfe5f0}.fte-lab-method-grid>article:last-child{border-right:0;padding-right:0}
.fte-lab-method-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ccd9ef;border-radius:9px;background:#f1f5fd;font-size:21px;font-weight:750;margin-bottom:18px}
.fte-lab-method h3{font-size:18px;line-height:1.3;margin:0 0 12px;color:#1c244b;font-weight:800;letter-spacing:-.3px}
.fte-lab-method-grid p{font-size:14px;line-height:1.7;color:#475569;margin:0 0 17px}
.fte-lab-method-foot{font-size:12px;line-height:1.6;color:#315aa4;font-weight:700}
.fte-lab-example-sentence{display:flex;flex-direction:column;gap:4px;font-size:16px;line-height:1.5}.fte-lab-example-sentence s{color:#87545e}.fte-lab-example-sentence strong{color:#215d4a}.fte-lab-example-sentence small{font-size:11px;color:#52627b}
.fte-lab-method-end{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dfe5f0;margin-top:34px;padding-top:22px;font-size:13px;color:#52627b}.fte-lab-method-end a{color:#1c244b;font-weight:750;min-height:44px;display:inline-flex;align-items:center;gap:14px}
.fte-home-free-intro{padding:54px 24px 12px!important;text-align:center;background:#f5f7fb}.fte-home-free-intro h2{font-size:32px!important;margin-bottom:12px!important}.fte-home-free-intro p{max-width:65ch;margin:0 auto!important;color:#475569;font-size:15px}
.fte-lab-promo{display:grid;grid-template-columns:80px minmax(0,1fr);gap:24px;align-items:center;padding:30px;margin:32px 0;background:#f5f8ff;border:1px solid #d6e0f4;border-radius:14px;text-align:left}
.fte-lab-promo-art img{display:block;width:76px;height:auto;max-height:108px;object-fit:contain;margin:0!important}
.fte-lab-promo .fte-lab-promo-kicker{color:#2563eb;font-size:12px;font-weight:800;margin:0 0 10px;line-height:1.5}
.fte-lab-promo h2,.fte-lab-promo h3{color:#1c244b!important;font-size:clamp(22px,2.2vw,28px)!important;line-height:1.15;letter-spacing:-.7px;font-weight:800;margin:0 0 12px!important}
.fte-lab-promo .fte-lab-promo-description{font-size:14px;line-height:1.65;color:#475569;margin:0 0 14px}
.fte-lab-promo .fte-lab-promo-facts{display:flex;flex-wrap:wrap;gap:7px 16px;list-style:none;padding:0;margin:0 0 16px;font-size:12px;font-weight:700;color:#52627b}
.fte-lab-promo-action{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}.fte-lab-promo-price{font-size:12px;font-weight:750;color:#1c244b}
.fte-lab-promo .fte-lab-promo-terms{font-size:11px;line-height:1.6;color:#52627b;margin:12px 0 0}
.fte-lab-promo--inline{padding:18px 20px;margin:32px 0;grid-template-columns:44px minmax(0,1fr);gap:16px}
.fte-lab-promo--inline .fte-lab-promo-art img{width:44px;max-height:60px}
.fte-lab-promo--inline .fte-lab-promo-kicker{margin:0 0 3px;font-size:11px}
.fte-lab-promo--inline .fte-lab-promo-copy>strong{font-size:16px;line-height:1.35;display:block;margin:0 0 7px}
.fte-lab-promo--inline .fte-lab-promo-description{font-size:12px;margin-bottom:10px}.fte-lab-promo--inline a.fte-lab-promo-cta{min-height:44px;padding:9px 13px;font-size:12px}
.fte-lab-promo--site-footer{background:#ffffff08;border-color:#ffffff24;padding:24px;margin:0 0 36px}
.fte-final-footer .fte-lab-promo--site-footer h2,.fte-final-footer .fte-lab-promo--site-footer .fte-lab-promo-price{color:white!important}.fte-final-footer .fte-lab-promo--site-footer .fte-lab-promo-kicker{color:#a7c9ff}.fte-final-footer .fte-lab-promo--site-footer .fte-lab-promo-description,.fte-final-footer .fte-lab-promo--site-footer .fte-lab-promo-terms,.fte-final-footer .fte-lab-promo--site-footer .fte-lab-promo-facts{color:#cbd5e1}
.fte-lab-promo--site-footer a.fte-lab-promo-cta{background:#fbbf24;color:#1c244b!important;border-color:#fbbf24;box-shadow:none}
.fteq-next-steps>.fte-lab-promo{margin:0;align-self:stretch;grid-template-columns:minmax(0,1fr);gap:15px}.fteq-next-steps>.fte-lab-promo .fte-lab-promo-art img{width:64px;max-height:80px}.fteq-next-steps>.fte-lab-promo h2{font-size:26px!important}
.fte-early-offers>.fte-lab-promo{margin:0;grid-template-columns:minmax(0,1fr);gap:14px}.fte-early-offers>.fte-lab-promo .fte-lab-promo-art img{width:60px;max-height:70px}
#fte-navigation-list a.fte-nav-lab small{max-width:220px}#fte-navigation-list .fte-nav-lab .fte-nav-book-cover{box-shadow:none}
.fte-gd[data-fte-offer="grammar-lab"] .fte-gd-cover{object-fit:contain;box-shadow:none;border-radius:0}
.fte-lab-hero a:focus-visible,.fte-lab-hero button:focus-visible,.fte-lab-method a:focus-visible,.fte-lab-promo a:focus-visible{outline:3px solid #2563eb;outline-offset:4px}
@media(min-width:1100px) and (max-width:1240px){.fte-site-header .fte-navigation-list a.fte-nav-lab{font-size:12px;padding-left:10px;padding-right:10px}}
@media(max-width:1050px){.fte-lab-hero-grid{gap:30px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.fte-lab-hero{padding-top:50px}.fte-lab-hero-lead{font-size:16px}.fte-lab-main-cta{font-size:13px;padding:13px 16px}.fte-lab-hero h1{font-size:44px}}
@media(max-width:800px){.fte-lab-hero-grid{grid-template-columns:minmax(0,1fr);gap:32px}.fte-lab-hero-copy{max-width:600px}.fte-lab-film{width:100%;max-width:650px}.fte-lab-hero h1{font-size:52px}.fte-lab-method-heading{display:block}.fte-lab-method-heading>p{margin-top:20px;max-width:55ch}.fte-lab-method-grid{gap:20px}.fte-lab-method-grid>article{padding-right:20px}.fte-lab-method-end{align-items:flex-start;flex-direction:column;gap:6px}}
@media(max-width:600px){.fte-lab-home-width{padding:0 22px}.fte-lab-hero{padding:34px 0 36px}.fte-lab-hero h1{font-size:44px;letter-spacing:-2px;margin-bottom:19px}.fte-lab-hero .fte-lab-product{margin-bottom:22px}.fte-lab-hero-lead{font-size:16px;margin-bottom:23px}.fte-lab-hero-actions{gap:8px}.fte-lab-main-cta{min-height:50px}.fte-lab-hero .fte-lab-upfront{margin-top:20px}.fte-lab-film{max-width:380px;margin:0 auto}.fte-lab-film-screen{aspect-ratio:390/844}.fte-lab-current-scene{font-size:10px}.fte-lab-film-controls button{font-size:10px;padding:8px}.fte-lab-film figcaption{padding:10px 13px}.fte-lab-film-bar{padding:10px 13px}.fte-lab-method{padding:40px 0}.fte-lab-method-grid{grid-template-columns:minmax(0,1fr);gap:25px}.fte-lab-method-grid>article{border-right:0;border-bottom:1px solid #dfe5f0;padding:0 0 25px}.fte-lab-method-grid>article:last-child{border:0;padding:0}.fte-lab-method-icon{margin-bottom:13px}.fte-lab-method-grid p{font-size:14px;max-width:55ch}.fte-lab-method-end{margin-top:25px}.fte-lab-promo{grid-template-columns:44px minmax(0,1fr);gap:16px;padding:22px 18px}.fte-lab-promo-art img{width:44px;max-height:65px}.fte-lab-promo-action{align-items:flex-start;flex-direction:column;gap:10px}.fte-lab-promo .fte-lab-promo-facts{display:none}.fte-lab-promo h2,.fte-lab-promo h3{font-size:23px!important}.fte-lab-promo--inline .fte-lab-promo-description{font-size:12px}.fte-lab-promo--site-footer{grid-template-columns:minmax(0,1fr)}.fte-lab-promo--site-footer .fte-lab-promo-art{display:none}}
@media(max-width:359px){.fte-lab-home-width{padding:0 18px}.fte-lab-hero h1{font-size:39px}.fte-lab-film-brand{font-size:12px}.fte-lab-example{font-size:9px}.fte-lab-chapters button{padding:7px 3px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.fte-lab-hero *,.fte-lab-method *,.fte-lab-promo *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* One local micro-preview in a substantial offer; keep reading CTAs quiet. */
.fte-lab-promo--animated{grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:28px;align-items:center}
.fte-lab-promo--animated .fte-lab-promo-art{min-width:0;align-self:center}
.fte-lab-motion .fte-lab-motion-header{display:flex;flex-wrap:wrap;gap:5px 12px;justify-content:space-between;align-items:center;margin-bottom:13px}
.fte-lab-motion .fte-lab-motion-header>span:first-child{font-size:10px;line-height:1.5;color:#52627b;font-weight:750}
.fte-lab-motion .fte-lab-motion-header [data-motion-label]{margin:0;font-size:10px}
.fte-lab-motion .fte-lab-motion-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fte-lab-motion .fte-lab-motion-visual [data-motion-next]{display:block;padding-left:35px;position:relative}
.fte-lab-motion .fte-lab-motion-visual [data-motion-next]::before{position:absolute;left:10px;top:11px}
.fte-lab-motion .fte-lab-motion-visual [data-motion-next]>span{display:none}
.fte-lab-motion .fte-lab-motion-visual [data-motion-next]>strong,.fte-lab-motion .fte-lab-motion-visual [data-motion-next]>small{display:block}
.fte-lab-motion .fte-lab-motion-visual [data-motion-next]>small{font-size:10px;font-weight:500;margin-top:3px}
.fte-lab-motion .fte-lab-motion-sentence{position:relative}
.fte-early-offers>.fte-lab-promo--animated,.fteq-next-steps>.fte-lab-promo--animated{grid-template-columns:minmax(0,1fr)}
.fte-lab-delf-entry{padding:25px 0;border-block:1px solid #dfe5f0;background:#edf3ff;color:#1c244b;font:14px/1.6 'DM Sans',system-ui,sans-serif}
.fte-lab-delf-entry .fte-lab-home-width{display:flex;gap:18px 30px;justify-content:space-between;align-items:center}
.fte-lab-delf-entry h2{font:800 21px/1.3 'DM Sans',system-ui,sans-serif;margin:0 0 6px;color:#1c244b}
.fte-lab-delf-entry p{margin:0;color:#475569;max-width:65ch}
.fte-lab-delf-entry a{display:inline-flex;align-items:center;min-height:44px;color:#1c244b;font-weight:800;font-size:13px;text-underline-offset:4px;flex-shrink:0}
.fte-lab-delf-entry a:focus-visible{outline:3px solid #2563eb;outline-offset:4px}
.fte-lab-promo .fte-lab-delf-link{display:inline-flex;align-items:center;min-height:44px;color:#315aa6;font-size:12px;text-underline-offset:4px}
@media(max-width:760px){.fte-lab-promo--animated{grid-template-columns:minmax(0,1fr)}.fte-lab-delf-entry .fte-lab-home-width{align-items:flex-start;flex-direction:column;gap:8px}.fte-lab-promo--animated .fte-lab-promo-art{max-width:100%}}
