@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800&family=Inter:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#080808;--fg:#f1f1ef;--muted:#888;--line:#252525;--blue:#2454e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,Arial,sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='4' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.site-header{position:fixed;z-index:40;top:0;left:0;right:0;height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#080808dd,transparent);backdrop-filter:blur(7px)}.brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.13em}.brand img{width:34px;height:34px;object-fit:contain}.nav{display:flex;gap:30px;align-items:center}.nav a,.link{color:#ddd;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.14em}.nav-store{border:1px solid #555;padding:10px 15px}.menu-toggle{display:none;background:none;border:0}.hero{min-height:100vh;position:relative;display:flex;align-items:center;padding:140px 9vw 80px;overflow:hidden;background:radial-gradient(circle at 72% 45%,#14285b55,transparent 28%),linear-gradient(125deg,#070707,#101010 58%,#080808)}.grid{position:absolute;inset:0;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 85%)}.hero-copy{position:relative;z-index:2;max-width:780px}.eyebrow,.kicker{font-size:10px;letter-spacing:.25em;color:#888;font-weight:600}.hero h1{font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(72px,10vw,150px);line-height:.78;letter-spacing:-.025em;margin:30px 0}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #eee}.hero p{color:#aaa;max-width:480px;font-size:14px}.actions{display:flex;align-items:center;gap:28px;margin-top:38px}.btn{display:inline-flex;align-items:center;padding:15px 22px;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.16em}.light{background:#eee;color:#090909}.outline{border:1px solid #555;color:#fff}.blue{background:var(--blue);color:#fff}.hero-mark{position:absolute;right:7vw;top:50%;transform:translateY(-50%);width:min(38vw,510px);opacity:.9}.hero-mark img{width:100%;filter:drop-shadow(0 0 50px #1748ff33)}.scroll{position:absolute;bottom:34px;left:9vw;font-size:9px;letter-spacing:.25em;color:#777;display:flex;align-items:center;gap:15px}.scroll span{display:block;width:60px;height:1px;background:#555}.section{padding:140px 9vw;border-top:1px solid var(--line)}.about{display:grid;grid-template-columns:1fr 2fr;gap:7vw}.copy{max-width:760px}.big{font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(42px,5vw,76px);line-height:.92;margin:0 0 55px}.big span,.service-layout h2 span,.contact h2 span,.tactical span{color:var(--blue)}.copy>p:not(.big):not(.muted){color:#aaa;max-width:650px;line-height:1.9}.muted{font-size:10px;letter-spacing:.22em;color:#666;margin-top:55px}.products{background:#0b0b0b}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.section-head h2,.service-layout h2{font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(60px,8vw,120px);line-height:.78;margin:25px 0 0}.section-head h2 span{color:transparent;-webkit-text-stroke:1px #eee}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);background:#101010;padding:18px;min-height:500px;position:relative;transition:.4s}.card:hover{transform:translateY(-7px);border-color:#444}.num{position:absolute;top:22px;left:22px;font-size:10px;color:#777;letter-spacing:.2em}.visual{height:310px;margin-bottom:28px;display:flex;align-items:end;padding:18px;background:#151515;overflow:hidden;position:relative}.visual:before{content:"";position:absolute;inset:15%;border:1px solid #ffffff16;transform:rotate(-8deg) scale(1.15)}.v1{background:radial-gradient(circle at 50% 45%,#293a62,#111 58%)}.v2{background:radial-gradient(circle at 50% 45%,#333,#111 60%)}.v3{background:radial-gradient(circle at 55% 45%,#172d52,#111 62%)}.visual span{position:relative;font-size:9px;letter-spacing:.2em;color:#aaa}.card h3{font-family:"Barlow Condensed",Impact,sans-serif;font-size:29px;line-height:.9;margin:0}.card p{font-size:12px;color:#777;line-height:1.7}.manifesto{padding:120px 9vw;text-align:center}.rule{height:1px;background:var(--line)}.manifesto p{font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(58px,10vw,150px);line-height:.75;margin:70px 0}.manifesto p span{color:transparent;-webkit-text-stroke:1px #777}.service-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:9vw;margin-top:70px}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.service>b{color:#666;font-size:10px}.service h3{font-family:"Barlow Condensed",Impact,sans-serif;font-size:25px;margin:0 0 8px}.service p{color:#777;font-size:12px;margin:0;line-height:1.6}.tactical{min-height:580px;position:relative;display:flex;align-items:center;justify-content:space-between;padding:90px 9vw;background:#eee;color:#080808;overflow:hidden}.tactical:before{content:"";position:absolute;width:800px;height:800px;border:1px solid #0002;border-radius:50%;right:-250px;top:-100px}.tactical h2{font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(65px,9vw,140px);line-height:.78;margin:25px 0}.tactical img{position:relative;z-index:2;width:min(38vw,470px);mix-blend-mode:multiply;filter:contrast(1.15)}.contact{min-height:75vh}.contact-copy{padding-top:100px}.contact h2{font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(75px,11vw,170px);line-height:.76;margin:0}.contact p{color:#888;max-width:520px;line-height:1.8;margin:45px 0 30px}.contact small{display:block;margin-top:60px;color:#555;font-size:9px;letter-spacing:.14em}footer{border-top:1px solid var(--line);padding:35px 9vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;color:#666;font-size:9px;letter-spacing:.14em;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px;color:#aaa}.footer-brand img{width:24px;height:24px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:65px;padding:0 6vw}.brand span{display:none}.nav{position:fixed;inset:65px 0 auto 0;background:#090909;padding:30px 6vw;display:none;flex-direction:column;align-items:flex-start;gap:25px;border-bottom:1px solid #222}.nav.open{display:flex}.menu-toggle{display:flex;flex-direction:column;gap:6px}.menu-toggle i{display:block;width:24px;height:1px;background:#fff}.hero{padding:130px 6vw 70px;min-height:100svh}.hero-mark{right:-20vw;top:48%;width:75vw;opacity:.25}.hero h1{font-size:clamp(66px,18vw,115px)}.actions{align-items:flex-start;flex-direction:column;gap:20px}.section{padding:95px 6vw}.about,.service-layout{grid-template-columns:1fr;gap:55px}.product-grid{grid-template-columns:1fr}.card{min-height:auto}.visual{height:280px}.section-head{align-items:flex-start;gap:35px;flex-direction:column}.tactical{padding:80px 6vw;min-height:500px}.tactical img{position:absolute;right:-18%;width:80vw;opacity:.22}.contact-copy{padding-top:65px}.contact .actions{flex-direction:column;align-items:flex-start}footer{padding:30px 6vw;grid-template-columns:1fr;gap:12px}}

