@font-face{font-family:DIN;src:local("DIN Condensed Bold"),local("DINCondensed-Bold");font-weight:700;font-display:swap}
:root{
  --black:#09090a;--paper:#f1f0eb;--muted:#a3a39e;--copy:#c5c5c1;
  --line:rgba(241,240,235,.18);--gutter:clamp(24px,5.2vw,96px);
  --body:Arial,"Noto Sans JP","Hiragino Sans",Meiryo,sans-serif;
  --company:Arial,"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --din:DIN,"Arial Narrow",Arial,sans-serif;
  --gloss-x:0px;--gloss-y:0px;--gloss-angle:-16deg;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--black);color:var(--paper);font-family:var(--body);font-size:16px;font-weight:500;-webkit-font-smoothing:antialiased}
::selection{background:var(--paper);color:var(--black)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:2px solid var(--paper);outline-offset:7px}
img{display:block;max-width:100%;height:auto}
p{margin:0}h1,h2,h3{margin:0;font-weight:600}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:200;top:16px;left:24px;background:var(--paper);color:var(--black);padding:12px;transform:translateY(-200%)}
.skip-link:focus{transform:none}
main,.site-footer{position:relative;z-index:1}

/* Satin reflections drift slowly with the page; black remains the dominant surface. */
.ambient-surface{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:linear-gradient(135deg,#070708,#0d0e10 42%,#080809 75%,#101114)}
.ambient-gloss{position:absolute;inset:-45vh -35vw;transform:translate3d(var(--gloss-x),var(--gloss-y),0) rotate(var(--gloss-angle));will-change:transform;background:radial-gradient(ellipse 42% 28% at 65% 34%,rgba(167,172,184,.105),rgba(88,92,101,.035) 43%,transparent 72%),radial-gradient(ellipse 34% 38% at 30% 65%,rgba(117,124,137,.085),transparent 72%),radial-gradient(ellipse 66% 12% at 52% 48%,rgba(169,174,185,.055),transparent 75%),linear-gradient(120deg,transparent 35%,rgba(152,158,170,.035) 46%,rgba(184,191,201,.06) 49%,rgba(111,118,132,.025) 54%,transparent 66%)}
.ambient-surface:after{content:"";position:absolute;inset:0;background:url("assets/surface-grain.svg") repeat;opacity:.035;mix-blend-mode:screen}

.site-header{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;gap:48px;padding:24px var(--gutter);transition:background .35s,padding .35s}
.site-header.scrolled{background:rgba(9,9,10,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding-top:14px;padding-bottom:14px}
.home-link{margin-right:auto}.home-link img{width:118px}
.contact-link,.menu-toggle,.menu-close{font-family:Arial,sans-serif;font-size:14px;letter-spacing:.02em}
.contact-link{position:relative;padding-bottom:5px}
.contact-link:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.contact-link:hover:after{transform:scaleX(1)}
.menu-toggle,.menu-close{border:0;background:none;display:flex;align-items:center;gap:16px;padding:8px 0}
.menu-symbol{width:24px;display:grid;gap:6px}
.menu-symbol i{height:1px;background:var(--paper);width:24px;display:block}
.menu-symbol i:last-child{width:16px;justify-self:end;transition:width .3s}
.menu-toggle:hover .menu-symbol i:last-child{width:24px}

.hero{height:100svh;min-height:580px;position:relative;overflow:hidden;background:#050505}
.hero-film{position:absolute;inset:0;filter:grayscale(1);opacity:.9}
.hero-film iframe{position:absolute;left:50%;top:50%;width:min(100vw,177.7778svh);height:min(56.25vw,100svh);transform:translate(-50%,-50%);border:0;pointer-events:none}
.hero-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.16),transparent 25%,transparent 75%,rgba(0,0,0,.23))}
.hero-identity{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:80px var(--gutter);pointer-events:none}
.hero-ant{width:clamp(100px,12vw,175px);opacity:.36}
.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:32px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end}
.hero-bottom p{font-family:Arial,sans-serif;font-size:12px;letter-spacing:.12em;line-height:1.7}
.scroll-link{justify-self:center;display:flex;align-items:center;gap:18px;font:12px Arial,sans-serif;letter-spacing:.06em}
.scroll-stem{display:inline-block;width:1px;height:40px;background:linear-gradient(180deg,transparent,var(--paper));transform-origin:top;animation:scroll-line 2.5s ease-in-out infinite}
.film-toggle{display:flex;align-items:center;gap:12px;justify-self:end;font:12px Arial,sans-serif;letter-spacing:.04em;border:0;padding:12px 0;background:none}
.pause-icon{width:10px;height:12px;display:block;border-left:2px solid currentColor;border-right:2px solid currentColor}
.film-toggle[aria-pressed=true] .pause-icon{border:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}

