:root{--gutter:clamp(20px,4vw,72px);--header-h:96px;--section-space:clamp(48px,8svh,112px)}
html{scroll-padding-top:var(--header-h)}
body{min-width:0}
img,svg{max-width:100%}
button,input,select,textarea{min-width:0}
.wrap,.hero-value,.vision-frames{width:calc(100% - 2 * var(--gutter));max-width:1328px;margin-inline:auto}
.nav{height:var(--header-h);grid-template-columns:1fr auto 1fr;gap:24px}
.header .wordmark{opacity:1;pointer-events:auto}
.brand-wordmark{width:clamp(100px,10vw,128px)}
.desktop-nav{display:flex;gap:clamp(18px,2vw,32px)}
.desktop-nav a,.nav-cta{font-size:16px;white-space:nowrap}
.nav-actions{gap:16px;min-width:0}
.nav-cta{display:flex;align-items:center;min-height:44px;gap:12px;border:0;padding:0;color:#fff}
.menu-button{display:none}
.mobile-nav{max-height:calc(100dvh - var(--header-h));overflow-y:auto;padding:20px var(--gutter);gap:8px;overscroll-behavior:contain}
.mobile-nav a{display:flex;align-items:center;min-height:48px;font-size:22px}
.hero{min-height:100svh;height:auto;overflow:visible}
.scroll-stage{min-height:100svh;padding:calc(var(--header-h) + 32px) 0 40px;justify-content:center}
.hero-value{padding:0;position:relative;top:auto;left:auto;transform:none;min-width:0}
.hero-value h1{margin:0;font-family:Arial,'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;font-weight:400;font-size:clamp(36px,min(calc(22px + 5.2vw),calc((100svh - var(--header-h) - 160px) / 3.1)),110px);line-height:.985;letter-spacing:-.067em;max-width:100%}
.hero-join{margin-top:28px;background:#ffffff10;border:1px solid #ffffff80;color:#fff;font-size:18px;min-width:154px;min-height:48px;padding:13px 20px;gap:36px}
.hero-join:hover{background:#fff;color:#000}
.section,.approach,.partners{padding-block:var(--section-space)}
h2,.approach-intro h2,.section-head h2{font-size:clamp(32px,5.2vw,76px);line-height:1.08;max-width:100%;overflow-wrap:normal}
.approach-intro,.section-head,.sim-layout,.sim-controls,.sim-flow,.origin-copy,.origin-image{min-width:0}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,70px);margin-top:clamp(32px,5vw,64px)}
.principles article p{font-size:clamp(24px,2.6vw,38px);max-width:none;overflow-wrap:normal}
.origin-story{min-height:calc(100svh - var(--header-h));display:flex;align-items:center}
.origin-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.origin-copy p{font-size:clamp(18px,1.8vw,25px);line-height:1.55;color:#eee;max-width:35em;margin-top:24px}
.origin-copy p+p{margin-top:16px}
.origin-copy strong{font-weight:400;color:#fff}
.origin-image{margin:0;aspect-ratio:1;width:100%;max-width:540px;justify-self:center}
.origin-image img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.12)}
.sim-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.sim-controls{padding:36px 36px 36px 0}
.sim-flow{padding:36px 0 36px 36px}
.scenario-tabs{flex-wrap:wrap;gap:12px 24px;margin-top:0}
.scenario-tabs button{min-height:44px}
.purchase{grid-template-columns:24px minmax(0,1fr) auto;gap:12px}
.purchase strong{font-size:clamp(18px,1.8vw,22px)}
.purchase div>span{font-size:16px;line-height:1.5}
.purchase-price{white-space:nowrap}
.receipt{grid-template-columns:minmax(0,1fr)}
.receipt-status,.receipt p{overflow-wrap:anywhere}
.button{min-height:48px;max-width:100%;gap:clamp(16px,4vw,48px);font-size:18px;line-height:1.4;white-space:normal}
.visual-vision{min-height:calc(100svh - var(--header-h));padding-block:clamp(24px,5svh,56px);overflow:visible}
.vision-heading h2{font-size:clamp(30px,4.8vw,68px);max-width:none;margin:0}
.vision-frames{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,2.2vw,32px);margin-top:clamp(24px,5svh,56px)}
.vision-frame{display:block;min-width:0}
.vision-photo{width:100%;height:auto;aspect-ratio:1;overflow:hidden}
.vision-photo img{object-fit:contain}
.vision-frame[data-vision="earth"] img{object-fit:cover}
.partner-row{grid-template-columns:minmax(0,1fr) auto;gap:20px}
.partner-row h3{grid-column:1;grid-row:auto;font-size:clamp(30px,3.2vw,46px)}
.partner-row .row-arrow{grid-column:2;grid-row:auto}
.footer{display:flex;flex-wrap:wrap;gap:24px 32px;padding-block:28px}
.footer a,.footer .copyright{font-size:16px;line-height:1.5}
.footer .credits-link{margin-left:auto}
.footer .copyright{margin-left:0;width:auto}
dialog{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:clamp(24px,4vw,48px);margin:auto;overflow-y:auto;overscroll-behavior:contain}
dialog h2{font-size:clamp(30px,4vw,40px);margin-top:16px}
.dialog-close{min-width:44px;min-height:44px}
.draft-actions{flex-wrap:wrap;gap:16px 24px}
input,select,textarea{max-width:100%;font-size:16px;min-height:48px}
.careers-nav{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:24px}
.back-home{font-size:18px;display:flex;align-items:center;gap:20px;min-height:44px}
.careers-hero{min-height:100svh;padding:calc(var(--header-h) + 40px) 0 64px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.careers-hero h1{font-size:clamp(48px,10vw,144px);font-weight:400;line-height:1.05;letter-spacing:-.055em}
.careers-hero>p{font-size:clamp(24px,3.2vw,48px);line-height:1.25;color:#fff;margin-top:28px;letter-spacing:-.025em}
.careers-teams,.careers-apply{padding-block:var(--section-space)}
.team{border-top:1px solid #ffffff40}
.team:last-child{border-bottom:1px solid #ffffff40}
.team summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:clamp(30px,4vw,56px);line-height:1.3;padding:28px 0;letter-spacing:-.03em}
.team summary::-webkit-details-marker{display:none}
.team summary span{font-size:32px}
.team[open] summary span{transform:rotate(45deg)}
.team>div{max-width:780px;padding:0 0 32px}
.team p,.team a{font-size:clamp(18px,2vw,24px);line-height:1.5;color:#eee}
.team p+p{margin-top:16px}
.team a{display:inline-block;min-height:44px;margin-top:24px;text-decoration:underline;text-underline-offset:6px}
.careers-apply h2{max-width:900px}
.application-notice{font-size:18px;line-height:1.5;margin-top:24px;max-width:760px;color:#ccc}
#application-form,#application-result{max-width:780px;margin-top:32px}
.application-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#application-result h3{font-size:32px}
#application-draft{margin-top:24px}
#application-status{font-size:16px;line-height:1.5;margin-top:20px}
.credits-page main{width:calc(100% - 2 * var(--gutter));max-width:900px;margin:clamp(32px,8vh,80px) auto}
.credits-page p{font-size:clamp(16px,2vw,20px);overflow-wrap:anywhere}
@media(max-width:900px){
:root{--header-h:72px}
.nav{grid-template-columns:minmax(0,1fr) auto;gap:16px}
.nav-actions{gap:10px}
.nav-cta{letter-spacing:0}
.desktop-nav{display:none}
.menu-button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:44px;min-width:44px;min-height:44px;padding:0}
.menu-button span{display:block;width:24px;height:1px;background:#fff}
.sim-layout{grid-template-columns:minmax(0,1fr)}
.sim-controls{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}
.sim-flow{padding:28px 0}
.flow-step{min-height:72px}
}
@media(max-width:760px){.hero-value h1{letter-spacing:-.065em;line-height:1.02}}
@media(max-width:700px){
.origin-grid{grid-template-columns:minmax(0,1fr);gap:24px}
.origin-image{width:min(42vw,180px)}
.origin-copy h2{font-size:clamp(34px,8vw,52px)}
.origin-copy p{font-size:18px;line-height:1.5;margin-top:20px}
.principles{grid-template-columns:minmax(0,1fr);gap:0}
.principles article{padding-block:24px;border-bottom:1px solid var(--line)}
.principles article p{font-size:clamp(26px,5vw,34px)}
.vision-frames{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.vision-photo{width:min(100%,22svh);margin-inline:auto}
.footer .credits-link{margin-left:0}
.footer .copyright{margin-left:auto}
.application-fields{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:480px){
.purchase{grid-template-columns:minmax(0,1fr) auto;gap:12px}
.purchase-icon{display:none}
.purchase strong{font-size:18px}
.purchase div>span{font-size:16px}
.footer .wordmark{flex-basis:100%}
.careers-hero>p br{display:none}
}
@media(max-height:540px) and (min-aspect-ratio:1/1){
:root{--header-h:64px;--section-space:32px}
.scroll-stage{padding-top:calc(var(--header-h) + 16px);padding-bottom:24px}
.hero-join{margin-top:20px;min-height:44px;padding-block:10px}
.origin-grid{grid-template-columns:1.2fr 1fr;gap:24px}
.origin-copy h2{font-size:34px}
.origin-copy p{font-size:18px;margin-top:16px}
.origin-image{width:min(100%,240px)}
.visual-vision{padding-block:20px}
.vision-heading h2{font-size:clamp(28px,4.5vw,42px)}
.vision-frames{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.vision-photo{width:min(100%,34svh)}
.careers-hero{padding-top:calc(var(--header-h) + 24px);padding-bottom:32px}
.careers-hero h1{font-size:clamp(44px,8vw,76px)}
.careers-hero>p{font-size:26px;margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.origin-image img{transform:scale(1.12)}.vision-photo img{will-change:auto}}
