/* Explicit palette: light surfaces use #141a1c / #47575a;
   dark surfaces use #f4f5f3 / #c4d0d0. Never inherit a light-surface color on video. */
:root{--dark:#0b1012;--white:#f4f5f3;--light:#e7e9e6;--ink:#141a1c;--muted-light:#47575a;--muted-dark:#c4d0d0;--gutter:5%;font-family:Arial,'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--dark);color:var(--white)}h1,h2,h3,p,dl,dd{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button:disabled{cursor:default;opacity:1}a,button{-webkit-tap-highlight-color:transparent}a:hover,.text-link:hover{ text-decoration:underline;text-underline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid #638e91;outline-offset:5px}section,article,#contact{scroll-margin-top:85px}[hidden]{display:none!important}.light{background:var(--light);color:var(--ink)}.dark{background:var(--dark);color:var(--white)}.micro{font-size:11px;font-weight:600;letter-spacing:.16em;line-height:1.7}.muted{color:var(--muted-dark)}.body-copy{font-size:14px;line-height:2}.skip{position:fixed;top:-100px;left:15px;background:var(--white);color:var(--ink);padding:15px;z-index:100}.skip:focus{top:10px}.header{height:72px;padding:0 var(--gutter);display:flex;align-items:center;gap:34px;background:var(--dark);color:var(--white);border-bottom:1px solid #344044;position:sticky;top:0;z-index:20}.logo{font-size:23px;font-weight:900;letter-spacing:.1em;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.12em}.desktop-nav>a{padding:20px 0}.product-nav{display:inline-flex;align-items:center;gap:8px;position:relative}.category-toggle{display:inline-flex;width:12px;min-width:12px;min-height:44px;align-items:center;justify-content:flex-start;padding:0;font-size:0}.category-toggle::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}.category-toggle[aria-expanded=true]::after{transform:rotate(225deg)}.submenu{position:absolute;top:53px;left:-20px;background:#131b1e;width:220px;padding:12px 20px;box-shadow:0 15px 25px #0004}.submenu a,.submenu button{display:block;width:100%;padding:15px 0;text-align:left;border-bottom:1px solid #344044;font-size:11px}.submenu span{font-size:10px;color:var(--muted-dark)}.language{display:flex;align-items:center;gap:10px;border-left:1px solid #616a6b;padding-left:22px;font-size:11px;font-weight:bold}.language a,.language button{display:grid;place-items:center;min-height:44px;min-width:24px}.language button{color:var(--muted-dark);padding:0}.menu-toggle{display:none}.mobile-menu{display:none}.media{position:relative;background:radial-gradient(ellipse at 67% 27%,#355761,transparent 54%),linear-gradient(145deg,#0b171d,#172e35 55%,#0b1012);overflow:hidden}.hero{min-height:640px;height:calc(100svh - 72px);max-height:960px;padding:28px var(--gutter) 30px;display:flex;flex-direction:column;justify-content:space-between}.background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.60));pointer-events:none}.hero>div:not(.shade){position:relative;z-index:1}.scene-top{display:flex;justify-content:space-between;gap:20px;color:var(--white)}.asset-label{font-size:10px}.hero-copy{padding:65px 0 40px;color:var(--white)}h1{font-size:clamp(76px,10.2vw,156px);line-height:.86;letter-spacing:-.065em;font-weight:800;margin-top:28px}.hero-jp{font-size:18px;letter-spacing:.16em;margin-top:30px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #95a6a8;padding-top:19px;color:var(--white)}.film-toggle{display:flex;gap:14px;align-items:center;text-align:left;padding:0;font-size:11px;letter-spacing:.12em;min-height:44px}.film-toggle small{display:block;font-size:10px;margin-top:5px}.circle{border:1px solid #c4d0d0;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.intro{padding:86px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end}.intro h2{font-size:clamp(30px,3.6vw,54px);line-height:1.35;letter-spacing:-.055em;margin-top:24px}.intro .body-copy{max-width:430px;color:var(--muted-light);justify-self:center}.section-heading{display:flex;justify-content:space-between;padding:26px var(--gutter);border-bottom:1px solid #344044}.feature{display:grid;grid-template-columns:1.35fr 1fr}.feature-visual{min-height:480px}.feature-placeholder{position:absolute;inset:0;padding:30px 8%;display:flex;flex-direction:column;justify-content:space-between;color:var(--white)}.placeholder-center{text-align:center;padding:30px 0}.placeholder-center>p:last-child{font-size:11px;margin-top:12px}.frame-symbol{display:inline-grid;place-items:center;width:64px;height:64px;border:1px solid #819a9e;font-size:24px;font-weight:200;margin-bottom:22px}.action-video{width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:#0b1012}.feature-copy{padding:45px 10%;background:#11191c;display:flex;flex-direction:column;gap:40px;justify-content:space-between;color:var(--white)}.feature-copy h2{font-size:clamp(44px,5.5vw,82px);line-height:.94;letter-spacing:-.065em}.feature-copy .body-copy{margin-top:25px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;border-top:1px solid #708083;padding:20px 0 0;text-align:left;font-size:11px;letter-spacing:.08em;line-height:1.7}.text-link small{display:block;font-size:10px;margin-top:4px}.text-link>span:last-child{font-size:21px}.spec-strip{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #b7c1bd}.spec-strip>div{padding:30px 5vw;border-right:1px solid #b7c1bd}.spec-strip>div:last-child{border:0}.spec-strip dd{font-size:30px;font-weight:700;letter-spacing:-.04em}.spec-strip dt{font-size:10px;letter-spacing:.14em;margin-top:12px;color:var(--muted-light)}.product-grid{padding:65px var(--gutter) 85px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.photo-placeholder{height:280px;background:#cdd5d1;color:#354b4e;position:relative;border:1px solid #a1b0ab;display:flex;flex-direction:column;justify-content:space-between;padding:23px}.photo-placeholder p{font-size:12px;align-self:center;margin:auto;text-align:center}.photo-placeholder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.product-body{padding-top:25px}.product-body .micro{color:var(--muted-light)}.product-body h3{font-size:clamp(36px,4vw,58px);letter-spacing:-.05em;margin-top:14px}.tagline{font-size:11px;letter-spacing:.13em;margin:10px 0 25px}.connect{padding:80px var(--gutter);background:#17292e;display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:50px}.connect h2{font-size:clamp(55px,7vw,94px);line-height:.93;letter-spacing:-.06em;margin-top:28px}.connect-info h3{font-size:16px;letter-spacing:.09em}.connect-info p{font-size:12px;line-height:1.9;color:var(--muted-dark);margin-top:12px}.connect-info>div{border-top:1px solid #73868a;margin-top:30px;padding-top:30px}dialog{border:1px solid #73868a;background:var(--light);color:var(--ink);max-width:calc(100% - 40px);width:460px;padding:32px}dialog::backdrop{background:#000b}dialog h2{font-size:24px;margin:20px 0;overflow-wrap:anywhere}dialog>p:not(.micro){font-size:14px}.dialog-close{margin-top:30px;border:1px solid #47575a;padding:12px 24px;width:100%}
@media(max-width:760px){.header{height:64px;gap:16px;padding:0 6%}.logo{font-size:19px}.desktop-nav{display:none}.language{margin-left:auto;border:0;padding:0;gap:6px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px;width:44px;height:44px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--white)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{display:block;position:fixed;top:64px;bottom:0;inset-inline:0;z-index:19;background:var(--dark);color:var(--white);padding:20px 6% 35px;overflow-y:auto;overscroll-behavior:contain}.mobile-menu>a,.mobile-products{display:flex;align-items:center;justify-content:space-between;width:100%;padding:22px 0;border-bottom:1px solid #344044;font-size:23px;font-weight:700;text-align:left}.mobile-menu small{font-size:10px;font-weight:400;color:var(--muted-dark)}.categories{background:#10191c;padding:8px 16px;border-bottom:1px solid #344044}.categories a,.categories button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 0;font-size:12px;letter-spacing:.08em}.menu-caption{margin-top:36px;color:var(--muted-dark)}body.menu-open{overflow:hidden}.hero{height:calc(100svh - 64px);min-height:610px;max-height:850px;padding:24px 6%}.scene-top{flex-direction:column;gap:7px}.hero-copy{padding:55px 0 45px}h1{font-size:clamp(54px,15vw,110px)}.hero-jp{font-size:15px}.intro{display:block;padding:60px 6%}.intro h2{font-size:clamp(28px,7.3vw,42px)}.intro .body-copy{margin-top:28px;font-size:13px}.section-heading{padding:22px 6%}.section-heading>p:last-child{display:none}.feature{display:block}.feature-visual{min-height:340px}.feature-copy{min-height:365px;padding:34px 6%}.feature-copy h2{font-size:clamp(46px,12vw,72px)}.spec-strip>div{padding:25px 5vw}.spec-strip dd{font-size:24px}.spec-strip dt{font-size:9px;letter-spacing:.08em}.product-grid{padding:40px 6% 60px;grid-template-columns:1fr;gap:45px}.photo-placeholder{height:240px}.connect{display:block;padding:60px 6%}.connect-info{margin-top:45px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep the native video controls reachable while its first frame is loading. */
.feature-placeholder{pointer-events:none}
/* Official mark: preserve its original aspect ratio and clear space. */
.logo{display:inline-flex;align-items:center;flex-shrink:0;line-height:1}
.logo img{display:block;width:auto;height:52px;aspect-ratio:162.31/78.5;object-fit:contain}

@media(max-width:760px){.header .logo img{height:44px}}
/* Hero media share one crop; the poster remains visible until playback begins. */
.hero{--hero-position:50% 50%;isolation:isolate}
.hero-poster,.hero .background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-position);pointer-events:none}
.hero-poster{z-index:-3}.hero .background-video{z-index:-2;opacity:0}.hero .background-video.is-playing{opacity:1}
.hero .shade{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.60) 65%),linear-gradient(0deg,rgba(4,15,19,.35),transparent 65%)}
.hero h1,.hero p,.hero .scene-top,.hero .hero-bottom{color:#f4f5f3}
@media(max-width:760px){.hero{--hero-position:48% 50%}}
/* A short landscape screen needs a compact copy block rather than a tall crop. */
@media(orientation:landscape) and (max-height:500px){
  .hero{--hero-position:50% 45%;height:calc(100svh - 72px);min-height:290px;padding:14px 5%}
  .hero .scene-top{flex-direction:row}.hero .asset-label{display:none}
  .hero-copy{padding:10px 0}.hero h1{font-size:clamp(48px,9vh,62px);margin-top:10px;line-height:.9}
  .hero-jp{font-size:13px;margin-top:12px}.hero-bottom{padding-top:9px}.hero .circle{width:32px;height:32px}
}
@media(orientation:landscape) and (max-height:500px) and (max-width:760px){.hero{height:calc(100svh - 64px)}}
@media(prefers-reduced-motion:reduce){.hero .background-video{display:none}}

