@layer reset,base,components,responsive;
@layer reset{*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,p{margin:0}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}}
@layer base{
:root{color-scheme:dark;--obsidian:#0b120e;--crocodile:#1d3226;--moss:#3a5140;--olive:#778466;--highlight:#aec68b;--white:#e6e9df;--muted:#a5afa3;--line:#ffffff20;--font:Arial,Helvetica,sans-serif;--mono:Consolas,'Courier New',monospace;--gutter:clamp(24px,5.5vw,88px)}
html{scroll-behavior:smooth;scroll-padding-top:35px}body{background:var(--obsidian);color:var(--white);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--highlight);color:var(--obsidian)}a:focus-visible,button:focus-visible{outline:2px solid var(--highlight);outline-offset:6px}a,button{touch-action:manipulation}h1,h2,h3{font-weight:500;line-height:1.06;letter-spacing:-.055em}h2{font-size:clamp(36px,4.4vw,66px)}p{color:var(--muted)}.wrap{width:min(100%,1600px);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:110px}.eyebrow,.tiny-label,.section-label,.hero-bottom,.visual-top,.visual-bottom small,.tech-tag,.tech-number,.vision-coordinate{font-family:var(--mono);font-size:10px;letter-spacing:.12em;font-weight:400}.eyebrow{color:var(--highlight);margin-bottom:28px;letter-spacing:.16em}.tiny-label{color:var(--highlight)}.accent{color:var(--highlight)}.muted{color:#8e9c8c}.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}.skip{position:fixed;z-index:20;top:12px;left:20px;transform:translateY(-150%);padding:10px 18px;background:var(--highlight);color:var(--obsidian)}.skip:focus{transform:none}}
@layer components{
.header{height:105px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.header:after{content:'';position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:1px;background:var(--line)}.wordmark{display:inline-flex;align-items:center;gap:12px;font-size:22px;font-weight:700;letter-spacing:-1px;white-space:nowrap}.wordmark-light{font-weight:400}.header nav{display:flex;gap:35px;align-items:center;font-size:12px}.header nav a{padding:12px 0}.header nav a:hover{color:var(--highlight)}.nav-vision{margin-left:24px}.nav-vision span{margin-left:24px;color:var(--highlight)}.menu-toggle{display:none}.hero{min-height:760px;height:calc(100svh - 105px);max-height:1000px;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden}.hero-copy{position:relative;z-index:2;padding-bottom:80px;pointer-events:none}.hero-copy a{pointer-events:auto}.hero .eyebrow{display:flex;align-items:center;gap:10px;font-size:10px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--highlight);box-shadow:0 0 12px #aec68b55;flex-shrink:0}h1{font-size:clamp(70px,7.7vw,118px);line-height:.99;letter-spacing:-.065em}h1 em{font-style:normal;color:var(--highlight)}.hero-description{margin-top:28px;font-size:15px;line-height:1.75}.button{display:inline-flex;align-items:center;gap:55px;background:var(--highlight);color:var(--obsidian);padding:17px 22px;margin-top:32px;font-size:12px;font-weight:bold;transition:background .25s,transform .25s}.button:hover{background:var(--white);transform:translateY(-2px)}.button span{font-size:19px;line-height:1}.hero-art{position:absolute;right:-6%;top:50%;width:70%;max-width:1050px;transform:translateY(-55%);z-index:-1}.hero-art img{width:100%;height:auto;animation:surface-arrive 1.6s ease-out both}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--obsidian),transparent 27%)}@keyframes surface-arrive{from{opacity:0;transform:translateY(20px) rotate(-3deg)}to{opacity:1;transform:none}}.art-caption{position:absolute;right:var(--gutter);bottom:120px;font-size:11px;color:#b1bca8;padding-left:22px}.art-caption small{display:block;font-family:var(--mono);font-size:8px;color:var(--olive);letter-spacing:.15em;margin-top:4px}.cross{position:absolute;left:0;top:-3px;color:var(--highlight)}.hero-bottom{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);padding-block:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.hero-bottom a span{margin-left:20px;color:var(--highlight)}.about{display:grid;grid-template-columns:1fr 2.15fr;gap:40px}.section-label{display:flex;gap:45px;color:var(--highlight);padding-top:12px}.mini-mark{font-size:25px;line-height:10px}.about h2{font-size:clamp(35px,4vw,60px)}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:38px;font-size:14px}.principle{border-top:1px solid var(--line);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:13px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:58px}.section-heading>p{font-size:13px;line-height:1.8;padding-bottom:5px}.ventures{padding-top:40px}.venture{display:grid;grid-template-columns:1.15fr 1fr;border-top:1px solid var(--line);padding-top:36px;gap:7%;margin-top:58px}.venture-visual{min-width:0;width:100%;position:relative;min-height:510px;background:#101c15;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid #aec68b14}.venture-visual img{width:100%;height:auto}.visual-top{position:absolute;left:22px;right:22px;top:22px;display:flex;justify-content:space-between;font-size:8px;color:var(--muted);gap:12px;z-index:1}.visual-bottom{position:absolute;bottom:23px;left:23px;right:23px;display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:9px;color:var(--highlight)}.visual-bottom small{font-size:9px;color:var(--muted);letter-spacing:.06em}.viewfinder{font-size:32px;line-height:1}.venture-info{padding:14px 0 12px}.venture-info .eyebrow{font-size:9px;margin-bottom:15px}.venture-info h3{font-size:54px;letter-spacing:-.05em}.venture-lead{font-size:26px;line-height:1.25;color:var(--white);letter-spacing:-.03em;margin:24px 0 16px}.venture-info>p:not(.eyebrow):not(.venture-lead):not(.launch-date){font-size:14px;max-width:410px}.development{border-left:1px solid var(--moss);padding-left:18px;margin-top:25px}.development p{font-size:12px;margin-top:8px;line-height:1.75}.development small{display:block;color:#96a490;font-size:11px;margin-top:10px;line-height:1.6}.text-link{display:inline-flex;align-items:center;gap:70px;font-size:13px;border-bottom:1px solid var(--moss);padding-bottom:10px;margin-top:26px;transition:color .2s,border-color .2s}.text-link:hover{color:var(--highlight);border-color:var(--highlight)}.text-link span[aria-hidden]{color:var(--highlight);font-size:20px}.venture-reverse{margin-top:80px}.venture-reverse .venture-visual{order:2}.venture-reverse .venture-info{order:1;padding-left:20px}.generation{background:#152019}.research-status{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--highlight);margin-top:25px}.technology{background:#101a13;border-block:1px solid var(--line)}.tech-list article{display:grid;grid-template-columns:50px 1fr 1.5fr .9fr;gap:28px;border-top:1px solid var(--line);padding-block:32px;align-items:center}.tech-list article:last-child{border-bottom:1px solid var(--line)}.tech-number{color:var(--muted)}.tech-list h3{font-size:31px;letter-spacing:-.035em}.tech-list p{font-size:13px;max-width:420px}.tech-tag{color:var(--highlight);font-size:8px;text-align:right}.vision{position:relative;overflow:hidden;padding-block:145px}.vision h2{position:relative;font-size:clamp(38px,4.9vw,74px);line-height:1.15}.vision h2 span{color:var(--highlight)}.vision>p:not(.eyebrow){position:relative;max-width:470px;margin-top:30px;font-size:14px}.vision-pattern{position:absolute;width:530px;height:530px;right:-150px;top:20px;background:url('/assets/neural.svg') center/contain no-repeat;opacity:.12;transform:rotate(30deg)}.vision .text-link{position:relative}.vision-coordinate{position:absolute;right:var(--gutter);bottom:54px;color:var(--olive);font-size:8px}.footer{padding-bottom:30px}.footer-top{border-top:1px solid var(--line);padding-top:42px;padding-bottom:48px;display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.back-top{font-size:11px}.back-top span{margin-left:20px;color:var(--highlight)}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:24px;font-size:10px;color:var(--muted);line-height:1.9}.footer-bottom>div:last-child{text-align:right}}
@layer responsive{
@media(min-width:1600px){.hero-art{right:-1%}}
@media(max-width:1000px){.wordmark{font-size:19px}.header nav{gap:22px}.nav-vision{margin-left:0}.hero{min-height:730px}.hero-art{right:-16%;width:87%}.hero-copy{padding-bottom:90px}.hero-bottom>span:nth-child(2){display:none}.about{grid-template-columns:1fr 3fr}.section-label .mini-mark{display:none}.venture{gap:5%;grid-template-columns:1fr 1fr}.venture-visual{min-height:540px}.visual-top{font-size:7px}.tech-list article{grid-template-columns:25px 1fr 1.5fr}.tech-tag{display:none}.footer-top{flex-wrap:wrap}.footer-top .wordmark{font-size:20px}}
@media(max-width:700px){.header{height:82px}.wordmark{font-size:19px;gap:8px}.wordmark img{width:28px;height:28px}.menu-toggle{display:flex;gap:12px;align-items:center;background:transparent;color:var(--white);border:0;padding:12px 0 12px 12px;font-size:12px;min-height:44px}.menu-toggle span{font-size:22px;transition:transform .2s}.menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}.header nav{position:absolute;top:81px;left:0;right:0;padding:20px var(--gutter) 30px;background:#101a13;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:stretch;gap:4px;font-size:16px}.header nav[data-open=true]{display:flex}.header nav a{padding:14px 0}.nav-vision{display:flex;justify-content:space-between}.hero{height:auto;min-height:850px;display:block;padding-top:45px}.hero-copy{padding:0}.hero .eyebrow{font-size:8px;letter-spacing:.09em;margin-bottom:24px}h1{font-size:clamp(62px,13.8vw,94px)}.hero-description{font-size:13px;margin-top:25px;max-width:290px}.button{margin-top:24px;padding:15px 18px;gap:42px}.hero-art{width:115%;right:-29%;top:365px;transform:none;max-width:650px}.hero-art:after{background:linear-gradient(180deg,var(--obsidian),transparent 27%)}.art-caption{bottom:93px;right:24px;font-size:9px}.art-caption small{font-size:6px}.hero-bottom{font-size:8px;padding-block:20px}.hero-bottom a span{margin-left:8px}.section{padding-block:70px}.about{display:block}.section-label{margin-bottom:30px;padding-top:0;font-size:9px}.about h2{font-size:37px}.about-columns{grid-template-columns:1fr;gap:18px;margin-top:27px;font-size:14px}.principle{align-items:flex-start;flex-direction:column;gap:9px;margin-top:25px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:41px}.section-heading>p{margin-top:23px;font-size:13px}.eyebrow{font-size:9px;margin-bottom:20px}.ventures{padding-top:25px}.venture{grid-template-columns:1fr;gap:26px;padding-top:24px;margin-top:32px}.venture-visual{min-height:0;aspect-ratio:1.04}.visual-top{font-size:7px;left:15px;right:15px;top:18px}.visual-bottom{left:17px;bottom:17px;font-size:8px}.visual-bottom small{font-size:8px}.venture-info{padding:0}.venture-info h3{font-size:48px}.venture-lead{font-size:25px;margin-top:22px}.venture-info>p:not(.eyebrow):not(.venture-lead):not(.launch-date){max-width:none}.development p{font-size:13px}.venture-reverse{margin-top:55px}.venture-reverse .venture-visual{order:0}.venture-reverse .venture-info{order:0;padding-left:0}.tech-list article{grid-template-columns:22px 1fr;gap:14px;padding-block:25px}.tech-list h3{font-size:29px}.tech-list p{grid-column:2;font-size:13px}.tech-number{align-self:center}.vision{padding-block:83px 110px}.vision h2{font-size:36px;line-height:1.2}.vision>p:not(.eyebrow){font-size:14px}.vision-pattern{right:-280px;opacity:.09}.vision-coordinate{font-size:7px;bottom:37px}.footer-top{display:grid;grid-template-columns:1fr auto;gap:26px;padding-top:30px;padding-bottom:30px}.footer-top .wordmark{grid-column:1/-1;font-size:20px}.back-top{font-size:10px}.back-top span{margin-left:8px}.footer-bottom{flex-direction:column;font-size:9px;gap:17px}.footer-bottom>div:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
}

/* Interactive globe: shared across responsive layouts. */
@layer components {
  .hero-art{z-index:0}
  .hero-art:after{pointer-events:none}
  .hero-art canvas{position:absolute;inset:0;width:100%;height:100%;display:none;cursor:grab;touch-action:pan-y}
  .hero-art canvas:active{cursor:grabbing}
  .hero-art.canvas-ready canvas{display:block}
  .hero-art.canvas-ready img{opacity:0;animation:none}
  .hero-bottom{z-index:2}
}

/* Final type scale and spacing rhythm. */
@layer polish {
  .header #navigation{margin-left:auto}
  .language-switch{display:flex;flex-shrink:0;border:1px solid var(--line);padding:3px;gap:2px;border-radius:4px}
  .language-switch a{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 11px;font-size:12px;white-space:nowrap;border-radius:2px;color:var(--muted)}
  .language-switch a:hover{color:var(--white)}
  .language-switch a[aria-current=page]{background:var(--highlight);color:var(--obsidian)}
  .company-overview{margin-top:80px;border-top:1px solid var(--line);padding-top:64px;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,88px)}
  .company-overview h3{font-size:32px;line-height:1.4;letter-spacing:.02em}
  .company-facts{margin:0;min-width:0}
  .company-facts>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
  .company-facts>div:first-child{padding-top:0}
  .company-facts dt{font-size:13px;color:var(--muted)}
  .company-facts dd{margin:0;font-size:15px;line-height:1.9;overflow-wrap:anywhere}
  .company-facts a{text-decoration:underline;text-decoration-color:var(--moss);text-underline-offset:5px}
  html[lang=ja] body{font-family:Arial,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;line-break:strict}
  html[lang=ja] #hero-title{font-size:clamp(48px,5.8vw,88px);line-height:1.35;letter-spacing:-.04em}
  html[lang=ja] .section-heading h2{font-size:clamp(32px,3.4vw,52px);line-height:1.5;letter-spacing:.01em}
  html[lang=ja] .vision h2{line-height:1.4;letter-spacing:.01em}
  html[lang=ja] .venture-lead{line-height:1.6;letter-spacing:.01em}
  html[lang=ja] .vision-copy p{line-height:2}
  :root{--section-space:clamp(72px,7.5vw,112px)}
  .header{height:96px;gap:32px}
  .wordmark{font-size:23px;letter-spacing:-.8px}
  .header nav{font-size:13px;gap:clamp(24px,3vw,44px)}
  .header nav a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}
  .hero{height:calc(100svh - 96px);min-height:660px;max-height:900px}
  .hero-copy{padding-bottom:66px}
  #hero-title{font-size:clamp(68px,7.4vw,112px);line-height:1.02;letter-spacing:-.06em}
  .hero-description{font-size:16px;line-height:1.75;margin-top:28px}
  .button{font-size:13px;min-height:54px;gap:32px;padding:16px 22px;margin-top:30px}
  .hero-art{width:68%;max-width:min(1000px,calc(140svh - 252px));left:70%;right:auto;top:50%;transform:translate(-50%,-54%)}
  .hero-bottom{padding:0}
  .section{padding-block:var(--section-space)}
  h2,.about h2{font-size:clamp(38px,4.1vw,62px);line-height:1.12;letter-spacing:-.045em}
  .eyebrow,.section-label,.tiny-label{font-size:11px;letter-spacing:.12em}
  .eyebrow{margin-bottom:24px}
  .about{grid-template-columns:1fr 2.3fr;gap:48px}
  .about-columns{font-size:15px;line-height:1.8;gap:32px;margin-top:32px}
  .principle{margin-top:32px;padding-top:24px;font-size:14px}
  .ventures{padding-top:var(--section-space)}
  .company-anchor{position:absolute;top:0;left:0}
  .section-heading{margin-bottom:48px;gap:40px}
  .section-heading>p{font-size:15px;line-height:1.75}
  .venture{grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);margin-top:48px;padding-top:32px;align-items:stretch}
  .venture-visual{min-height:480px}
  .generation .crocodile-pointcloud{width:96%;height:auto}
  .walkthrough,.generation{background:radial-gradient(ellipse at 50% 44%,#1d322680,transparent 66%),linear-gradient(145deg,#101c15,#0b120e 75%);border:1px solid #aec68b24;box-shadow:inset 0 1px 0 #aec68b0d}
  .walkthrough img{position:relative;width:106%;max-width:none;flex-shrink:0;filter:brightness(1.12);transform:translateY(7%);transition:transform 1.2s cubic-bezier(.2,.65,.3,1)}
  .walkthrough:after,.generation:after{content:'';position:absolute;inset:18px;pointer-events:none;background:linear-gradient(#aec68b66,#aec68b66) top left/20px 1px no-repeat,linear-gradient(#aec68b66,#aec68b66) top left/1px 20px no-repeat,linear-gradient(#aec68b40,#aec68b40) bottom right/20px 1px no-repeat,linear-gradient(#aec68b40,#aec68b40) bottom right/1px 20px no-repeat}
  @media(hover:hover) and (prefers-reduced-motion:no-preference){.walkthrough:hover img{transform:translateY(6%) scale(1.025)}}
  @media(prefers-reduced-motion:reduce){.walkthrough img{transition:none}}
  .venture-info{padding-block:16px}
  .venture > .venture-info{align-self:center}
  .venture-info h3{font-size:clamp(42px,4vw,56px)}
  .venture-info .eyebrow{font-size:10px;margin-bottom:18px}
  .venture-lead{font-size:28px;line-height:1.2;margin:24px 0 18px}
  .venture-info>p:not(.eyebrow):not(.venture-lead):not(.launch-date){font-size:15px;line-height:1.75;max-width:460px}
  .development{margin-top:26px;padding-left:20px}
  .development p{font-size:14px;line-height:1.75;margin-top:10px}
  .development small{font-size:12px;line-height:1.7;margin-top:12px}
  .venture-reverse{margin-top:72px}
  .venture-reverse .venture-info{padding-left:0}
  .visual-top{font-size:9px;letter-spacing:.06em}
  .visual-bottom{font-size:10px;gap:12px}
  .visual-bottom small{font-size:9px;letter-spacing:.02em}
  .text-link{font-size:14px;min-height:44px;gap:48px;padding-block:8px;margin-top:24px}
  .research-status{font-size:13px}
  .venture-info>p.launch-date{margin-top:28px;font-size:12px;line-height:1.6;color:var(--muted)}
  .tech-list article{grid-template-columns:32px 1fr 1.55fr .9fr;gap:28px;padding-block:32px}
  .tech-list h3{font-size:32px}
  .tech-list p{font-size:15px;line-height:1.75}
  .tech-tag{font-size:9px;letter-spacing:.08em}
  .vision{padding-block:clamp(96px,10vw,152px)}
  .vision>.eyebrow{margin-bottom:40px}
  .vision-content{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,88px);align-items:start}
  .vision h2{font-size:clamp(44px,5.3vw,80px);line-height:1.08;letter-spacing:-.05em}
  .vision-copy{max-width:480px;padding-top:5px}
  .vision-copy p{font-size:clamp(16px,1.25vw,18px);line-height:1.8;text-wrap:pretty}
  .vision-copy p+p{margin-top:24px}
  .information{padding-bottom:var(--section-space)}
  .information-layout{border-top:1px solid var(--line);padding-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,6vw,88px);align-items:start}
  .information-heading h2{font-size:clamp(38px,3.4vw,52px);line-height:1.12}
  .announcements{min-width:0;padding-top:40px}
  .announcements-empty{font-size:16px;line-height:1.8;color:var(--muted);padding-bottom:28px;border-bottom:1px solid var(--line)}
  .footer-top{padding-block:40px;gap:32px;align-items:center}
  
  
  .back-top{font-size:12px;min-height:44px;display:flex;align-items:center}
  .footer-bottom{font-size:11px;line-height:1.9}
  @media(min-width:701px) and (max-width:1000px){
    .hero-art{width:74%;left:73%;right:auto}
    #hero-title{font-size:clamp(64px,7.3vw,76px)}
    .hero-description{font-size:15px}
    .about{grid-template-columns:1fr 3fr;gap:28px}
    .about-columns{grid-template-columns:1fr;gap:20px}
    .venture{gap:32px}
    .visual-top{font-size:8px;left:16px;right:16px}
    .visual-bottom{left:16px;right:16px}
    .tech-list article{grid-template-columns:24px 1fr 1.6fr;gap:24px}
  }
  @media(max-width:700px){
    :root{--section-space:68px}
    .header{height:76px;gap:16px}
    .wordmark,.footer-top .wordmark{font-size:21px;letter-spacing:-.7px}
    .header nav{top:75px;font-size:16px;gap:4px}
    .hero{display:grid;grid-template-columns:minmax(0,1fr);height:auto;min-height:0;max-height:none;padding-top:44px}
    .hero-copy{grid-row:1;padding:0}
    #hero-title{font-size:clamp(50px,14.5vw,86px);line-height:1.03;letter-spacing:-.055em}
    .hero-description{font-size:14px;line-height:1.75;margin-top:24px;max-width:none}
    .hero .button{font-size:12px;max-width:100%;gap:26px;min-height:52px;margin-top:26px;padding:15px 18px}
    .hero-art{grid-row:2;position:relative;width:min(126%,600px);max-width:none;justify-self:center;left:auto;right:auto;top:auto;transform:none;margin-top:-30px;margin-bottom:-42px}
    .hero-art:after{background:none}
    .hero-bottom{grid-row:3;position:relative;left:auto;right:auto;bottom:auto;width:100%;padding:0}
    .about{display:block}
    .section-label{margin-bottom:28px}
    h2,.about h2,.section-heading h2{font-size:clamp(32px,8.8vw,44px);line-height:1.14}
    .about-columns{grid-template-columns:1fr;gap:20px;margin-top:26px;font-size:15px;line-height:1.8}
    .principle{gap:10px;margin-top:28px;font-size:14px}
    .eyebrow,.section-label{font-size:10px}
    .eyebrow{margin-bottom:20px}
    .section-heading{margin-bottom:32px}
    .section-heading>p{font-size:14px;margin-top:20px}
    .ventures{padding-top:24px}
    .venture{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:32px;padding-top:24px}
    .venture-visual{min-height:0;aspect-ratio:1.08}
    .venture-info{padding:0}
    .venture-info h3{font-size:44px}
    .venture-lead{font-size:26px;margin-block:20px 16px}
    .development{padding-left:16px;margin-top:24px}
    .development .tiny-label{font-size:10px}
    .development p{font-size:14px}
    .development small{font-size:12px}
    .venture-reverse{margin-top:52px}
    .visual-top{font-size:8px;left:16px;right:16px;top:18px}
    .visual-bottom{font-size:9px;left:16px;right:16px;bottom:18px;gap:10px;line-height:1.7}
    .visual-bottom small{font-size:9px}
    .viewfinder{font-size:27px}
    .tech-list article{grid-template-columns:22px 1fr;gap:12px 16px;padding-block:26px}
    .tech-list h3{font-size:29px}
    .tech-list p{grid-column:2;font-size:14px;line-height:1.8}
    .vision{padding-block:80px 88px}
    .vision>.eyebrow{margin-bottom:28px}
    .vision-content{grid-template-columns:minmax(0,1fr);gap:32px}
    .vision h2{font-size:clamp(40px,10.5vw,60px)}
    .vision-copy{padding-top:0;max-width:35em}
    .vision-copy p{font-size:16px;line-height:1.8}
    .vision-copy p+p{margin-top:20px}
    .information-layout{grid-template-columns:minmax(0,1fr);gap:36px;padding-top:48px}
    .information-heading h2{font-size:38px}
    .announcements{padding-top:0}
    .footer-top{display:flex;flex-wrap:wrap;padding-block:32px;gap:16px 24px;align-items:center}
    
    
    .back-top{font-size:11px;align-self:start;min-height:36px}
    .footer-bottom{font-size:11px;gap:20px;padding-top:24px}
  }
  @media(min-width:701px) and (max-width:850px){
    .header nav{gap:18px;font-size:12px}
    .wordmark{font-size:21px}
    .hero{height:720px;min-height:620px}
    .hero-art{width:74%;left:72%;right:auto}
    .hero-copy{padding-bottom:70px}
    .venture{grid-template-columns:1fr;gap:28px}
    .venture-visual{min-height:0;aspect-ratio:1.5}
    .venture-reverse .venture-visual{order:0}
    .venture-info{max-width:600px;padding:0}
    .venture-reverse .venture-info{order:1}
    .vision-content{grid-template-columns:minmax(0,1fr);gap:32px}
    .vision h2{font-size:clamp(52px,7vw,60px)}
    .vision-copy{padding-top:0;max-width:560px}
    .information-layout{grid-template-columns:minmax(0,1fr);gap:40px}
    .announcements{padding-top:0}
    .footer-top{gap:24px}
  }
}

@layer polish {
  @media(min-width:701px) and (max-width:1000px){
    .header{gap:16px}
    .header #navigation{gap:18px;font-size:12px}
    .language-switch a{padding-inline:8px;font-size:11px}
  }
  @media(max-width:850px){
    .company-overview{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:56px;padding-top:40px}
  }
  @media(max-width:700px){
    .header{height:124px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:64px 48px;gap:0 12px;padding-bottom:12px}
    .header .wordmark{grid-column:1;grid-row:1}
    .header .menu-toggle{grid-column:2;grid-row:1}
    .header #navigation{top:123px;margin-left:0}
    .language-switch{grid-column:1/-1;grid-row:2;justify-self:end}
    .language-switch a{min-height:38px}
    html[lang=ja] #hero-title{font-size:clamp(40px,11vw,68px);line-height:1.4}
    html[lang=ja] .section-heading h2{font-size:clamp(28px,7.5vw,40px)}
    html[lang=ja] .hero-description{font-size:14px;line-height:1.9}
    .company-facts>div{grid-template-columns:78px minmax(0,1fr);gap:14px;padding-block:20px}
    .company-facts dd{font-size:14px}
    .company-facts dt{font-size:12px}
  }
}

/* Japanese typography: consistent reading size and spacing across sections. */
@layer polish {
  html[lang=ja] body{font-family:Arial,'Hiragino Kaku Gothic ProN',Meiryo,'Yu Gothic',sans-serif}
  html[lang=ja] .hero-description{font-size:16px;line-height:1.95;margin-top:32px}
  html[lang=ja] .section-heading h2,
  html[lang=ja] .information-heading h2{font-size:clamp(32px,3vw,44px);line-height:1.4;letter-spacing:.02em}
  html[lang=ja] .section-heading .eyebrow{margin-bottom:20px}
  html[lang=ja] .venture-info .eyebrow{font-size:12px;letter-spacing:.08em;margin-bottom:18px}
  html[lang=ja] .venture-lead{font-size:clamp(25px,2.2vw,32px);line-height:1.55;letter-spacing:.01em;margin:28px 0 24px}
  html[lang=ja] .venture-info>p:not(.eyebrow):not(.venture-lead):not(.launch-date){font-size:16px;line-height:1.95;max-width:30em;letter-spacing:.015em}
  html[lang=ja] .venture-info>p.launch-date{font-size:13px;line-height:1.8;margin-top:28px}
  html[lang=ja] .vision h2{font-size:clamp(44px,4.5vw,68px);line-height:1.4}
  html[lang=ja] .vision-copy p{font-size:16px;line-height:2;letter-spacing:.015em}
  html[lang=ja] .vision-copy p+p{margin-top:24px}
  html[lang=ja] .company-facts dt{line-height:1.9}
  html[lang=ja] .company-facts dd{font-size:15px;line-height:1.9;word-break:normal;overflow-wrap:anywhere}
  html[lang=ja] .company-overview h3{font-size:30px}
  html[lang=ja] .footer-bottom{font-size:12px;line-height:2}
  @media(max-width:700px){
    html[lang=ja] .hero{padding-top:36px}
    html[lang=ja] #hero-title{font-size:clamp(36px,10.5vw,64px);line-height:1.45;letter-spacing:-.04em}
    html[lang=ja] .hero-description{font-size:15px;margin-top:24px}
    html[lang=ja] .section-heading h2,
    html[lang=ja] .information-heading h2{font-size:30px;line-height:1.4}
    html[lang=ja] .venture{gap:32px}
    html[lang=ja] .venture-info h3{font-size:40px}
    html[lang=ja] .venture-lead{font-size:25px;margin:22px 0 20px}
    html[lang=ja] .venture-info>p:not(.eyebrow):not(.venture-lead):not(.launch-date){font-size:15px;line-height:1.95}
    html[lang=ja] .venture-info>p.launch-date{margin-top:24px}
    html[lang=ja] .vision h2{font-size:42px;line-height:1.4}
    html[lang=ja] .vision-content{gap:28px}
    html[lang=ja] .vision-copy p{font-size:15px;line-height:2}
    html[lang=ja] .company-overview{gap:28px}
    html[lang=ja] .company-overview h3{font-size:28px}
    html[lang=ja] .company-facts>div{grid-template-columns:86px minmax(0,1fr);gap:16px;padding-block:20px}
    html[lang=ja] .company-facts dd{font-size:14px}
    html[lang=ja] .company-facts dt{font-size:12px}
    html[lang=ja] .announcements-empty{font-size:15px}
  }
  @media(max-width:360px){
    html[lang=ja] .company-facts>div{grid-template-columns:minmax(0,1fr);gap:6px}
  }
}
@layer polish {
  @media(max-width:700px){
    html[lang=ja] .company-facts>div{grid-template-columns:minmax(0,1fr);gap:8px;padding-block:18px}
    html[lang=ja] .company-facts dt{font-size:12px;line-height:1.6}
    html[lang=ja] .company-facts dd{font-size:14px;line-height:1.9}
  }
}

@layer polish {
  .product-art{margin:0;min-width:0}
  .product-art figcaption{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.7;letter-spacing:.01em;text-wrap:pretty}
  .venture-reverse .product-art{order:2}
  @media(max-width:850px){
    .venture-reverse .product-art{order:0}
    .product-art figcaption{margin-top:10px}
  }
}

@layer polish {
  .language-switch{border:0;padding:0;gap:10px;border-radius:0;align-items:center}
  .language-switch a{position:relative;min-height:44px;padding-inline:3px;border-radius:0}
  .language-switch a[aria-current=page]{background:transparent;color:var(--highlight)}
  .language-switch a[aria-current=page]::after{content:'';position:absolute;bottom:5px;left:3px;right:3px;height:1px;background:currentColor}
  .language-divider{font-size:11px;color:var(--muted);opacity:.65}
  @media(min-width:701px) and (max-width:1000px){.language-switch{gap:7px}}
}
