:root{--font-heading:Arial,"Yu Gothic",sans-serif;--font-body:"Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;--font-heading-weight:500;--font-hero-tracking:-.07em;--font-heading-tracking:-.05em;--font-body-tracking:.005em}
.brand .brand-wordmark{width:128px;height:auto;object-fit:contain}
.contact{align-content:center;row-gap:54px}
.contact>.section-index{grid-column:1/-1;margin-bottom:0}
.contact>.section-index b{color:var(--orange)}
.contact>.section-index:after{background:rgba(255,255,255,.26)}
.contact-copy{grid-column:1}
.hero h1,.statement h2,.services h2,.process h2,.contact h2,.service-row h3,.process-item h3{font-family:var(--font-heading,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif);font-weight:var(--font-heading-weight,500)}
.hero h1{letter-spacing:var(--font-hero-tracking,-.07em)}
.statement h2,.services h2,.process h2,.contact h2{letter-spacing:var(--font-heading-tracking,-.055em)}
body{font-family:var(--font-body,"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif);letter-spacing:var(--font-body-tracking,0)}
.contact-link{color:var(--white);background:var(--blue);border-color:var(--blue);transition:color .2s,background .2s,border-color .2s}
.contact-link:hover{color:var(--ink);background:var(--orange);border-color:var(--orange)}
.contact{background:linear-gradient(135deg,color-mix(in srgb,var(--blue) 88%,#18171a),var(--blue))}
.contact .eyebrow{color:var(--orange)}
.contact-card{border-color:color-mix(in srgb,var(--orange) 60%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--orange) 18%,transparent),rgba(255,255,255,.035))}
.page-footer{background:color-mix(in srgb,var(--blue) 80%,#18171a)}
@media(max-width:900px){.contact>.section-index,.contact-copy{grid-column:1}}
@media(max-width:560px){.brand .brand-wordmark{width:104px}}
@media(max-width:560px){
  .hero{gap:4px;padding-bottom:52px}
  .hero-art{height:clamp(280px,82vw,320px);min-height:0;margin-top:-8px;animation:mobile-art-float 8s ease-in-out infinite}
  .hero-logo,.orbit,.ring-field{top:48%}
  .hero-logo{width:50%}
  .ring-field{width:110%}
  .orbit-one{width:86%}
  .orbit-two{width:62%}
  .trace{left:-6%;width:112%}
  .trace-one{top:30%}
  .trace-two{top:68%}
  .hero-logo,.orbit,.ring-field,.trace{animation:none!important}
}
@keyframes mobile-art-float{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-9px,0)}
}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none!important}}
