@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;450;500;600;650;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Bricolage+Grotesque:opsz,wght@12..96,800&family=M+PLUS+1p:wght@800&display=swap');
:root{--navy:#253d5b;--blue:#658e9c;--clay:#d4aa7d;--ink:#23364b;--muted:#546372;--paper:#fcfcfa;--line:#d9dfe2;--max:1240px;font-family:'IBM Plex Sans','Noto Sans JP',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:hover{color:#466d7b}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;display:block}p{margin:0 0 1.3em}h1,h2,h3{margin:0;font-weight:600}h1{font-size:clamp(3.4rem,6.8vw,6.35rem);line-height:1.02;letter-spacing:-.058em;color:var(--navy)}h1 em{font-style:normal;color:#567c89}h2{font-size:clamp(2.1rem,4vw,3.9rem);line-height:1.12;letter-spacing:-.045em}h3{font-size:1.45rem;line-height:1.3;letter-spacing:-.025em}.wrap{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--muted);margin-bottom:24px}.lead{font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.5;letter-spacing:-.015em}.prose{font-family:Georgia,'Noto Sans JP',serif;font-size:1.2rem;line-height:1.8;margin-top:26px;max-width:760px}.intro{font-size:1.06rem;max-width:580px;color:var(--muted)}header{background:rgba(252,252,250,.97);border-bottom:1px solid var(--line);position:relative;z-index:20}.navigation{display:flex;align-items:center;gap:26px;min-height:94px}.brand{font-size:2.1rem;font-weight:650;letter-spacing:-.055em;line-height:1}.brand-dot{color:var(--blue)}nav{display:flex;gap:25px;margin-left:auto;align-items:center}nav a{font-size:.91rem;padding:9px 0;border-bottom:2px solid transparent;white-space:nowrap}nav a[aria-current]{border-bottom-color:var(--navy)}.language{font-size:.88rem;padding-left:22px;border-left:1px solid var(--line);white-space:nowrap}.menu{display:none}.skip{position:absolute;top:-70px;background:var(--navy);color:white;padding:12px;z-index:100}.skip:focus{top:0}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 23px;background:var(--navy);color:#fff;border:1px solid var(--navy);font-size:.97rem;line-height:1.4;font-weight:500;min-height:52px;text-align:center;transition:background .18s}.button:hover{background:#3b5878;color:#fff}.button.clay{background:var(--clay);color:var(--navy);border-color:var(--clay)}.button.clay:hover{background:#e2bd96}.text-link{display:inline-block;border:0;border-bottom:1px solid currentColor;padding:0 0 5px;background:none;font-size:.96rem;text-align:left}.home-hero{display:grid;grid-template-columns:1.2fr .88fr;align-items:center;gap:6%;padding-block:80px 96px}.hero-copy .eyebrow{max-width:500px}.hero-copy .lead{max-width:590px;margin:30px 0 20px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:30px}.phrase-panel{background:var(--navy);color:white;padding:38px 34px 25px;min-height:535px;box-shadow:16px 16px 0 #e8edef}.phrase-panel .eyebrow{color:#c3d4dc;font-size:.75rem;margin-bottom:44px}.phrase{font-size:clamp(2.6rem,4.2vw,4.25rem);line-height:1.16;font-weight:500;letter-spacing:-.04em}.phrase mark{background:none;color:var(--clay);transition:color .2s}.phrase-panel[data-mode="1"] mark{background:var(--clay);color:var(--navy);box-decoration-break:clone;-webkit-box-decoration-break:clone}.phrase-panel[data-mode="2"] .phrase{opacity:.75}.phrase-rule{display:flex;align-items:center;gap:12px;font-size:.72rem;margin-top:36px;color:#c0d1df}.phrase-rule span:nth-child(2){height:3px;background:linear-gradient(to right,var(--clay) 36%,#63818d 36%);flex:1}.phrase-caption{font-size:.84rem;color:#d4dee5;margin:18px 0 30px}.demo-tabs{display:flex;gap:0;border-bottom:1px solid #6b7d90}.demo-tabs button{background:none;border:0;padding:10px 8px;color:#c5d2de;font-size:.82rem;border-bottom:3px solid transparent;flex:1}.demo-tabs button[aria-pressed=true]{color:white;border-color:var(--clay)}.demo-note{font-size:.9rem;color:#d4dee5;line-height:1.65;margin:18px 0 0;min-height:90px}.proof-strip{padding:23px 0;border-top:1px solid var(--line);font-size:1.04rem}.proof-strip .wrap{display:flex;gap:26px;align-items:center}.proof-strip strong{color:var(--navy);font-weight:600}.proof-strip span{color:var(--muted)}.band{background:var(--navy);color:#fff;padding:100px 0}.band .eyebrow{color:#c1d4dc}.section-intro{display:grid;grid-template-columns:1fr 2.05fr;gap:7%;padding:0 0 50px}.section-intro>.eyebrow{max-width:220px;line-height:1.8}.section-intro .prose{margin-bottom:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.steps article{border-top:1px solid #6a7c91;padding-top:23px}.ordinal{display:block;font-size:.83rem;margin-bottom:27px;color:var(--clay);font-weight:500}.steps h3{margin-bottom:18px}.steps p{font-size:1rem;color:#d5dfe7;margin:0}.steps.light{padding:52px 0 75px}.steps.light article{border-color:var(--line)}.steps.light .ordinal{color:#547b89}.steps.light p{color:var(--muted)}.teacher-tease{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;padding-block:112px}.teacher-tease h2{font-size:clamp(2.65rem,4.7vw,4.5rem)}.teacher-tease .prose{margin-top:0}.history{padding:95px 0 110px;border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:1fr 2.05fr;gap:7%;border-top:1px solid var(--line);padding:37px 0}.timeline h3{font-size:1.8rem;margin-bottom:16px}.timeline p:not(.eyebrow){font-size:1.08rem;color:var(--muted);max-width:760px;margin-bottom:0}.timeline .eyebrow{font-size:.83rem}.end{background:var(--navy);color:white;padding:80px 0}.end-grid{display:flex;justify-content:space-between;gap:40px;align-items:center}.end h2{font-size:clamp(2.5rem,4.2vw,4.2rem)}.end p{font-size:1.13rem;color:#d3dfe6;margin:24px 0 0;max-width:680px}.end .button{flex-shrink:0}footer{padding:52px 0 42px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px}.footer-grid p{font-size:.88rem;color:var(--muted);margin:16px 0 0}.footer-grid>div:nth-child(2) p{margin:0 0 12px}.footer-grid>div:nth-child(3){text-align:right}.footer-grid small{font-size:.77rem;color:var(--muted)}.separator{margin:0 15px;color:#8c9ba4}.page-hero{padding-block:78px 72px}.page-hero h1{max-width:1100px}.page-hero .lead{margin:28px 0 0;max-width:760px}.feature-intro{display:grid;grid-template-columns:1fr 1.13fr;gap:8%;align-items:center;padding-block:45px 30px;border-top:1px solid var(--line)}.screenshot{margin:0;background:#e8eef1;padding:22px;border:1px solid #d3dde3}.screenshot img{width:100%;border:1px solid #cbd5db}.shot-button{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.screenshot figcaption{display:flex;gap:16px;justify-content:space-between;color:var(--muted);font-size:.77rem;margin-top:14px;line-height:1.5}.screenshot figcaption span{white-space:nowrap}.student-shot{padding:16px}.activities{margin-top:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%}.split .prose{margin:0}.activity-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;margin-top:60px}.activity-grid article{position:relative;border-top:1px solid #5e738a;padding:25px 0 24px 52px}.activity-grid .ordinal{position:absolute;left:0;top:26px}.activity-grid h3{font-size:1.25rem}.activity-grid p{color:#d0dce6;font-size:1rem;margin:10px 0 0}.onward{padding-block:90px}.onward p{font-size:1.2rem;margin-top:22px}.pull{font-size:clamp(1.8rem,3vw,2.75rem);color:#547b89;letter-spacing:-.035em;padding:0 0 45px}.tracking{background:#edf1f3;padding:90px 0 10px}.tracking .screenshot{background:#fff}.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.price-card{padding:45px;background:#edf1f3}.price-card h2{font-size:4.8rem;letter-spacing:-.055em}.price-card h3{font-size:1.12rem;min-height:25px;margin-top:25px}.price-card .price-unit{font-size:1.15rem;margin:5px 0 0}.price-card ul{list-style:none;margin:20px 0 40px;padding:0}.price-card li{padding:12px 0;border-top:1px solid #ccd6dc}.price-card.student{background:var(--navy);color:#fff}.price-card.student .eyebrow{color:#c5d3de}.price-card.student li{border-color:#627489}.billing{font-size:.95rem;color:var(--muted);margin-block:25px 0}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:9%;padding-block:100px}.faq h2{font-size:2.6rem}details{border-top:1px solid var(--line);padding:20px 0}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:1.1rem;font-weight:500;padding-right:10px}details p{color:var(--muted);margin:16px 0 0}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;padding:30px 0 80px}.contact-grid h2{font-size:2.25rem;line-height:1.25}.contact-grid .prose{font-size:1.12rem}.direct-email{font-size:1.45rem;border-bottom:1px solid var(--navy);display:inline-block;margin:10px 0 45px}.company{padding-top:35px;border-top:1px solid var(--line)}.company h3{font-size:1.2rem;margin:0 0 15px}.company p{font-size:.96rem}.company .eyebrow{font-size:.77rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{font-size:.95rem;font-weight:500}.form-grid .wide{grid-column:1/-1}input,select,textarea{width:100%;display:block;margin-top:9px;border:1px solid #bccbd3;background:white;color:var(--ink);padding:13px;border-radius:0;font-size:1rem}textarea{resize:vertical;min-height:150px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.form-note{font-size:.87rem;color:var(--muted);margin-top:22px}.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}#form-status{font-size:.95rem;margin-top:20px}.contact-end{border-top:1px solid var(--line);padding-block:75px 100px;color:#547b89}dialog{border:0;background:#f8fafb;color:var(--ink);padding:25px;width:min(1400px,96vw);max-height:94vh;overflow:auto}dialog::backdrop{background:rgba(18,32,49,.86)}dialog img{margin:auto;max-height:75vh;object-fit:contain}dialog p{font-size:.85rem;margin:15px 0 0}.dialog-close{display:block;margin:0 0 20px auto;background:var(--navy);color:white;border:0;padding:10px 20px}html:lang(ja) h1{font-size:clamp(3rem,5.5vw,5.15rem);line-height:1.28;letter-spacing:-.055em}html:lang(ja) h2{line-height:1.35;letter-spacing:-.035em}html:lang(ja) .home-hero{grid-template-columns:1.16fr 1fr;gap:4%}html:lang(ja) .eyebrow{letter-spacing:.06em}html:lang(ja) .lead{font-size:1.28rem;line-height:1.8}html:lang(ja) .prose{font-family:'Noto Sans JP',sans-serif;font-size:1.08rem;line-height:1.95}html:lang(ja) .price-card h2{font-size:4rem}html:lang(ja) .hero-actions{gap:18px}html:lang(ja) .steps h3{font-size:1.24rem}html:lang(ja) .steps p{line-height:1.9}html:lang(ja) .end-grid{align-items:flex-end}
@media(min-width:1600px){.home-hero{padding-block:105px 120px}}
@media(max-width:1100px){.wrap{width:calc(100% - 56px)}nav{gap:16px}.navigation{gap:18px}nav a{font-size:.84rem}.home-hero{gap:5%;padding-block:65px 80px}.phrase-panel{padding:28px 24px;min-height:500px}.hero-actions{gap:18px}.steps{gap:28px}.end-grid{align-items:flex-start;flex-direction:column}.contact-grid{gap:6%}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.navigation{min-height:78px;flex-wrap:wrap}.brand{font-size:1.95rem}.menu{display:block;margin-left:auto;border:0;background:none;padding:12px 0;font-size:.9rem}.language{padding-left:18px}nav{display:none;order:4;width:100%;padding:0 0 20px;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{font-size:1rem;padding:12px 0}.home-hero,html:lang(ja) .home-hero{grid-template-columns:1fr;gap:50px;padding-block:48px 65px}h1{font-size:clamp(3.3rem,10vw,5.25rem)}html:lang(ja) h1{font-size:clamp(2.7rem,8.7vw,4.5rem)}.hero-copy .lead{margin-top:24px}.phrase-panel{max-width:600px;min-height:0;padding:32px;box-shadow:9px 9px 0 #e8edef}.phrase{font-size:3.45rem}.phrase-panel .eyebrow{margin-bottom:25px}.demo-note{min-height:65px}.section-intro,.teacher-tease,.timeline article,.feature-intro,.split,.faq,.contact-grid{grid-template-columns:1fr;gap:28px}.section-intro{padding-bottom:38px}.section-intro>.eyebrow{max-width:none;margin:0}.steps{grid-template-columns:1fr;gap:35px}.ordinal{margin-bottom:14px}.steps article{padding-top:19px}.steps h3{margin-bottom:12px}.band{padding:65px 0}.teacher-tease{padding-block:65px}.history{padding-block:65px}.timeline article{padding-block:28px;gap:4px}.timeline .eyebrow{margin-bottom:14px}.timeline h3{font-size:1.5rem}.end{padding-block:60px}.end h2{font-size:2.7rem}.end-grid{gap:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-grid>div:nth-child(3){text-align:left;grid-column:1/-1}.page-hero{padding-block:50px}.feature-intro{padding-top:35px}.feature-intro .prose{margin-bottom:0}.student-shot{max-width:620px}.screenshot{padding:10px}.screenshot figcaption{flex-direction:column;gap:4px;font-size:.75rem}.activity-grid{column-gap:28px}.activity-grid article{padding-left:36px}.activity-grid .ordinal{font-size:.78rem}.activity-grid h3{font-size:1.12rem}.price-card{padding:28px}.price-card h2{font-size:3.5rem}.price-card .button{width:100%;padding-inline:10px}.price-card h3{min-height:30px}.faq{padding-block:65px}.contact-grid{gap:50px}.contact-grid>div{order:2}.contact-grid form{order:1}.contact-grid .company{margin-top:10px}.contact-end{padding-block:50px}.proof-strip .wrap{display:block}.proof-strip strong,.proof-strip span{display:block}.proof-strip span{margin-top:5px}.proof-strip{font-size:.95rem}.tracking{padding-top:65px}.steps.light{padding-block:40px 60px}.pull{padding-bottom:20px}.onward{padding-block:65px}html:lang(ja) .end-grid{align-items:flex-start}}
@media(max-width:480px){.price-grid{grid-template-columns:1fr;gap:20px}.activity-grid{grid-template-columns:1fr}.phrase{font-size:2.9rem}.phrase-panel{padding:25px}.demo-tabs button{padding-inline:3px;font-size:.78rem}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.form-actions{align-items:stretch;flex-direction:column}.form-actions .text-link{align-self:flex-start}.footer-grid{grid-template-columns:1fr}.footer-grid>div:nth-child(3){grid-column:auto}.hero-actions{align-items:flex-start;flex-direction:column}.end h2{font-size:2.3rem}.contact-grid h2{font-size:1.9rem}}
.privacy-check{display:flex;align-items:flex-start;gap:10px;font-size:.88rem!important;font-weight:400!important;color:var(--muted)}.privacy-check input{width:auto;flex:0 0 auto;margin:5px 0 0}.privacy-check span{line-height:1.55}.contact-verification{min-width:0}.contact-verification p{font-size:.82rem;line-height:1.6;color:var(--muted);margin:.8rem 0 0}.contact-verification a{text-decoration:underline}#contact-status{font-size:.95rem;margin-top:20px;padding:14px 16px;border-left:3px solid var(--blue);background:#edf1f3}#contact-status[role="alert"]{border-left-color:#9c4c39;background:#fff2ed}.contact-grid button:disabled{cursor:wait;opacity:.65}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Englio display identity: September 2026. */
:root{--display:'Bricolage Grotesque','Arial',sans-serif;--display-ja:'M PLUS 1p','Noto Sans JP',sans-serif}
header{position:sticky;top:0;background:rgba(252,252,250,.82);border-bottom:1px solid rgba(45,48,52,.22);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
html{scroll-padding-top:110px}h1,h2,h3,.phrase,.pull{font-family:var(--display);font-weight:800;font-optical-sizing:auto;letter-spacing:-.045em}h1{line-height:1.05}h2{line-height:1.13}h3{letter-spacing:-.025em;line-height:1.3}html:lang(ja) h1,html:lang(ja) h2,html:lang(ja) h3,html:lang(ja) .pull{font-family:var(--display-ja);font-weight:800;letter-spacing:-.035em;line-height:1.4}html:lang(ja) .phrase{font-family:var(--display);line-height:1.16}
.home-hero,html:lang(ja) .home-hero{grid-template-columns:.95fr 1.1fr;gap:6%;padding-block:65px 85px;align-items:center}.home-hero h1.tagline,html:lang(ja) .home-hero h1.tagline{font-family:var(--display);font-size:clamp(6.5rem,10.8vw,10rem);font-weight:800;line-height:.88;letter-spacing:-.065em;margin-left:-.025em}.tagline em{color:var(--navy)}.home-hero .eyebrow{font-size:.79rem;max-width:500px;margin-bottom:35px}.hero-copy .lead{font-size:1.37rem;line-height:1.5;margin-top:30px}.hero-copy .intro{font-size:1rem}.hero-actions{gap:20px;margin-top:26px}.hero-photo{margin:0;align-self:stretch;min-height:590px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% center;max-height:780px}.approach-band{background-color:var(--navy);background-image:linear-gradient(110deg,rgba(37,61,91,.78),rgba(37,61,91,.60)),url('assets/approach-texture.jpg');background-size:cover;background-position:center;background-blend-mode:normal,luminosity}.approach-band h2{max-width:830px}.approach-band .prose{color:#f1f5f8}.approach-band .steps p{color:#e2eaf0}.approach-band .steps article{border-color:rgba(211,225,234,.4)}.teacher-tease{align-items:center;grid-template-columns:1fr 1fr;gap:8%}.teacher-tease .prose{margin-top:28px;font-size:1.15rem}.teacher-tease .phrase-panel{min-height:515px}.teacher-tease .phrase{font-size:clamp(2.8rem,4vw,4.2rem)}.page-hero h1{font-size:clamp(3.25rem,6.3vw,6rem)}.end h2{font-size:clamp(2.5rem,4.2vw,4.2rem)}
@media(max-width:1100px){.home-hero,html:lang(ja) .home-hero{gap:4%;grid-template-columns:1fr 1fr}.hero-photo{min-height:600px}.hero-copy .lead{font-size:1.2rem}.hero-actions{align-items:flex-start;flex-direction:column}.home-hero h1.tagline,html:lang(ja) .home-hero h1.tagline{font-size:8.3rem}}
@media(max-width:800px){html{scroll-padding-top:90px}.home-hero,html:lang(ja) .home-hero{grid-template-columns:1fr;gap:38px;padding-block:45px 55px}.home-hero h1.tagline,html:lang(ja) .home-hero h1.tagline{font-size:clamp(6.5rem,20vw,9rem);line-height:.9}.home-hero .eyebrow{margin-bottom:30px}.hero-copy .lead{max-width:590px;font-size:1.25rem}.hero-actions{flex-direction:row;align-items:center}.hero-photo{min-height:0;height:auto}.hero-photo img{height:auto;max-height:none;aspect-ratio:1.4;object-position:52% center}.teacher-tease{grid-template-columns:1fr;gap:42px}.teacher-tease .phrase-panel{min-height:0;max-width:none}.teacher-tease .phrase{font-size:3.2rem}.page-hero h1{font-size:clamp(3.05rem,9vw,4.7rem)}.end h2{font-size:2.7rem}nav.open{max-height:calc(100dvh - 90px);overflow:auto}.approach-band{background-position:58% center}.teacher-tease h2{font-size:clamp(2.5rem,7vw,3.7rem)}}
@media(max-width:480px){.hero-actions{flex-direction:column;align-items:flex-start}.home-hero h1.tagline,html:lang(ja) .home-hero h1.tagline{font-size:7.3rem}.hero-photo img{aspect-ratio:1.16}.teacher-tease .phrase{font-size:2.8rem}.end h2{font-size:2.3rem}}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/bricolage-grotesque-800.ttf') format('truetype')}
@font-face{font-family:'M PLUS 1p';font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/m-plus-1p-800.ttf') format('truetype')}
/* Keep the display face's broad forms open and readable. */
h1,h2,.phrase,.pull{letter-spacing:-.025em}.home-hero h1.tagline,html:lang(ja) .home-hero h1.tagline{letter-spacing:-.035em}

/* Supplied Englio wordmark, shared across both languages. */
.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand-logo{display:block;width:156px;height:auto}.footer-grid .brand-logo{width:174px}@media(max-width:800px){.navigation .brand-logo{width:137px}}
.brand-logo{mix-blend-mode:normal}

.navigation .site-login{padding:9px 15px;white-space:nowrap;font-size:.9rem}@media(max-width:800px){.navigation{gap:12px}.navigation .site-login{padding:8px 10px}.navigation .language{padding-left:10px}}

/* Palette dark blue for navigation labels in both languages. */
.navigation nav a,.navigation .menu,.navigation .language{color:var(--navy)}
.navigation nav a:hover,.navigation .language:hover{color:var(--navy);text-decoration:underline;text-underline-offset:6px}
@media(max-width:480px){.navigation{gap:8px}.navigation .brand-logo{width:110px}.navigation .menu,.navigation .language{font-size:.8rem}.navigation .language{padding-left:8px}.navigation .site-login{font-size:.8rem;padding:8px 10px;min-height:40px}}

.authoring-guide{padding:30px;border:1px solid #a9bec5;background:#edf3f5;margin-bottom:65px}.authoring-guide h2{font-size:1.8rem}.authoring-guide a{text-decoration:underline}.authoring-guide p{max-width:900px}

/* Highlight the rightmost login action with the brand sandy clay. */
.navigation .site-login{background:var(--clay);border-color:var(--clay);color:var(--navy);border-radius:7px;flex-shrink:0}
.navigation .site-login:hover{background:#dfb98f;border-color:#dfb98f;color:var(--navy)}

/* Clear signup and contact choices. */
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.button.outline{background:transparent;border:1px solid currentColor;color:inherit}.signup-benefits{max-width:43em;font-size:15px;line-height:1.7;color:var(--navy);margin-top:22px}.hero-actions{flex-wrap:wrap}.hero-actions .text-link{flex-basis:100%}.end .cta-actions{max-width:410px}.end .button.outline{color:#fff}

/* Longer brand tagline, sized for both language layouts. */
.home-hero h1.tagline,html:lang(ja) .home-hero h1.tagline{font-size:clamp(2.8rem,4.6vw,4.7rem);line-height:1.04;letter-spacing:-.045em;overflow-wrap:normal}
@media(max-width:800px){.home-hero h1.tagline,html:lang(ja) .home-hero h1.tagline{font-size:clamp(2.55rem,8.5vw,4.7rem)}}

.activity-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:48px}.activity-card{min-width:0;background:var(--paper,#fff);border:1px solid rgba(37,61,91,.15);border-radius:12px;overflow:hidden;color:var(--navy)}.activity-card .shot-button{position:relative;width:100%;display:block;padding:0;background:#eef2f3;border:0;cursor:zoom-in}.activity-card img{display:block;width:100%;height:auto;aspect-ratio:960/900;object-fit:contain}.activity-caption{padding:24px 28px 30px}.activity-caption h3{font-size:1.5rem;margin:12px 0}.activity-caption p{line-height:1.6;color:#405568}.gallery-zoom{position:absolute;right:15px;bottom:15px;width:34px;height:34px;border-radius:50%;background:#253d5b;color:white;display:grid;place-items:center;font-size:24px}.shot-button:focus-visible{outline:3px solid #d4aa7d;outline-offset:4px}@media(max-width:650px){.activity-gallery{grid-template-columns:1fr;gap:26px}.activity-caption{padding:20px}}

/* Four complementary close-listening features. */
.listen-details{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.listen-details{grid-template-columns:1fr}}

.approach-visual .eyebrow{line-height:1.8;margin-bottom:26px}.approach-visual img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:58% center;border-radius:8px}.approach-visual{align-self:start}@media(max-width:800px){.approach-visual img{max-width:420px;aspect-ratio:3/2}.approach-visual .eyebrow{margin-bottom:20px}}

/* Phone scales to the adjacent hero copy rather than extending the section. */
.student-hero{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:6%;align-items:stretch}.student-hero-phone{position:relative;margin:0;min-height:300px}.student-hero-phone img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.student-hero-copy{align-self:center}.student-hero-copy h1{font-size:clamp(3rem,5.8vw,5.4rem)}.student-hero-copy .lead{max-width:720px}@media(max-width:650px){.student-hero{grid-template-columns:1fr;gap:28px}.student-hero-phone{height:280px;min-height:0}.student-hero-copy h1{font-size:clamp(2.6rem,9vw,3.6rem)}}

/* Tablet stands slightly taller than the centered hero text. */
.student-hero-tablet{position:relative;margin:0;min-height:380px;align-self:stretch}.student-hero-tablet img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.student-hero:has(.student-hero-tablet) .student-hero-copy{padding-block:64px;align-self:center}@media(max-width:650px){.student-hero-tablet{height:330px;min-height:0}.student-hero:has(.student-hero-tablet) .student-hero-copy{padding-block:0}}

/* A soft gold band across the student hero, retaining its aligned content width. */
.student-hero{background:#f6e6cb;box-shadow:0 0 0 100vmax #f6e6cb;clip-path:inset(0 -100vmax)}

/* Teacher hero: centered copy beside a slightly taller teaching photograph. */
.teacher-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:6%;align-items:stretch}.teacher-hero-copy{align-self:center;padding-block:32px}.teacher-hero-copy h1{font-size:clamp(3rem,5.4vw,5rem)}.teacher-hero-photo{position:relative;margin:0;min-height:420px}.teacher-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:10px}.teacher-hero-copy .lead{margin-bottom:0}@media(max-width:750px){.teacher-hero{grid-template-columns:1fr;gap:28px}.teacher-hero-copy{padding-block:0}.teacher-hero-photo{min-height:0;aspect-ratio:1;max-height:520px}.teacher-hero-copy h1{font-size:clamp(2.6rem,9vw,4rem)}}

/* Match the student hero light gold band. */
.teacher-hero{background:#f6e6cb;box-shadow:0 0 0 100vmax #f6e6cb;clip-path:inset(0 -100vmax)}

/* Give the first teacher section breathing room below the hero. */
.teacher-hero + section.wrap{padding-top:32px}

/* Emphasize the outcomes in the contact closing line. */
.contact-end mark{background:#f6e6cb;color:var(--navy);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* Consistent rounded photography and textured blue panels across the minisite. */
.hero-photo img{border-radius:10px}
.band,.end,.phrase-panel,.price-card.student{background-color:var(--navy);background-image:linear-gradient(110deg,rgba(37,61,91,.78),rgba(37,61,91,.60)),url('assets/approach-texture.jpg');background-size:cover;background-position:center;background-blend-mode:normal,luminosity}

/* Beta identity and lifetime introductory pricing. */
.navigation .brand{position:relative;padding-right:34px}.beta-badge{position:absolute;right:0;top:0;padding:3px 5px;border-radius:4px;background:#f6e6cb;color:#253d5b;font-family:'IBM Plex Sans',sans-serif;font-size:10px;line-height:1;letter-spacing:.04em;font-weight:600}.beta-pricing{background:#f6e6cb;border-radius:10px;padding:32px 36px;margin-bottom:48px}.beta-pricing h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:22px}.beta-pricing p{max-width:950px}.beta-pricing p:last-child{margin-bottom:0}@media(max-width:650px){.beta-pricing{padding:26px 22px}.navigation .brand{padding-right:29px}.beta-badge{font-size:9px}}

/* Match the rounded imagery and introductory pricing panel. */
.price-card{border-radius:10px;overflow:hidden}

.price-card .student-signup-note{font-size:.85rem;line-height:1.65;margin:18px 0 0;color:#fff}

/* Earphones alongside the beta pricing details. */
.beta-pricing{display:grid;grid-template-columns:minmax(0,0.56fr) minmax(0,1fr);gap:36px;align-items:stretch}
.beta-pricing-art{position:relative;margin:0;min-width:0}
.beta-pricing-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.beta-pricing-copy{min-width:0}
@media(max-width:700px){.beta-pricing{grid-template-columns:1fr;gap:26px}.beta-pricing-art{height:280px}.beta-pricing-art img{position:static}}
