:root{--ink:#142027;--muted:#68757b;--paper:#f6f7f4;--line:#d9dfdc;--accent:#e55435;--accent-dark:#b83b24;--pale:#e5efea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans JP',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{position:absolute;z-index:5;top:0;left:0;width:100%;color:#fff}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;align-items:center;gap:11px;letter-spacing:.03em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;color:var(--ink);background:#fff;border-radius:50%;font-family:Georgia,serif;font-size:21px;font-weight:bold}.brand strong,.brand small{display:block;line-height:1.25}.brand strong{font-size:15px}.brand small{font-size:9px;letter-spacing:.13em;opacity:.75;margin-top:3px}.desktop-nav{display:flex;gap:34px;font-size:13px}.desktop-nav a{opacity:.86}.header-actions{display:flex;align-items:center;gap:18px}.lang-toggle{border:0;background:none;color:#fff;font:inherit;font-size:12px;cursor:pointer}.header-contact{padding:11px 17px;border:1px solid rgba(255,255,255,.6);font-size:12px}.header-contact span,.text-link span,.btn span{margin-left:16px}.menu-btn{display:none;background:none;border:0}.hero{position:relative;min-height:720px;overflow:hidden;background:var(--ink);color:#fff}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(20,32,39,.98) 0%,rgba(20,32,39,.88) 55%,rgba(229,85,53,.78) 100%)}.hero-shape{position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%}.hero-shape-one{width:800px;height:800px;right:-220px;top:-260px}.hero-shape-two{width:530px;height:530px;right:40px;bottom:-350px;border-color:rgba(255,255,255,.1)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:40px;min-height:640px;padding-top:70px}.eyebrow{margin:0 0 17px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.19em}.hero .eyebrow{color:#f7aa92}.hero h1,h2{font-family:'Shippori Mincho',serif;font-weight:600;line-height:1.25;letter-spacing:.02em}.hero h1{font-size:clamp(44px,6vw,75px);margin:0 0 26px}.hero h1 em,h2 em{font-style:normal;color:var(--accent)}.hero-lead{font-size:17px;color:rgba(255,255,255,.8);margin:0 0 35px}.hero-cta{display:flex;align-items:center;gap:28px}.btn{display:inline-flex;align-items:center;padding:16px 22px;font-size:13px;font-weight:600}.btn-primary{background:var(--accent);color:#fff}.btn-outline{border:1px solid var(--ink);margin-top:26px}.text-link{font-size:12px;font-weight:600}.hero .text-link{color:#fff}.hero-note{display:flex;align-items:center;gap:9px;font-size:11px;color:rgba(255,255,255,.65);margin-top:64px}.note-dot{width:7px;height:7px;background:var(--accent);border-radius:50%}.hero-visual{position:relative;height:430px}.visual-card{position:absolute;background:#f1f3ed;color:var(--ink);box-shadow:0 16px 40px rgba(0,0,0,.2)}.visual-card-main{width:300px;height:360px;right:80px;top:28px;padding:34px;transform:rotate(5deg);background:linear-gradient(145deg,#f4f5ed,#ccdcd3)}.signal-lines{position:absolute;right:22px;top:22px;display:flex;gap:4px;align-items:flex-end}.signal-lines span{display:block;width:4px;background:var(--accent)}.signal-lines span:nth-child(1){height:9px}.signal-lines span:nth-child(2){height:16px}.signal-lines span:nth-child(3){height:24px}.phone-icon{font-size:85px;color:var(--accent);font-family:Georgia,serif;transform:rotate(-15deg);margin-top:34px}.visual-card-main p{font-family:'Shippori Mincho',serif;font-size:25px;line-height:1.45;margin-top:48px}.visual-card-main strong{color:var(--accent)}.visual-card-small{right:0;bottom:22px;width:145px;padding:20px;display:grid;gap:2px;transform:rotate(-6deg);background:var(--accent);color:#fff}.small-label{font-size:9px;letter-spacing:.18em;opacity:.75}.visual-card-small strong{font-family:'Shippori Mincho',serif;font-size:27px}.visual-card-small span:last-child{font-size:11px}.visual-stamp{position:absolute;left:30px;bottom:35px;width:92px;height:92px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-content:center;text-align:center;font:10px/1.2 Georgia,serif;letter-spacing:.15em;transform:rotate(-12deg);opacity:.8}.visual-stamp b{font-size:13px;margin-top:5px}.hero-bottom{position:absolute;bottom:0;width:100%;border-top:1px solid rgba(255,255,255,.23)}.hero-bottom-inner{display:flex;gap:55px;align-items:center;height:80px;font-size:11px;color:rgba(255,255,255,.72);letter-spacing:.1em}.bottom-arrow{margin-left:auto;font-size:22px;color:var(--accent)}.section-pad{padding:125px 0}.intro{background:#fff}.intro-grid,.section-heading,.flow-grid,.about-grid,.faq-grid,.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px}.intro h2,.section-heading h2,.flow h2,.about h2,.faq h2,.contact h2{font-size:clamp(34px,4vw,52px);margin:0}.intro-body{padding-top:45px;max-width:430px}.intro-body p{font-size:15px;color:var(--muted);margin:0 0 28px}.text-link.dark{border-bottom:1px solid var(--ink);padding-bottom:8px}.services{background:#edf1ee}.section-heading{align-items:end;margin-bottom:53px}.section-caption{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{min-height:315px;padding:29px 28px;background:#fff;border-top:3px solid var(--ink);display:flex;flex-direction:column}.service-card-accent{background:#fff;color:var(--ink);border-top-color:var(--ink)}.card-top{display:flex;justify-content:space-between;align-items:center}.card-number{font:600 12px Georgia,serif;letter-spacing:.1em;opacity:.75}.card-icon{font-size:31px;line-height:1}.service-card h3{font-family:'Shippori Mincho',serif;font-size:27px;margin:44px 0 9px}.service-card p{font-size:13px;line-height:1.8;opacity:.8;margin:0}.service-card a{font-size:12px;font-weight:600;margin-top:auto}.service-card a span{float:right;font-size:18px}.flow{background:var(--pale)}.flow-lead{color:var(--muted);font-size:14px;margin-top:28px}.flow-list{list-style:none;padding:0;margin:0}.flow-list li{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid rgba(20,32,39,.2)}.flow-list li:last-child{margin-bottom:0}.flow-list li>span{font:600 13px Georgia,serif;color:var(--accent)}.flow-list h3{font-size:16px;margin:0 0 3px}.flow-list p{font-size:12px;color:var(--muted);margin:0}.about{background:#fff}.about-photo{min-height:525px;background:linear-gradient(150deg,rgba(20,32,39,.15),rgba(20,32,39,.84)),url('https://images.unsplash.com/photo-1516321318423-f06f85e504b3?auto=format&fit=crop&w=1000&q=80') center/cover;position:relative}.photo-overlay{position:absolute;bottom:38px;left:38px;color:#fff}.photo-overlay span{font:11px Georgia,serif;letter-spacing:.22em;opacity:.8}.photo-overlay strong{display:block;font-family:'Shippori Mincho',serif;font-size:30px;line-height:1.5;margin-top:12px}.about-content{padding-top:26px}.about-content dl{margin:43px 0 30px}.about-content dl div{display:grid;grid-template-columns:105px 1fr;gap:20px;border-top:1px solid var(--line);padding:15px 0}.about-content dt{font-size:12px;color:var(--muted)}.about-content dd{font-size:13px;margin:0}.about-content a{text-decoration:underline;text-underline-offset:3px}.faq{background:#f4f5f2}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:14px;font-weight:600;display:flex;justify-content:space-between}summary::-webkit-details-marker{display:none}summary span{font-size:21px;font-weight:400;color:var(--accent);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:13px;max-width:560px;margin:12px 0 0}.contact{background:var(--ink);color:#fff}.contact h2{color:#fff}.contact-inner{align-items:center}.contact-inner>div:first-child>p:last-child{font-size:14px;color:rgba(255,255,255,.68);margin-top:25px}.contact-actions{display:grid;gap:13px}.contact-tile{position:relative;padding:22px 27px;background:#fff;color:var(--ink);display:grid;gap:2px}.contact-tile-primary{background:#fff;color:var(--ink);border-left:4px solid var(--accent)}.tile-label{font-size:11px;letter-spacing:.1em;opacity:.75}.contact-tile strong{font-size:22px;font-family:'Shippori Mincho',serif}.contact-tile small{font-size:10px;opacity:.65}.tile-arrow{position:absolute;right:25px;top:50%;font-size:21px;transform:translateY(-50%)}footer{background:#10191e;color:#fff;padding:28px 0}.footer-inner{display:flex;align-items:center;gap:30px}.footer-inner p{margin:0 auto 0 30px;color:rgba(255,255,255,.45);font-size:10px}.footer-inner>div{display:flex;gap:20px;font-size:10px;color:rgba(255,255,255,.6)}.mobile-nav{display:none}
@media(max-width:800px){.container{width:min(100% - 36px,560px)}.header-inner{height:72px}.desktop-nav,.header-contact{display:none}.menu-btn{display:grid;gap:6px;padding:8px}.menu-btn i{display:block;width:22px;height:1px;background:#fff}.mobile-nav{display:none;padding:18px;background:var(--ink);border-bottom:1px solid rgba(255,255,255,.2)}.mobile-nav.open{display:grid;gap:14px}.mobile-nav a{font-size:13px}.hero{min-height:800px}.hero-grid{display:block;padding-top:135px}.hero h1{font-size:52px}.hero-visual{height:300px;margin-top:25px}.visual-card-main{width:210px;height:255px;right:56px;padding:23px}.phone-icon{font-size:60px;margin-top:15px}.visual-card-main p{font-size:18px;margin-top:28px}.visual-card-small{right:0;bottom:5px;width:116px;padding:13px}.visual-card-small strong{font-size:22px}.visual-stamp{left:12px;bottom:20px;width:70px;height:70px;font-size:8px}.hero-bottom-inner{gap:20px;height:59px;justify-content:space-between}.hero-bottom-inner span{font-size:9px}.section-pad{padding:80px 0}.intro-grid,.section-heading,.flow-grid,.about-grid,.faq-grid,.contact-inner{grid-template-columns:1fr;gap:30px}.intro-body{padding-top:0}.section-heading{margin-bottom:35px}.section-caption{margin-top:-17px}.service-grid{grid-template-columns:1fr;gap:12px}.service-card{min-height:260px}.service-card h3{margin-top:35px}.flow-list{margin-top:15px}.about-photo{min-height:350px}.about-content{padding-top:0}.faq-grid{gap:40px}.contact-actions{margin-top:5px}.footer-inner{flex-wrap:wrap;gap:15px}.footer-inner p{order:3;width:100%;margin:5px 0 0}.footer-inner>div{width:100%;justify-content:space-between;gap:8px}.hero-cta{gap:18px}.btn{padding:14px 17px}}

.mission{background:#fff}.mission-inner{max-width:760px;margin-left:calc((100% - 1160px)/2)}.mission h2{margin:0 0 28px}.mission p{max-width:680px;color:var(--muted);font-size:15px}.service-grid{grid-template-columns:repeat(4,1fr)}@media(max-width:800px){.mission-inner{margin-left:auto}.service-grid{grid-template-columns:1fr}}
/* layout refinements */ .intro{padding-bottom:64px}.mission{padding-top:64px}.mission-inner{max-width:1160px;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:.72fr 1.28fr;column-gap:84px;align-items:start}.mission-inner .eyebrow,.mission-inner h2{grid-column:1}.mission-inner .eyebrow{grid-row:1}.mission-inner h2{grid-row:2;margin-bottom:0}.mission-inner>p{grid-column:2;margin-top:0}.mission-inner>p:nth-of-type(1){grid-row:1 / span 2;padding-top:28px}.mission-inner>p:nth-of-type(2){grid-row:3}.service-grid{grid-template-columns:repeat(3,1fr);max-width:1160px;margin-left:auto;margin-right:auto}.flow{padding-top:105px;padding-bottom:105px}@media(max-width:800px){.mission-inner{display:block}.mission-inner>p:nth-of-type(1){padding-top:0}.mission-inner h2{margin-bottom:28px}}
/* Refined information hierarchy for the two business lines. */
.intro{padding-top:92px;padding-bottom:92px}.intro-grid{align-items:start;gap:72px}.intro-body{padding-top:10px;max-width:590px}.intro-body p{margin:0 0 18px}.intro-opening{font-family:'Shippori Mincho',serif;font-size:24px!important;color:var(--ink)!important;margin-bottom:24px!important}.section-heading{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:auto auto;align-items:end;column-gap:72px;row-gap:8px}.section-heading .eyebrow{grid-column:1;grid-row:1;margin-bottom:0}.section-heading h2{grid-column:1;grid-row:2}.section-heading .section-caption{grid-column:2;grid-row:2;padding-bottom:5px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.service-category{font-size:10px;letter-spacing:.12em;color:var(--accent);font-weight:700}.service-card h3{margin-top:36px}.service-card p{max-width:30em}.flow-student-link{margin-top:20px;font-size:12px;color:var(--muted)}.flow-student-link a{text-decoration:underline;text-underline-offset:5px}@media(max-width:800px){.intro{padding-top:70px;padding-bottom:70px}.section-heading{display:block}.section-heading h2{margin-top:8px}.section-heading .section-caption{margin-top:18px}.service-grid{grid-template-columns:1fr}}
/* Keep the service statement together on wide screens; mobile may wrap naturally. */
.section-heading{display:block}
.section-heading h2{margin-top:0;max-width:none}
.section-heading .section-caption{display:none}
@media(max-width:800px){.section-heading h2{margin-top:8px}}
.language-picker{display:inline-flex;align-items:center}.lang-toggle{appearance:none;border:1px solid rgba(255,255,255,.45);border-radius:0;background:transparent;color:#fff;padding:8px 28px 8px 10px;font-size:12px;cursor:pointer}.lang-toggle option{color:var(--ink);background:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Shared layout for complete translations, including long and complex scripts. */
body{--reading-font:'Noto Sans JP',sans-serif;--heading-font:'Shippori Mincho',serif;font-family:var(--reading-font)}
html:lang(en) body,html:lang(vi) body{--heading-font:Georgia,serif}
html:lang(hi) body,html:lang(ne) body{--reading-font:'Noto Sans Devanagari','Noto Sans JP',sans-serif;--heading-font:var(--reading-font)}
html:lang(my) body{--reading-font:'Noto Sans Myanmar','Noto Sans JP',sans-serif;--heading-font:var(--reading-font);line-height:1.9}
.hero h1,h2,.service-card h3,.intro-opening,.photo-overlay strong,.visual-card-main p,.visual-card-small strong,.contact-tile strong{font-family:var(--heading-font)}
[translate="no"][lang="ja"]{font-family:'Noto Sans JP',sans-serif}
.about-content h2[translate="no"]{font-family:'Shippori Mincho',serif}
.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);padding-top:148px;padding-bottom:65px;min-height:660px}
.hero-bottom{position:relative}
.hero-languages{font-size:12px;letter-spacing:.07em;line-height:1.9;max-width:610px;margin-bottom:28px}
.hero h1{font-size:clamp(38px,5.3vw,66px)}
.hero h1 em,.intro h2 em,.flow h2 em,.faq h2 em,.contact h2 em{display:block}
.hero-lead{max-width:580px}
.hero-cta{flex-wrap:wrap;gap:18px 24px}
.hero-note{margin-top:42px}
.visual-card-main{right:55px;display:flex;flex-direction:column;height:360px;min-height:360px;max-height:360px;overflow:hidden}
.visual-card-main p{margin:auto 0 0;padding-top:20px;font-size:23px;line-height:1.5}
.visual-card-photo{display:block;width:100%;height:170px;max-height:170px;flex:0 0 170px;object-fit:contain;mix-blend-mode:multiply;margin-top:8px;transform:scale(1.15)}
.visual-card-main strong{display:block}
.visual-card-small{width:185px;padding:20px;background:#e5efea;color:var(--ink);border:1px solid rgba(20,32,39,.12)}
.visual-card-small strong{font-size:24px;line-height:1.4;margin:8px 0;overflow-wrap:anywhere}
.visual-card-small .small-label{font-size:10px;letter-spacing:.06em}
.visual-card-small span:last-child{line-height:1.65}
.visual-stamp{left:0}
.intro-grid,.flow-grid,.about-grid,.faq-grid,.contact-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.section-heading h2{font-size:clamp(30px,3.4vw,44px);line-height:1.4}
.section-heading .eyebrow{margin-bottom:16px}
.service-card{gap:0;min-width:0}
.service-card h3{font-size:25px;line-height:1.5}
.service-card p{margin-bottom:26px}
.service-card a{display:flex;align-items:center;justify-content:space-between;gap:14px}
.service-card a span[data-i18n]{float:none;font-size:inherit}
.card-top{align-items:flex-start;gap:16px}
.service-category{line-height:1.8;letter-spacing:.04em;text-align:right}
.header-contact>span[data-i18n],.text-link>span[data-i18n],.btn>span[data-i18n]{margin-left:0}
.btn>span[aria-hidden],.text-link>span[aria-hidden],.header-contact>span[aria-hidden]{flex-shrink:0}
.photo-overlay{right:28px}
.photo-overlay strong span{display:block;font:inherit;letter-spacing:normal;opacity:1}
.about-content dl div{grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);gap:20px}
.faq-list summary{gap:20px;align-items:flex-start}
.faq-list summary span[data-i18n]{color:inherit;font:inherit;transform:none}
.faq-list summary span[aria-hidden]{flex-shrink:0}
.faq-list details[open] summary span[data-i18n]{transform:none}
.faq-list summary span[aria-hidden]{width:28px;height:28px;line-height:28px;text-align:center;margin-right:7px}
.contact-tile{padding-right:55px}
.footer-inner{flex-wrap:wrap}
.footer-inner>div{flex-wrap:wrap}
.lang-toggle{font-family:'Noto Sans JP','Noto Sans Devanagari','Noto Sans Myanmar',sans-serif;appearance:auto;max-width:135px;padding:8px 10px}
:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.hero-copy,.flow-grid>div,.intro-grid>div,.contact-inner>div{min-width:0}
h1,h2,h3,p,a,dt,dd{overflow-wrap:break-word}
html:lang(my) h1,html:lang(my) h2{line-height:1.6;letter-spacing:0}
html:lang(my) .eyebrow,html:lang(hi) .eyebrow,html:lang(ne) .eyebrow{letter-spacing:0}
@media(max-width:1080px){
  .desktop-nav,.header-contact{display:none}
  .menu-btn{display:grid;gap:6px;padding:8px}
  .menu-btn i{display:block;width:22px;height:1px;background:#fff}
  .mobile-nav.open{display:grid;gap:14px;padding:24px;background:var(--ink);border-bottom:1px solid rgba(255,255,255,.2);max-height:70vh;overflow:auto}
  .hero-grid{gap:24px}
  .visual-card-main{width:255px;right:20px;padding:24px}
  .intro-grid,.flow-grid,.about-grid,.faq-grid,.contact-inner{gap:36px}
}
@media(max-width:800px){
  .header-actions{gap:12px}
  .header-inner{height:88px}
  .brand strong{font-size:13px}
  .brand small{font-size:9px;max-width:135px;line-height:1.5}
  .brand{gap:8px}
  .brand-mark{width:29px;height:29px;flex-shrink:0}
  .lang-toggle{max-width:106px;font-size:12px;padding:7px}
  .hero-grid{display:block;padding-top:136px;padding-bottom:35px}
  .hero h1{font-size:clamp(34px,8.6vw,49px)}
  .hero-languages{margin-bottom:24px;font-size:11px;line-height:1.9}
  .hero-visual{height:360px;max-width:400px;margin:38px auto 0}
  .visual-card-main{width:245px;right:40px;height:285px;min-height:285px;max-height:285px;top:18px;padding:23px}
  .visual-card-main p{font-size:19px}
  .visual-card-photo{height:128px;max-height:128px;flex-basis:128px}
  .visual-card-small{width:150px;bottom:0;padding:16px}
  .visual-card-small strong{font-size:21px}
  .visual-stamp{left:5px;bottom:25px}
  .intro-grid,.flow-grid,.about-grid,.faq-grid,.contact-inner{grid-template-columns:minmax(0,1fr)}
  .hero-bottom-inner{gap:18px}
  .hero-bottom-inner span{font-size:11px;letter-spacing:0}
  .section-heading h2{font-size:30px}
  .contact h2{font-size:34px}
}
/* Let translated cards grow without covering each other's text. */
.hero-visual{display:flex;flex-direction:column;align-items:flex-end;height:auto;padding:12px 5px 8px}
.visual-card-main{position:relative;align-self:flex-start;top:auto;right:auto;width:calc(100% - 55px);max-width:300px}
.visual-card-small{position:relative;right:auto;bottom:auto;width:210px;margin-top:-22px}
.visual-card-small strong{font-size:22px;overflow-wrap:normal}
.visual-stamp{bottom:14px}
@media(max-width:800px){
  .hero-visual{height:auto;padding:12px 10px 8px}
  .visual-card-main{width:calc(100% - 50px);max-width:270px}
  .visual-card-small{width:180px;margin-top:-20px}
  .visual-card-small strong{font-size:21px}
}
.brands{background:#fff;border-top:1px solid var(--line)}
.brands-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:center}
.brands-copy h2{font-size:clamp(30px,3.4vw,44px);line-height:1.4;margin:0}
.brands-copy h2 em{display:block}
.brands-copy>p:last-child{color:var(--muted);font-size:14px;max-width:420px;margin-top:25px}
.brands-panel{padding:20px 0;overflow:hidden}
.brands-panel img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.contact-actions{width:100%;max-width:520px;margin-left:auto}
@media(max-width:800px){.brands-inner{grid-template-columns:minmax(0,1fr);gap:28px}.brands-panel{padding:0}.brands-copy>p:last-child{font-size:13px}.contact-actions{max-width:none}}
