:root{--navy:#063a50;--teal:#0a6073;--orange:#f39a2e;--cream:#fff8ed;--sky:#eaf6f7;--ink:#16313c;--muted:#5f7279;--white:#fff;--line:#d9e5e7;--shadow:0 18px 55px rgba(6,58,80,.13);font-family:Inter,"Noto Sans JP","Noto Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:fixed;top:-100px;left:1rem;z-index:50;background:#fff;padding:.65rem 1rem;border-radius:.5rem}.skip-link:focus{top:1rem}.wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}.narrow{width:min(1050px,calc(100% - 40px))}.site-header{height:96px;padding:12px max(20px,calc((100% - 1180px)/2));display:flex;align-items:center;gap:2rem;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(6,58,80,.09);backdrop-filter:blur(12px)}.brand{margin-right:auto}.brand img{width:205px;height:auto}.site-header nav{display:flex;gap:1.45rem;align-items:center}.site-header nav a{text-decoration:none;font-size:1rem;font-weight:750;color:var(--navy)}.site-header nav a:hover{text-decoration:underline;text-underline-offset:.35rem}.lang-switch{border:1px solid var(--navy);background:#fff;color:var(--navy);border-radius:999px;padding:.55rem .85rem;font-weight:800;cursor:pointer}.launch-strip{background:var(--navy);color:#fff;min-height:48px;display:flex;align-items:center;justify-content:center;gap:1.2rem;padding:.7rem 1rem;text-align:center}.launch-strip strong{background:var(--orange);color:#2a200d;border-radius:999px;padding:.22rem .75rem;font-size:.82rem;letter-spacing:.05em}.hero{min-height:650px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:3.5rem;padding-block:5rem 4rem;overflow:hidden}.eyebrow{color:var(--teal);font-size:.78rem;font-weight:900;letter-spacing:.13em;margin:0 0 1rem}.hero h1,.sub-hero h1{font-size:clamp(2.65rem,5.3vw,5.4rem);line-height:1.02;letter-spacing:-.055em;margin:.1rem 0 1.3rem;color:var(--navy)}.lead{font-size:1.2rem;max-width:720px;color:#405963}.actions{display:flex;flex-wrap:wrap;gap:.85rem;margin:2rem 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.82rem 1.25rem;border-radius:.75rem;border:2px solid transparent;text-decoration:none;font-weight:850;cursor:pointer;font-size:.98rem}.button.primary{background:var(--navy);color:#fff}.button.secondary{background:var(--orange);color:#202b2e}.button.full{width:100%}.proof-list{display:flex;flex-wrap:wrap;gap:1.2rem;padding:0;margin:1.5rem 0 0;list-style:none;color:var(--teal);font-weight:750;font-size:.9rem}.proof-list li:before{content:"✓";margin-right:.35rem;color:var(--orange)}.hero-visual{position:relative;align-self:end}.hero-visual:before{content:"";position:absolute;inset:12% -20% 0 4%;background:linear-gradient(135deg,var(--sky),#fff0d9);border-radius:48% 52% 28% 72%/55% 37% 63% 45%;z-index:-1}.hero-visual img{width:100%;max-height:560px;object-fit:contain;object-position:bottom}.circle-note{position:absolute;right:0;top:1rem;background:#fff;border:1px solid var(--line);border-radius:1rem;padding:.8rem 1rem;box-shadow:var(--shadow);z-index:2;font-weight:900;color:var(--navy);transform:rotate(2deg)}.circle-note b{color:var(--orange);margin:.35rem}.section{padding-block:6.5rem}.section-heading{max-width:760px;margin-bottom:2.3rem}.section-heading h2,.recruit-card h2,.content-grid h2{font-size:clamp(2rem,3.7vw,3.35rem);line-height:1.12;letter-spacing:-.035em;color:var(--navy);margin:.35rem 0 1rem}.section-heading>p:last-child{color:var(--muted);font-size:1.08rem}.card-grid{display:grid;gap:1.25rem}.card-grid.two{grid-template-columns:repeat(2,1fr)}.program-card{display:flex;gap:1.35rem;border:1px solid var(--line);border-radius:1.5rem;padding:2rem;background:#fff;box-shadow:0 10px 35px rgba(6,58,80,.07)}.subject-icon{flex:0 0 72px;width:72px;height:72px;border-radius:1rem;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:2.2rem;font-weight:900}.language .subject-icon{background:var(--orange);color:#2c2b20}.tag{font-size:.76rem;font-weight:900;letter-spacing:.1em;color:var(--teal);margin:0}.program-card h3{font-size:1.35rem;color:var(--navy);margin:.45rem 0}.program-card p:last-child{margin:0;color:var(--muted)}.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.25rem}.levels article{background:var(--cream);padding:1.35rem;border-radius:1rem}.levels b,.levels span{display:block}.levels b{font-size:1.1rem;color:var(--navy)}.levels span{color:var(--muted);font-size:.92rem}.process-bg{background:var(--navy);color:#fff}.section-heading.light h2,.section-heading.light .eyebrow{color:#fff}.process{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.process li{border-top:1px solid rgba(255,255,255,.25);padding-top:1.25rem}.process li>span{display:inline-block;background:var(--orange);color:#2b261c;font-weight:900;border-radius:999px;padding:.2rem .6rem;margin-bottom:1rem}.process b{font-size:1.08rem}.process p{font-size:.92rem;color:#cfe3e8;margin:.45rem 0}.tax-note{display:inline-block;background:#e9f9f2;color:#08734b!important;padding:.55rem .9rem;border-radius:.7rem;font-weight:800}.fee-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:var(--sky);padding:1.25rem;border-radius:1rem}.fee-controls label,.contact-form label{display:grid;gap:.4rem;font-weight:750;color:var(--navy)}select,input,textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #b9cbcf;border-radius:.65rem;padding:.78rem .85rem}textarea{resize:vertical}.fee-result{display:flex;align-items:baseline;justify-content:center;gap:.85rem;padding:2rem;margin-top:1rem;border:2px solid var(--navy);border-radius:1rem}.fee-result strong{font-size:2.5rem;color:var(--orange)}.fee-result small{color:var(--muted)}.fine-print{font-size:.88rem;color:var(--muted);text-align:center}.recruitment{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.recruit-card{border-radius:1.5rem;padding:2.4rem;background:var(--cream);min-height:370px;display:flex;flex-direction:column;align-items:flex-start}.recruit-card.teacher-card{background:var(--sky)}.recruit-card h2{font-size:2rem}.recruit-card .button{margin-top:auto}.sub-hero{padding:6.5rem 0 5.5rem;background:linear-gradient(120deg,var(--cream),#fff)}.sub-hero.teachers{background:linear-gradient(120deg,var(--sky),#fff)}.sub-hero .wrap{max-width:1000px}.sub-hero h1{max-width:900px;font-size:clamp(2.7rem,6vw,5.3rem)}.sub-hero p:last-child{font-size:1.15rem;font-weight:700;color:var(--teal)}.info-chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:2rem}.info-chips span{border:1px solid var(--line);border-radius:999px;padding:.45rem .85rem;color:var(--navy);font-weight:750}.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:start}.content-grid h2{font-size:1.85rem;margin-top:0}.simple-steps{list-style:none;padding:0;counter-reset:steps}.simple-steps li{counter-increment:steps;display:grid;grid-template-columns:48px 1fr;gap:.15rem 1rem;border-bottom:1px solid var(--line);padding:1.1rem 0}.simple-steps li:before{content:counter(steps,decimal-leading-zero);grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}.simple-steps span{color:var(--muted)}.callout{background:var(--cream);padding:1.2rem;border-left:4px solid var(--orange);margin-top:1.5rem}.callout p{margin:.25rem 0}.contact-form{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1.3rem;padding:1.7rem;display:grid;gap:1rem;position:sticky;top:116px}.contact-form h2{margin:0}.form-kicker{color:var(--teal);font-size:.75rem;letter-spacing:.1em;font-weight:900;margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.check{grid-template-columns:20px 1fr!important;align-items:start;font-size:.82rem;font-weight:500!important;color:var(--muted)!important}.check input{width:18px;height:18px;margin-top:.2rem}.form-note{font-size:.8rem;color:var(--muted);text-align:center;margin:0}.role-banner{background:var(--navy);color:#fff;border-radius:1.3rem;padding:1.6rem 1.8rem;margin-bottom:2rem;display:grid;grid-template-columns:.75fr 1.25fr;gap:2rem;align-items:center}.role-banner small,.role-banner strong{display:block}.role-banner small{color:#b9dce5;font-weight:800;letter-spacing:.08em}.role-banner strong{font-size:1.25rem}.role-banner p{margin:0;color:#d8e9ed;font-size:.92rem}.tick-list{list-style:none;padding:0;margin:0 0 2.2rem}.tick-list li{padding:.65rem 0 .65rem 1.7rem;border-bottom:1px solid var(--line);position:relative}.tick-list li:before{content:"✓";position:absolute;left:0;color:var(--orange);font-weight:900}.conditions{margin:0 0 2.2rem}.conditions>div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:.85rem 0}.conditions dt{font-weight:900;color:var(--navy)}.conditions dd{margin:0;color:var(--muted)}.timeline{list-style:none;padding:0;margin:0}.timeline li{display:grid;grid-template-columns:100px 1fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.timeline span{color:var(--teal);font-weight:900}footer{background:#f2f7f8;padding:3.5rem 0 1rem}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}.footer-grid img{width:180px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.footer-grid p{color:var(--muted);max-width:330px}.footer-grid a{text-decoration:none;color:var(--teal)}.copyright{text-align:center;border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem;color:var(--muted);font-size:.8rem}
@media(max-width:900px){.site-header{height:auto;min-height:82px;flex-wrap:wrap;gap:.7rem}.brand img{width:170px}.site-header nav{order:3;width:100%;overflow:auto;padding-bottom:.45rem}.site-header nav a{white-space:nowrap;font-size:.9rem}.hero{grid-template-columns:1fr;padding-top:3rem}.hero-visual{max-width:570px;margin:auto}.card-grid.two,.recruitment,.content-grid{grid-template-columns:1fr}.process{grid-template-columns:repeat(2,1fr)}.contact-form{position:static}.role-banner{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.wrap,.narrow{width:min(100% - 28px,1180px)}.site-header{padding-inline:14px}.site-header nav{gap:1rem}.launch-strip{flex-direction:column;gap:.25rem}.hero{min-height:auto;gap:1rem;padding-block:3.5rem}.hero h1{font-size:2.65rem}.proof-list{display:grid;gap:.3rem}.circle-note{font-size:.78rem}.section{padding-block:4.2rem}.program-card{display:grid}.levels,.process,.fee-controls,.recruitment,.footer-grid{grid-template-columns:1fr}.fee-result{display:grid;text-align:center;gap:.1rem}.form-row{grid-template-columns:1fr}.conditions>div{grid-template-columns:1fr}.timeline li{grid-template-columns:90px 1fr}.footer-grid>div:first-child{grid-column:auto}.sub-hero{padding:4rem 0}.sub-hero h1{font-size:2.65rem}}

/* Keep the subject label above the mascots so no text covers their faces. */
.hero-visual{display:flex;flex-direction:column;align-items:flex-end}
.hero-visual .circle-note{position:relative;top:auto;right:auto;max-width:100%;margin:0 0 .75rem;text-align:center;transform:none}
.hero-visual img{align-self:stretch}
@media(max-width:600px){.site-header nav{flex-wrap:wrap;overflow:visible;padding-bottom:0;gap:.35rem 1rem}.hero-visual .circle-note{align-self:center}}

/* Plain-language explanation of the teacher partnership terms. */
.term-explainer{margin:0 0 3rem;padding:2rem;border:1px solid var(--line);border-radius:1.3rem;background:linear-gradient(135deg,#fff,var(--cream))}
.term-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:2rem;align-items:end;margin-bottom:1.4rem}
.term-heading .eyebrow{margin:0}
.term-heading h2{margin:0;font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.2;color:var(--navy)}
.term-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.term-grid article{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.35rem}
.term-grid h3{margin:0 0 .55rem;color:var(--navy);font-size:1.1rem;line-height:1.35}
.term-grid p{margin:0;color:var(--muted)}
.term-note{margin:1rem 0 0;padding:.85rem 1rem;border-left:4px solid var(--orange);background:#fff;font-weight:750;color:var(--navy)}
@media(max-width:900px){.term-heading{grid-template-columns:1fr;gap:.75rem}}
@media(max-width:600px){.term-grid{grid-template-columns:1fr}.term-explainer{padding:1.3rem}}
.card-grid.three{grid-template-columns:repeat(3,1fr)}
.english .subject-icon{background:#0a6073;color:#fff;font-size:1.25rem}
@media(max-width:900px){.card-grid.three{grid-template-columns:1fr}}
.site-header{height:116px}
.brand img{width:285px}
.fee-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
.fee-language-note{margin:1rem auto 0;max-width:880px;padding:.75rem 1rem;border-radius:.75rem;background:#eef7f8;color:var(--teal);font-weight:750;text-align:center}
.footer-grid img{width:225px}
/* Keep the descriptor separate from the artwork so it remains readable on small screens. */
.site-header .brand{display:flex;align-items:center;min-width:360px;text-decoration:none}
.site-header .brand img{width:360px;height:auto}
.brand-caption{display:none}
.bank-transfer{margin-top:2rem;border:1px solid var(--line);border-left:6px solid var(--orange);border-radius:1rem;background:#fff;padding:1.5rem 1.7rem}
.bank-transfer h3{margin:0 0 .8rem;color:var(--navy);font-size:1.35rem}
.bank-transfer dl{display:grid;grid-template-columns:150px 1fr;gap:.45rem 1rem;margin:.8rem 0}
.bank-transfer dt{font-weight:850;color:var(--teal)}
.bank-transfer dd{margin:0;font-weight:750}
.bank-transfer p{margin:.65rem 0 0;color:var(--muted)}
@media(max-width:1100px){.site-header .brand{min-width:320px}.site-header .brand img{width:320px}}
@media(max-width:900px){.site-header .brand{min-width:260px}.site-header .brand img{width:260px}}
@media(max-width:600px){.bank-transfer dl{grid-template-columns:1fr;gap:.1rem}.bank-transfer dd{margin-bottom:.55rem}}
.recruitment{grid-template-columns:1.35fr .65fr}.recruit-card.teacher-card{min-height:330px}.recruit-card .button.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
@media(max-width:900px){.recruitment{grid-template-columns:1fr}}
@media(max-width:1100px){.site-header{gap:1rem}.brand img{width:235px}.site-header nav{gap:.9rem}.site-header nav a{font-size:.92rem}}
@media(max-width:900px){.site-header{height:auto}.brand img{width:180px}.fee-controls{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.fee-controls{grid-template-columns:1fr}}
.form-purpose{margin:0;padding:.85rem 1rem;border-radius:.75rem;background:var(--sky);color:var(--teal);font-size:.85rem}.check{display:flex!important;gap:.75rem;align-items:flex-start}.check input{flex:0 0 22px;width:22px;height:22px;margin:.08rem 0 0;padding:0}.check>span{min-width:0;line-height:1.65}.check a{color:var(--teal);font-weight:800}.form-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-note.success{padding:.75rem;border-radius:.65rem;background:#e9f9f2;color:#08734b;font-weight:750}.form-note.error{padding:.75rem;border-radius:.65rem;background:#fff0ed;color:#9b2c1f;font-weight:750}.button:disabled{opacity:.65;cursor:wait}.policy-page{padding-block:4.5rem 6rem}.policy-page>header{max-width:820px;margin-bottom:2.5rem}.policy-page h1{font-size:clamp(2.25rem,5vw,4.3rem);line-height:1.05;color:var(--navy);margin:.4rem 0 1rem}.policy-page .updated{color:var(--muted)}.policy-section{max-width:900px;padding:1.5rem 0;border-top:1px solid var(--line)}.policy-section h2{margin:0 0 .65rem;color:var(--navy);font-size:1.35rem}.policy-section p,.policy-section ul{margin:.5rem 0;color:#405963}.policy-section li+li{margin-top:.35rem}.policy-callout{max-width:900px;padding:1.2rem 1.35rem;border-radius:1rem;background:var(--cream);border-left:4px solid var(--orange);margin:1.5rem 0}.policy-page .button{margin-top:1.5rem}
.faq-hero{padding:5rem 0 4rem;background:linear-gradient(125deg,var(--sky),#fff 55%,var(--cream))}.faq-hero h1{font-size:clamp(2.7rem,6vw,5rem);line-height:1.02;letter-spacing:-.05em;color:var(--navy);margin:.25rem 0 1rem}.faq-hero p:last-child{max-width:730px;color:var(--teal);font-size:1.15rem;font-weight:700}.faq-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:3.5rem;padding-block:4.5rem 6.5rem;align-items:start}.faq-index{position:sticky;top:136px;display:grid;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:#fff}.faq-index a{padding:.8rem 1rem;text-decoration:none;color:var(--navy);font-weight:750;border-bottom:1px solid var(--line)}.faq-index a:last-child{border-bottom:0}.faq-index a:hover{background:var(--sky)}.faq-group{scroll-margin-top:145px;margin-bottom:3.7rem}.faq-group-heading{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.1rem}.faq-group-heading>span{display:grid;place-items:center;width:45px;height:45px;flex:0 0 45px;border-radius:50%;background:var(--orange);color:#2b261c;font-weight:900}.faq-group-heading .eyebrow{margin:0}.faq-group h2{margin:.1rem 0 0;color:var(--navy);font-size:clamp(1.7rem,3vw,2.35rem)}.faq-group details{border-top:1px solid var(--line);padding:1.05rem 0}.faq-group details:last-child{border-bottom:1px solid var(--line)}.faq-group summary{cursor:pointer;list-style:none;color:var(--navy);font-size:1.05rem;font-weight:850;padding-right:2.4rem;position:relative}.faq-group summary::-webkit-details-marker{display:none}.faq-group summary:after{content:"+";position:absolute;right:.35rem;top:-.15rem;font-size:1.45rem;color:var(--orange)}.faq-group details[open] summary:after{content:"−"}.faq-group details p{color:#405963;margin:.85rem 2rem .15rem 0}.faq-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--navy);color:#fff;border-radius:1.4rem;padding:2rem}.faq-cta .eyebrow,.faq-cta h2{color:#fff}.faq-cta h2{margin:.2rem 0;font-size:1.65rem}.faq-cta .button{flex:0 0 auto}@media(max-width:900px){.faq-layout{grid-template-columns:1fr}.faq-index{position:static;grid-template-columns:repeat(2,1fr)}.faq-index a:nth-last-child(2){border-bottom:0}}@media(max-width:600px){.faq-hero{padding:3.5rem 0}.faq-layout{padding-block:3rem 4.5rem;gap:2.5rem}.faq-index{grid-template-columns:1fr}.faq-index a:nth-last-child(2){border-bottom:1px solid var(--line)}.faq-cta{align-items:flex-start;flex-direction:column}.faq-cta .button{width:100%}}

/* Keep the full desktop layout inside laptop-width browser windows. */
html,body{max-width:100%;overflow-x:hidden}
.site-header>*,.hero>*,.hero-copy,.section-heading,.program-card>*,.footer-grid>*{min-width:0}
.launch-strip{flex-wrap:wrap}
.hero{grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)}
.hero h1,.sub-hero h1,.faq-hero h1{overflow-wrap:break-word}

@media(min-width:901px){
  .site-header{height:108px;gap:1.1rem}
  .site-header .brand{min-width:360px}
  .site-header .brand img{width:360px}
  .site-header nav{gap:.85rem;min-width:0}
  .site-header nav a{font-size:.9rem}
  .hero{min-height:590px;gap:2.4rem;padding-block:4rem 3.5rem}
  .hero h1,.sub-hero h1{font-size:clamp(2.7rem,4.5vw,4.4rem);line-height:1.06}
  .section{padding-block:5.4rem}
}

@media(min-width:901px) and (max-width:1180px){
  .site-header{height:auto;min-height:94px;flex-wrap:wrap;gap:.65rem}
  .site-header nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:.4rem 1rem;padding-bottom:.45rem}
  .hero{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:1.8rem}
  .hero h1{font-size:clamp(2.6rem,5vw,3.8rem)}
}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:1.5rem}
  .hero-copy,.hero-visual{width:100%;min-width:0}
}

@media(max-width:600px){
  .site-header .brand{min-width:0}
  .site-header .brand img{width:min(290px,78vw)}
  .hero h1{font-size:clamp(2.35rem,11.5vw,2.8rem);line-height:1.06}
  .hero .eyebrow{max-width:none;overflow-wrap:normal}
}

/* Final responsive guard: the header and hero stay inside the viewport on
   phones, laptops and browser zoom. Two columns are reserved for wide screens. */
.site-header{
  height:auto;
  min-height:96px;
  flex-wrap:wrap;
  gap:.7rem 1rem;
}
.site-header .brand{min-width:0}
.site-header nav{
  order:3;
  width:100%;
  justify-content:center;
  flex-wrap:wrap;
  gap:.4rem 1rem;
  overflow:visible;
  padding-bottom:.5rem;
}
.launch-strip{width:100%;flex-wrap:wrap}
.hero{
  grid-template-columns:minmax(0,1fr);
  min-height:auto;
  gap:2rem;
  padding-block:4rem;
}
.hero-copy{width:100%;max-width:850px}
.hero h1{
  max-width:850px;
  font-size:clamp(2.7rem,5.2vw,4.1rem);
  line-height:1.06;
  letter-spacing:-.04em;
  white-space:normal;
}
.hero-visual{width:min(620px,100%);margin-inline:auto}

@media(min-width:1400px){
  .site-header{height:98px;min-height:98px;flex-wrap:nowrap}
  .site-header nav{
    order:initial;
    width:auto;
    flex-wrap:nowrap;
    padding-bottom:0;
  }
  .hero{
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
    min-height:590px;
  }
}

@media(max-width:600px){
  .site-header{padding-inline:14px}
  .site-header nav{justify-content:flex-start;gap:.35rem .85rem}
  .site-header nav a{font-size:.88rem}
  .launch-strip strong{max-width:100%;font-size:.76rem}
  .hero{grid-template-columns:minmax(0,1fr);padding-block:3rem}
  .hero h1{
    font-size:clamp(2.25rem,10.2vw,2.7rem);
    line-height:1.08;
    letter-spacing:-.03em;
  }
  .hero .eyebrow{font-size:.75rem;letter-spacing:.09em}
}

/* Keep the complete VietJuku lockup large enough for the company name to
   remain legible while preserving the single-line logo on every screen. */
.site-header .brand img{width:min(420px,44vw)}
@media(max-width:900px){
  .site-header .brand img{width:min(360px,82vw)}
}
@media(max-width:600px){
  .site-header .brand img{width:min(320px,82vw)}
}

/* VietJuku brand colour system: navy for headings and ownership text,
   teal for links/information, orange only for emphasis. */
:root{--muted:#506872}
.lead,.faq-group details p,.policy-section p,.policy-section ul{color:var(--ink)}
.tax-note{
  background:var(--sky);
  color:var(--teal)!important;
  border-left:4px solid var(--orange);
}
.fee-language-note{background:var(--sky);color:var(--teal)}
.footer-grid b{color:var(--navy)}
.footer-grid>div:first-child p{color:var(--navy);font-weight:700}
.footer-grid a{color:var(--teal);font-weight:650}
.footer-grid a:hover{color:var(--navy);text-decoration:underline;text-underline-offset:.25rem}
.footer-location,.footer-location *{color:var(--teal)!important;-webkit-text-fill-color:var(--teal);font-weight:650;text-decoration:none}
