:root{--ink:#093740;--deep:#062b34;--teal:#00848a;--gold:#ffbf3f;--orange:#ef6335;--red:#d83f58;--pale:#f3f8f6;--muted:#587074;--line:#d6e3e1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans","Noto Sans JP",sans-serif;color:var(--ink);line-height:1.65}a{text-decoration:none;color:inherit}.site-header{height:88px;display:flex;align-items:center;padding:0 5vw;gap:28px;position:sticky;top:0;z-index:20;background:#fffc;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;white-space:nowrap;min-width:230px}.brand-mark{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-weight:800}.brand strong{display:block;font-size:15px;letter-spacing:.12em}.brand small{display:block;font-size:9px;letter-spacing:.3em;color:var(--muted)}nav{display:flex;gap:22px;align-items:center;margin-left:auto}nav a{font-size:14px;font-weight:700}.nav-cta{background:var(--gold);padding:9px 16px;border-radius:99px}.menu-button{display:none;margin-left:auto;border:0;background:none;font-size:24px}.hero{min-height:calc(100vh - 80px);position:relative;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#f5f9f7fc 0%,#f5f9f7ef 40%,#f5f9f722 72%)}.hero-copy{position:relative;z-index:2;width:min(720px,58vw);margin-left:7vw}.eyebrow,.label{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--teal)}h1,h2,h3{font-family:Georgia,"Noto Serif","Noto Serif JP","Yu Mincho",serif;font-weight:700;letter-spacing:-.018em;line-height:1.16}.hero h1,.page-hero h1{font-size:clamp(43px,5.3vw,77px);margin:14px 0}.hero h1 em{font-style:normal;color:var(--orange)}.hero-copy>p:not(.eyebrow){font-size:19px;max-width:650px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.button{display:inline-flex;padding:14px 22px;border-radius:5px;font-weight:800;justify-content:center;border:0;cursor:pointer}.button.accent{background:var(--orange);color:#fff}.button.primary{background:var(--ink);color:#fff}.button.ghost{border:1px solid #607b7f;background:#fff9}.button.white{background:#fff}.trust{display:flex;gap:18px;flex-wrap:wrap;color:var(--teal);font-size:13px;font-weight:700}.since{position:absolute;z-index:3;right:5vw;bottom:30px;background:var(--ink);color:#fff;padding:18px 22px;display:flex;gap:14px;align-items:center}.since b{font-size:27px;color:var(--gold)}.since span{font-size:12px;max-width:130px}.section{padding:95px 8vw}.label{margin-bottom:42px}.label.light{color:#c9e4e3}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.intro h2,.section-head h2,.cta h2{font-size:clamp(35px,4vw,59px);margin:0}.lead{font-size:20px;margin-top:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:23px;margin-top:35px}.stats b{display:block;color:var(--teal);font-size:28px}.stats span{font-size:13px;color:var(--muted)}.programs{background:var(--deep);color:#fff}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:42px}.section-head p{max-width:430px;color:#c8d9da}.feature-grid,.price-grid{display:grid;gap:18px}.feature-grid{grid-template-columns:repeat(3,1fr)}.price-grid{grid-template-columns:repeat(2,1fr)}.feature-card{background:#104750;border-top:6px solid #00a8aa;padding:32px;min-height:400px;display:flex;flex-direction:column;position:relative}.feature-card.featured{background:#075861}.feature-card.orange{border-color:var(--gold)}.feature-card.rose{border-color:var(--red)}.feature-card .badge{position:absolute;right:18px;top:18px;background:var(--gold);color:var(--ink);padding:5px 9px;font-size:10px;font-weight:800}.feature-card i{font-size:34px;font-style:normal;color:var(--gold)}.feature-card h3{font-size:26px;margin:30px 0 8px}.feature-card p{color:#c9dada}.feature-card strong{margin-top:auto;color:var(--gold);font-size:18px}.feature-card div{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-weight:800;font-size:14px}.feature-card div a:last-child{background:#fff;color:var(--ink);padding:8px 13px;border-radius:3px}.cta{background:linear-gradient(120deg,var(--gold),#ff8246);display:flex;justify-content:space-between;align-items:center;gap:40px}footer{background:#041f26;color:#fff;padding:28px 5vw;display:flex;align-items:center;justify-content:space-between}footer p,footer>a{font-size:12px;color:#afc3c5}.page-hero{padding:78px 8vw;background:linear-gradient(120deg,#008b90,#073e49);color:#fff;position:relative;overflow:hidden}.page-hero.warm{background:linear-gradient(120deg,#ef6938,#bc304f)}.page-hero p{font-size:19px;color:#d4e7e7;max-width:790px}.page-hero .eyebrow{color:var(--gold)}.subnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.subnav a{border:1px solid #fff8;border-radius:99px;padding:8px 13px;font-size:13px;font-weight:700}.price-card{border:1px solid var(--line);border-top:6px solid var(--teal);padding:28px;background:#fff;display:flex;flex-direction:column}.price-card.popular{border-top-color:var(--orange);box-shadow:0 18px 45px #0737401d}.price-card .level{font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--teal)}.price-card h3{font-size:24px;margin:10px 0}.price{font-size:29px;font-weight:800;color:var(--orange)}.price small{font-size:13px;color:var(--muted)}.price-card ul{padding-left:20px;color:var(--muted);flex:1}.price-card li{margin:7px 0}.note{font-size:13px;color:var(--muted);margin-top:22px}.soft{background:var(--pale)}.detail-grid,.form-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.detail-box{background:#fff;padding:28px;border-left:5px solid var(--gold)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.step{padding:23px;border:1px solid var(--line)}.step b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink);color:#fff}.contact-panel{background:var(--ink);color:#fff;padding:32px}.contact-panel a{color:var(--gold);font-weight:800}.form-layout{grid-template-columns:.7fr 1.3fr;gap:45px}.form-card{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:14px;font-weight:700}.field input,.field select,.field textarea{border:1px solid #b5c9c7;padding:12px;border-radius:4px;background:#fff;font:inherit}.field textarea{min-height:115px}.payment{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment label{border:1px solid var(--line);padding:16px}.notice{background:#fff3cf;border-left:5px solid var(--gold);padding:17px;font-size:14px}.pricing-table{width:100%;border-collapse:collapse}.pricing-table th,.pricing-table td{padding:15px;text-align:left;border-bottom:1px solid var(--line)}.pricing-table th{background:var(--ink);color:#fff}.pricing-table td:nth-child(2){font-weight:800;color:var(--orange)}
@media(max-width:980px){nav{position:absolute;top:80px;left:0;right:0;background:#fff;padding:24px;display:none;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu-button{display:block}.feature-grid,.price-grid{grid-template-columns:1fr}.hero-copy{width:65vw}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.site-header{height:74px;padding:0 20px}.hero{min-height:800px;align-items:flex-start}.hero>img{object-position:65% center}.hero-overlay{background:linear-gradient(180deg,#f5f9f7fd 0%,#f5f9f7ee 58%,#f5f9f733 83%)}.hero-copy{width:auto;margin:0;padding:55px 22px}.hero-copy>p:not(.eyebrow){font-size:16px}.since{left:20px;right:20px;bottom:20px}.section,.page-hero{padding:65px 22px}.intro,.detail-grid,.form-layout{grid-template-columns:1fr}.section-head,.cta{display:block}.cta .button{margin-top:18px}.steps{grid-template-columns:1fr}.form-card{grid-template-columns:1fr}.field.full{grid-column:auto}.payment{grid-template-columns:1fr}.pricing-table{font-size:13px}.pricing-table th,.pricing-table td{padding:10px 7px}footer{flex-direction:column;gap:18px;text-align:center}}
.button.white{color:var(--ink)}
.study-teaser{margin-top:18px;background:#14535c;border-left:6px solid var(--gold);padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.study-teaser h3{font-size:26px;margin:6px 0}.study-teaser p{margin:0;color:#d8e7e6}.study-teaser .label{display:block;margin:0}.study-teaser .button{white-space:nowrap}@media(max-width:700px){.study-teaser{display:block;padding:25px}.study-teaser .button{margin-top:20px}}
@media(max-width:1250px){.site-header nav{position:absolute;top:100%;left:0;right:0;background:#fff;padding:24px;display:none;flex-direction:column;align-items:flex-start;max-height:calc(100vh - 90px);overflow:auto}.site-header nav.open{display:flex}.menu-button{display:block;margin-left:auto}.language-switch{order:2;margin-left:auto}.menu-button{order:3;margin-left:0}}
@media(min-width:1251px) and (max-width:1599px){.site-header nav{position:absolute;top:100%;left:0;right:0;background:#fff;padding:24px;display:none;flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.menu-button{display:block;margin-left:auto}}
.brand-lines{display:block;width:100%;padding-left:5px;color:#093740;font:800 clamp(9px,.85vw,12px)/1.2 "DM Sans","Noto Sans JP",sans-serif;letter-spacing:.02em;white-space:normal}.brand-lines span{display:block}.brand-lines span:first-child{font-size:1.05em;letter-spacing:.11em}.site-header{height:114px}.site-header .brand{width:285px;min-width:285px}.site-header .brand-logo{width:230px;height:auto}.site-header .brand-lines{margin-top:-6px}.footer-logo{display:flex!important;flex-direction:column;align-items:flex-start!important;justify-content:center!important;background:#fff!important;border-radius:10px!important;padding:10px 16px!important;width:250px}.footer-logo img{width:215px!important;height:auto!important}.footer-logo .brand-lines{font-size:10px!important;margin-top:-4px}@media(max-width:700px){.site-header{height:96px}.site-header nav{top:100%}.site-header .brand{width:190px;min-width:190px}.site-header .brand-logo{width:175px}.site-header .brand-lines{font-size:7.5px;line-height:1.2;margin-top:-4px;padding-left:3px}.footer-logo{width:230px}}
.vietjuku-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;background:#f3f8f6;overflow:hidden}.vietjuku-intro .label{margin-bottom:18px}.vietjuku-copy h2{font-size:clamp(34px,4vw,57px);margin:18px 0}.vietjuku-copy p{font-size:18px;max-width:600px}.vietjuku-wordmark{display:block;width:min(310px,100%);height:auto}.vietjuku-mascots{display:block;width:100%;max-width:580px;height:auto;justify-self:center;align-self:end}.vietjuku-intro .button{margin-top:14px}@media(max-width:800px){.vietjuku-intro{grid-template-columns:1fr}.vietjuku-mascots{max-width:420px}}
@media(max-width:700px){.site-header .brand{width:168px;min-width:168px}.site-header .brand-logo{width:160px}.site-header .brand-lines{font-size:7px}}
.site-header .brand-lines span:first-child{font-size:11px;font-weight:800;letter-spacing:.14em}.site-header .brand-lines span:last-child{font-size:8px;font-weight:600;letter-spacing:.025em;color:#587074;margin-top:2px}.footer-logo .brand-lines span:first-child{font-size:10px;font-weight:800}.footer-logo .brand-lines span:last-child{font-size:7.5px;font-weight:600;color:#587074;margin-top:2px}@media(max-width:700px){.site-header .brand-lines span:first-child{font-size:8.5px}.site-header .brand-lines span:last-child{font-size:6.5px;letter-spacing:0}}
.site-header{height:120px}.site-header .brand{width:360px;min-width:360px}.site-header .brand-logo{width:360px;height:auto;max-height:none}.footer-logo{width:340px}.footer-logo img{width:305px!important;height:auto!important}@media(max-width:700px){.site-header{height:124px;display:block;padding:10px 14px}.site-header .brand{width:285px;min-width:285px}.site-header .brand-logo{width:285px}.site-header .language-switch{position:absolute;right:57px;bottom:8px;margin:0}.site-header .menu-button{position:absolute;right:16px;bottom:8px;margin:0}.site-header nav{top:100%}.footer-logo{width:285px}.footer-logo img{width:260px!important}}
.language-switch{display:flex;align-items:center;margin-left:10px;border:1px solid var(--line);border-radius:99px;background:#fff;padding:3px;white-space:nowrap}.language-switch a{padding:5px 9px;border-radius:99px;font-size:12px;font-weight:800;color:var(--muted)}.language-switch a.active{background:var(--ink);color:#fff}@media(max-width:980px){.language-switch{order:2;margin-left:auto}.menu-button{order:3;margin-left:0}.site-header{gap:10px}}@media(max-width:700px){.site-header{padding-left:14px;padding-right:14px}.brand{gap:7px}.brand-mark{width:38px;height:38px}.brand strong{font-size:13px}.language-switch a{padding:4px 7px}}
.brand-logo{display:block;width:205px;height:68px;object-fit:contain;object-position:left center}@media(max-width:700px){.brand-logo{width:168px;height:56px}}
.site-header{background:#fff;height:88px}.brand{min-width:230px}.brand-logo{width:220px;height:58px}.brand-tagline{margin-top:-7px;padding-left:4px;color:#274f59;font-size:9px;font-weight:700;letter-spacing:.04em;line-height:1.2}@media(max-width:700px){.site-header{height:74px}.brand{min-width:0}.brand-logo{width:148px;height:45px}.brand-tagline{margin-top:-5px;padding-left:2px;font-size:7px;letter-spacing:0}}
.site-header{height:104px}.brand{width:240px;min-width:240px;gap:2px}.brand-logo{width:210px;height:auto}.brand-tagline{display:block;margin:0;padding:0 0 0 10px;color:#093740;font-size:12px;font-weight:800;letter-spacing:0;line-height:1.25}@media(max-width:700px){.site-header{height:84px}.site-header nav{top:84px}.brand{width:145px;min-width:145px;gap:1px}.brand-logo{width:145px;height:auto}.brand-tagline{width:145px;margin:0;padding-left:4px;white-space:normal;font-size:8.5px;font-weight:800;line-height:1.15}}
.site-header{height:110px}.brand-logo{width:210px;height:auto}@media(max-width:700px){.site-header{height:92px}.site-header nav{top:92px}.brand{width:170px;min-width:170px}.brand-logo{width:170px;height:auto}}
.site-header{height:104px}.brand{width:285px;min-width:285px}.brand-logo{display:block;width:240px;height:auto;object-fit:contain;object-position:left center}@media(max-width:700px){.site-header{height:88px}.site-header nav{top:88px}.brand{width:205px;min-width:205px}.brand-logo{width:178px;height:auto}}
@media(max-width:700px){.tutoring-page #process{padding-bottom:38px}.tutoring-page #process .actions{display:grid;grid-template-columns:1fr;gap:12px;margin:26px 0 0}.tutoring-page #process .actions .button{width:100%;padding:15px 18px}}
.footer-logo img{transform:translateX(12px)}
.brand-caption{display:block;color:#4c6971;font:700 13px/1.25 "DM Sans","Noto Sans JP",sans-serif;letter-spacing:.045em;margin-top:-8px;white-space:normal}
.site-header .brand-caption{max-width:360px;padding-left:70px}
.footer-logo .brand-caption{max-width:305px;padding-left:12px;font-size:11px}
.payment{grid-template-columns:1fr}
.bank-account{max-width:760px;background:#fff;border:1px solid var(--line);border-left:6px solid var(--orange);padding:24px 28px}
.bank-account h2{margin:0 0 14px;font-size:28px;color:var(--ink)}
.bank-account dl{display:grid;grid-template-columns:145px 1fr;gap:7px 16px;margin:0 0 16px}
.bank-account dt{font-weight:800;color:var(--teal)}
.bank-account dd{margin:0;font-weight:700}
.bank-account p{margin:8px 0 0;color:var(--muted)}
@media(max-width:700px){.site-header .brand-caption{max-width:285px;padding-left:55px;font-size:10.5px}.bank-account{padding:20px}.bank-account dl{grid-template-columns:1fr;gap:2px}.bank-account dd{margin-bottom:7px}}
.news-section{background:#fff}.news-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:34px;align-items:start}.news-head{margin-bottom:26px}.news-head h2{font-size:clamp(32px,3.4vw,50px)}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.news-card{display:flex;flex-direction:column;min-height:250px;padding:25px;border:1px solid var(--line);border-top:5px solid var(--teal);background:#fff;transition:transform .2s ease,box-shadow .2s ease}.news-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px #07374016}.news-card time{font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--muted)}.news-card h3{font-size:21px;margin:20px 0;line-height:1.35}.news-card span{margin-top:auto;color:var(--teal);font-weight:800}.useful-links{background:var(--pale);padding:27px}.useful-links h2{font-size:25px;margin:0 0 20px}.useful-links a{display:block;padding:16px 0;border-top:1px solid var(--line)}.useful-links b,.useful-links small{display:block}.useful-links small{margin-top:3px;color:var(--muted);font-size:13px}@media(max-width:980px){.news-layout{grid-template-columns:1fr}.news-grid{grid-template-columns:1fr}.news-card{min-height:0}.useful-links{margin-top:4px}}@media(max-width:700px){.news-head{display:block}.news-section{padding-top:58px;padding-bottom:58px}.news-card{padding:22px}.useful-links{padding:24px}}

/* Larger reading scale and a controlled content width on desktop displays. */
@media (min-width:1100px){
  body{font-size:18px}
  .site-header{padding-inline:max(5vw,calc((100vw - 1600px)/2))}
  .section,.page-hero{padding-inline:max(8vw,calc((100vw - 1500px)/2))}
  .hero-copy{margin-left:max(7vw,calc((100vw - 1500px)/2))}
  .hero-copy>p:not(.eyebrow),.page-hero p{font-size:21px}
  nav a,.button{font-size:16px}
  .eyebrow,.label,.price-card .level{font-size:14px}
  .trust,.stats span,.subnav a,.note,.price small,.useful-links small{font-size:15px}
  .field label,.notice,.feature-card div{font-size:16px}
  footer p,footer>a,.news-card time{font-size:14px}
  .news-card h3{font-size:23px}
}
.course-scope{margin-bottom:28px}
.course-scope .detail-box{border-left-color:var(--teal);background:var(--pale)}
.course-scope h3{margin:0 0 12px;font-size:24px}
.course-scope p{margin:0}
.course-scope p+p{margin-top:12px}

/* Desktop header: keep the full logo lockup and navigation comfortably readable. */
@media (min-width:1100px){
  .site-header{height:146px;gap:26px}
  .site-header .brand{width:420px;min-width:420px}
  .site-header .brand-logo{width:410px;height:auto;max-height:126px}
  .site-header nav{gap:22px}
  .site-header nav a{font-size:19px;font-weight:800;line-height:1.35}
  .site-header .nav-cta{padding:12px 20px}
  .site-header .language-switch{margin-left:6px;padding:4px}
  .site-header .language-switch a{padding:8px 12px;font-size:15px}
}

@media (min-width:1600px){
  .site-header{height:152px}
  .site-header .brand{width:450px;min-width:450px}
  .site-header .brand-logo{width:440px;max-height:132px}
}

/* Keep the Global EHD descriptor readable without letting it wrap. */
.brand-caption{
  width:max-content;
  max-width:none;
  white-space:nowrap;
}
.site-header .brand{
  width:360px;
  min-width:360px;
}
.site-header .brand-logo{width:300px}
.site-header .brand-caption{
  padding-left:55px;
  font-size:11.5px;
  letter-spacing:.025em;
  margin-top:-10px;
}
.footer-logo{width:370px}
.footer-logo img{width:330px!important}
.footer-logo .brand-caption{
  width:330px;
  max-width:100%;
  padding-left:76px;
  font-size:11.5px;
  letter-spacing:.02em;
  margin-top:-9px;
}
.vietjuku-wordmark{width:min(390px,100%)}

@media (min-width:1100px){
  .site-header .brand{width:420px;min-width:420px}
  .site-header .brand-logo{width:410px}
  .site-header .brand-caption{
    padding-left:70px;
    font-size:13.5px;
    margin-top:-12px;
  }
}

@media (min-width:1600px){
  .site-header .brand{width:450px;min-width:450px}
  .site-header .brand-logo{width:440px}
}

@media (max-width:700px){
  .site-header{height:94px}
  .site-header nav{top:94px}
  .site-header .brand{width:245px;min-width:245px}
  .site-header .brand-logo{width:215px}
  .site-header .brand-caption{
    padding-left:42px;
    font-size:9px;
    letter-spacing:0;
    margin-top:-7px;
  }
  .footer-logo{width:min(330px,100%)}
  .footer-logo img{width:min(300px,100%)!important}
  .footer-logo .brand-caption{
    width:300px;
    max-width:100%;
    padding-left:69px;
    font-size:9.5px;
    letter-spacing:0;
    margin-top:-7px;
  }
}

.footer-contact{margin:0;text-align:center;color:#afc3c5;font-size:12px;line-height:1.65}
.footer-contact a{color:#fff;font-weight:700}
.footer-contact address{font-style:normal}
.contact-address{font-style:normal;line-height:1.65}
@media (min-width:1100px){.footer-contact{font-size:14px}}

/* Keep the logo descriptor attached to the wordmark on every page,
   including pages that load an additional stylesheet. */
.site-header .brand,
.footer-logo{
  row-gap:0!important;
}
.site-header .brand-caption{
  margin-top:-10px!important;
}
.footer-logo .brand-caption{
  margin-top:-6px!important;
}
@media (min-width:1100px){
  .site-header .brand-caption{margin-top:-12px!important}
}
@media (max-width:700px){
  .site-header .brand-caption,
  .footer-logo .brand-caption{margin-top:-7px!important}
}

/* Keep equal white space on both sides of the footer logo. */
.footer-logo{
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden;
}
.footer-logo img{
  display:block;
  max-width:100%;
  margin-inline:auto!important;
  transform:none!important;
  object-position:center;
}

.footer-site-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 15px;
  border:1px solid #ffffff55;
  border-radius:999px;
  color:#fff;
  font-weight:800;
  position:relative;
  z-index:2;
  touch-action:manipulation;
}

/* Desktop and laptop fit: prevent oversized blocks from widening the page. */
html,body{max-width:100%;overflow-x:hidden}
.hero-copy,.section-head>*,.cta>*,.study-teaser>*,footer>*{min-width:0}
h1,h2,h3,p{overflow-wrap:break-word}
.cta,.study-teaser{flex-wrap:wrap}

@media (min-width:701px) and (max-width:1099px){
  .site-header .brand{width:270px;min-width:270px}
  .site-header .brand-logo{width:250px}
  footer{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:24px 34px;
  }
  footer .footer-logo{width:min(330px,100%)}
  footer>a:last-child{grid-column:1/-1;justify-self:center}
}

@media (min-width:1100px){
  body{font-size:16px}
  .site-header{height:116px;gap:20px}
  .site-header .brand{width:330px;min-width:330px}
  .site-header .brand-logo{width:300px;max-height:96px}
  .site-header nav a{font-size:16px}
  .hero h1,.page-hero h1{font-size:clamp(42px,4.4vw,68px)}
  .intro h2,.section-head h2,.cta h2{font-size:clamp(34px,3.5vw,52px)}
  .hero-copy>p:not(.eyebrow),.page-hero p{font-size:19px}
  .footer-logo{width:340px}
  .footer-logo img{width:300px!important}
}

/* Final responsive guard: keep the main message fully visible at every zoom
   level and on both phone and laptop-sized viewports. */
.hero-copy{
  width:min(780px,calc(100vw - 44px));
  max-width:calc(100vw - 44px);
  margin-left:clamp(22px,7vw,100px);
}
.hero h1,.page-hero h1{
  max-width:100%;
  font-size:clamp(40px,4.1vw,58px);
  line-height:1.08;
  letter-spacing:-.035em;
  white-space:normal;
}

@media (min-width:701px) and (max-width:1099px){
  .hero-copy{
    width:min(760px,calc(100vw - 44px));
    max-width:calc(100vw - 44px);
  }
  .hero h1,.page-hero h1{font-size:clamp(40px,5.2vw,54px)}
}

@media (max-width:700px){
  .hero-copy{
    width:auto;
    max-width:none;
    margin:0;
    padding:48px 22px;
  }
  .hero h1,.page-hero h1{
    font-size:clamp(36px,10.4vw,46px);
    line-height:1.08;
    letter-spacing:-.025em;
  }
}

/* Final lockup alignment: use the logo artwork's text start (19.1% of the
   image width) for the separate descriptor on every screen size. */
.site-header .brand-caption{
  width:300px;
  padding-left:57px;
}
.footer-logo .brand-caption{
  width:300px;
  max-width:100%;
  padding-left:57px;
}
a[data-site="vietjuku"]{
  position:relative;
  z-index:10;
  pointer-events:auto;
  cursor:pointer;
  touch-action:manipulation;
}
@media (min-width:701px) and (max-width:1099px){
  .site-header .brand-caption{width:250px;padding-left:48px}
}
@media (max-width:700px){
  .site-header .brand-caption{width:215px;padding-left:41px}
  .footer-logo .brand-caption{width:300px;padding-left:57px}
}

/* The complete three-line lockup is now one SVG, so every line stays aligned. */
.site-header .brand,
.footer-logo{row-gap:0!important}
.site-header .brand-logo,
.footer-logo img{object-position:center!important}
.footer-logo img{transform:none!important;margin-inline:auto!important}

/* Definitive logo scale: keep the complete vector lockup crisp and readable. */
@media (min-width:1100px){
  .site-header{height:134px}
  .site-header .brand{width:450px;min-width:450px}
  .site-header .brand-logo{width:440px;max-height:118px}
  .footer-logo{width:455px}
  .footer-logo img{width:420px!important}
}
@media (min-width:1600px){
  .site-header{height:142px}
  .site-header .brand{width:485px;min-width:485px}
  .site-header .brand-logo{width:475px;max-height:126px}
}
@media (min-width:701px) and (max-width:1099px){
  .site-header .brand{width:320px;min-width:320px}
  .site-header .brand-logo{width:310px}
}
@media (max-width:700px){
  .site-header .brand{width:285px;min-width:285px}
  .site-header .brand-logo{width:285px}
}
