/* Distinct compositions for the reading room, lesson menu and teaching story. */
.template-directory main,.template-pricing main,.template-teaching main{padding-top:45px}
.template-directory main>section,.template-pricing main>section,.template-teaching main>section{padding-block:65px}
.template-directory main #tips-hero,.template-pricing main #hero-prices,.template-teaching main #hero-teach{position:relative;padding-top:20px}
.template-directory #tips-hero .row{grid-template-columns:1.15fr .85fr;align-items:center;gap:50px}
.template-directory #tips-hero h1{font-size:clamp(64px,8vw,112px);letter-spacing:-5px;max-width:700px}
.template-directory #tips-hero p{font-size:19px;max-width:34ch}
.template-directory #tips-hero img{max-height:340px;filter:drop-shadow(0 16px 35px #0008)}
.editorial-label{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:35px;font-size:11px;letter-spacing:1.7px;color:var(--red)}
.editorial-label span:last-child{color:var(--muted);letter-spacing:0;font-size:14px}
.template-directory main #tips-grid{border:0;padding-top:15px}
.library-intro{display:flex;gap:60px;align-items:flex-end;margin:0 0 40px}
.template-directory main .library-intro h2{font-size:clamp(33px,4vw,49px);max-width:18ch;margin:0}
.template-directory main .library-note{font-size:16px;max-width:32ch;margin:0;color:var(--muted)}
.library-tools{padding:30px 0 20px;border-block:1px solid var(--line)}
.library-tools label{display:block;font-size:13px;margin-bottom:12px;color:var(--muted)}
.library-search{display:flex;align-items:center;gap:18px;max-width:780px}
.library-search>span{font:45px/1 Arial;color:var(--red)}
.library-search input{min-width:0;flex:1;background:transparent;border:0;border-bottom:1px solid #555;color:var(--white);font:inherit;font-size:24px;padding:10px 0 13px;border-radius:0;outline-offset:5px}
.library-search input::placeholder{color:#8d8d8d}
.library-search button{background:transparent;border:1px solid var(--line);padding:9px 13px;color:white;border-radius:3px}
.template-directory main #searchStatus{margin:15px 0 0;font-size:12px;color:var(--muted)}
.topic-nav{display:flex;gap:9px;flex-wrap:wrap;margin:25px 0 55px}
.template-directory main .topic-nav a{font-size:12px;color:#d6d3cf;padding:7px 12px;border:1px solid #343434;border-radius:30px;text-decoration:none;transition:background .18s,color .18s}
.template-directory main .topic-nav a:hover{background:var(--red);border-color:var(--red);color:#111}
.reading-collections{display:grid;grid-template-columns:1fr 1fr;gap:0 55px}
.reading-chapter{display:grid;grid-template-columns:50px minmax(0,1fr);gap:20px;border-top:1px solid #444;padding:32px 0 42px;scroll-margin-top:30px;min-width:0}
.chapter-index{font-size:40px;letter-spacing:-2px;color:var(--red);line-height:1.05}
.template-directory main .reading-chapter h3{font-size:29px;line-height:1.12;letter-spacing:-.8px;margin:0 0 15px;max-width:20ch}
.template-directory main .reading-chapter p{font-size:15px;line-height:1.7;max-width:42ch;margin:0 0 22px;color:#aaa}
.template-directory main .reading-chapter ul{list-style:none;padding:0;margin:0;max-width:none}
.template-directory main .reading-chapter li{padding:11px 20px 11px 0;border-bottom:1px solid #252525;font-size:14px;line-height:1.65;position:relative}
.template-directory main .reading-chapter li:after{content:'↗';position:absolute;right:0;top:10px;color:#ff2424;transition:transform .18s}
.template-directory main .reading-chapter li:hover:after{transform:translate(2px,-2px)}
.template-directory main .reading-chapter a{color:var(--white);text-decoration:none}
.template-directory main .reading-chapter a:hover{color:#ff2424;text-decoration:underline}
.reading-chapter:nth-child(3n+1){grid-column:1/-1;grid-template-columns:80px 1fr;border-top-color:var(--red);padding-block:40px}
.reading-chapter:nth-child(3n+1) .chapter-index{font-size:65px}
.reading-chapter:nth-child(3n+1) .chapter-content{display:grid;grid-template-columns:.8fr 1.4fr;gap:0 65px;align-content:start}
.reading-chapter:nth-child(3n+1) .chapter-content h3{font-size:38px}
.reading-chapter:nth-child(3n+1) .chapter-content ul{grid-column:2;grid-row:1/5}
.reading-chapter:nth-child(3n+1) .chapter-content p{grid-column:1}
.template-directory #questions-strip{padding-block:30px;border-top:1px solid var(--line)}
.template-directory #questions-strip .row{grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.template-directory #questions-strip h2{font-size:34px}
/* Pricing: a first-lesson ticket, open comparisons and a specialist menu. */
.template-pricing #hero-prices{padding-right:305px;min-height:390px}
.template-pricing #hero-prices .row{grid-template-columns:1fr}
.template-pricing #hero-prices h1{font-size:clamp(44px,5.1vw,66px);max-width:16ch}
.template-pricing #hero-prices .d-lg-block{display:none}
.template-pricing #hero-prices p{max-width:55ch;font-size:17px}
.template-pricing main .price-intro-ticket{position:absolute;right:0;top:50px;width:255px;display:flex;flex-direction:column;gap:16px;padding:27px;background:var(--red);border-radius:3px;text-decoration:none;color:#111;transform:rotate(3deg);transition:transform .2s}
.template-pricing main .price-intro-ticket:hover{transform:rotate(0);color:#111}
.price-intro-ticket>span:first-child{font-size:10px;letter-spacing:1.3px;font-weight:700}
.template-pricing main .price-intro-ticket strong{font-size:80px;letter-spacing:-5px;line-height:1.15;color:#111;display:flex;align-items:center;justify-content:space-between}
.price-intro-ticket strong span{font-size:30px;letter-spacing:0}
.price-intro-ticket>span:last-child{font-size:13px;line-height:1.6;padding-top:17px;border-top:1px dashed #5b2328}
.template-pricing main #prices-section{padding-top:35px;border:0}
.template-pricing #prices-section>.section-intro h2{font-size:36px}
.rate-navigation{display:flex;gap:13px 30px;flex-wrap:wrap;border-block:1px solid var(--line);padding:18px 0;margin:25px 0 60px}
.template-pricing main .rate-navigation a{font-size:13px;color:var(--white);text-decoration:none}
.template-pricing main .rate-navigation a:first-child{color:var(--red)}
.rate-group{margin-bottom:65px}
.rate-group-title{margin-bottom:28px;display:flex;flex-direction:column;gap:14px}
.rate-group-title>span{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--red)}
.template-pricing .rate-group-title h2{font-size:42px;margin:0}
.rate-options{display:grid;gap:30px}
.main-rates .rate-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.rate-option{min-width:0;border-top:1px solid #4a4a4a;padding-top:25px}
.rate-option .price-box-header{padding:0;display:flex;flex-direction:column;gap:15px;border:0}
.rate-option .price-box-title{font-size:26px;letter-spacing:-.7px;min-height:1.2em;margin:0}
.rate-option .price-box-price{font-size:51px;letter-spacing:-2px;line-height:1.2;margin-bottom:6px}
.rate-option .price-box-subprice{font-size:12px;color:#a8a8a8;min-height:1.5em}
.rate-option .price-box-body{padding:22px 0 18px;font-size:15px;line-height:1.85;color:var(--muted)}
.rate-option .price-box-body p{font-size:15px;line-height:1.85}
.rate-option .price-box-footer{padding:16px 0 0;align-items:center;border-top:1px solid var(--line);display:flex;gap:12px;flex-wrap:wrap;font-size:12px}
.template-pricing main .rate-option .price-box-footer a{font-size:13px}
.template-pricing main .rate-book-link{display:flex;justify-content:space-between;gap:15px;text-decoration:none;min-height:44px;align-items:center}
.template-pricing .price-box-footer .rate-book-link{margin-left:auto}
.template-pricing .trial-ticket .price-box-body{color:#202020}
.template-pricing .trial-ticket .price-box-footer .rate-book-link{margin-left:0}
.template-pricing main .rate-option .price-box-footer .btn{font-size:12px;padding:10px 15px;min-height:44px}
.template-pricing .trial-ticket{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.4fr .8fr;gap:35px;padding:32px;background:#f1eee7;color:#111;border:0;border-left:6px solid var(--red);margin-bottom:15px;border-radius:2px;position:relative}
.template-pricing .trial-ticket .price-box-header{border-right:1px dashed #aaa;padding-right:25px}
.template-pricing main .trial-ticket :is(p,strong,b){color:#202020}
.template-pricing .trial-ticket .price-box-subprice,.template-pricing .trial-ticket .price-tag{color:#555}
.template-pricing .trial-ticket .price-box-body{padding:0;align-self:center}
.template-pricing .trial-ticket .price-box-footer{border:0;padding:0;align-self:center;display:flex;flex-direction:column;align-items:stretch}
.template-pricing main .trial-ticket a{color:#b71919}
.template-pricing main .trial-ticket .btn{color:#111;margin:0}
.intensive-rates .rate-option{display:grid;grid-template-columns:90px .85fr 1.4fr;gap:25px;padding-block:30px;border-block:1px solid var(--line)}
.intensive-number{font-size:78px;line-height:1;letter-spacing:-5px;color:var(--red)}
.intensive-rates .price-box-title{font-size:22px}
.intensive-rates .price-box-price{font-size:39px}
.intensive-rates .price-box-body{padding:0}
.intensive-rates .price-box-footer{grid-column:2/-1}
.special-rates .rate-options{gap:0}
.special-rates .rate-option{display:grid;grid-template-columns:1fr 1.5fr .65fr;gap:25px;padding-block:25px}
.special-rates .price-box-title{font-size:22px}
.special-rates .price-box-header{position:relative;padding-right:95px;gap:8px}
.special-rates .price-box-price{position:absolute;right:0;top:0;font-size:32px}
.special-rates .price-box-body,.special-rates .price-box-footer{padding:0;border:0}
.template-pricing main #about-teacher{padding:35px 0;background:transparent;border-block:1px solid var(--line);border-radius:0}
.template-pricing .about-teacher-card{align-items:start}
.template-pricing .about-teacher-card img{border-radius:50%;width:130px;height:130px;object-fit:cover}
.template-pricing main #testimonials{padding-block:45px}
.template-pricing #testimonials .row{gap:25px 40px}
.template-pricing .testimonial-card{background:transparent;border-radius:0;border-top:1px solid var(--line);padding:24px 0}
.template-pricing .testimonial-card p{font-size:16px}
.template-pricing #prices-faq .row{grid-template-columns:1fr 1fr;gap:0 45px}
.price-question{border-top:1px solid var(--line);padding:0}
.price-question summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:21px 0}
.price-question summary::-webkit-details-marker{display:none}
.price-question summary:after{content:'+';font-size:25px;color:var(--red)}
.price-question[open] summary:after{content:'−'}
.price-question summary h4{font-size:17px;margin:0;letter-spacing:-.2px}
.price-question p{font-size:15px}
/* Teaching: four chapters with room for the teacher's voice. */
.template-teaching main #hero-teach h1{font-size:clamp(48px,6vw,80px);max-width:13ch}
.template-teaching main #hero-teach .row{grid-template-columns:1.1fr .9fr;gap:50px}
.template-teaching #hero-teach img{border-radius:0;max-height:420px}
.speaking-ribbon{display:flex;justify-content:space-between;gap:20px;padding:30px 0 10px;margin-top:30px;border-top:1px solid var(--line);font-size:clamp(18px,3.2vw,38px);font-weight:700;letter-spacing:-1px;color:#777}
.speaking-ribbon .ribbon-red{color:var(--red)}
.template-teaching main #teach-intro{border:0;padding-top:15px}
.template-teaching #teach-intro .row{grid-template-columns:1.2fr .8fr;gap:65px;align-items:start}
.template-teaching #teach-intro .d-lg-block{display:block;position:sticky;top:35px}
.template-teaching #teach-intro img{border-radius:3px;margin-top:8px;filter:grayscale(100%)}
.manager-quote{margin:32px 0 35px;padding:25px 0 25px 25px;border-left:3px solid var(--red)}
.template-teaching main .manager-quote p{font-size:23px;line-height:1.6;letter-spacing:-.5px;color:#f5f3ef;margin:0}
.template-teaching main #teach-pillars{border-top:1px solid var(--line);padding-top:55px}
.template-teaching #teach-pillars .section-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-bottom:55px;align-items:center}
.template-teaching #teach-pillars .section-intro h2{font-size:44px;max-width:16ch}
.teaching-chapters{display:grid;gap:0}
.teaching-chapter{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:45px 0;border-top:1px solid #383838}
.principle-heading{display:flex;gap:25px;align-items:flex-start}
.principle-number{font-size:88px;line-height:.95;letter-spacing:-7px;color:#ff2424;font-weight:500;min-width:100px}
.pillar-label{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#999;margin-bottom:15px}
.template-teaching .teaching-chapter .pillar-title{font-size:clamp(30px,3.7vw,48px);margin:0;letter-spacing:-1.7px;max-width:12ch;line-height:1.1}
.teaching-chapter .pillar-title i{display:none}
.template-teaching .teaching-chapter .pillar-body p{font-size:17px;line-height:1.9}
.teaching-chapter:nth-child(2n) .principle-number{color:#f5f3ef}
.teaching-chapter:nth-child(3){border-top:3px solid var(--red)}
.teaching-chapter:nth-child(3) .pillar-title{color:var(--red)}
.template-teaching main #ready-strip,.template-pricing main #ready-strip,.template-directory main #ready-strip{background:#ff2424;padding:32px;border:0;border-radius:3px;margin-top:30px;color:#111}
.migrated-page main #ready-strip .row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.migrated-page main #ready-strip h2{font-size:36px;color:#111;letter-spacing:-1.4px;margin:0}
.migrated-page main #ready-strip .btn{background:#111;color:white;margin:0}
.migrated-page main #ready-strip .bg-danger,.migrated-page main #ready-strip .bg-primary,.migrated-page main #ready-strip .bg-success{background:transparent}
/* About: photographs sit alongside the full story, with their original captions. */
.studio-site #about-story{background:transparent}
.about-story-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:65px;align-items:start}
.about-story-layout>.studio-prose{min-width:0}
.about-story-layout>.studio-prose p{font-size:17px;line-height:1.9}
.studio-site .work-gallery{padding:0;margin:0;border:0;min-width:0}
.work-gallery-inner{width:100%;max-width:none}
.work-gallery .section-head{display:block;margin:0 0 23px}
.work-gallery .section-number{font-size:9px;letter-spacing:1.7px}
.studio-site .work-gallery h2{font-size:31px!important;letter-spacing:-1px;margin-top:13px;margin-bottom:15px}
.work-gallery .studio-section-summary p{font-size:13px;line-height:1.7}
.studio-site .work-gallery .about-gallery-grid{display:grid;grid-template-columns:1fr;gap:27px}
.studio-site .work-gallery .about-gallery-card{margin:0;padding:0;background:transparent;border:0;border-radius:0;overflow:visible}
.studio-site .work-gallery .about-gallery-card img{width:100%;height:auto;max-height:280px;object-fit:contain;display:block;border-radius:3px;background:#151515}
.studio-site .work-gallery .about-gallery-card figcaption{font-size:12px;line-height:1.7;padding:12px 0 0;color:#aaa;border-bottom:1px solid var(--line);padding-bottom:17px}
@media(max-width:1000px){
 .about-story-layout{grid-template-columns:minmax(0,1fr) 280px;gap:35px}
 .reading-collections{gap:0 30px}.reading-chapter{grid-template-columns:35px 1fr;gap:15px}
 .reading-chapter:nth-child(3n+1) .chapter-content{gap:0 30px}
 .special-rates .rate-option{grid-template-columns:1fr 1.4fr}.special-rates .price-box-footer{grid-column:2}
 .template-pricing .trial-ticket{gap:24px;grid-template-columns:.8fr 1.2fr}
 .template-pricing .trial-ticket .price-box-footer{grid-column:2;flex-direction:row;align-items:center}
 .template-pricing .trial-ticket .price-box-header{grid-row:1/3}
 .template-teaching #teach-intro .row{gap:35px}
 .teaching-chapter{gap:35px}.principle-number{font-size:65px;min-width:75px;letter-spacing:-4px}
 .template-teaching main .teaching-chapter .pillar-title{font-size:35px}
}
@media(max-width:800px){
 .template-directory #tips-hero .row,.template-teaching main #hero-teach .row{grid-template-columns:1fr}
 .template-directory #tips-hero h1{font-size:72px;letter-spacing:-3px}
 .template-directory #tips-hero img{max-height:270px}
 .editorial-label span:last-child{display:none}
 .library-intro{display:block}.template-directory main .library-note{max-width:50ch;margin-top:20px}
 .reading-collections{grid-template-columns:1fr}
 .reading-chapter:nth-child(n){grid-column:auto;grid-template-columns:50px 1fr}
 .reading-chapter:nth-child(n) .chapter-index{font-size:40px}
 .reading-chapter:nth-child(n) .chapter-content{display:block}
 .template-directory main .reading-chapter:nth-child(n) h3{font-size:30px}
 .template-directory main .reading-chapter li{font-size:15px}
 .topic-nav{margin-bottom:35px}
 .template-pricing #hero-prices{padding-right:0;min-height:0}
 .template-pricing main .price-intro-ticket{position:relative;top:auto;right:auto;margin:30px 0 10px;transform:rotate(-2deg);width:min(100%,340px)}
 .template-pricing main .price-intro-ticket strong{font-size:65px}
 .main-rates .rate-options{grid-template-columns:1fr}
 .main-rates .rate-option:not(.trial-ticket){display:grid;grid-template-columns:.8fr 1.4fr;gap:0 30px}
 .main-rates .rate-option:not(.trial-ticket) .price-box-header{grid-row:1/3}
 .main-rates .rate-option:not(.trial-ticket) .price-box-body{padding-top:0}
 .main-rates .rate-option:not(.trial-ticket) .price-box-footer{grid-column:2}
 .intensive-rates .rate-option{grid-template-columns:70px 1fr;gap:20px}
 .intensive-rates .price-box-body,.intensive-rates .price-box-footer{grid-column:2}
 .intensive-number{font-size:65px}
 .template-teaching #teach-intro .row{grid-template-columns:1fr}
 .template-teaching #teach-intro .d-lg-block{position:static}
 .template-teaching #teach-intro img{max-height:330px;max-width:100%;width:auto}
 .template-teaching #teach-pillars .section-intro{grid-template-columns:1fr;gap:10px}
 .teaching-chapter{grid-template-columns:1fr;gap:28px;padding-block:35px}
 .principle-number{font-size:68px;min-width:83px}
 .template-teaching main .teaching-chapter .pillar-title{font-size:40px;max-width:18ch}
 .about-story-layout{grid-template-columns:1fr;gap:35px}
 .studio-site .work-gallery .about-gallery-grid{grid-template-columns:1fr 1fr;gap:25px}
 .template-directory main>section,.template-pricing main>section,.template-teaching main>section{padding-block:40px}
}
@media(max-width:540px){
 .library-search input{font-size:17px}.library-search{gap:10px}.library-search>span{font-size:30px}
 .template-directory #questions-strip .row{grid-template-columns:1fr;gap:15px}
 .template-pricing .trial-ticket{display:block;padding:25px}
 .template-pricing .trial-ticket .price-box-header{border-right:0;border-bottom:1px dashed #aaa;padding:0 0 22px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}
 .template-pricing .trial-ticket .price-box-body{padding:23px 0}
 .template-pricing .trial-ticket .price-box-footer{display:flex;flex-direction:column}
 .main-rates .rate-option:not(.trial-ticket){grid-template-columns:1fr;gap:15px}
 .main-rates .rate-option:not(.trial-ticket) .price-box-header{grid-row:auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between}
 .main-rates .rate-option:not(.trial-ticket) .price-box-footer{grid-column:auto}
 .rate-option .price-box-price{font-size:44px}
 .special-rates .rate-option{grid-template-columns:1fr;gap:16px}
 .special-rates .price-box-footer{grid-column:auto}
 .template-pricing #prices-faq .row{grid-template-columns:1fr}
 .template-pricing .rate-group-title h2{font-size:34px}
 .speaking-ribbon{font-size:17px;letter-spacing:-.5px;gap:10px;flex-wrap:wrap}
 .template-teaching main .manager-quote p{font-size:21px}
 .studio-site .work-gallery .about-gallery-grid{grid-template-columns:1fr}
 .migrated-page main #ready-strip .row{flex-wrap:wrap}
 .migrated-page main #ready-strip h2{font-size:30px}
}
/* Compact reading-room masthead: the articles lead, the mascot signs it off. */
.template-directory main #tips-hero{padding:28px 0 40px;min-height:0}
.reading-masthead{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:65px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:35px}
.template-directory main #tips-hero h1{font-size:clamp(43px,5.6vw,70px);line-height:1.08;letter-spacing:-2.5px;margin:15px 0 22px;max-width:none}
.template-directory main #tips-hero .reading-eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--red);margin:0;text-transform:uppercase}
.template-directory main #tips-hero .reading-masthead-copy>p:not(.reading-eyebrow){font-size:16px;line-height:1.8;max-width:76ch;margin-bottom:16px}
.template-directory main #tips-hero .reading-masthead-copy strong{font-weight:500}
.reading-mascot{display:flex;flex-direction:column;gap:15px;align-items:center;text-align:center;align-self:center}
.template-directory main #tips-hero .reading-mascot img{display:block;width:170px;max-height:190px;margin:0;filter:none}
.reading-mascot>span{font-size:9px;letter-spacing:2.5px;line-height:1.8;color:var(--muted)}
.template-directory main .reading-explore-link,.template-directory main .reading-blog-link{display:inline-flex;gap:24px;align-items:center;text-decoration:none;font-size:13px;margin-top:10px}
.template-directory main .reading-explore-link{color:var(--white);border-bottom:1px solid var(--red);padding-bottom:7px;margin-right:30px}
.template-directory main .reading-blog-link{color:var(--muted)}
.template-pricing .testimonial-card .review-stars,.template-pricing .testimonial-card .review-person{color:var(--red);font-weight:600}
.template-pricing .testimonial-card .review-stars{font-size:18px;letter-spacing:3px}
.template-pricing .testimonial-card .review-person{display:block;font-size:13px;margin-top:17px}
/* A single typographic banner, rather than three disconnected blocks. */
.migrated-page main #ready-strip.speak-banner{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;gap:35px;background:#111;border:1px solid #353535;border-top:4px solid var(--red);padding:42px 38px;margin-top:45px;border-radius:2px;position:relative;overflow:hidden}
.speak-banner-eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);display:block;margin-bottom:20px}
.migrated-page main #ready-strip.speak-banner h2{font-size:clamp(35px,4.7vw,57px);line-height:1.08;color:var(--white);letter-spacing:-2px;margin:0;text-wrap:normal}
.speak-banner h2>span{white-space:nowrap}
.speak-banner h2>span:nth-child(2),.speak-banner .speak-dot{color:var(--red)}
.speak-banner-action{display:flex;flex-direction:column;gap:13px;justify-self:end;width:min(100%,270px)}
.migrated-page main .speak-banner .speak-book{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;background:var(--red);color:#111;text-decoration:none;font-size:14px;font-weight:700;border-radius:4px;min-height:52px}
.migrated-page main .speak-banner .speak-book:hover{background:#ff2424;color:#111}
.speak-banner-action>span{font-size:11px;color:var(--muted)}
/* Age is the base for vocabulary, idiom, and teacher-resource layouts. */
:is(.template-article,.template-lessonplan) main .resource-hero{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:40px;align-items:center;border-bottom:1px solid var(--line);padding:0 0 32px;margin-bottom:38px}
:is(.template-article,.template-lessonplan) main .resource-hero>img{order:2;width:180px;max-height:200px;margin:0;justify-self:end}
:is(.template-article,.template-lessonplan) main .resource-hero>div{order:1}
:is(.template-article,.template-lessonplan) main .resource-hero h1{font-size:clamp(35px,4.3vw,54px);letter-spacing:-1.7px;margin:0 0 17px;max-width:24ch}
:is(.template-article,.template-lessonplan) main .resource-hero p{font-size:16px;margin-bottom:0}
:is(.template-article,.template-lessonplan) main .resource-hero .page-contents{margin-bottom:0;font-size:12px;gap:10px 20px}
.template-lessonplan main .layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px;align-items:start}
.template-lessonplan .sidebar{padding:25px;background:#151515;border-top:3px solid var(--red);font-size:14px}
.template-lessonplan main .sidebar p,.template-lessonplan main .sidebar li{font-size:14px;line-height:1.8}
.template-lessonplan .sidebar h3{font-size:22px;margin-top:28px}
.template-lessonplan .sidebar .meta-box:first-child h3{margin-top:0}
.template-lessonplan main .content-box{margin-bottom:38px}
.template-lessonplan main .lesson-step{border-top:1px solid #444;padding-top:30px}
.template-lessonplan main .lesson-step h2{font-size:29px;line-height:1.2}
.template-lessonplan main .resource-hero .btn{font-size:12px;padding:10px 15px;min-height:42px;margin-top:18px}
.template-article main .content-box h3{font-size:23px;color:#ff2424;margin-top:30px}
:is(.template-article,.template-lessonplan) main .article-section{min-width:0}
@media(max-width:800px){
 .reading-masthead{grid-template-columns:minmax(0,1fr) 130px;gap:25px}
 .template-directory main #tips-hero .reading-mascot img{width:120px}
 .reading-mascot>span{font-size:8px;letter-spacing:1.7px}
 .migrated-page main #ready-strip.speak-banner{grid-template-columns:1fr;padding:30px;gap:25px}
 .speak-banner-action{justify-self:start;width:min(100%,320px)}
 .template-lessonplan main .layout{grid-template-columns:1fr;gap:25px}
 .template-lessonplan .sidebar{order:1}
 :is(.template-article,.template-lessonplan) main .resource-hero{grid-template-columns:minmax(0,1fr) 130px;gap:25px}
 :is(.template-article,.template-lessonplan) main .resource-hero>img{width:120px}
}
@media(max-width:540px){
 .reading-masthead{grid-template-columns:1fr;position:relative;gap:20px}
 .reading-mascot{display:none}
 .template-directory main #tips-hero h1{font-size:46px;letter-spacing:-1.5px}
 .migrated-page main #ready-strip.speak-banner{padding:28px 23px}
 .migrated-page main #ready-strip.speak-banner h2{font-size:39px}
 :is(.template-article,.template-lessonplan) main .resource-hero{grid-template-columns:1fr}
 :is(.template-article,.template-lessonplan) main .resource-hero>img{justify-self:start;width:110px;order:2}
 .template-lessonplan main .resource-hero h1{font-size:36px}
}
/* Lesson and service pages: shared scale, individual reading rhythms. */
:is(.template-lessonflow,.template-football,.template-prep,.template-rules,.template-teens,.template-hub) main{padding-top:35px}
.migrated-page main .service-hero{padding:20px 0 50px;border:0}
.migrated-page main .service-hero h1{font-size:clamp(40px,5vw,64px);line-height:1.09;max-width:21ch;letter-spacing:-2px}
.migrated-page main .service-hero p{font-size:17px;line-height:1.85;max-width:66ch}
.migrated-page main .service-hero .hero-kicker,.migrated-page main .service-hero .kicker{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--red)}
:is(.template-lessonflow,.template-football,.template-teens) .service-hero .row{grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}
:is(.template-lessonflow,.template-football,.template-teens) .service-hero img{max-height:380px;object-fit:contain;width:100%}
.migrated-page .service-hero .btn{font-size:13px;min-height:44px;padding:12px 18px}
.migrated-page .service-eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--red);display:block;margin-bottom:18px}
.template-lessonflow #lessons-content>.container>.row>div{max-width:930px;margin-inline:auto}
.template-lessonflow .walkthrough-step{position:relative;padding:30px 0 30px 105px;border-top:1px solid #333}
.template-lessonflow .walkthrough-step .step-num{position:absolute;left:0;top:30px;width:65px;font-size:49px;line-height:1;letter-spacing:-3px;color:var(--red);font-weight:500}
.template-lessonflow .walkthrough-step h3{font-size:31px;margin:0 0 20px;letter-spacing:-.8px}
.template-lessonflow .walkthrough-step h3 i{display:none}
.template-lessonflow .walkthrough-step h4{font-size:15px;letter-spacing:.2px;margin:8px 0 17px;color:var(--red)}
.template-lessonflow .walkthrough-step p{font-size:17px}
.template-lessonflow .walkthrough-step .badge{display:inline-block;padding:6px 10px;margin:0 0 15px;background:#1b1b1b;border:1px solid var(--red);font-size:12px}
.template-lessonflow #questions-strip .row{grid-template-columns:1fr 1fr;gap:35px;align-items:center}
.template-lessonflow #questions-strip .icons{display:flex;gap:22px;flex-wrap:wrap}
.template-lessonflow #questions-strip .icons a{font-size:22px}
.template-football #football-content>.container>.row>div{width:100%}
.template-football #football-content h2{margin-top:40px}
.template-football #football-content>.container>.row>div>p{max-width:78ch}
.template-football main .football-exercises{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px;margin:30px 0 45px}
.template-football .football-exercises>div{border-top:1px solid var(--red);padding:25px 0}
.template-football .football-exercises h4{font-size:21px;margin:0 0 17px}
.template-football .football-exercises h4 i{display:none}
.template-football .football-exercises p{font-size:16px}
.template-football main .football-rates{grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:30px}
.template-football .football-rates>div{border-top:1px solid var(--red);padding:25px 0}
.template-football .football-rates h4{font-size:23px;margin:0 0 15px}
.template-football .football-rates .display-6{font-size:47px;letter-spacing:-2px;line-height:1.2;margin-bottom:20px;color:var(--red)}
.template-football .football-rates p{font-size:15px}
/* A product tour built around the existing Peachy screenshots. */
.template-prep .prep-hero{max-width:950px}
.template-prep .prep-hero h1{max-width:25ch}
.template-prep .prep-hero>div{margin:0}
.template-prep main .prep-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center;padding-block:60px}
.template-prep .prep-copy h2{font-size:35px;letter-spacing:-1px;max-width:23ch}
.template-prep .prep-copy p{font-size:16px}
.template-prep .prep-feature:nth-child(odd) .prep-copy{order:2}
.template-prep .prep-feature:nth-child(odd) .prep-screens{order:1}
.prep-screens{display:grid;gap:20px;min-width:0}
.template-prep main .prep-screens img{display:block;margin:0;width:100%;height:auto;max-height:none;border:1px solid #3a3a3a;border-radius:6px}
.template-prep .prep-notes{padding-block:35px}
.template-prep .prep-notes h2{font-size:33px}
.template-prep .prep-notes p{max-width:80ch}
/* Rules remain complete and visible, with distinct numbered headings. */
.template-rules main .rules-columns{grid-template-columns:1.45fr .55fr;gap:60px;align-items:start}
.template-rules .rules-columns h1{font-size:clamp(40px,4.5vw,58px);max-width:20ch}
.template-rules .rules-columns>.col-lg-4{position:sticky;top:35px}
.template-rules .rules-columns>.col-lg-4 img{width:100%;margin-top:30px}
.template-rules .rules-columns .kicker{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:var(--red)}
.template-rules .rule-block{border-top:1px solid #444;padding:30px 0;margin-top:30px}
.template-rules main .rule-title{font-size:26px;letter-spacing:-.7px;color:var(--red);margin:0 0 22px;line-height:1.25}
.template-rules #about-teacher{border-top:1px solid var(--line);padding-top:30px;margin-top:45px}
.template-rules #about-teacher .rule-block{display:flex;align-items:flex-start;gap:30px;border:0;padding:0}
.template-rules #about-teacher img{width:130px;height:130px;object-fit:cover;border-radius:50%;flex:0 0 130px;margin:0}
.template-rules #about-teacher h3{margin-top:0}
/* Parent-focused information, open price comparisons and native FAQs. */
.template-teens #teens-intro>div,.template-teens #teens-camera-note>div{max-width:930px;margin-inline:auto}
.template-teens #teens-intro h2{max-width:24ch}
.template-teens #teens-about .about-teacher-card{display:flex;align-items:flex-start;gap:35px}
.template-teens #teens-about img{width:145px;height:145px;object-fit:cover;border-radius:50%;flex:0 0 145px;margin:0}
.template-teens #teens-about h3{margin-top:0}
.template-teens #teens-camera-note{border-left:3px solid var(--red);padding:25px 30px;background:#111;margin-block:30px}
.template-teens #teens-camera-note h3{margin-top:0}
.template-teens #teens-testimonials .row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px}
.template-teens #teens-testimonials .row>div:first-child{grid-column:1/-1}
.template-teens .testimonial-card{padding:25px 0;border-top:1px solid #444}
.template-teens .testimonial-card .review-stars{color:var(--red);letter-spacing:3px}
.template-teens .testimonial-card p{font-size:17px;line-height:1.8;margin-top:18px}
.template-teens .testimonial-card .review-person{color:var(--red);font-size:13px}
.template-teens main #teens-pricing .row.g-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 50px;margin-top:35px}
.template-teens .price-box{display:flex;flex-direction:column;border-top:2px solid var(--red);padding:25px 0;height:100%}
.template-teens .price-box-header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}
.template-teens .price-box-title{font-size:26px;margin:0;max-width:16ch}
.template-teens .price-box-price{font-size:44px;line-height:1;letter-spacing:-2px;color:var(--red)}
.template-teens .price-box-subprice{font-size:11px;color:var(--muted);margin-top:10px}
.template-teens .price-box-body{flex:1;font-size:16px;line-height:1.8}
.template-teens .price-box-footer{border-top:1px solid #333;padding-top:15px;margin-top:22px;font-size:12px;color:var(--muted)}
.template-teens main #teens-faq .row.g-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.teen-question{border-top:1px solid #444}
.teen-question summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:20px 0}
.teen-question summary::-webkit-details-marker{display:none}
.teen-question summary:after{content:'+';font-size:25px;color:var(--red)}
.teen-question[open] summary:after{content:'−'}
.teen-question h4{font-size:17px;line-height:1.5;margin:0}
.teen-question p{font-size:15px}
/* The two hubs are illustrated editorial directories, not button grids. */
.template-hub main .hub-hero{padding:15px 0 45px}
.template-hub main .hub-hero h1{max-width:22ch;font-size:clamp(43px,5vw,65px)}
.template-hub main .hub-hero p{font-size:18px;max-width:62ch}
.template-hub main .hub-directory{border:0;padding-top:0}
.directory-entries{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}
.directory-entry{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr);gap:25px;border-top:1px solid #444;padding:30px 0;min-width:0}
.directory-number{position:absolute;left:0;top:15px;font-size:10px;letter-spacing:1px;color:var(--red);z-index:1}
.directory-image{align-self:start;display:block;padding-top:15px}
.template-hub main .directory-image img{display:block;max-height:180px;width:100%;height:150px;object-fit:contain;margin:0;border-radius:3px}
.template-hub main .directory-copy h3{font-size:24px;line-height:1.2;letter-spacing:-.6px;margin:5px 0 15px}
.template-hub main .directory-copy p{font-size:15px;line-height:1.8;margin-bottom:15px}
.template-hub main .directory-action{font-size:12px;text-decoration:none;border-bottom:1px solid var(--red);padding:6px 0;display:inline-flex;gap:18px}
.directory-action:after{content:'↗'}
.directory-entry:first-child{grid-column:1/-1;grid-template-columns:260px 1fr;gap:50px;padding-block:40px;border-top-color:var(--red)}
.template-hub main .directory-entry:first-child img{height:220px;max-height:240px}
.template-hub main .directory-entry:first-child h3{font-size:38px;max-width:22ch}
.template-hub main .directory-entry:first-child p{font-size:17px;max-width:52ch}
@media(max-width:1000px){
 .directory-entry{grid-template-columns:100px minmax(0,1fr);gap:20px}
 .template-hub main .directory-copy h3{font-size:21px}
 .template-prep main .prep-feature{gap:30px}
 .template-prep .prep-copy h2{font-size:30px}
 .template-rules main .rules-columns{gap:30px}
}
@media(max-width:800px){
 :is(.template-lessonflow,.template-football,.template-teens) .service-hero .row{grid-template-columns:1fr;gap:25px}
 .migrated-page main .service-hero h1{font-size:43px;letter-spacing:-1.5px}
 .template-prep main .prep-feature{grid-template-columns:1fr;gap:25px;padding-block:35px}
 .template-prep .prep-feature:nth-child(n) .prep-copy{order:0}
 .template-prep .prep-feature:nth-child(n) .prep-screens{order:1}
 .template-rules main .rules-columns{grid-template-columns:1fr}
 .template-rules .rules-columns>.col-lg-4{display:none}
 .template-hub .directory-entries{grid-template-columns:1fr}
 .template-hub .directory-entry:nth-child(n){grid-column:auto;grid-template-columns:140px minmax(0,1fr);gap:25px;padding-block:30px}
 .template-hub main .directory-entry:first-child h3{font-size:27px}
 .template-hub main .directory-entry:first-child img{height:160px}
 .template-lessonflow .walkthrough-step{padding-left:80px}
 .template-lessonflow .walkthrough-step .step-num{font-size:43px}
}
@media(max-width:540px){
 .template-football main .football-exercises,.template-football main .football-rates{grid-template-columns:1fr;gap:0}
 .template-teens main #teens-testimonials .row,.template-teens main #teens-pricing .row.g-4,.template-teens main #teens-faq .row.g-4{grid-template-columns:1fr}
 .template-teens #teens-about .about-teacher-card,.template-rules #about-teacher .rule-block{flex-direction:column;gap:22px}
 .template-teens .price-box-header{flex-wrap:wrap}
 .template-lessonflow .walkthrough-step{padding-left:55px}
 .template-lessonflow .walkthrough-step .step-num{font-size:34px;width:40px;letter-spacing:-1px}
 .template-lessonflow .walkthrough-step h3{font-size:26px}
 .template-lessonflow #questions-strip .row{grid-template-columns:1fr}
 .template-hub .directory-entry:nth-child(n){grid-template-columns:100px minmax(0,1fr);gap:20px}
 .template-hub main .directory-image img,.template-hub main .directory-entry:first-child img{height:120px}
 .template-hub main .directory-copy h3,.template-hub main .directory-entry:first-child h3{font-size:22px}
 .template-hub main .directory-copy p,.template-hub main .directory-entry:first-child p{font-size:14px}
 .template-teens #teens-camera-note{padding:20px}
}
/* Language services: a clear illustrated introduction and numbered service menu. */
.template-languageservices main{padding-top:35px}
.template-languageservices .service-hero .row{grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}
.template-languageservices .service-hero img{width:100%;max-height:360px;object-fit:contain;margin:0}
.template-languageservices #services-section .row.g-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 55px;margin-top:35px}
.template-languageservices .language-service{position:relative;padding:28px 0 0 55px;border-top:1px solid #444;height:100%;display:flex;flex-direction:column;min-width:0}
.language-service-number{position:absolute;top:28px;left:0;font-size:23px;line-height:1;letter-spacing:-1px;color:var(--red)}
.template-languageservices .service-box-header{margin-bottom:17px}
.template-languageservices .language-service>div:first-of-type{flex:1}
.template-languageservices .service-box-tag{display:inline-block;font-size:12px;color:var(--red);margin-top:12px}
.template-languageservices .service-box-header i{display:none}
.template-languageservices .service-box-title{font-size:27px;line-height:1.2;margin:0;letter-spacing:-.7px}
.template-languageservices .service-box-body{font-size:16px;line-height:1.8;flex:1}
.template-languageservices .service-box-body p{font-size:16px}
.template-languageservices .service-box-footer{padding-top:15px;border-top:1px solid #333;font-size:13px}
.template-languageservices .service-box-footer .btn{background:transparent;color:var(--red);padding:5px 0;margin:0;min-height:44px;font-size:13px;border:0;justify-content:flex-start;text-decoration:underline}
.template-languageservices #services-section .row.mt-5{margin-top:55px;padding-top:35px;border-top:1px solid var(--red)}
.template-languageservices #services-section .row.mt-5 h2{font-size:32px}
.template-languageservices #services-faq{max-width:930px;margin-inline:auto}
.template-languageservices #services-faq>.container>.row{grid-template-columns:1fr}
.language-question{border-top:1px solid #444}
.language-question summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:22px 0}
.language-question summary::-webkit-details-marker{display:none}
.template-languageservices .language-question h2{font-size:18px;line-height:1.5;margin:0;letter-spacing:-.2px}
.language-question summary:after{content:'+';font-size:26px;color:var(--red)}
.language-question[open] summary:after{content:'−'}
.language-answer{font-size:16px;padding-bottom:12px}
@media(max-width:800px){.template-languageservices .service-hero .row{grid-template-columns:1fr;gap:25px}.template-languageservices .service-hero img{max-height:270px}.template-languageservices #services-section .row.g-4{gap:30px}}
@media(max-width:540px){.template-languageservices #services-section .row.g-4{grid-template-columns:1fr}.template-languageservices .language-service{padding-left:45px}.template-languageservices .service-box-title{font-size:25px}}

/* Article variants keep the same reading rhythm without an empty sidebar column. */
.template-article main .layout.article-full-width{grid-template-columns:minmax(0,1fr);max-width:860px}
.template-article main .legacy-article :is(.container,.row,.col-sm-12,.col-lg-12){width:100%;padding:0;margin-inline:0}
.template-article main .legacy-article p{margin-bottom:24px}
.template-article main .article-hero-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.template-article main .article-hero-links .btn{font-size:12px;padding:10px 16px;min-height:40px}
.template-article main .resource-hero h6{font-size:11px;letter-spacing:1.7px;color:var(--red);margin:0 0 18px}
.template-article main textarea{display:block;width:100%;min-height:160px;padding:16px;background:#151515;color:var(--white);border:1px solid var(--line);border-radius:5px;font:inherit;resize:vertical;margin-block:14px}
.template-article main table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px;margin-block:22px}
.template-article main :is(td,th){padding:12px 16px;border:1px solid var(--line);vertical-align:top;text-align:left}
.template-article main th{color:var(--white);background:#151515}
.template-article main iframe{max-width:100%}

/* Full glossaries belong beside the article, with meanings and examples intact. */
.template-article main .glossary-label{display:block;color:var(--muted);font-size:10px;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:8px}
.template-article main .sidebar .vocab-box+.vocab-box{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}
.template-article main .sidebar .full-glossary table{width:100%;margin-block:16px}
.template-article main .sidebar .full-glossary thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.template-article main .sidebar .full-glossary :is(tbody,tr,td){display:block;width:100%}
.template-article main .sidebar .full-glossary tr{padding:12px 0;border-bottom:1px solid var(--line)}
.template-article main .sidebar .full-glossary td{border:0;padding:0}
.template-article main .sidebar .full-glossary td+td{margin-top:6px}

/* British/American guessing exercise: answers open independently without JavaScript. */
.template-article main .guess-question{padding:26px 0;border-bottom:1px solid var(--line)}
.template-article main .guess-question>h3{font-size:22px;line-height:1.5;color:var(--white);margin:0 0 16px}
.template-article main .answer-reveal>summary{display:inline-flex;align-items:center;gap:22px;padding:10px 15px;border:1px solid var(--red);border-radius:4px;color:var(--red);cursor:pointer;list-style:none;font-size:14px;font-weight:600}
.template-article main .answer-reveal>summary::-webkit-details-marker{display:none}
.template-article main .answer-reveal>summary:focus-visible{outline:2px solid var(--white);outline-offset:4px}
.template-article main .answer-reveal .answer-open{display:none}
.template-article main .answer-reveal[open] .answer-closed{display:none}
.template-article main .answer-reveal[open] .answer-open{display:inline}
.template-article main .answer-indicator:before{content:'+';font-size:20px;line-height:1}
.template-article main .answer-reveal[open] .answer-indicator:before{content:'−'}
.template-article main .answer-body{margin-top:18px;padding:4px 0 4px 18px;border-left:2px solid var(--red);line-height:1.85}

/* English for real life: a situation, a toolkit, and a conversation to practise. */
.template-englishfor .situation-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;align-items:center;padding:25px 0 50px}
.template-englishfor main .situation-hero h1{font-size:clamp(46px,5.8vw,76px);line-height:1.04;letter-spacing:-3px;max-width:13ch;margin:0 0 26px}
.template-englishfor .english-for-prefix{display:block;font-size:13px;line-height:1.5;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);margin:0 0 20px}
.template-englishfor .situation-eyebrow,.template-englishfor .situation-section-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--red);margin:0 0 20px}
.template-englishfor .situation-hero>.situation-eyebrow{display:none}
.template-englishfor .situation-hero .lead{font-size:18px;line-height:1.85;max-width:54ch}
.template-englishfor .situation-start{display:inline-flex;gap:40px;align-items:center;border-bottom:1px solid var(--red);padding:10px 0;color:var(--white);font-size:14px}
.template-englishfor .scenario-ticket{background:#f1eee5;color:#111;padding:35px 32px;transform:rotate(2deg);border-radius:3px;box-shadow:10px 10px 0 #ff2424}
.template-englishfor .scenario-ticket>span{font-size:10px;letter-spacing:2.5px;font-weight:700}
.template-englishfor .ticket-rule{height:1px;background:#aaa;margin:18px 0 26px}
.template-englishfor .scenario-ticket blockquote{font-size:32px;font-weight:600;line-height:1.25;letter-spacing:-1px;margin:0 0 25px}
.template-englishfor .scenario-ticket p{font-size:14px;line-height:1.8;color:#555}
.template-englishfor .scenario-ticket a{font-size:12px;font-weight:700;color:#111;border-bottom:1px solid #111;padding-bottom:5px}
.template-englishfor .situation-nav{display:flex;gap:28px;flex-wrap:wrap;border-block:1px solid var(--line);padding:19px 0;font-size:12px;margin-bottom:55px}
.template-englishfor .situation-nav a:hover{color:var(--red)}
.template-lessonplan main .lesson-definition,.template-lessonplan main .lesson-notes{border:1px solid #383838;border-radius:6px;padding:16px 20px;margin:14px 0;background:#080808}
.template-lessonplan main :is(.lesson-definition,.lesson-notes)>summary{cursor:pointer;color:var(--red);font-weight:700}
.template-lessonplan main :is(.lesson-definition,.lesson-notes)>summary:focus-visible{outline:2px solid #fff;outline-offset:6px}
.template-lessonplan main :is(.lesson-definition,.lesson-notes)[open]>summary{margin-bottom:16px}
.template-lessonplan main .v-stress{font-size:13px;color:var(--muted)}
.template-lessonplan main .vocab-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.template-lessonplan main .practice-card,.template-lessonplan main .barometer-container{padding:20px 0;border-bottom:1px solid var(--line)}
.template-lessonplan main .slider-wrapper{display:flex;gap:16px;align-items:center;margin-top:12px;font-size:12px}
.template-lessonplan main input[type=range]{min-width:60px;accent-color:var(--red)}
.template-lessonplan main .answer-reveal{margin-top:14px}
.template-lessonplan main .answer-reveal>summary{cursor:pointer;color:var(--red);font-weight:700}
.template-lessonplan main table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.template-lessonplan main :is(td,th){padding:12px;border:1px solid var(--line);text-align:left}
.template-lessonplan main iframe{max-width:100%;aspect-ratio:16/9;height:auto}
@media(max-width:650px){.template-lessonplan main .vocab-grid{grid-template-columns:1fr}.template-lessonplan main .slider-wrapper{flex-wrap:wrap}.template-lessonplan main .slider-wrapper input{flex:1}}
.template-lessonhub main .resource-hero{display:grid;grid-template-columns:1fr 1.7fr;align-items:center;gap:55px;padding-bottom:45px;margin-bottom:45px;border-bottom:1px solid var(--line)}
.template-lessonhub main .resource-hero>img{max-width:280px;width:100%;justify-self:center}
.template-lessonhub main h1{font-size:clamp(38px,4vw,58px);line-height:1.06;letter-spacing:-1.5px}
.template-lessonhub main .hero-badge{font-size:12px;letter-spacing:1px;color:var(--red);margin-bottom:18px}
.template-lessonhub main .hero-cta{display:none}
.template-lessonhub main .lesson-card{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center;padding:35px 0;border-bottom:1px solid var(--line)}
.template-lessonhub main .lesson-thumb img{width:160px;max-height:180px;object-fit:contain}
.template-lessonhub main .lesson-title{font-size:26px;color:var(--white);font-weight:700;text-decoration:none}
.template-lessonhub main .lesson-title:hover{color:var(--red)}
.template-lessonhub main .lesson-tags{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.template-lessonhub main .badge{border:1px solid #444;padding:4px 9px;font-size:11px;color:var(--muted);border-radius:3px}
.template-lessonhub main .content-box{max-width:850px;margin-bottom:30px}
.lesson-hub-invitation{padding:40px 0;margin-top:35px;border-top:1px solid var(--red)}
@media(max-width:650px){.template-lessonhub main .resource-hero{grid-template-columns:1fr;gap:25px}.template-lessonhub main .resource-hero>img{max-width:160px;justify-self:start}.template-lessonhub main .lesson-card{grid-template-columns:90px 1fr;gap:20px}.template-lessonhub main .lesson-title{font-size:22px}.template-lessonhub main .lesson-thumb img{width:90px}}
/* Real-life English: shared routes, a topic directory, and specialist lessons. */
.english-for-series-nav{margin:0 0 28px;font-size:12px}
.english-for-series-nav a{display:inline-flex;gap:14px;align-items:center;color:var(--muted);text-decoration:none}
.english-for-series-nav a:hover{color:var(--red)}
.english-for-related{padding:30px 0 15px;margin-top:40px;border-top:1px solid var(--line)}
.english-for-related>div{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:18px}
.english-for-related a{display:flex;justify-content:space-between;gap:20px;color:var(--white);text-decoration:none;font-size:18px}
.english-for-related a span{color:var(--red)}
.template-englishforspecialist main .specialist-hero{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center;padding:10px 0 55px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.template-englishforspecialist main .specialist-hero h1{font-size:clamp(40px,4.8vw,64px);line-height:1.06;letter-spacing:-2px;margin:20px 0 25px;max-width:18ch}
.template-englishforspecialist main .specialist-hero p{font-size:18px;line-height:1.85;max-width:52ch}
.template-englishforspecialist .specialist-intro-link{display:inline-flex;gap:30px;color:var(--white);padding:8px 0;text-decoration:none;border-bottom:1px solid var(--red)}
.template-englishforspecialist .specialist-art{margin:0;justify-self:end;max-width:330px;transform:rotate(2deg);border:1px solid var(--line);padding:9px;border-radius:13px;background:#111}
.template-englishforspecialist .specialist-art img{display:block;width:100%;border-radius:6px}
.template-englishforspecialist .specialist-chapter{display:grid;grid-template-columns:100px minmax(0,1fr);gap:25px;padding:40px 0;border-bottom:1px solid var(--line)}
.template-englishforspecialist .specialist-chapter-number{font-size:48px;line-height:1.1;letter-spacing:-2px;color:var(--red)}
.template-englishforspecialist .specialist-chapter>div{max-width:800px}
.template-englishforspecialist main .specialist-chapter h2{font-size:30px;line-height:1.18;margin:0 0 25px}
.template-englishforspecialist main .specialist-chapter :is(p,li){font-size:17px;line-height:1.9}
.template-englishforspecialist main .specialist-chapter strong{color:var(--red)}
.template-englishforspecialist .specialist-chapter ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;margin:22px 0}
.template-englishforspecialist .specialist-chapter li{position:relative;padding-left:19px}
.template-englishforspecialist .specialist-chapter li:before{content:'↗';position:absolute;left:0;color:var(--red)}
.template-englishforspecialist .specialist-cta{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;padding:35px 40px;margin-top:45px;background:var(--red);border-radius:7px;color:#080808}
.template-englishforspecialist main .specialist-cta h2{font-size:33px;line-height:1.12;margin:0 0 15px;max-width:22ch}
.template-englishforspecialist main .specialist-cta p{color:#080808;font-size:15px;max-width:60ch;margin:0}
.template-englishforspecialist main .specialist-cta .btn{background:#080808;color:var(--white);white-space:nowrap}
.template-englishfordirectory main .real-life-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:65px;align-items:center;padding:10px 0 50px;border-bottom:1px solid var(--line)}
.template-englishfordirectory main h1{font-size:clamp(42px,5.3vw,70px);line-height:1.04;letter-spacing:-2.5px;margin:20px 0 28px;max-width:17ch}
.template-englishfordirectory main .lead{font-size:18px;line-height:1.85;max-width:55ch}
.real-life-count{display:flex;flex-direction:column;border-left:2px solid var(--red);padding:20px 0 20px 38px;gap:22px}
.real-life-count>strong{font-size:128px;letter-spacing:-8px;line-height:.85;color:var(--red)}
.real-life-count>span{font-size:11px;line-height:1.8;letter-spacing:1.5px}
.real-life-count>a{font-size:13px;text-decoration:none;color:var(--muted)}
.real-life-count>a span{color:var(--red);margin-left:15px}
.real-life-topics{padding-top:45px}
.template-englishfordirectory main h2{font-size:32px;line-height:1.2;margin:0 0 26px}
.real-life-search{margin:30px 0 15px;max-width:640px}
.real-life-search label{display:block;font-size:13px;color:var(--white);margin-bottom:10px}
.real-life-search>div{display:flex;gap:10px}
.real-life-search input{min-width:0;width:100%;padding:15px 18px;background:#151515;border:1px solid #555;color:var(--white);font:inherit;border-radius:5px}
.real-life-search input:focus{outline:2px solid var(--red);outline-offset:2px}
.real-life-search button{padding:12px 18px;border:1px solid var(--red);border-radius:5px;background:#080808;color:var(--red);font:inherit;cursor:pointer}
.template-englishfordirectory main .real-life-search p{font-size:12px;margin:12px 0;color:var(--muted)}
.real-life-topic-list{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}
.real-life-topic{display:grid;grid-template-columns:30px minmax(0,1fr) 20px;gap:16px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--white)}
.real-life-topic:hover{border-bottom-color:var(--red)}
.real-life-topic:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.real-life-topic .topic-number{font-size:11px;margin-top:5px;color:var(--muted)}
.real-life-topic .topic-category{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--red)}
.template-englishfordirectory main .real-life-topic h3{font-size:22px;line-height:1.22;margin:9px 0 12px}
.template-englishfordirectory main .real-life-topic p{font-size:14px;line-height:1.8;margin:0;color:var(--muted)}
.real-life-topic .topic-arrow{color:var(--red);font-size:21px;margin-top:24px;transition:transform .18s}
.real-life-topic:hover .topic-arrow{transform:translate(2px,-2px)}
.real-life-specialists{padding-top:45px;margin-top:45px;border-top:1px solid var(--red)}
.template-englishfordirectory main .real-life-specialists h2{margin-top:18px}
.real-life-specialists>div{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.real-life-specialists a{display:flex;justify-content:space-between;gap:20px;color:var(--white);text-decoration:none;border-top:1px solid #444;padding:20px 0;font-size:17px}
.real-life-specialists a span{color:var(--red)}
@media(max-width:850px){.template-englishforspecialist main .specialist-hero,.template-englishfordirectory main .real-life-hero{gap:30px;grid-template-columns:1.2fr .8fr}.template-englishforspecialist .specialist-chapter{grid-template-columns:60px minmax(0,1fr)}.template-englishforspecialist .specialist-cta{grid-template-columns:1fr;gap:25px}.template-englishforspecialist .specialist-cta .btn{justify-self:start}.real-life-topic-list{column-gap:25px}.real-life-topic{grid-template-columns:minmax(0,1fr) 20px;gap:12px}.real-life-topic .topic-number{display:none}.real-life-specialists>div{grid-template-columns:1fr}}
@media(max-width:600px){.template-englishforspecialist main .specialist-hero,.template-englishfordirectory main .real-life-hero{grid-template-columns:1fr}.template-englishforspecialist .specialist-art{justify-self:start;max-width:230px;transform:none}.template-englishforspecialist main .specialist-hero h1{font-size:44px;letter-spacing:-1.5px}.template-englishforspecialist .specialist-chapter{grid-template-columns:1fr;gap:18px;padding:30px 0}.template-englishforspecialist .specialist-chapter-number{font-size:30px}.template-englishforspecialist .specialist-chapter ul{grid-template-columns:1fr}.template-englishforspecialist .specialist-cta{padding:28px 22px}.template-englishfordirectory main h1{font-size:46px;letter-spacing:-1.5px}.real-life-count{padding:15px 0 15px 25px;gap:15px}.real-life-count>strong{font-size:80px;letter-spacing:-4px}.real-life-topic-list{grid-template-columns:1fr}.english-for-related>div{grid-template-columns:1fr;gap:22px}}
@media(prefers-reduced-motion:reduce){.real-life-topic .topic-arrow{transition:none}}
.template-article main .resource-hero-no-image{grid-template-columns:1fr}
.advice-reading-nav{font-size:12px;margin-bottom:28px}
.advice-reading-nav a{display:inline-flex;align-items:center;gap:12px;color:var(--muted);text-decoration:none}
.advice-reading-nav a:hover{color:var(--red)}
.template-article main .advice-article .article-full-width{max-width:900px}
.template-article main .advice-article .article-full-width .article-section{max-width:74ch}
.template-article main .advice-article .content-box{margin-bottom:38px}
.template-article main .advice-article .article-section>div>section{padding:20px 0;border-bottom:1px solid var(--line)}
.template-article main .advice-article h2{font-size:29px;line-height:1.2;margin:32px 0 22px}
.template-article main .advice-article h3{font-size:22px;line-height:1.3}
.template-article main .advice-article :is(p,li){font-size:17px;line-height:1.9}
.template-article main .advice-article .sidebar :is(p,li){font-size:14px;line-height:1.9}
.template-article main .advice-article .sidebar h4{color:var(--red);font-size:14px;margin:24px 0 10px}
.template-article main .advice-article .sidebar h3{font-size:22px}
.template-article main .advice-article .mistake-language-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}
.template-article main .advice-article .mistake-language-links a{display:block;padding:14px 18px;border:1px solid var(--red);border-radius:4px;text-decoration:none;background:#111;color:var(--red)}
.template-article main .advice-article .feature-card{padding:20px 0}
@media(max-width:600px){.template-article main .advice-article .mistake-language-links{grid-template-columns:1fr}.template-article main .advice-article h2{font-size:25px}}
.template-englishfor .situation-toolkit{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;margin-bottom:55px}
.template-englishfor main .situation-toolkit h2{font-size:30px;line-height:1.3;margin:15px 0 24px;letter-spacing:-.7px}
.template-englishfor main .situation-toolkit ul{list-style:none;padding:0;margin:0}
.template-englishfor main .situation-toolkit li{padding:18px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.85}
.template-englishfor main .situation-toolkit strong{color:var(--red);display:block;font-size:14px;margin-bottom:5px}
.template-englishfor .situation-verbs em{display:block;margin-top:6px;color:var(--white);font-size:14px}
.template-englishfor .situation-dialogue{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;background:#f1eee5;color:#111;border-radius:5px;padding:40px;margin:0 0 65px}
.template-englishfor main .dialogue-intro h2{color:#111;font-size:31px;line-height:1.25;margin:0;letter-spacing:-1px}
.template-englishfor .dialogue-script{display:grid;gap:15px}
.template-englishfor main .dialogue-line{font-size:15px;line-height:1.8;padding:16px 20px;background:white;color:#333;border-radius:4px;margin:0;max-width:90%;border-left:2px solid #ccc}
.template-englishfor main .dialogue-line strong{display:block;color:#555;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:6px}
.template-englishfor main .dialogue-guest{margin-left:9%;background:#ffe2df;border-left-color:var(--red)}
.template-englishfor main .dialogue-guest strong{color:#b71919}
.template-englishfor .situation-your-turn{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;margin:0 0 65px}
.template-englishfor main .practice-tagline{font-size:39px;line-height:1.2;color:var(--white);letter-spacing:-1.3px;margin-top:15px}
.template-englishfor .practice-tagline em{font-style:normal;color:var(--red)}
.template-englishfor .practice-tasks{display:grid;gap:32px}
.template-englishfor .situation-practice{border-top:2px solid var(--red);padding-top:18px}
.template-englishfor main .situation-practice h2{font-size:24px;margin:0 0 17px}
.template-englishfor .situation-practice ul{padding-left:20px;margin:0}
.template-englishfor .situation-practice li{padding:6px 0;font-size:16px;line-height:1.8}
.template-englishfor .situation-vocabulary{margin-bottom:60px}
.template-englishfor main .situation-vocabulary h2{font-size:35px;letter-spacing:-1px;margin-bottom:25px}
.template-englishfor main .situation-vocabulary table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.8}
.template-englishfor .situation-vocabulary th{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);padding:12px 18px;text-align:left;border-bottom:2px solid var(--red)}
.template-englishfor .situation-vocabulary td{padding:20px 18px;border-bottom:1px solid var(--line);vertical-align:top;width:33.33%}
.template-englishfor .situation-vocabulary strong{color:var(--red)}
.template-englishfor .situation-teaching{padding:30px 0 30px 28px;border-left:3px solid var(--red);max-width:900px;margin-bottom:40px}
.template-englishfor main .situation-teaching h2{font-size:28px;margin:0 0 20px}
.template-englishfor .situation-teaching p{font-size:16px;line-height:1.9}
.template-englishfor .situation-next{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:30px;margin-bottom:30px}
.template-englishfor .situation-next p{margin:0;color:var(--white);font-size:20px}
@media(max-width:850px){.template-englishfor .situation-hero{grid-template-columns:1fr;gap:30px;padding-top:10px}.template-englishfor .scenario-ticket{max-width:480px;transform:none}.template-englishfor .situation-toolkit{gap:35px}.template-englishfor .situation-dialogue{grid-template-columns:1fr;gap:25px;padding:28px}.template-englishfor .situation-your-turn{grid-template-columns:1fr;gap:20px}}
@media(max-width:580px){.template-englishfor main .situation-hero h1{font-size:49px;letter-spacing:-2px}.template-englishfor .situation-toolkit{grid-template-columns:1fr;gap:38px}.template-englishfor .situation-nav{gap:13px 24px}.template-englishfor .scenario-ticket{padding:28px 24px;box-shadow:6px 6px 0 #ff2424}.template-englishfor .situation-dialogue{padding:23px 18px}.template-englishfor main .dialogue-line{padding:13px;max-width:95%}.template-englishfor .situation-vocabulary thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.template-englishfor .situation-vocabulary :is(tbody,tr,td){display:block;width:100%}.template-englishfor .situation-vocabulary tr{padding:20px 0;border-bottom:1px solid var(--line)}.template-englishfor .situation-vocabulary td{padding:4px 0;border:0}.template-englishfor .situation-next{align-items:flex-start;flex-direction:column}}
.template-englishfor .situation-nav a{color:var(--muted);text-decoration:none}
.template-englishfor .situation-nav a:hover{color:var(--red)}