.navigation{background:rgba(9,10,12,.55);color:var(--paper);border:0;margin:0;padding:24px var(--gutter) 34px;width:100vw;max-width:none;height:100svh;max-height:none;overflow:auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.navigation::backdrop{background:rgba(0,0,0,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.menu-open{overflow:hidden}
.nav-top{display:flex;justify-content:space-between;align-items:center}.nav-top img{width:118px}
.menu-close span{font-size:28px;font-weight:200}
.navigation nav{margin:7svh 0 6svh;display:flex;flex-direction:column;gap:14px}
.navigation nav a{font-family:var(--din);font-size:clamp(42px,6.5vw,100px);font-weight:700;display:flex;gap:32px;align-items:baseline;width:fit-content;transition:opacity .25s}
.navigation nav a:hover{opacity:.65}.navigation nav a span{font:12px Arial,sans-serif;color:var(--muted)}
.nav-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;font:12px Arial,sans-serif;letter-spacing:.08em}
.nav-bottom a{font-size:16px;letter-spacing:0}

.section{padding:90px var(--gutter) 140px;position:relative;background:rgba(4,4,5,.09)}
.why,.with-ai{background:rgba(18,19,22,.24)}
.section-meta{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--line);font:12px Arial,sans-serif;letter-spacing:.05em;color:var(--muted);margin-bottom:80px}
.section-meta>span:first-child{flex-shrink:0;white-space:nowrap}.section-meta>span:last-child{max-width:50%}
.editorial-grid{display:grid;grid-template-columns:1fr 1.17fr;gap:8vw;align-items:start}
.display-title{max-width:100%;align-self:start}.display-title img{height:clamp(90px,10vw,140px);width:auto;max-width:100%;object-fit:contain;object-position:left top}
.why-title img{width:min(100%,clamp(383px,42.59vw,596px));height:auto}
.section-copy{padding-top:8px}
.section-copy p{font-size:clamp(16px,1.32vw,20px);font-weight:500;line-height:2.15;letter-spacing:.035em;color:var(--copy)}
.section-copy p+p{margin-top:24px}
.section-copy .lead{font-size:clamp(21px,1.95vw,30px);font-weight:600;line-height:1.95;color:var(--paper);letter-spacing:.025em;margin-bottom:32px}
.capabilities{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.capabilities span{font:12px Arial,sans-serif;letter-spacing:.05em;color:var(--muted)}
.works-access{margin-top:48px;padding:28px 0 0;border-top:1px solid var(--line)}
.access-label{font:12px Arial,sans-serif;letter-spacing:.12em;display:flex;gap:12px;align-items:center;color:var(--muted);margin-bottom:22px}
.works-access p{font-size:16px;line-height:1.95}
.email-link{font:26px Arial,sans-serif;display:inline-block;padding-bottom:6px;border-bottom:1px solid var(--muted);margin-top:22px;transition:opacity .3s}
.email-link:hover{opacity:.65}.contact-email{margin-top:0}
.company-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;margin-top:90px;padding-top:44px;border-top:1px solid var(--line);font-family:var(--company)}
.company-grid h3{font:12px Arial,sans-serif;letter-spacing:.1em;color:var(--muted);margin-bottom:30px}
.company-name,.founder-name{font-size:22px;font-weight:600;letter-spacing:.03em;margin-bottom:24px}
.company address{font-size:16px;font-style:normal;font-weight:500;line-height:2.1;color:var(--copy)}
.profile-label{font:14px Arial,sans-serif;color:var(--muted);margin:28px 0 14px}
.profile-copy{font-size:16px;line-height:2.1;letter-spacing:.02em;color:var(--copy)}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 var(--gutter);padding:34px 0;border-top:1px solid var(--line);font:12px Arial,sans-serif;color:var(--muted)}
.footer-wordmark{width:110px}.footer-actions{display:flex;gap:36px;align-items:center}.footer-ant{width:56px}.back-top{padding:12px 0}
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s,transform .9s}
.js .reveal.is-visible{opacity:1;transform:none}
@keyframes scroll-line{0%,100%{transform:scaleY(.5);opacity:.4}50%{transform:scaleY(1);opacity:1}}
@media(min-width:1800px){.editorial-grid{max-width:1660px;margin-inline:auto}}
@media(max-width:760px){
  html{scroll-padding-top:78px}.site-header{padding-top:18px;padding-bottom:18px;gap:24px}.home-link img,.nav-top img{width:100px}.contact-link{display:none}
  .hero{min-height:580px}.hero-ant{width:120px}.hero-bottom{bottom:26px;grid-template-columns:1fr 1fr}.scroll-link{display:none}.hero-bottom p{font-size:12px}
  .section{padding:60px var(--gutter) 90px}.section-meta{margin-bottom:50px;font-size:12px;gap:16px}.section-meta span:last-child{font-size:11px;text-align:right}
  .editorial-grid{grid-template-columns:1fr;gap:32px}.display-title img{height:clamp(80px,25vw,100px)}.section-copy{padding:0}.section-copy .lead{font-size:22px;line-height:1.95}.section-copy p{font-size:16px;line-height:2.15;letter-spacing:.02em}.desktop-break{display:none}
  .capabilities{margin-top:36px;gap:14px 20px}.why-title img{width:min(100%,426px);height:auto}
  .navigation{padding-top:18px}.navigation nav{margin-top:9svh;gap:22px}.navigation nav a{font-size:clamp(28px,10vw,48px);gap:20px}.nav-bottom{flex-direction:column;gap:20px}
  .company-grid{grid-template-columns:1fr;gap:44px;margin-top:60px;padding-top:32px}.company-grid h3{margin-bottom:22px}
  .site-footer{display:grid;grid-template-columns:1fr auto;gap:24px}.footer-brand{grid-column:1;grid-row:1}.site-footer>span{grid-column:1;grid-row:2}.footer-actions{grid-column:2;grid-row:1 / 3;gap:22px}.footer-ant{width:44px}.footer-wordmark{width:100px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.ambient-gloss{transform:none;will-change:auto}}
