:root{--blue:#1747ed;--ink:#163369;--soft:#edf3ff;--sky:#dce8ff;--lime:#e4fc3c;--line:#d7e1f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}a:focus-visible,summary:focus-visible{outline:3px solid #f48b37;outline-offset:6px}.wrap{width:min(1280px,88%);margin:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:30px;height:112px;border-bottom:1px solid var(--line)}.brand{display:inline-block;flex-shrink:0}.brand img{width:215px;height:auto}.header nav{display:flex;gap:25px;font-size:12px;font-weight:700}.header nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:54px;padding:17px 23px;border-radius:6px;font-weight:700;font-size:13px;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #1747ed25}.button span{font-size:23px;line-height:18px}.blue{background:var(--blue);color:#fff}.white{background:white;color:var(--blue)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.7px;line-height:1.7;margin:0 0 27px;color:var(--blue)}.hero{padding-top:65px;padding-bottom:75px;display:grid;grid-template-columns:1.12fr 1fr;gap:60px;align-items:center}h1{font-size:clamp(58px,6.4vw,94px);line-height:.98;letter-spacing:-5px;margin:0;color:var(--blue)}h1 em{font-family:Georgia,serif;font-weight:400;color:#6a84ba}h1>span{display:inline-block;margin-top:13px}.intro{font-size:16px;line-height:1.7;max-width:390px;color:#5b6b85;margin:27px 0}.intro strong{color:var(--ink)}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.text-link{font-size:12px;font-weight:700;color:var(--blue);border-bottom:1px solid var(--blue);padding:10px 0}.note{font-size:10px;color:#697996;margin-top:18px;line-height:1.6}.hero-visual{position:relative;padding:25px 12px 24px 0}.photo-frame{height:590px;border-radius:150px 12px 12px 12px;background:var(--sky);overflow:hidden;position:relative}.photo-frame>img{width:100%;height:100%;object-fit:cover;object-position:50% 28%}.photo-caption{position:absolute;bottom:0;left:0;right:0;background:var(--blue);color:white;padding:25px 28px}.photo-caption>span{font-size:8px;letter-spacing:1.7px}.photo-caption strong{display:flex;justify-content:space-between;font-size:28px;letter-spacing:-1px;margin-top:8px}.floating-word{position:absolute;left:-40px;top:70px;padding:18px 25px;background:var(--lime);color:var(--blue);font:italic 38px Georgia,serif;transform:rotate(-8deg);border-radius:9px 9px 9px 0;box-shadow:0 8px 18px #16336912}.floating-word span{font:normal 44px Arial,sans-serif;margin-left:16px}.video-tag{position:absolute;bottom:7px;left:-28px;display:flex;align-items:center;gap:14px;background:#fff;padding:15px 22px;box-shadow:0 12px 35px #16336920;border:1px solid var(--line);border-radius:8px;font-size:10px;line-height:1.7}.video-tag strong{font-size:13px;color:var(--blue)}.play{background:var(--blue);color:#fff;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;padding-left:3px}.ticker{background:var(--blue);color:white;display:flex;justify-content:center;align-items:center;gap:40px;padding:24px 20px;font-size:20px;font-weight:800;letter-spacing:-.5px;overflow:hidden;white-space:nowrap}.ticker b{font-size:29px;color:var(--lime)}.section{padding-top:90px;padding-bottom:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}h2{font-size:clamp(38px,4.2vw,60px);line-height:1.06;letter-spacing:-2.7px;margin:0;color:var(--blue)}h2 em{font-family:Georgia,serif;font-weight:400}.section-heading>p{font-size:14px;line-height:1.75;color:#63738f;margin:0;max-width:340px}.method-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.lesson-photo{border-radius:12px;background:var(--soft);overflow:hidden}.lesson-photo>img{width:100%}.lesson-photo>span{display:block;padding:20px;font-size:9px;letter-spacing:1.6px;color:var(--blue)}.benefits h3{font-size:31px;line-height:1.15;letter-spacing:-1px;margin:0 0 15px}.benefits p{font-size:14px;color:#63738f}.benefits ul,.plan ul{list-style:none;padding:0;margin:25px 0 30px}.benefits li,.plan li{position:relative;padding-left:25px;margin:14px 0;font-size:13px;line-height:1.5}.benefits li:before,.plan li:before{content:'';position:absolute;left:0;color:var(--blue);font-weight:bold}.stories{background:var(--soft)}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.story{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding:12px 12px 24px}.story-image{display:block;height:345px;position:relative;border-radius:6px;overflow:hidden;background:var(--sky)}.story-image img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transition:transform .3s}.story-image:hover img{transform:scale(1.04)}.story-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:var(--blue);width:64px;height:64px;display:grid;place-items:center;border-radius:50%;padding-left:4px;box-shadow:0 5px 30px #16336933}.watch{position:absolute;bottom:13px;left:13px;background:var(--blue);color:white;padding:10px 12px;border-radius:4px;font-size:8px;letter-spacing:1px}.story blockquote{font-size:22px;font-weight:700;letter-spacing:-.7px;line-height:1.25;margin:25px 13px 15px;color:var(--blue);min-height:85px}.story>p{font-size:12px;font-weight:bold;margin:0 13px}.story>p span{font-weight:400;color:#63738f;margin-left:5px}.start{display:grid;grid-template-columns:1fr 1fr;gap:85px}.start .button{margin-top:30px}.steps article{display:flex;gap:25px;border-top:1px solid var(--line);padding:24px 0}.steps article>span{color:var(--blue);font-size:43px;letter-spacing:-2px}.steps h3{font-size:21px;letter-spacing:-.5px;margin:3px 0 10px}.steps p{font-size:13px;color:#63738f;line-height:1.7;max-width:350px;margin:0}.plans{background:var(--soft)}.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plan{padding:30px;background:#fff;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column}.plan-label{font-size:8px;letter-spacing:1.4px;font-weight:700;margin:0 0 25px;color:var(--blue)}.plan h3{font-size:26px;letter-spacing:-1px;margin:0 0 15px}.plan-desc{font-size:13px;line-height:1.7;max-width:210px;margin:0;color:#63738f;min-height:48px}.price{font-size:68px;font-weight:700;letter-spacing:-4px;margin-top:30px;padding-bottom:23px;border-bottom:1px solid var(--line)}.price>span{font-size:13px;font-weight:400;letter-spacing:0;margin-left:8px}.plan ul{margin:15px 0 25px}.plan .button{margin-top:auto}.plan.featured{background:var(--blue);color:white;border-color:var(--blue)}.featured .plan-label{color:var(--lime)}.featured .plan-desc{color:#e0eaff}.featured li:before{color:var(--lime)}.featured .price{border-color:#7697fa}.plan-note{font-size:10px;line-height:1.6;color:#63738f;margin-top:22px}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.teacher>img{width:100%;height:365px;object-fit:cover;object-position:center 30%;border-radius:9px;background:var(--sky)}.teacher-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px}.teacher h3{font-size:22px;letter-spacing:-.7px;margin:0}.teacher-heading>span{font-size:9px;background:var(--soft);padding:7px 10px;border-radius:3px;color:var(--blue)}.teacher>p{font-size:13px;line-height:1.7;color:#63738f;max-width:300px}.faq{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line)}.faq h2{font-size:47px}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;cursor:pointer;list-style:none;font-size:13px;font-weight:700}summary::-webkit-details-marker{display:none}summary>span{width:25px;height:25px;flex-shrink:0;display:grid;place-items:center;background:var(--soft);color:var(--blue);font-size:18px}details[open] summary>span{transform:rotate(45deg)}details p{font-size:13px;line-height:1.75;color:#63738f;margin:0 25px 22px 0}.closing{background:var(--blue);color:white;padding:80px 0;overflow:hidden}.closing .wrap{position:relative}.closing .eyebrow{color:#e0eaff}.closing h2{color:white;font-size:clamp(45px,6vw,84px);position:relative;z-index:1;margin-bottom:30px}.closing h2 em{color:var(--lime)}.closing p:not(.eyebrow){font-size:11px;color:#e0eaff;line-height:1.7;max-width:400px}.star{position:absolute;right:30px;top:0;color:#b5d6ff66;font-size:260px;line-height:1}.closing .button{position:relative;z-index:1}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px;padding-top:40px;padding-bottom:25px}footer>p{font-size:9px;color:#63738f;letter-spacing:1.5px}footer>a:not(.brand){font-size:11px}footer small{width:100%;border-top:1px solid var(--line);padding-top:20px;font-size:9px;color:#63738f;line-height:1.7}.skip{position:absolute;top:-100px;left:15px;background:#fff;color:var(--blue);padding:15px;z-index:10}.skip:focus{top:10px}@media(max-width:1050px){.header nav{gap:17px;font-size:11px}.brand img{width:185px}.hero{gap:40px}.photo-frame{height:540px}h1{font-size:69px;letter-spacing:-4px}.floating-word{left:-20px;font-size:31px}.method-grid,.start,.faq{gap:40px}.plan{padding:23px}.plan h3{font-size:23px}.teacher>img{height:300px}.teacher-heading{flex-wrap:wrap}.story-image{height:300px}.story blockquote{font-size:20px}.ticker{gap:25px;font-size:17px}}@media(max-width:760px){.wrap{width:89%}.header{height:90px;gap:15px}.brand img{width:165px}.header nav{display:none}.header .button{min-height:44px;padding:13px 16px;gap:18px;font-size:11px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:50px;gap:30px}h1{font-size:clamp(60px,12vw,88px);letter-spacing:-3.7px}h1>span br{display:none}h1>span{max-width:580px}.hero .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:22px}.intro{font-size:15px;max-width:430px}.hero-visual{max-width:520px;width:100%;margin:auto;padding:15px 0 20px 15px}.photo-frame{height:480px;border-radius:100px 10px 10px 10px}.photo-frame>img{object-position:center 28%}.floating-word{left:0;top:48px;font-size:30px;padding:13px 20px}.floating-word span{font-size:35px}.video-tag{left:0;bottom:0}.photo-caption{padding:22px 25px 30px}.photo-caption strong{font-size:26px}.ticker{justify-content:flex-start;font-size:14px;gap:20px;padding:17px 25px}.ticker b{font-size:23px}.section{padding-top:60px;padding-bottom:60px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:13px}h2{font-size:41px;letter-spacing:-2px}.method-grid,.start,.faq{grid-template-columns:1fr;gap:32px}.benefits h3{font-size:29px}.benefits ul{margin:20px 0}.story-grid{grid-template-columns:1fr;gap:22px}.story{display:grid;grid-template-columns:44% 1fr;column-gap:18px;padding:12px}.story-image{height:260px;grid-row:1/3}.story blockquote{margin:18px 6px 10px 0;min-height:0;font-size:21px;align-self:end}.story>p{margin:0 0 15px;font-size:11px}.watch{font-size:7px;left:8px;bottom:9px;padding:8px}.story-play{width:47px;height:47px}.plans-grid{grid-template-columns:1fr;gap:18px}.plan{padding:30px}.plan h3{font-size:29px}.plan-desc{min-height:0;max-width:none}.price{margin-top:23px}.teacher-grid{grid-template-columns:1fr;gap:32px}.teacher>img{height:440px;object-position:center 28%}.teacher-heading{margin-top:18px}.teacher>p{max-width:400px}.faq h2{font-size:40px}.closing{padding:60px 0}.closing h2{font-size:50px;letter-spacing:-2px}.star{font-size:180px;right:-30px;top:60px}footer{gap:20px}footer>p{display:none}.eyebrow{font-size:9px;margin-bottom:23px}}@media(max-width:380px){.brand img{width:145px}.header .button{gap:12px}.hero h1{font-size:57px}.story{column-gap:12px}.story blockquote{font-size:18px}.story-image{height:240px}.teacher>img{height:380px}.closing h2{font-size:43px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep the video link below the portrait caption. */
.hero-visual{padding-bottom:80px}.video-tag{bottom:0;left:25px}
@media(max-width:760px){.hero-visual{padding-bottom:80px}.video-tag{left:0}}

/* Video lightbox and testimonials carousel */
.story-slider{min-width:0}.story-grid{display:flex;gap:25px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:none;padding-bottom:5px}.story-grid::-webkit-scrollbar{display:none}.story-grid .story{flex:0 0 calc((100% - 25px)/2);min-width:0;scroll-snap-align:start}.slider-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px}.slider-controls>span{font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--blue)}.slider-buttons{display:flex;gap:10px}.slider-buttons button{border:1px solid var(--blue);border-radius:50%;width:49px;height:49px;background:var(--blue);color:white;font-size:22px;cursor:pointer;transition:background .2s}.slider-buttons button:hover:not(:disabled){background:var(--ink);transform:none}.slider-buttons button:disabled{opacity:.3;cursor:default}.slider-buttons button:focus-visible,.video-close:focus-visible{outline:3px solid #f48b37;outline-offset:4px}.video-modal{position:fixed;inset:0;max-width:min(1050px,92vw);width:100%;max-height:95vh;padding:0;border:0;border-radius:15px;overflow:visible;background:transparent;color:white}.video-modal::backdrop{background:rgba(5,16,49,.88);backdrop-filter:blur(9px)}.video-modal-inner{position:relative;background:#080d1b;padding:8px;border-radius:15px;box-shadow:0 30px 100px #0009}.video-aspect{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:10px}.video-aspect iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-close{position:absolute;z-index:2;right:-15px;top:-49px;display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff6b;border-radius:50%;background:#fff;color:var(--blue);font-size:20px;cursor:pointer}.video-tag,.story-image{cursor:pointer}@media(max-width:760px){.story-grid{display:flex;gap:16px}.story-grid .story{flex:0 0 85%;display:block;padding:12px 12px 24px}.story-grid .story-image{height:315px}.story-grid .story blockquote{font-size:21px;min-height:0;margin:24px 13px 15px}.story-grid .story>p{margin:0 13px}.video-modal{max-width:94vw}.video-close{right:0;top:-51px}}@media(max-width:450px){.story-grid .story{flex-basis:93%}.story-grid .story-image{height:300px}}

/* Hero picture launches the popup, with a clear central play button. */
.photo-frame{isolation:isolate}
.hero-image-play{position:absolute;inset:0 0 104px;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:13px;color:#fff;background:linear-gradient(180deg,transparent 45%,rgba(5,21,66,.16));transition:background .2s}
.hero-image-play:hover{background:rgba(5,21,66,.18)}
.hero-play-icon{width:92px;height:92px;display:grid;place-items:center;border-radius:50%;background:var(--blue);border:3px solid #fff;color:#fff;font-size:31px;padding-left:6px;box-shadow:0 12px 40px #071a4e6b;transition:transform .2s}
.hero-image-play:hover .hero-play-icon{transform:scale(1.1)}
.hero-play-label{font-size:12px;font-weight:800;letter-spacing:2px;text-shadow:0 2px 8px #142c56}
/* Four visible video cards on desktop. */
.story-grid .story{flex:0 0 calc((100% - 75px)/4)}
.story-grid{gap:25px}
.story-image{height:305px}
.story blockquote{font-size:18px;min-height:95px}
.dweb-credit{font-size:12px;font-weight:600;color:var(--ink)}
.dweb-credit strong{color:var(--blue)}
@media(max-width:1050px){.story-grid .story{flex-basis:calc((100% - 25px)/2)}}
@media(max-width:760px){.story-grid .story{flex-basis:85%}.hero-image-play{bottom:93px}.hero-play-icon{width:74px;height:74px;font-size:27px}}
@media(max-width:450px){.story-grid .story{flex-basis:93%}}


/* October 2026: hero-video card directly on Emma's portrait. */
.hero-visual{padding-bottom:24px}
.photo-frame{isolation:isolate}
.hero-photo-hit{position:absolute;inset:0 0 100px;z-index:1;cursor:pointer}
.hero-photo-hit:focus-visible{outline:4px solid var(--lime);outline-offset:-8px}
.photo-caption{z-index:2}
.photo-frame .video-tag{z-index:4;left:auto;right:20px;bottom:86px;max-width:calc(100% - 35px);padding:12px 16px;border-radius:9px;gap:12px;box-shadow:0 18px 42px #081f5a55;transition:transform .2s,box-shadow .2s}
.photo-frame .video-tag:hover{transform:translateY(-4px);box-shadow:0 23px 48px #081f5a66}
.photo-frame .video-tag:focus-visible{outline:3px solid #f48b37;outline-offset:4px}
.photo-frame .video-tag .play{flex:none}
/* Accessible hamburger menu, only visible at compact widths. */
.menu-toggle,.mobile-nav-cta{display:none}
@media(max-width:760px){
  .header{position:relative;z-index:30;isolation:isolate;height:82px;gap:10px}
  .header > .button{display:none}
  .header .brand{position:relative;z-index:1}
  .header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;min-width:48px;min-height:48px;padding:7px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--blue);cursor:pointer;margin-left:auto}
  .menu-lines{display:flex;flex-direction:column;gap:4px;justify-content:center;height:19px}
  .menu-lines i{display:block;width:21px;height:2px;border-radius:4px;background:var(--blue);transition:transform .2s,opacity .2s}
  .menu-toggle-label{font-weight:800;font-size:9px;letter-spacing:.6px;line-height:1}
  .header.menu-open .menu-lines i:first-child{transform:translateY(6px) rotate(45deg)}
  .header.menu-open .menu-lines i:nth-child(2){opacity:0}
  .header.menu-open .menu-lines i:last-child{transform:translateY(-6px) rotate(-45deg)}
  .header nav{display:none;position:absolute;top:calc(100% - 1px);left:0;right:0;width:100%;flex-direction:column;gap:0;padding:12px 15px 16px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--blue);border-radius:0 0 12px 12px;box-shadow:0 22px 36px #16336924;z-index:25}
  .header.menu-open nav{display:flex}
  .header nav > a{display:flex;align-items:center;min-height:48px;padding:13px 12px;font-weight:800;font-size:13px;border-bottom:1px solid var(--soft)}
  .header nav .mobile-nav-cta{display:flex;justify-content:space-between;min-height:48px;background:var(--blue);color:#fff;border-radius:6px;margin-top:12px;padding:13px 16px;border:0}
  .header nav a:focus-visible{outline:3px solid #f48b37;outline-offset:-3px}
  .hero-visual{padding-bottom:20px}
  .photo-frame .video-tag{left:auto;right:13px;bottom:90px;padding:10px 13px;gap:10px}
  .photo-frame .video-tag strong{font-size:12px}
  .photo-frame .video-tag .play{width:38px;height:38px}
  .hero-photo-hit{bottom:95px}
}
@media(max-width:380px){
  .photo-frame .video-tag{right:9px;max-width:calc(100% - 18px)}
}
@media(prefers-reduced-motion:reduce){.menu-lines i{transition:none}}

/* Refinements: crisp Heroicons-style vectors (no operating-system emoji glyphs). */
.icon{display:inline-block;vertical-align:middle;width:1.25em;height:1.25em;flex:0 0 auto;overflow:visible}
.button .icon{width:21px;height:21px;margin-left:auto;transition:transform .2s}
.button:hover .icon{transform:translate(2px,-2px)}
.header nav .icon{width:16px;height:16px;margin-left:7px}
.text-link .icon{width:15px;height:15px;margin-left:5px;vertical-align:-3px}
.watch .icon{width:10px;height:10px;margin-left:3px;vertical-align:-2px}
.video-tag strong .icon{width:16px;height:16px;margin-left:3px;vertical-align:-3px}
.photo-caption strong{justify-content:flex-start}
.photo-frame .video-tag .play{padding:0}
.play .icon{width:19px;height:19px;margin-left:2px}
.story-play{padding:0}
.story-play .icon{width:27px;height:27px;margin-left:3px}
.slider-buttons button{display:grid;place-items:center;font-size:initial}
.slider-buttons .icon-slider{width:23px;height:23px}
.video-close{font-size:initial}
.video-close .icon-close{width:20px;height:20px}
.floating-word{display:flex;align-items:center;gap:19px;white-space:nowrap}
.floating-word .floating-icon{font:inherit;display:inline-flex;margin:0}
.floating-word .icon-starburst{width:47px;height:47px;stroke-width:1.5}
.ticker-icon{display:grid;place-items:center;color:var(--lime);flex:0 0 auto}
.ticker-icon .icon-starburst{width:30px;height:30px;stroke-width:1.5}
.benefits li:before,.plan li:before{content:'';position:absolute;left:4px;top:5px;width:7px;height:11px;border:solid var(--blue);border-width:0 2px 2px 0;transform:rotate(45deg);color:inherit}
.featured li:before{border-color:var(--lime)}
.start{scroll-margin-top:28px}
.start-helper{font-size:13px;line-height:1.6;color:#607391;max-width:310px;margin:15px 0 0}
.closing .star-art{position:absolute;right:1%;top:0;width:270px;height:270px;color:#b5d6ff55;pointer-events:none}
.star-art .icon-starburst{display:block;width:100%;height:100%;stroke-width:.65}
/* FAQ: prominent, approachable question cards. */
.faq{grid-template-columns:.8fr 1.2fr;gap:85px;align-items:start}
.faq .eyebrow{margin-bottom:22px}
.faq h2{font-size:clamp(47px,4.8vw,67px);letter-spacing:-2.6px}
.faq-intro{font-size:15px;line-height:1.7;color:#5c7094;max-width:310px;margin:24px 0 0}
.faq-item{background:#f7f9ff;border:1px solid var(--line);border-radius:12px;margin:0 0 11px;transition:background .2s,border-color .2s,box-shadow .2s}
.faq-item:hover{border-color:#adc2ff;background:#f0f4ff}
.faq-item[open]{background:#fff;border-color:#a8bbf8;box-shadow:0 12px 35px #1747ed0e}
.faq-item summary{padding:21px 22px;gap:20px;font-size:clamp(16px,1.38vw,19px);font-weight:750;line-height:1.35;color:var(--ink)}
.faq-item[open] summary{color:var(--blue)}
.faq-item summary>span{width:35px;height:35px;border-radius:50%;background:#e6eeff;transition:transform .2s,background .2s}
.faq-item[open] summary>span{background:var(--blue);color:#fff}
.faq-item .icon-plus{width:18px;height:18px;stroke-width:2}
.faq-item p{font-size:14px;line-height:1.75;margin:-2px 74px 23px 22px}
/* Footer: top-right back-to-top; bottom-right developer credit. */
.footer{display:block;padding-top:45px;padding-bottom:27px}
.footer-main{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:35px;padding-bottom:36px}
.footer-main>p{margin:0;color:#63738f;font-size:10px;letter-spacing:1.5px;text-align:center}
.footer-main .back-to-top{justify-self:end;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ink)}
.footer-main .back-to-top .icon{width:17px;height:17px;transition:transform .2s}
.footer-main .back-to-top:hover .icon{transform:translateY(-3px)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:20px}
.footer-bottom small{border:0;padding:0;width:auto;max-width:680px;font-size:10px;line-height:1.6;color:#6b7b96}
.footer-bottom .dweb-credit{font-size:10px;font-weight:400;line-height:1.6;color:#6b7b96;white-space:nowrap;margin-left:auto;text-align:right}
.footer .dweb-credit strong{color:var(--blue)}
@media(max-width:1050px){.faq{gap:42px}.footer-main{grid-template-columns:1fr auto}.footer-main>p{display:none}}
@media(max-width:760px){
  .floating-word{gap:12px}.floating-word .icon-starburst{width:34px;height:34px}
  .ticker-icon .icon-starburst{width:23px;height:23px}
  .closing .star-art{width:190px;height:190px;right:-38px;top:80px}
  .faq{gap:30px}.faq h2{font-size:44px}.faq-intro{margin-top:15px;font-size:13px}
  .faq-item summary{padding:17px 16px;font-size:16px}.faq-item p{margin:0 20px 21px 16px;font-size:13px}
  .footer{padding-top:35px}.footer-main{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-bottom:28px}
  .footer-main .back-to-top{white-space:nowrap;font-size:11px}
  .footer-bottom{display:flex;flex-direction:column;align-items:stretch;gap:18px}
  .footer-bottom small{max-width:100%}.footer-bottom .dweb-credit{align-self:flex-start;margin-left:0;text-align:left}
}
@media(max-width:380px){
  .floating-word .icon-starburst{width:29px;height:29px}
  .footer-main .brand img{max-width:138px}
  .footer-main .back-to-top{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.faq-item,.faq-item summary>span,.footer-main .back-to-top .icon,.button .icon{transition:none}}
@media(max-width:760px){.faq{grid-template-columns:minmax(0,1fr)}.faq>div{min-width:0}}

/* Footer: brand tagline directly below the logo, aligned to its left edge. */
.footer-main{grid-template-columns:minmax(0,1fr) auto}
.footer-brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.footer-brand-block .brand{display:inline-flex;align-items:center}
.footer-brand-block .brand img{display:block}
.footer-main .footer-brand-block p{display:block;margin:0;text-align:left;color:#63738f;font-size:10px;line-height:1.4;letter-spacing:1.5px}
@media(max-width:380px){.footer-main .footer-brand-block p{font-size:9px;letter-spacing:1px}}

/* Redes sociales en el pie de página — SVG icons; no emoji glyphs. */
.footer-brand-block .social-links{display:flex;align-items:center;gap:10px;margin-top:10px}
.footer-brand-block .social-links a{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:#f7f9ff;color:var(--blue);transition:background .2s,transform .2s,border-color .2s}
.footer-brand-block .social-links a svg{display:block;width:21px;height:21px}
.footer-brand-block .social-links a:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.footer-brand-block .social-links a{transition:none}}


/* YouTube feed: responsive cards, existing video popup, no client API key. */
.youtube-section{scroll-margin-top:32px}
.youtube-heading{margin-bottom:26px}
.yt-intro{display:flex;align-items:center;justify-content:flex-start;gap:clamp(20px,3.4vw,52px);margin-bottom:21px;padding-bottom:18px;border-bottom:1px solid var(--line);color:#6b7b96;font-size:11px}
.yt-channel-label{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-weight:800;letter-spacing:1.1px;font-size:10px}
.yt-channel-label svg{width:23px;height:23px;color:var(--blue)}
.youtube-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;min-height:125px}
.youtube-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px #1633690a;transition:transform .25s,box-shadow .25s}
.youtube-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px #1633691b}
.youtube-card.is-hidden{display:none}
.youtube-thumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#e3ebff;cursor:pointer}
.youtube-thumb img{height:100%;width:100%;object-fit:cover;transition:transform .35s}
.youtube-thumb:hover img{transform:scale(1.05)}
.youtube-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--blue);color:white;border:2px solid white;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;box-shadow:0 8px 25px #0004}
.youtube-play svg{width:27px;height:27px;margin-left:2px}
.youtube-copy{padding:18px 17px 20px;display:flex;flex-direction:column;gap:11px;flex:1}
.youtube-copy h3{font-size:16px;line-height:1.37;letter-spacing:-.3px;color:var(--ink);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.youtube-copy time{color:#6b7b96;font-size:11px;margin-top:auto}
.youtube-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.yt-more,.yt-channel-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 20px;border-radius:7px;font-size:13px;font-weight:800;cursor:pointer}
.yt-more{border:1px solid var(--blue);background:var(--blue);color:white}
.yt-more[hidden]{display:none}
.yt-more:hover{background:var(--ink)}
.yt-channel-link{border:1px solid var(--line);color:var(--blue);background:white}
.yt-channel-link:hover{background:var(--soft)}
.yt-more svg,.yt-channel-link svg{width:17px;height:17px;flex:0 0 auto}
.youtube-status{grid-column:1/-1;background:var(--soft);border-radius:12px;padding:25px 28px;line-height:1.6;color:var(--ink);margin:0;font-size:14px}
.youtube-status a{font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1050px){.youtube-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.youtube-grid{gap:16px}.yt-intro{align-items:flex-start;flex-direction:column;gap:6px}.youtube-copy{padding:12px}.youtube-copy h3{font-size:14px}.youtube-play{width:47px;height:47px}.youtube-play svg{width:22px;height:22px}.youtube-actions{flex-direction:column;align-items:stretch}.yt-more,.yt-channel-link{width:100%}}
@media(max-width:460px){.youtube-grid{grid-template-columns:1fr}.youtube-card{max-width:none}.youtube-copy h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){.youtube-card,.youtube-thumb img{transition:none}}


/* Optional live YouTube channel stats; hidden until independently verified. */
.yt-stats{display:flex;align-items:center;justify-content:flex-start;gap:26px;min-width:0;flex-wrap:wrap}
.yt-stats[hidden]{display:none}
.yt-stat{display:inline-flex;gap:8px;align-items:baseline;white-space:nowrap}
.yt-stat strong{font-size:20px;line-height:1.15;font-weight:800;letter-spacing:-.5px;color:var(--blue)}
.yt-stat span{font-size:10px;font-weight:700;letter-spacing:.8px;color:#71819d}
@media(max-width:760px){.yt-stats{justify-content:flex-start;gap:10px 25px}.yt-stat strong{font-size:18px}.yt-intro{gap:14px}}
@media(max-width:360px){.yt-stat{gap:5px}.yt-stat span{font-size:9px}.yt-stats{gap:10px 15px}}

/* The placeholder figures are visibly labelled approximate until verified live stats arrive. */
.yt-stats-estimate{font-size:10px;letter-spacing:.3px;color:#71819d;font-weight:500;align-self:center}
.yt-stats-estimate[hidden]{display:none}

/* Align channel audience and video counts immediately after the YouTube label. */
@media (min-width:761px) and (max-width:980px){.yt-intro{flex-wrap:wrap;gap:12px 28px}}

/* Continuously moving student stories, with an explicit pause control. */
.story-grid.is-auto-rotating{scroll-snap-type:none;scroll-behavior:auto}
.slider-buttons .slider-motion{border-radius:999px;min-width:105px;width:auto;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--blue);font-size:11px;font-weight:700}
.slider-buttons .slider-motion:hover{background:var(--sky)}
.slider-motion span[aria-hidden]{font-size:16px;line-height:1}
@media(prefers-reduced-motion:reduce){.story-grid{scroll-behavior:auto}}

/* Compact learning-resource cards. */
.resources{background:#edf3ff}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.resource-card{min-width:0;padding:22px;background:#fff;border:1px solid #d9e4fa;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 6px 22px #1747ed0a}
.resource-card-top{display:flex;justify-content:space-between;align-items:center;color:var(--blue);font-size:9px;letter-spacing:1.4px;font-weight:800}
.resource-card-top span:last-child{font-size:22px;letter-spacing:0}
.resource-art{height:205px;display:flex;align-items:center;justify-content:center;position:relative;margin:15px 0 18px;overflow:hidden;border-radius:8px}
.app-art{background:#dfe8ff}.app-device{width:124px;height:176px;border:8px solid #1b49ec;border-radius:20px;background:#1747ed;color:#fff;box-shadow:12px 12px 0 #9eb7ff;transform:rotate(-8deg);padding:17px 13px;display:flex;flex-direction:column}.app-device>span{font-size:26px;color:#e4fc3c}.app-device strong{font-size:20px;line-height:1.05;letter-spacing:-.8px;margin-top:11px}.app-device i{font:700 5px Arial,sans-serif;letter-spacing:.6px;margin-top:auto;color:#dfe8ff}
.podcast-art{background:#dce8ff}.podcast-disc{width:164px;height:164px;border:1px solid #1747ed38;border-radius:50%;background:repeating-radial-gradient(circle,#1b49ec 0,#1b49ec 13px,#4167ee 14px,#1b49ec 16px);display:grid;place-items:center;color:#e4fc3c;transform:rotate(-14deg);box-shadow:13px 14px 0 #8eadff}.podcast-disc>span{font-size:49px;font-weight:800;letter-spacing:-5px}.disc-center{width:12px;height:12px;border-radius:50%;background:#e4fc3c;position:absolute;bottom:22px;right:45px}.audio-waves{position:absolute;right:30px;bottom:40px;display:flex;align-items:center;gap:4px}.audio-waves i{width:4px;height:22px;border-radius:4px;background:#e4fc3c}.audio-waves i:nth-child(2n){height:39px}.audio-waves i:nth-child(3n){height:58px}
.planner-art{background:#dce8ff;gap:0}.planner-art img{width:119px;height:181px;object-fit:cover;box-shadow:9px 9px 16px #173b8540}.planner-art img:first-child{transform:rotate(-11deg) translate(12px,5px);z-index:1}.planner-art img:last-child{transform:rotate(8deg) translate(-10px,5px)}
.resource-card h3{font-size:25px;line-height:1.18;letter-spacing:-.9px;margin:0 0 11px;color:var(--blue)}.resource-card>p{font-size:13px;line-height:1.7;color:#63738f;margin:0 0 22px;min-height:67px}.resource-link{margin-top:auto;padding:18px 0 3px;border-top:1px solid #dce6fa;color:var(--blue);font-size:12px;font-weight:800;display:flex;justify-content:space-between;gap:10px}.resource-link span{font-size:19px}.resource-link:hover span{transform:translate(3px,-3px)}.footer-contact{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:15px;font-size:11px;font-weight:700;color:var(--blue)}.footer-contact a:hover{text-decoration:underline}
@media(max-width:900px){.resource-grid{grid-template-columns:1fr 1fr}.planner-card{grid-column:1/-1}.planner-card .resource-art{height:175px}.planner-card .planner-art img{height:155px;width:102px}}
@media(max-width:620px){.resource-grid{grid-template-columns:1fr}.planner-card{grid-column:auto}.resource-art,.planner-card .resource-art{height:190px}.planner-card .planner-art img{height:170px;width:112px}.resource-card>p{min-height:0}.footer-contact{gap:12px 18px}}

/* Official partner marks move as a quiet, seamless ribbon. */
.partners{padding:48px 0 56px;background:#fff;border-top:1px solid #dce5f8;border-bottom:1px solid #dce5f8;overflow:hidden}.partners-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.partners-heading .eyebrow{margin:0}.partners h2{font-size:clamp(24px,2.5vw,34px);letter-spacing:-1.3px;line-height:1.15;max-width:480px}.partner-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}.partner-track{display:flex;width:max-content;animation:partners-travel 30s linear infinite}.partner-window:hover .partner-track,.partner-window:focus-within .partner-track{animation-play-state:paused}.partner-group{display:flex;gap:16px;padding-right:16px;align-items:center;flex-shrink:0}.partner-logo{width:180px;height:86px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 23px;border:1px solid #dce5f8;background:#f8faff;border-radius:8px}.partner-logo img{max-width:100%;max-height:43px;width:auto;height:auto;object-fit:contain}.partner-logo.busuu{background:#0b4586;border-color:#0b4586}.partner-logo.issen img{height:46px;width:46px;object-fit:cover;border-radius:11px}.partner-logo.issen span{font-size:18px;color:#1b3f70;font-weight:800;letter-spacing:.5px}@keyframes partners-travel{to{transform:translateX(-50%)}}@media(max-width:760px){.partners{padding:39px 0 44px}.partners-heading{display:block}.partners-heading .eyebrow{margin-bottom:12px}.partners h2{font-size:27px}.partner-logo{width:150px;height:72px;padding:12px 17px}.partner-logo img{max-height:35px}.partner-logo.issen span{font-size:15px}}@media(prefers-reduced-motion:reduce){.partner-track{animation:none}.partner-window{overflow-x:auto;mask-image:none}}
.partner-logo.issen img{width:auto;height:auto;max-width:128px;max-height:43px;object-fit:contain;border-radius:0}


/* EM Languages brand-book refinements — Oct 2026
   Inter Bold/Light and the handwritten Covered By Your Grace accent.
   Google Fonts delivery; system fallbacks when offline. */
:root{--blue:#1c41e7;--ink:#122123;--lime:#ddf639}
body{font-family:'Inter',Arial,Helvetica,sans-serif;font-weight:400}
h1,h2,h3,.button,.header nav,.eyebrow,.story blockquote{font-family:'Inter',Arial,Helvetica,sans-serif}
h1,h2{font-weight:800;letter-spacing:-.055em}
h1{line-height:1.035}
h1 em,h2 em,.floating-word,.planner-page .planner-hero h1 em{font-family:'Covered By Your Grace','Comic Neue',cursive!important;font-style:normal!important;font-weight:400!important;letter-spacing:-.012em;line-height:.95}
h1 em{color:var(--blue);font-size:1.1em}
h2 em{color:var(--blue);font-size:1.11em}
.closing h2 em,.planner-last h2 em{color:var(--lime)}
.floating-word{font-size:clamp(32px,3.8vw,53px);padding:12px 22px 11px;letter-spacing:-.02em}
.intro,.section-heading>p,.benefits p,.resource-card>p,.plan-desc,.faq-intro{font-weight:400}
.story blockquote{font-weight:750}
/* Navigation and non-functional EN preview switch. Both links resolve to Spanish homepage. */
.header{gap:clamp(12px,1.5vw,25px)}
.header nav{gap:clamp(11px,1.25vw,22px);font-weight:700}
.header-actions{display:flex;align-items:center;gap:15px;flex-shrink:0}
.language-switch{display:flex;align-items:center;gap:3px;padding:3px;background:#f0f4ff;border-radius:8px;border:1px solid var(--line);font-size:11px;font-weight:800;letter-spacing:.045em}
.language-choice{display:grid;place-items:center;min-width:32px;height:31px;padding:0 5px;border-radius:5px;color:#7182a6;transition:background .2s,color .2s}
.language-choice.is-current{background:var(--blue);color:#fff;box-shadow:0 2px 8px #1747ed20}
.language-choice:not(.is-current):hover{background:white;color:var(--blue)}
/* The three genuine testimonials stay still and all play via explicit click only. */
.story-showcase .story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;overflow:visible;scroll-behavior:auto;scroll-snap-type:none;padding:0}
.story-showcase .story-grid .story{min-width:0;width:auto;display:flex;flex-direction:column;flex:none;padding:13px 13px 25px;scroll-snap-align:none}
.story-showcase .story-image{height:auto;aspect-ratio:4 / 4.25}
.story-showcase .story blockquote{font-size:clamp(18px,1.4vw,21px);min-height:0;margin:23px 12px 18px;letter-spacing:-.04em}
.story-showcase .story>p{margin:auto 12px 0;padding-top:14px}
.story-showcase .story-play{width:62px;height:62px}
/* Real platform logos rather than illustrative fake music/app devices. */
.resource-card{border-radius:13px}
.resource-art{height:205px;isolation:isolate}
.app-art{background:linear-gradient(140deg,#dce8ff,#c5daff)}
.podcast-art{background:linear-gradient(135deg,#e8efff,#d3e1ff)}
.app-mark-lockup,.podcast-lockup{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;height:100%;padding:21px 25px;overflow:hidden}
.appstore-icon{position:absolute;right:19px;top:18px;width:99px;height:99px;border-radius:23px;display:grid;place-items:center;background:var(--blue);color:#fff;transform:rotate(11deg);box-shadow:0 13px 24px #153cc835}
.appstore-icon svg{width:75px;height:75px}
.app-lockup-small,.podcast-lockup-copy>span{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:var(--blue)}
.app-lockup-name{display:block;margin-top:20px;max-width:180px;font-size:clamp(21px,2vw,30px);line-height:1.1;font-weight:850;color:var(--blue);letter-spacing:-.06em}
.brand-badge{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:-.02em;border:1px solid #a2b5ea;border-radius:8px;padding:8px 12px;background:#fff;color:var(--blue);box-shadow:0 8px 20px #1747ed10}
.brand-badge svg{width:19px;height:19px}
.spotify-icon{position:absolute;right:14px;top:10px;width:147px;height:147px;color:var(--blue);transform:rotate(9deg);opacity:.95;filter:drop-shadow(9px 11px 0 #b3c7ff)}
.spotify-icon svg{width:100%;height:100%}
.podcast-lockup-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;padding-top:8px}
.podcast-lockup-copy strong{font-size:clamp(20px,2vw,29px);line-height:1.05;color:var(--blue);letter-spacing:-.06em;max-width:190px}
.podcast-lockup-copy small{font-size:11px;color:#5571a0;max-width:160px;line-height:1.5}
.spotify-badge{position:relative;z-index:2}
.spotify-badge svg{color:#1db954}
/* Partner logos: one stationary, clean, monochrome blue row with no background panels. */
.partners{padding:65px 0;border-color:#e7edfa}
.partners-heading{margin-bottom:26px}
.partner-window{overflow:visible;mask-image:none}
.partner-list{width:100%}
.partner-items{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:25px 38px;padding:0}
.partner-logo,.partner-logo.busuu{display:flex;width:auto;height:58px;flex:1 1 130px;min-width:115px;max-width:185px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.partner-logo img,.partner-logo.issen img{width:auto;max-width:100%;height:auto;max-height:44px;object-fit:contain;border:0;border-radius:0;filter:brightness(0) saturate(100%) invert(22%) sepia(93%) saturate(3617%) hue-rotate(225deg) brightness(96%) contrast(99%)}
@media(max-width:1100px){.header nav{gap:11px}.header-actions{gap:9px}.header-actions .button{padding:14px 13px;gap:10px}.header .brand img{width:175px}}
@media(max-width:760px){
  .header{gap:9px}.header-actions{order:1;margin-left:auto;gap:0}.header .menu-toggle{order:2;margin-left:0}
  .header-actions>.button{display:none}
  .language-switch{padding:2px}.language-choice{min-width:29px;height:31px;font-size:10px}
  .story-showcase .story-grid{display:grid;grid-template-columns:1fr;gap:18px}
  .story-showcase .story-grid .story{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);column-gap:15px;align-items:center;padding:12px}
  .story-showcase .story-image{height:245px;aspect-ratio:auto;grid-row:1/3}
  .story-showcase .story blockquote{margin:10px 3px 8px 0;font-size:clamp(17px,4.6vw,23px);align-self:end}
  .story-showcase .story>p{margin:0 3px 10px;padding:0;align-self:start}
  .partner-items{justify-content:center;gap:10px 26px}
  .partner-logo,.partner-logo.busuu{flex-basis:calc(33.3% - 20px);min-width:100px;max-width:170px;height:59px}
  .resource-art{height:205px}
  .app-lockup-name{font-size:29px}
}
@media(max-width:430px){.header .brand img{width:137px}.story-showcase .story-image{height:205px}.partner-logo,.partner-logo.busuu{flex-basis:calc(50% - 18px)}}
@media(max-width:350px){.header .brand img{width:120px}.language-choice{min-width:26px}.header{gap:6px}}


/* EML 2026/10/13 revision — calmer type, touch carousel and logo ribbon. */
/* The handwriting face in the brand guide has a single native weight (400);
   soft color/opacity gives its strokes a lighter visual treatment. */
body,.planner-page{font-family:'Inter',Arial,Helvetica,sans-serif;font-weight:400}
h1 em,h2 em,.floating-word,.planner-page .planner-hero h1 em{
  font-family:'Covered By Your Grace',cursive!important;
  font-weight:300!important;
  font-synthesis:none;
  opacity:.86;
}
/* Keep structural type legible while paragraph copy uses Inter Regular. */
.section-heading>p,.intro,.benefits p,.resource-card>p,.steps p,
.plan-desc,.teacher>p,.faq-intro,.faq-item p,details p,
.planner-page .edition p,.planner-page .planner-hero-grid>div:first-child>p:not(.eyebrow){font-weight:400}

/* Quiet, text-only ES / EN — no colored pills or enclosing panel. */
.language-switch{display:inline-flex;align-items:center;gap:8px;padding:0;margin:0;
  background:transparent;border:0;border-radius:0;box-shadow:none;
  font-size:11px;font-weight:600;letter-spacing:.055em;line-height:1}
.language-divider{font-weight:300;color:#c1cbe0;pointer-events:none}
.language-choice,.language-choice.is-current{
  display:inline-flex;align-items:center;justify-content:center;min-width:0;height:auto;
  padding:8px 1px;background:none;border:0;border-radius:0;
  box-shadow:none;color:#8a99b3;transition:color .2s ease}
.language-choice.is-current{color:var(--blue);font-weight:700}
.language-choice:hover,.language-choice:not(.is-current):hover{background:none;color:var(--blue)}
.language-choice:focus-visible{outline-offset:3px}

/* Restore manual video slider: no autoplay, no pause button. */
.story-showcase{max-width:1170px;margin-inline:auto}
.story-showcase .story-grid{
  display:flex;align-items:stretch;gap:22px;overflow-x:auto;overflow-y:hidden;
  scroll-behavior:smooth;scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
  overscroll-behavior-inline:contain;padding:4px 2px 12px;
}
.story-showcase .story-grid::-webkit-scrollbar{display:none}
.story-showcase .story-grid .story{
  display:flex;flex-direction:column;min-width:0;width:auto;
  flex:0 0 calc((100% - 22px)/2.07);padding:13px 13px 25px;
  scroll-snap-align:start;scroll-snap-stop:always}
.story-showcase .story-image{aspect-ratio:1.3;height:auto}
.story-showcase .story blockquote{font-weight:700;font-size:clamp(18px,1.7vw,23px);line-height:1.3}
.story-showcase .story>p{margin:auto 12px 0;padding-top:16px}
.story-showcase .slider-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:19px}
.story-showcase .slider-controls>span{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--blue)}
.story-showcase .slider-buttons{display:flex;align-items:center;gap:10px}
.story-showcase .slider-buttons button{display:grid;place-items:center;width:47px;height:47px;
  background:var(--blue);border:1px solid var(--blue);border-radius:50%;color:white;
  cursor:pointer;transition:background .2s ease,transform .2s ease}
.story-showcase .slider-buttons button:hover{background:var(--ink);transform:none}
.story-showcase .slider-buttons button:focus-visible{outline:3px solid #f48b37;outline-offset:3px}
.story-showcase .slider-buttons .icon-slider{width:22px;height:22px}

/* Seamless continuously traveling logotypes, no card backgrounds. */
.partners{overflow:hidden}
.partner-window{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.partner-track{display:flex;align-items:center;gap:0;width:max-content;animation:partners-travel 31s linear infinite;will-change:transform}
.partner-track .partner-group{display:flex;align-items:center;justify-content:flex-start;
  flex-wrap:nowrap;flex:0 0 auto;gap:clamp(32px,4vw,74px);padding-right:clamp(32px,4vw,74px)}
.partner-track .partner-logo,.partner-track .partner-logo.busuu{
  flex:0 0 165px;display:flex;align-items:center;justify-content:center;
  height:66px;max-width:none;min-width:0;padding:0;border:0;border-radius:0;
  background:transparent;box-shadow:none}
.partner-track .partner-logo img,.partner-track .partner-logo.issen img{
  max-width:158px;max-height:44px;height:auto;width:auto;object-fit:contain;
  filter:brightness(0) saturate(100%) invert(22%) sepia(93%) saturate(3617%) hue-rotate(225deg) brightness(96%) contrast(99%)}
@keyframes partners-travel {from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:760px){
  .language-switch{gap:6px;font-size:10px}
  .language-choice,.language-choice.is-current{height:auto;min-width:0;padding:9px 0}
  .story-showcase .story-grid{display:flex;gap:15px;overflow-x:auto;scroll-snap-type:x mandatory}
  .story-showcase .story-grid .story{display:flex;flex:0 0 85%;width:auto;padding:10px 10px 20px}
  .story-showcase .story-image{height:auto;aspect-ratio:1.13;grid-row:auto}
  .story-showcase .story blockquote{margin:18px 10px 12px;font-size:19px;align-self:auto}
  .story-showcase .story>p{margin:auto 10px 0;padding-top:11px;align-self:auto}
  .story-showcase .slider-buttons button{height:42px;width:42px}
  .story-showcase .slider-controls>span{font-size:9px;letter-spacing:1px}
  .partner-track .partner-group{gap:35px;padding-right:35px;justify-content:flex-start}
  .partner-track .partner-logo,.partner-track .partner-logo.busuu{flex-basis:142px;height:58px}
  .partner-track .partner-logo img,.partner-track .partner-logo.issen img{max-width:136px;max-height:38px}
  .partner-track{animation-duration:27s}
}
@media(max-width:430px){.story-showcase .story-image{height:auto}.story-showcase .story-grid .story{flex-basis:86%}}
@media(prefers-reduced-motion:reduce){
  .partner-track{animation:none;will-change:auto}
  .partner-window{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
  .story-showcase .story-grid{scroll-behavior:auto}
  .story-showcase .slider-buttons button{transition:none}
}


/* EM Languages original brand handwriting: Covered By Your Grace. */
h1 em,h2 em,.floating-word,.planner-page .planner-hero h1 em{
  font-family:'Covered By Your Grace',cursive!important;
  font-weight:400!important;
  font-synthesis:none!important;
  font-style:normal!important;
  opacity:1!important;
}
.story-showcase .story-grid{
  gap:16px;
  padding:4px 2px 14px;
  scroll-padding-left:2px;
}
.story-showcase .story-grid .story{
  flex:0 0 calc((100% - 48px)/4);
  box-sizing:border-box;
  padding:9px 9px 18px;
  border-radius:7px;
}
.story-showcase .story-image{
  position:relative;
  width:100%;
  display:block;
  aspect-ratio: 4 / 4.75;
  overflow:hidden;
  isolation:isolate;
  background:#dfe7f6;
}
.story-showcase .story-image > img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;height:100%;
  object-fit:cover;
}
.story-showcase .story-preview{
  position:absolute;
  z-index:1;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.story-showcase .story-preview iframe{
  position:absolute;
  width:100%;height:100%;
  inset:0;
  border:0;
  pointer-events:none;
  background:transparent;
}
.story-showcase .story-play{display:none!important}
.story-showcase .story-sound-hint{
  position:absolute;
  z-index:4;
  top:11px;right:11px;
  font-family:'Inter',sans-serif;
  font-size:9px;
  font-weight:600;
  letter-spacing:.045em;
  line-height:1;
  padding:8px 9px;
  border-radius:50px;
  background:rgba(14,30,70,.60);
  color:white;
  backdrop-filter:blur(6px);
}
.story-showcase .story-image .watch{
  z-index:4;
  max-width:calc(100% - 22px);
  font-size:10px;
  letter-spacing:.02em;
  white-space:nowrap;
}
.story-showcase .story blockquote{
  font-size:clamp(14px,1.2vw,17px);
  line-height:1.45;
  letter-spacing:-.025em;
  margin:15px 6px 10px;
}
.story-showcase .story>p{font-size:11px;margin:auto 6px 0;padding-top:10px}
.story-showcase .story>p span{font-size:10px}
/* The original assets are genuine marks; balance optical width and ink weight. */
.partner-track .partner-group{gap:clamp(28px,3.5vw,55px);padding-right:clamp(28px,3.5vw,55px)}
.partner-track .partner-logo,.partner-track .partner-logo.busuu{
  width:165px;flex:0 0 165px;height:72px;
  min-width:165px;max-width:165px;
}
.partner-track .partner-logo img,.partner-track .partner-logo.issen img{
  display:block;
  width:var(--logo-width,143px);
  max-width:var(--logo-width,143px);
  max-height:48px;
  height:auto;
  object-fit:contain;
  opacity:var(--logo-opacity,.87);
  filter:brightness(0) saturate(100%) invert(22%) sepia(93%) saturate(3617%) hue-rotate(225deg) brightness(96%) contrast(99%);
}
.partner-track .p-lingopanda{--logo-width:147px;--logo-opacity:.88}
.partner-track .p-busuu{--logo-width:147px;--logo-opacity:.88}
.partner-track .p-lingopie{--logo-width:130px;--logo-opacity:.82}
.partner-track .p-promova{--logo-width:131px;--logo-opacity:.81}
.partner-track .p-lingq{--logo-width:138px;--logo-opacity:.87}
.partner-track .p-issen{--logo-width:116px;--logo-opacity:.7}
.partner-track{animation-duration:36s}
@media(max-width:1050px){
  .story-showcase .story-grid .story{flex-basis:calc((100% - 32px)/3)}
  .story-showcase .story blockquote{font-size:16px}
}
@media(max-width:760px){
  .story-showcase .story-grid{gap:14px}
  .story-showcase .story-grid .story{flex:0 0 calc((100% - 14px)/1.45);padding:9px 9px 20px}
  .story-showcase .story-image{aspect-ratio:4 / 4.5}
  .story-showcase .story blockquote{font-size:17px;margin:14px 6px 8px}
  .partner-track .partner-logo,.partner-track .partner-logo.busuu{
    flex:0 0 146px;width:146px;height:62px;max-width:146px;min-width:146px}
  .partner-track .partner-logo img,.partner-track .partner-logo.issen img{
    width:calc(var(--logo-width,143px)*.87);max-width:calc(var(--logo-width,143px)*.87);
    max-height:42px;
  }
}
@media(max-width:430px){
  .story-showcase .story-grid .story{flex:0 0 87%}
  .story-showcase .story-image{aspect-ratio:4 / 4.5}
}
@media(prefers-reduced-motion:reduce){
  .story-showcase .story-grid{scroll-behavior:auto}
}

/* Reveal an embedded preview only after Vimeo confirms playback.
   On blocked embeds, keep the meaningful poster photo. */
.story-showcase .story-preview iframe{opacity:0;transition:opacity .25s ease}
.story-showcase .story-preview iframe.is-playing{opacity:1}


/* EML / v5 — portrait Vimeo embeds CROP TO FILL, not letterbox or reveal the poster on sides. */
.story-showcase .story-image { position:relative; isolation:isolate; overflow:hidden; }
.story-showcase .story-image > img { z-index:0; object-fit:cover; }
.story-showcase .story-preview { z-index:1; position:absolute; inset:0; overflow:hidden; pointer-events:none; }
.story-showcase .story-preview iframe {
  position:absolute!important;
  top:50%!important; left:50%!important; right:auto!important; bottom:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:100%!important;
  aspect-ratio:9 / 16;
  transform:translate(-50%,-50%);
  border:0; display:block; background:transparent;
  opacity:0; transition:opacity .3s ease;
  pointer-events:none;
}
.story-showcase .story-preview iframe.is-playing { opacity:1; }
/* The original image is a fallback, not a second picture beside a playing Vimeo video. */
.story-showcase .story-image:has(iframe.is-playing) > img { opacity:0; }
.story-showcase .story-image .watch {position:absolute;z-index:3;}
/* A single clear call to listen — remove extra floating pill from the picture. */
.story-showcase .story-sound-hint { display:none!important; }

/* Optically balanced, unboxed blue marks: common centerline, brand-specific widths. */
.partner-track .partner-logo,.partner-track .partner-logo.busuu {
  flex:0 0 170px;width:170px;min-width:170px;max-width:170px;height:70px;
  align-items:center;justify-content:center;
}
.partner-track .partner-logo img,.partner-track .partner-logo.issen img {
  width:var(--logo-width,136px);max-width:var(--logo-width,136px);
  height:auto;max-height:46px;display:block;object-fit:contain;
  opacity:.96;
  filter:brightness(0) saturate(100%) invert(22%) sepia(93%) saturate(3617%) hue-rotate(225deg) brightness(96%) contrast(99%);
}
.partner-track .p-lingopanda{--logo-width:146px}
.partner-track .p-busuu{--logo-width:121px}
.partner-track .p-lingopie{--logo-width:124px}
.partner-track .p-promova{--logo-width:128px}
.partner-track .p-lingq{--logo-width:131px}
.partner-track .p-issen{--logo-width:101px}
@media(max-width:760px){
  .partner-track .partner-logo,.partner-track .partner-logo.busuu {width:150px;min-width:150px;max-width:150px;flex-basis:150px;height:62px;}
  .partner-track .partner-logo img,.partner-track .partner-logo.issen img {
    width:calc(var(--logo-width,136px)*.88);max-width:calc(var(--logo-width,136px)*.88);max-height:42px;
  }
}
@media(prefers-reduced-motion:reduce){
  .story-showcase .story-preview iframe {display:none!important;}
}

/* Testimonials carousel arrow buttons must stay perfectly still on hover. */
.story-showcase .slider-buttons button,
.story-showcase .slider-buttons button:hover,
.story-showcase .slider-buttons button:focus-visible {
  transform:none;
}
.story-showcase .slider-buttons button .icon-slider,
.story-showcase .slider-buttons button:hover .icon-slider {
  transform:none;
}

/* UX FLOW 2026-10-13: packages appear after social proof; measured vertical rhythm. */
@media (min-width: 1061px) {
  .section {padding-top:clamp(100px,7.4vw,116px);padding-bottom:clamp(100px,7.4vw,116px)}
  .section-heading {margin-bottom:clamp(46px,4.2vw,62px)}
  .hero {padding-top:76px;padding-bottom:85px}
  .closing {padding-top:96px;padding-bottom:96px}
  .partners {padding-top:72px;padding-bottom:76px}
}
@media (min-width: 761px) and (max-width: 1060px) {
  .section {padding-top:86px;padding-bottom:86px}
  .section-heading {margin-bottom:46px}
}
@media (max-width: 760px) {
  .section {padding-top:68px;padding-bottom:68px}
  .section-heading {margin-bottom:33px}
  .partners {padding-top:48px;padding-bottom:50px}
  .closing {padding-top:72px;padding-bottom:72px}
}
/* Open a distinct, quiet stage for pricing after the blue testimonial section. */
#planes.plans {background:#f9fbff;border-top:1px solid #d7e3ff;border-bottom:1px solid #e2e9fa}
#planes .plan {box-shadow:0 12px 35px rgba(24,68,183,.035)}
#planes .plan.featured {box-shadow:0 15px 42px rgba(22,63,177,.13)}
#equipo {border-top:1px solid var(--line)}
.stories-cta {display:flex;align-items:center;justify-content:center;gap:25px;flex-wrap:wrap;margin:38px 0 0;padding:0 10px 2px}
.stories-cta p {margin:0;color:#495e82;font-size:15px;font-weight:400;line-height:1.5}
.stories-cta .button {min-width:213px}
@media (max-width:760px) {
 .stories-cta {flex-direction:column;align-items:stretch;gap:13px;margin-top:24px;text-align:center}
 .stories-cta p {font-size:13px}
 .stories-cta .button {justify-content:space-between;width:100%;max-width:340px;margin-inline:auto}
}
/* Keep animation-free navigation hover on carousel controls. */
.slider-buttons button:hover {transform:none!important;translate:none!important;scale:1!important}


/* 2026-10-13 — Testimonial cards sit on the exact same grid as the section heading.
   Preserve four desktop cards and the manually controlled slider. */
#historias .story-showcase {
  width:100%;max-width:none;margin-inline:0;
}
#historias .story-showcase .story-grid {
  width:100%;gap:19px;padding:4px 0 16px;scroll-padding-left:0;
}
#historias .story-showcase .story-grid .story {
  flex:0 0 calc((100% - 57px)/4);
  min-width:0;
  padding:11px 11px 21px;
}
#historias .story-showcase .story-image { aspect-ratio:4 / 4.7; }
#historias .story-showcase .story blockquote {
  font-size:clamp(15px,1.22vw,19px);
  line-height:1.4;
  margin:17px 8px 12px;
}
#historias .story-showcase .story>p {font-size:12px;margin:auto 8px 0;padding-top:11px;}
#historias .story-showcase .slider-controls {margin-top:22px;}
/* Restore natural-width layout on narrower screens: two/one cards plus a visible peek. */
@media (min-width:761px) and (max-width:1050px) {
  #historias .story-showcase .story-grid { gap:18px; }
  #historias .story-showcase .story-grid .story { flex-basis:calc((100% - 36px)/3); }
  #historias .story-showcase .story blockquote {font-size:16px;}
}
@media (max-width:760px) {
  #historias .story-showcase .story-grid {gap:14px;}
  #historias .story-showcase .story-grid .story {flex-basis:calc((100% - 14px)/1.45);padding:9px 9px 20px;}
  #historias .story-showcase .story-image {aspect-ratio:4 / 4.5;}
  #historias .story-showcase .story blockquote {font-size:17px;margin:14px 6px 8px;}
  #historias .story-showcase .story>p {font-size:11px;margin:auto 6px 0;}
}
@media (max-width:430px) {
  #historias .story-showcase .story-grid .story {flex-basis:87%;}
}
/* Partner wordmarks: preserve genuine assets/proportions, equalize optical weight
   rather than making equal bounding boxes or stretching artwork. */
.partner-track .partner-logo,
.partner-track .partner-logo.busuu {width:172px;min-width:172px;max-width:172px;flex-basis:172px;height:72px;}
.partner-track .partner-logo img,
.partner-track .partner-logo.issen img {
  opacity:var(--mark-opacity,.90);
  max-height:42px;
}
.partner-track .p-lingopanda{--logo-width:148px;--mark-opacity:.91}
.partner-track .p-busuu{--logo-width:108px;--mark-opacity:.90}
.partner-track .p-lingopie{--logo-width:126px;--mark-opacity:.90}
.partner-track .p-promova{--logo-width:133px;--mark-opacity:.90}
.partner-track .p-lingq{--logo-width:136px;--mark-opacity:.90}
.partner-track .p-issen{--logo-width:88px;--mark-opacity:.87}
@media (max-width:760px) {
  .partner-track .partner-logo,.partner-track .partner-logo.busuu {width:148px;min-width:148px;max-width:148px;flex-basis:148px;height:62px;}
  .partner-track .partner-logo img,.partner-track .partner-logo.issen img {max-height:38px;}
}


/* EMLANGUAGES FINAL UX TUNE — 2026-10-13
 * Calm inline language links + consistent optical type ribbon.
 * Original partner logo images are retained, so the historical brandmarks can be restored.
 */
/* A consistent partner *name* ribbon replaces mis-matched font mass among source marks. */
.partner-window {overflow:hidden}
.partner-track .partner-group {gap:clamp(28px,3.6vw,58px);padding-right:clamp(28px,3.6vw,58px)}
.partner-track .partner-logo,
.partner-track .partner-logo.busuu {
  flex:0 0 170px;width:170px;min-width:170px;max-width:170px;height:82px;
  padding:0;margin:0;display:flex;align-items:center;justify-content:center;
  border:0;background:transparent;border-radius:0;
}
.partner-track .partner-logo > img {display:none!important}
.partner-track .partner-wordmark {
  display:block;color:#2252ed;font-family:Inter,Arial,sans-serif;
  font-size:clamp(22px,2.05vw,29px);font-weight:750;
  letter-spacing:-.055em;line-height:1.1;white-space:nowrap;
  font-kerning:normal;opacity:.9;
}
.partner-track .p-issen .partner-wordmark {font-size:27px;letter-spacing:.005em;font-weight:720}
.partner-track .p-lingq .partner-wordmark {letter-spacing:-.065em}
.partner-track .p-busuu .partner-wordmark {letter-spacing:-.055em}
@media(max-width:760px){
  .partner-track .partner-logo,.partner-track .partner-logo.busuu {
    flex-basis:142px;width:142px;min-width:142px;max-width:142px;height:68px;
  }
  .partner-track .partner-wordmark{font-size:23px}
  .partner-track .p-issen .partner-wordmark{font-size:22px}
}
/* Override an old ISSEN-specific legacy label rule so every ribbon name is exactly the same blue. */
.partner-track .partner-logo.issen .partner-wordmark {
  color:#2252ed; font-size:27px; font-family:Inter,Arial,sans-serif;
  font-weight:750; letter-spacing:.005em;
}
@media(max-width:760px){.partner-track .partner-logo.issen .partner-wordmark{font-size:22px}}


/* 2026-10-13: Spanish resource art, balanced collaborations, original ES / EN. */
/* Keep platform and product names as proper names (App Store / Spotify / Fluent English Planner). */
#recursos .app-lockup-name {max-width:215px; font-size:clamp(20px,1.5vw,28px);line-height:1.12;letter-spacing:-.055em}
#recursos .podcast-lockup-copy strong {max-width:225px;line-height:1.13;font-size:clamp(19px,1.5vw,27px)}
#recursos .podcast-lockup-copy small {max-width:180px}
.partners {padding-top:clamp(90px,7.5vw,120px);padding-bottom:clamp(90px,7.5vw,116px);}
.partners .partners-heading {align-items:center;gap:60px;margin-bottom:clamp(54px,5.5vw,82px)}
.partners .partners-heading .eyebrow {align-self:center;flex:0 0 auto}
.partners .partners-heading h2 {max-width:585px;margin:0;font-size:clamp(27px,2.75vw,38px);line-height:1.16;letter-spacing:-.045em}
.partners .partner-track .partner-group {gap:clamp(40px,5vw,84px);padding-right:clamp(40px,5vw,84px)}
.partners .partner-track .partner-logo,.partners .partner-track .partner-logo.busuu {flex-basis:185px;width:185px;min-width:185px;max-width:185px;height:86px}
.partners .partner-track {animation-duration:42s}
@media(max-width:760px){
  .partners {padding:74px 0 82px}
  .partners .partners-heading {display:block;margin-bottom:42px}
  .partners .partners-heading .eyebrow {margin-bottom:20px}
  .partners .partners-heading h2 {max-width:390px;font-size:clamp(26px,7vw,32px)}
  .partners .partner-track .partner-group {gap:34px;padding-right:34px}
  .partners .partner-track .partner-logo,.partners .partner-track .partner-logo.busuu {flex-basis:150px;width:150px;min-width:150px;max-width:150px;height:72px}
  #recursos .app-lockup-name {max-width:180px;font-size:clamp(22px,6vw,28px)}
  #recursos .podcast-lockup-copy strong {max-width:180px;font-size:clamp(20px,5.5vw,26px)}
}
@media(prefers-reduced-motion:reduce){.partners .partner-track{animation:none}}


/* 2026-10-13: Inter Regular for running copy (brand heading/script weights unchanged). */
body,.planner-page{font-weight:400}
.section-heading>p,.intro,.benefits p,.resource-card>p,.steps p,
.plan-desc,.teacher>p,.faq-intro,.faq-item p,details p,
.planner-page .edition p,.planner-page .planner-hero-grid>div:first-child>p:not(.eyebrow),
.planner-page .sample-action-bar p,.stories-cta p {font-family:'Inter',Arial,Helvetica,sans-serif;font-weight:400}

/* Original partner marks · quiet greyscale ribbon (2026-10-13)
   Source files remain untouched; monochrome treatment is presentational only. */
.partners .partner-track .partner-wordmark { display:none !important; }
.partners .partner-track .partner-logo,
.partners .partner-track .partner-logo.busuu {
  flex:0 0 168px; width:168px; min-width:168px; max-width:168px;
  height:78px; padding:0; margin:0;
  display:flex; align-items:center; justify-content:center;
  border:0; box-shadow:none; border-radius:0; background:none;
}
.partners .partner-track .partner-logo > img,
.partners .partner-track .partner-logo.issen > img {
  display:block !important;
  width:var(--brand-mark-width, 145px) !important;
  height:auto !important;
  max-width:100% !important;
  max-height:47px !important;
  object-fit:contain;
  filter:grayscale(1) brightness(0);
  opacity:.48;
  transition:opacity .2s ease;
}
.partners .partner-track .partner-logo:hover > img{opacity:.66}
.partners .partner-track .p-lingopanda {--brand-mark-width:158px}
.partners .partner-track .p-busuu {--brand-mark-width:123px}
.partners .partner-track .p-lingopie {--brand-mark-width:140px}
.partners .partner-track .p-promova {--brand-mark-width:146px}
.partners .partner-track .p-lingq {--brand-mark-width:139px}
.partners .partner-track .p-issen {--brand-mark-width:130px}
@media(max-width:760px){
 .partners .partner-track .partner-logo,
 .partners .partner-track .partner-logo.busuu{
   flex-basis:142px;width:142px;min-width:142px;max-width:142px;height:68px;
 }
 .partners .partner-track .partner-logo > img,
 .partners .partner-track .partner-logo.issen > img{
   width:min(var(--brand-mark-width,135px), 130px) !important;
   max-height:40px !important;
 }
}

/* Header logo: only the graphic speech bubble animates; the lettering remains motionless. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header a.brand-animated{display:flex;align-items:flex-start;width:215px;max-width:100%;height:auto;aspect-ratio:1913/510;flex:0 0 auto;gap:0;isolation:isolate}
.header .brand-animated-mark,.header .brand-static-word{position:relative;display:block;flex:0 0 auto;line-height:0;align-self:flex-start}
.header .brand-animated-mark{width:30.74%;transform-origin:50% 42%;animation:em-speech-float 4.4s ease-in-out infinite;will-change:transform}
.header .brand-static-word{width:69.26%}
.header .brand-animated-mark img,.header .brand-static-word img{display:block;width:100%;height:auto!important;max-width:none}
@keyframes em-speech-float{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-2px) rotate(-1.7deg)}50%{transform:translateY(1px) rotate(.8deg)}75%{transform:translateY(-1px) rotate(1.2deg)}}
@media(max-width:1100px){.header a.brand-animated{width:175px}}
@media(max-width:430px){.header a.brand-animated{width:137px}}
@media(max-width:350px){.header a.brand-animated{width:120px}}
@media(prefers-reduced-motion:reduce){.header .brand-animated-mark{animation:none;will-change:auto}}
/* Original small logos, in a quiet uniform greyscale, without background cards. */
.partners .partner-track .partner-wordmark{display:none!important}
.partners .partner-track .partner-logo,.partners .partner-track .partner-logo.busuu{flex:0 0 155px;width:155px;min-width:155px;max-width:155px;height:66px;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;display:flex;justify-content:center;align-items:center}
.partners .partner-track .partner-logo>img,.partners .partner-track .partner-logo.issen>img{display:block!important;width:min(var(--brand-mark-width,135px),140px)!important;max-width:140px!important;max-height:36px!important;height:auto!important;object-fit:contain;filter:grayscale(1) brightness(0)!important;opacity:.20;transition:none}
.partners .partner-track .partner-logo:hover>img{opacity:.20}
.partners .partner-track .p-lingopanda{--brand-mark-width:138px}
.partners .partner-track .p-busuu{--brand-mark-width:104px}
.partners .partner-track .p-lingopie{--brand-mark-width:122px}
.partners .partner-track .p-promova{--brand-mark-width:122px}
.partners .partner-track .p-lingq{--brand-mark-width:121px}
.partners .partner-track .p-issen{--brand-mark-width:114px}
@media(max-width:760px){.partners .partner-track .partner-logo,.partners .partner-track .partner-logo.busuu{flex-basis:132px;width:132px;min-width:132px;max-width:132px;height:56px}.partners .partner-track .partner-logo>img,.partners .partner-track .partner-logo.issen>img{width:min(var(--brand-mark-width,120px),120px)!important;max-height:32px!important}}

/* Emma revision: original complete logo stays still on every page. */
.header a.brand{display:inline-flex;align-items:center;flex:0 0 auto;width:auto;aspect-ratio:auto;line-height:0}
.header a.brand > img{display:block;width:215px;max-width:100%;height:auto;transform:none!important;animation:none!important}
@media(max-width:1100px){.header a.brand > img{width:175px}}
@media(max-width:430px){.header a.brand > img{width:137px}}
@media(max-width:350px){.header a.brand > img{width:120px}}
.header .brand-animated-mark,.header .brand-animated-mark img{animation:none!important;transform:none!important}
/* Client's original partner lockups: grayscale and whisper-light, with no background cards. */
.partners .partner-track .partner-logo > img,
.partners .partner-track .partner-logo.issen > img {
 display:block!important; width:min(var(--brand-mark-width,135px),148px)!important;
 height:auto!important; max-height:48px!important; max-width:100%!important;
 object-fit:contain; filter:grayscale(1) contrast(.84)!important;
 opacity:.22!important;transition:none!important;
}
.partners .partner-track .partner-logo:hover > img{opacity:.22!important}
.partners .partner-track .p-lingopanda{--brand-mark-width:143px}
.partners .partner-track .p-busuu{--brand-mark-width:126px}
.partners .partner-track .p-lingopie{--brand-mark-width:83px}
.partners .partner-track .p-promova{--brand-mark-width:137px}
.partners .partner-track .p-lingq{--brand-mark-width:126px}
.partners .partner-track .p-issen{--brand-mark-width:80px}
@media(max-width:760px){.partners .partner-track .partner-logo>img,.partners .partner-track .partner-logo.issen>img{max-height:36px!important;width:min(var(--brand-mark-width,110px),120px)!important}}


/* Partner marks: clear, sharp neutral grey at native or vector resolution.
   Original artwork is kept, no intentional blur or low-opacity haze. */
.partners .partner-track .partner-logo,.partners .partner-track .partner-logo.busuu{flex:0 0 165px!important;width:165px!important;min-width:165px!important;max-width:165px!important;height:68px!important;background:none!important;box-shadow:none!important;border:0!important}
.partners .partner-track .partner-logo>img,.partners .partner-track .partner-logo.issen>img{width:var(--brand-mark-width,126px)!important;max-width:145px!important;max-height:44px!important;height:auto!important;object-fit:contain!important;filter:grayscale(1) brightness(.68)!important;opacity:.64!important;image-rendering:auto;transition:none!important}
.partners .partner-track .partner-logo:hover>img,.partners .partner-track .partner-logo.issen:hover>img{opacity:.64!important}
.partners .partner-track .p-lingopanda{--brand-mark-width:138px}
.partners .partner-track .p-busuu{--brand-mark-width:104px}
.partners .partner-track .p-lingopie{--brand-mark-width:40px}
.partners .partner-track .p-promova{--brand-mark-width:126px}
.partners .partner-track .p-lingq{--brand-mark-width:123px}
.partners .partner-track .p-issen{--brand-mark-width:118px}
@media(max-width:760px){.partners .partner-track .partner-logo,.partners .partner-track .partner-logo.busuu{flex-basis:142px!important;min-width:142px!important;width:142px!important;height:58px!important}.partners .partner-track .partner-logo>img,.partners .partner-track .partner-logo.issen>img{max-width:122px!important;max-height:40px!important;width:min(var(--brand-mark-width,122px),122px)!important}}


/* 2026-10-13 — optical size unification and clear one-color brand-blue partner marks.
   Keep original vector artwork and transparent alpha; no banner backgrounds, distortion or haze. */
.partners .partner-track .partner-logo,
.partners .partner-track .partner-logo.busuu {
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:178px!important;min-width:178px!important;max-width:178px!important;
  flex:0 0 178px!important;height:74px!important;
  padding:0!important;margin:0!important;background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
}
.partners .partner-track .partner-logo .partner-wordmark{display:none!important}
.partners .partner-track .partner-logo > img,
.partners .partner-track .partner-logo.issen > img{
  display:block!important;
  width:auto!important;height:37px!important;max-height:37px!important;
  max-width:165px!important;min-width:0!important;
  object-fit:contain!important;object-position:center!important;
  filter:brightness(0) saturate(100%) invert(22%) sepia(91%) saturate(3620%) hue-rotate(225deg) brightness(95%) contrast(100%)!important;
  opacity:.90!important;transition:none!important;image-rendering:auto;
}
.partners .partner-track .partner-logo:hover > img,
.partners .partner-track .partner-logo.issen:hover > img{opacity:.90!important}
.partners .partner-track .partner-group{gap:clamp(26px,3vw,52px);padding-right:clamp(26px,3vw,52px)}
@media(max-width:760px){
 .partners .partner-track .partner-logo,
 .partners .partner-track .partner-logo.busuu{flex:0 0 145px!important;width:145px!important;min-width:145px!important;max-width:145px!important;height:60px!important}
 .partners .partner-track .partner-logo > img,
 .partners .partner-track .partner-logo.issen > img{height:30px!important;max-height:30px!important;max-width:136px!important}
 .partners .partner-track .partner-group{gap:22px;padding-right:22px}
}

/* 2026-10-13 · Resource panels / responsive layout fix.
   The artwork and copy have their own grid columns, avoiding the former
   absolute-positioned logo overlaps at all device widths. */
#recursos .app-mark-lockup,
#recursos .podcast-lockup {
  display:grid;
  grid-template-columns:minmax(0,1fr) clamp(85px,34%,128px);
  grid-template-rows:auto minmax(0,1fr) auto;
  column-gap:clamp(9px,1.2vw,16px);
  align-content:stretch;
  align-items:start;
  padding:clamp(16px,1.65vw,25px);
}
#recursos .app-lockup-small {
  grid-column:1;
  grid-row:1;
  position:relative;
  z-index:1;
  white-space:normal;
}
#recursos .app-lockup-name {
  grid-column:1;
  grid-row:2;
  align-self:start;
  margin-top:clamp(12px,1.8vw,20px);
  max-width:none;
  min-width:0;
  font-size:clamp(19px,1.6vw,28px);
  line-height:1.12;
  overflow-wrap:normal;
}
#recursos .appstore-icon {
  grid-column:2;
  grid-row:1 / 3;
  position:relative;
  top:auto;
  right:auto;
  align-self:center;
  justify-self:center;
  width:min(100%,99px);
  height:auto;
  aspect-ratio:1;
  border-radius:23%;
  transform:rotate(9deg);
}
#recursos .appstore-icon svg {width:77%;height:77%}
#recursos .podcast-lockup-copy {
  grid-column:1;
  grid-row:1 / 3;
  position:relative;
  align-self:start;
  min-width:0;
  padding-top:0;
  display:flex;
  flex-direction:column;
  gap:clamp(8px,1vw,12px);
}
#recursos .podcast-lockup-copy strong {
  max-width:none;
  min-width:0;
  font-size:clamp(18px,1.6vw,27px);
  line-height:1.14;
  overflow-wrap:normal;
}
#recursos .podcast-lockup-copy small {
  max-width:none;
  font-size:clamp(10px,.8vw,12px);
  line-height:1.4;
}
#recursos .spotify-icon {
  grid-column:2;
  grid-row:1 / 3;
  position:relative;
  top:auto;
  right:auto;
  width:min(100%,112px);
  height:auto;
  aspect-ratio:1;
  align-self:center;
  justify-self:center;
  transform:rotate(9deg);
  filter:drop-shadow(7px 9px 0 #b3c7ff);
}
#recursos .app-mark-lockup .brand-badge,
#recursos .podcast-lockup .brand-badge {
  grid-column:1 / -1;
  grid-row:3;
  justify-self:start;
  margin:0;
}
/* Two cards across once three columns would make the illustrations cramped. */
@media (max-width:1100px) {
  #recursos .resource-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  #recursos .planner-card {grid-column:1/-1;}
}
/* Single column before the two-up version becomes too narrow. */
@media (max-width:760px) {
  #recursos .resource-grid {grid-template-columns:minmax(0,1fr);}
  #recursos .planner-card {grid-column:auto;}
  #recursos .app-lockup-name {max-width:none;font-size:clamp(20px,5vw,27px);}
  #recursos .podcast-lockup-copy strong {max-width:none;font-size:clamp(18px,4.8vw,26px);}
  #recursos .podcast-lockup-copy small {max-width:none;}
}
@media (max-width:390px) {
  #recursos .app-mark-lockup,
  #recursos .podcast-lockup {grid-template-columns:minmax(0,1fr) 80px;column-gap:8px;padding:16px;}
  #recursos .app-lockup-name {font-size:20px;}
  #recursos .podcast-lockup-copy strong {font-size:18px;}
  #recursos .podcast-lockup-copy small {font-size:10px;}
  #recursos .spotify-icon {filter:drop-shadow(5px 6px 0 #b3c7ff);}
}


/* Mobile-only seamless benefits marquee – same treatment as partner logo ribbon. */
.ticker-track{display:flex;align-items:center;justify-content:center;width:max-content;max-width:none}
.ticker-group{display:flex;align-items:center;gap:40px;flex:0 0 auto}
.ticker-group--duplicate{display:none}
.ticker-group>span{flex:0 0 auto;white-space:nowrap}
@media (max-width:1050px){
  .ticker-group{gap:25px}
}
@media (max-width:760px){
  .ticker{display:block;padding:17px 0;overflow:hidden;white-space:nowrap}
  .ticker-track{justify-content:flex-start;gap:0;animation:em-mobile-benefits-marquee 19s linear infinite;will-change:transform}
  .ticker-group{gap:20px;padding-right:20px}
  .ticker-group--duplicate{display:flex}
}
@keyframes em-mobile-benefits-marquee {
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(-50%,0,0)}
}
@media (prefers-reduced-motion:reduce){
  .ticker-track{animation:none!important;transform:none!important;will-change:auto}
}




/* The hero must be allowed to shrink on narrow iPhones; an auto min-content
   width otherwise creates a few pixels of horizontal overflow. */
@media (max-width:760px) {
  .hero { grid-template-columns:minmax(0,1fr); }
  .hero > div { min-width:0; }
  .hero-visual .photo-frame { max-width:100%; }
}

/* V3 hero: Emma's portrait film plays silently in place, then opens sound and controls. */
.hero-visual.hero-v3{display:flex;justify-content:flex-end;align-items:center;position:relative;min-width:0;padding:12px 0 12px 32px}
.hero-v3-card{width:min(100%,410px);padding:10px;border:1px solid #d7e3fc;border-radius:24px;background:#fff;box-shadow:0 24px 65px #1747ed1c;position:relative;z-index:1;transform:rotate(1.7deg)}
.hero-v3-screen{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:17px;background:#e3eaff}
.hero-v3-poster,.hero-v3-video{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
.hero-v3-poster{object-fit:cover;object-position:50% 28%;background:#e3eaff}
.hero-v3-video{background:transparent;pointer-events:none}
.hero-v3-kicker{position:absolute;top:18px;left:18px;padding:9px 12px;border-radius:99px;background:#fffffff0;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:1.25px;box-shadow:0 4px 14px #16336922;pointer-events:none}
.hero-v3-play{position:absolute;top:68px;right:17px;display:flex;flex-direction:column;align-items:center;gap:7px;width:105px;padding:0;border:0;background:none;color:#fff;font:800 9px Arial,Helvetica,sans-serif;letter-spacing:1px;line-height:1.25;text-align:center;text-transform:uppercase;text-shadow:0 2px 8px #102850a6;cursor:pointer}
.hero-v3-play-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#fff;color:var(--blue);box-shadow:0 10px 35px #10285055;transition:transform .2s,box-shadow .2s}
.hero-v3-play-icon svg{width:31px;height:31px;margin-left:5px}
.hero-v3-play:hover .hero-v3-play-icon{transform:scale(1.08);box-shadow:0 14px 42px #10285066}
.hero-v3-play:focus-visible{outline:3px solid var(--lime);outline-offset:9px;border-radius:8px}
.hero-v3-play[hidden]{display:none}
.hero-v3-toggle{position:absolute;right:15px;bottom:15px;z-index:3;display:grid;place-items:center;width:43px;height:43px;padding:10px;border:0;border-radius:50%;background:#fff;color:var(--blue);box-shadow:0 6px 20px #10285044;cursor:pointer}
.hero-v3-toggle svg{width:22px;height:22px}
.hero-v3-toggle .hero-v3-toggle-play{display:none}
.hero-v3-toggle.is-paused .hero-v3-toggle-pause{display:none}
.hero-v3-toggle.is-paused .hero-v3-toggle-play{display:block}
.hero-v3-toggle[hidden]{display:none}
.hero-v3-toggle:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.hero-v3-caption{display:flex;flex-direction:column;gap:5px;padding:18px 16px 9px;color:var(--blue)}
.hero-v3-caption span{font-size:8px;font-weight:800;letter-spacing:1.5px}
.hero-v3-caption strong{font-size:25px;letter-spacing:-.8px}
.hero-v3-sticker{position:absolute;z-index:2;right:-22px;bottom:-18px;padding:13px 18px 10px;border-radius:8px 8px 8px 0;background:var(--lime);color:var(--blue);font:400 39px/1 'Covered By Your Grace','Comic Neue',cursive;transform:rotate(-8deg);box-shadow:0 12px 22px #1633691a;pointer-events:none;white-space:nowrap}
.hero-v3-sticker span{font:400 30px/1 Arial,Helvetica,sans-serif;vertical-align:4px}
@media(min-width:1051px){.hero-visual.hero-v3{justify-content:flex-start;padding-left:0}}
@media(max-width:1050px){.hero-visual.hero-v3{padding-left:20px}.hero-v3-sticker{right:-10px;font-size:33px}}
@media(max-width:760px){.hero-visual.hero-v3{width:100%;max-width:520px;justify-content:center;margin-inline:auto;padding:16px 0 20px}.hero-v3-card{width:min(100%,410px);transform:rotate(1deg)}.hero-v3-sticker{top:295px;left:18px;font-size:31px;padding:11px 14px 8px}.hero-v3-play{top:64px;right:11px}.hero-v3-play-icon{width:64px;height:64px}.hero-v3-play-icon svg{width:26px;height:26px}.hero-v3-caption{padding:16px 13px 7px}.hero-v3-caption strong{font-size:23px}}
@media(max-width:390px){.hero-v3-sticker{left:18px;font-size:27px}}
@media(max-width:760px){.hero-v3-sticker{display:none}}
@media(prefers-reduced-motion:reduce){.hero-v3-play-icon{transition:none}}


/* 2026-10-13 – V1 mobile hero: shorter portrait-video card.
   Maintain full-frame Vimeo autoplay and controls without huge vertical card. */
@media (max-width:760px) {
  .hero-visual.hero-v3 {padding-top:10px;padding-bottom:16px}
  .hero-v3-card {width:min(100%,360px);margin-inline:auto}
  .hero-v3-screen {aspect-ratio:4/5}
  .hero-v3-kicker {top:12px;left:12px}
  .hero-v3-play {top:52px}
}

/* V1 · height-aware hero (laptop screens)
   At desktop/tablet widths, the title and portrait video scale with available
   viewport height so both columns and the lime sticker stay in the first view.
   Mobile keeps its own intentionally stacked hero layout above. */
@media (min-width:761px) {
  .header {height:clamp(64px, 9svh, 106px)}
  .hero {
    grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);
    gap:clamp(18px,3.5vw,55px);
    padding-top:clamp(10px,2svh,30px)!important;
    padding-bottom:clamp(15px,2.8svh,32px)!important;
    align-items:center;
  }
  .hero > div:first-child{min-width:0}
  .hero h1{font-size:clamp(43px,min(6.15vw,calc(11.4svh - 27px)),94px)}
  .hero h1 > span{margin-top:clamp(5px,1.1svh,12px)}
  .hero .eyebrow{margin-bottom:clamp(10px,1.8svh,22px)}
  .hero .intro{font-size:clamp(13px,1.7svh,16px);line-height:1.52;margin:clamp(10px,2svh,24px) 0;max-width:395px}
  .hero .actions{gap:clamp(10px,1.4vw,22px)}
  .hero .actions .button{min-height:clamp(42px,5.9svh,54px);padding:clamp(11px,1.8svh,16px) clamp(13px,1.6vw,21px)}
  .hero .note{margin-top:clamp(8px,1.3svh,16px)}
  .hero-visual.hero-v3 {
    width:min(100%,410px,calc(55svh - 115px));
    justify-self:center;
    justify-content:center;
    padding:0;
  }
  .hero-v3-card{width:100%;}
  .hero-v3-caption{padding:clamp(9px,1.25svh,17px) 13px 7px}
  .hero-v3-caption strong{font-size:clamp(19px,2.8svh,25px)}
  .hero-v3-sticker{
    right:-18px;bottom:-17px;
    padding:clamp(8px,1.2svh,13px) 15px 9px;
    font-size:clamp(24px,4.3svh,39px);
  }
  .hero-v3-sticker span{font-size:clamp(21px,3.3svh,30px)}
}
/* Short laptop windows still need comfortable separation. Tiny desktop-height
   browser windows can scroll normally rather than clipping content. */
@media (min-width:761px) and (max-height:690px) {
  .hero .intro{margin-top:10px;margin-bottom:10px}
  .hero .note{margin-top:7px}
  .hero-v3-kicker{top:11px;left:11px}
}


/* Final V1 laptop hero spacing · 2026-10-13.
   More coherent text/video grouping on low-height laptop displays; the lime
   sticker stays above the following blue benefits ribbon (no overlap). */
@media (min-width:761px) {
  .hero.wrap {
    width:min(1000px,88%);
    margin-inline:auto;
    grid-template-columns:minmax(0,1fr) minmax(0,360px);
    column-gap:clamp(28px,4.1vw,60px);
    padding-bottom:clamp(24px,3.5svh,39px)!important;
  }
  .hero-visual.hero-v3 {
    width:min(100%,calc(55svh - 115px));
    justify-self:center;
    margin-top: 34px;
  }
  .hero-v3-sticker {
    bottom:clamp(79px,11svh,110px);
    right:-12px;
  }
}
@media (min-width:761px) and (max-width:990px){
  .hero.wrap{column-gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,320px)}
  .hero-v3-sticker{right:0}
}
/* On shorter laptops the two hero elements form a tighter, centered group. */
@media (min-width:1100px) and (max-height:820px) {
  .hero.wrap {width:min(940px,88%);column-gap:clamp(27px,3vw,42px)}
}

/* 2026-10-13 final sticker placement only.
   The video/play/pause controls and height-aware scaling are unchanged.
   A controlled overhang at the card's lower-right corner is reserved INSIDE
   the hero so that the next blue ticker is never covered. */
@media (min-width:761px) {
  .hero.wrap {
    padding-bottom:clamp(52px,7svh,68px)!important;
  }
  .hero-visual.hero-v3 .hero-v3-sticker {
    bottom:-8px;
    right:calc(-1 * clamp(47px,4.5vw,65px));
  }
}
@media (min-width:761px) and (max-width:990px) {
  .hero-visual.hero-v3 .hero-v3-sticker {right:-42px}
}
/* Mobile: the same corner sticker, safely inside the viewport and hero. */
@media (max-width:760px) {
  .hero-visual.hero-v3 .hero-v3-sticker {
    display:block;
    left:auto;
    top:auto;
    right:-8px;
    bottom:22px;
    font-size:clamp(24px,6.8vw,31px);
    padding:9px 13px 7px;
  }
  .hero-visual.hero-v3 .hero-v3-sticker span {
    font-size:clamp(20px,5vw,26px);
  }
  .hero-visual.hero-v3 {padding-bottom:clamp(36px,10vw,48px)}
}

/* 2026-10-13 · A more comfortable desktop header, without changing the video hero / controls. */
@media (min-width:1101px) {
  .header { gap:clamp(13px,1.55vw,27px); height:clamp(84px,10.8svh,120px); }
  .header nav { gap:clamp(16px,1.5vw,28px); font-size:clamp(12px,.79vw,14px); white-space:nowrap; }
  .header-actions { gap:clamp(11px,1.15vw,20px); }
}
@media (min-width:761px) and (max-width:1100px){
  .header nav { gap:clamp(8px,1vw,14px); white-space:nowrap; }
}