.lang-switch{border:1px solid #444;padding:10px 12px;color:#fff!important;font-size:10px!important}.lang-switch:hover{border-color:#888}.jp-body{font-family:'Noto Sans JP',Inter,Arial,sans-serif}.jp-body .hero h1,.jp-body .big,.jp-body .section-head h2,.jp-body .service-layout h2,.jp-body .service h3,.jp-body .manifesto p,.jp-body .tactical h2,.jp-body .contact h2{font-family:'Noto Sans JP','Barlow Condensed',sans-serif;letter-spacing:-.04em}.jp-body .hero h1{font-weight:800;line-height:.95;font-size:clamp(54px,8vw,116px)}.jp-body .big{line-height:1.08;font-weight:800}.jp-body .section-head h2,.jp-body .service-layout h2,.jp-body .tactical h2,.jp-body .contact h2{line-height:1.0;font-weight:800}.jp-body .service h3{font-weight:800;line-height:1.05}.jp-body .eyebrow,.jp-body .kicker,.jp-body .nav a,.jp-body .link,.jp-body .btn,.jp-body .muted,.jp-body .scroll{font-family:Inter,'Noto Sans JP',sans-serif}.jp-body .copy>p:not(.big):not(.muted),.jp-body .card p,.jp-body .service p,.jp-body .contact p{line-height:2}.jp-body .hero p{line-height:1.9}.jp-body .hero .actions{margin-top:42px}
@media(max-width:800px){.lang-switch{padding:8px 11px}.jp-body .hero h1{font-size:clamp(48px,13vw,86px)}}
/* Japanese typography fixes */
.jp-body .hero h1 {
  line-height: 1.08;
  letter-spacing: -0.055em;
}

.jp-body .manifesto p {
  line-height: 1.05;
  margin: 80px 0;
  letter-spacing: -0.045em;
}

.jp-body .manifesto p span {
  display: block;
  margin-top: 18px;
}

.jp-body .hero h1 em {
  display: inline-block;
  line-height: 1.08;
}

@media(max-width:800px) {
  .jp-body .hero h1 {
    line-height: 1.08;
    letter-spacing: -0.05em;
  }

  .jp-body .manifesto p {
    line-height: 1.08;
    margin: 60px 0;
  }

  .jp-body .manifesto p span {
    margin-top: 14px;
  }
}
