/* Native language control, intrinsically sized to the selected language. */
.language-switch{display:inline-flex;align-items:center;gap:9px;flex:none;position:relative;padding:0 15px;min-height:44px;border-radius:28px;background:linear-gradient(135deg,#f1ffff20,#d1efef0a);border:1px solid #eaffff66;box-shadow:inset 0 1px #ffffff80,0 8px 24px #001b242e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);color:#f4fff8}
.language-switch>svg{width:17px;height:17px;flex:none;opacity:.85}
.language-field{display:grid;align-items:center;min-width:0;position:relative}
.language-field>span,.language-field>select{grid-area:1/1;font:500 13px/1.5 var(--sans);letter-spacing:0;padding:11px 17px 11px 0}
.language-field>span{visibility:hidden;white-space:pre;pointer-events:none}
.language-field>select{position:absolute;inset:0;width:100%;min-width:0;appearance:none;-webkit-appearance:none;background:none;border:0;color:inherit;cursor:pointer;outline-offset:4px}
.language-field option{color:#173c32;background:#e6f1ed}
.language-chevron{position:absolute;right:14px;pointer-events:none;font-size:13px}
.language-switch:focus-within{outline:2px solid #e0ffeb;outline-offset:4px}
.global-nav{gap:24px}.global-nav nav{gap:clamp(16px,2.4vw,36px);align-items:center}.global-nav nav a{text-align:center;line-height:1.5}
.global-nav .brand{flex:none}
/* Natural flow instead of fixed text boxes: longer translations grow vertically. */
.hero{height:auto;min-height:100svh;max-height:none;padding-bottom:35px}
.hero-content{padding-top:clamp(160px,18vh,200px)}
.hero h1{font-size:clamp(44px,5.5vw,76px);letter-spacing:-1.8px;line-height:1.22;overflow-wrap:break-word;text-wrap:balance}
html:lang(ko) .hero h1,html:lang(ja) .hero h1{font-size:clamp(38px,4.7vw,66px);letter-spacing:-1px;word-break:keep-all;overflow-wrap:anywhere}
.hero-description{max-width:780px;margin-inline:auto}
.hero-actions{flex-wrap:wrap;row-gap:16px}
.hero-islands{position:relative;inset:auto;max-width:1000px;width:calc(100% - 64px);margin:80px auto 45px;align-items:stretch}
.hero-island{flex:1 1 0;min-width:0;max-width:330px;height:auto}
.hero-island>span:last-child{min-width:0}.hero-island strong{line-height:1.5}.hero-island small{line-height:1.5;letter-spacing:1px}
.island-icon{flex:none}
.hero-bottom{position:relative;inset:auto;min-height:54px;align-items:center}
.hero-bottom .scroll-cue{bottom:0}
.section-heading{align-items:flex-end}.section-heading h2{flex:1.3;min-width:0}.section-heading>p{flex:1;max-width:380px}
.section h2{font-size:clamp(36px,4.2vw,58px);letter-spacing:-1.2px;overflow-wrap:break-word;text-wrap:balance}
.section h3{overflow-wrap:break-word;text-wrap:balance}
.platform-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.platform-copy{min-width:0;padding:48px}.platform-copy h3{overflow-wrap:anywhere}
.platform-tabs{height:auto}.platform-tabs button{flex:none;white-space:nowrap}
.platform-art .connected{max-width:calc(100% - 40px);text-align:center;line-height:1.5}
.button,.text-link{width:fit-content;max-width:100%;height:auto;min-height:44px;white-space:normal;line-height:1.5;overflow-wrap:break-word}
.button>span,.text-link>span{flex:none}
.solution-card,.solution-card:nth-child(2n),.solution-card:hover{height:auto;min-height:510px;display:flex;flex-direction:column;padding-bottom:82px}
.card-top{flex:none}.card-top>span:first-child{max-width:100%;white-space:normal;line-height:1.5}
.solution-card p{padding-bottom:0}.detail-button{min-height:44px}
.service-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr)}
.service-toggle{text-align:left;line-height:1.4;white-space:normal;min-width:0}.service-toggle>span:nth-child(2){flex:1;min-width:0}
.service-toggle .service-number,.expand-icon{flex:none}
.service-tags span{line-height:1.5;white-space:normal}.service-answer p{overflow-wrap:break-word}
.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stats p{line-height:1.6}.stats strong{white-space:nowrap}
.journey-tabs{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.journey-tabs button{height:auto;min-width:0;gap:15px;padding:24px 20px;line-height:1.4}
.journey-tabs button>span:nth-child(2){min-width:0;font-size:20px;overflow-wrap:break-word}
.journey-tabs .step-number,.journey-tabs .step-arrow{flex:none}
.journey-tabs button[aria-selected=true]{color:#f4fff7;border-color:#f4ffef;box-shadow:inset 0 1px #fff,0 0 0 1px #edfff54d,0 12px 35px #092d2629}
.journey-tabs small{line-height:1.5}.journey-panel{height:auto;min-height:320px;grid-template-columns:minmax(180px,.75fr) minmax(0,1.6fr);padding-bottom:80px}
.journey-copy{min-width:0;padding-right:0}.journey-copy p{max-width:none;min-height:0}.journey-next{height:auto;max-width:calc(100% - 56px);min-height:44px;line-height:1.5;text-align:right}
.contact-box{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:center}
.contact-box h3{font-size:clamp(29px,3vw,38px)}.contact-actions{min-width:0;align-items:flex-start}.contact-actions .button{width:fit-content;max-width:100%;text-align:center}
dialog{width:min(640px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow-y:auto}dialog h2{overflow-wrap:break-word}dialog p,dialog li{line-height:1.8}
html:lang(ko) :is(h1,h2,h3,p,button){word-break:keep-all;overflow-wrap:break-word}
html:lang(ja) :is(h1,h2,h3,p,button){line-break:strict;letter-spacing:0}
@media(max-width:1050px){
  .global-nav{display:grid;grid-template-columns:1fr auto;height:auto;min-height:112px;gap:4px 15px;padding-block:12px}
  .language-switch{grid-column:2;grid-row:1;justify-self:end}
  .global-nav nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:28px}
  .global-nav nav a{font-size:12px}
  .hero-content{padding-top:185px}
  .philosophy>div,.philosophy>div+div{padding-inline:15px;gap:12px}
  .platform-copy{padding:38px}
  .journey-tabs button{gap:10px;padding:22px 15px}.journey-tabs button>span:nth-child(2){font-size:18px}
  .contact-box{grid-template-columns:1fr}.contact-actions{display:flex;flex-direction:row;flex-wrap:wrap;margin-top:0;gap:12px}
}
@media(max-width:600px){
  .global-nav{width:calc(100% - 36px);gap:5px 8px;min-height:112px}
  .global-nav .brand{font-size:14px;gap:4px}.global-nav .brand-logo{width:32px;height:36px;margin-right:3px}
  .language-switch{padding-inline:10px;gap:6px;min-height:40px}
  .language-switch>svg{width:14px;height:14px}.language-chevron{right:9px}
  .language-field>span,.language-field>select{font-size:11px;padding:10px 14px 10px 0}
  .global-nav nav{gap:10px;justify-content:space-between;align-items:start}.global-nav nav a,.global-nav nav a:nth-child(-n+2){display:block;font-size:10px;padding:9px 0;flex:1}
  .hero{height:auto;min-height:100svh;max-height:none;padding-bottom:25px}
  .hero-content{padding-top:166px}.hero .eyebrow{line-height:1.6;font-size:9px;letter-spacing:1.1px}
  .hero h1{font-size:clamp(35px,10vw,46px);letter-spacing:-1px;line-height:1.24}
  html:lang(ko) .hero h1,html:lang(ja) .hero h1{font-size:clamp(29px,8vw,38px)}
  .hero .hero-description{font-size:14px;line-height:1.8}.hero-actions{gap:12px 18px}
  .hero-actions .button{font-size:13px;padding:13px 19px}.hero-actions .text-link{font-size:12px}
  .hero-islands{inset:auto;width:calc(100% - 56px);margin:46px auto 32px;gap:10px;display:grid;grid-template-columns:1fr}
  .hero-island{max-width:none;padding:14px 18px}.hero-island strong{font-size:13px}.hero-island small{font-size:8px}
  .hero-bottom{bottom:auto}.scene-index b{letter-spacing:1px}
  .philosophy>div,.philosophy>div+div{padding-inline:6px}.philosophy p{line-height:1.6;overflow-wrap:break-word}.philosophy span{margin-top:6px;line-height:1.5;letter-spacing:.3px}
  .section h2{font-size:33px;line-height:1.3;letter-spacing:-.5px}.section-heading>p{max-width:none}
  .platform-panel,.service-grid{grid-template-columns:minmax(0,1fr)}
  .platform-copy{padding:30px 26px 20px}.platform-copy h3{font-size:26px}.platform-art{min-height:280px}
  .solution-card,.solution-card:nth-child(2n),.solution-card:hover{min-height:500px;padding-bottom:80px;flex-basis:89%}
  .solution-card h3{font-size:23px}.solution-card p{font-size:13px}.card-top>span:first-child{font-size:8px}
  .service-toggle{font-size:21px;gap:13px;padding:25px 22px}.service-stack .service-answer p{margin-inline:24px}.service-answer .service-tags{margin-left:24px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>div{padding:25px 18px}.stats strong{font-size:34px}
  .journey-tabs{gap:8px}.journey-tabs button{padding:17px 8px;gap:10px}.journey-tabs button>span:nth-child(2){font-size:14px;line-height:1.5}.journey-tabs small{font-size:8px}
  .journey-panel{grid-template-columns:minmax(0,1fr);min-height:0;padding:20px 25px 85px}.journey-copy h3{font-size:25px;line-height:1.4}.journey-copy p{font-size:14px}
  .contact-box{gap:24px;padding:32px 25px}.contact-box h3{font-size:27px;line-height:1.4}.contact-actions{flex-direction:column;align-items:stretch}.contact-actions .button{width:100%;font-size:13px}
  footer{column-gap:20px;row-gap:15px;flex-wrap:wrap}footer>a:last-child{margin-left:auto;line-height:1.5;text-align:right}
}
