body{background:var(--bg);color:var(--text);font-family:Inter,"Helvetica Neue",Arial,"Noto Sans JP","Yu Gothic",sans-serif;font-size:var(--body);line-height:1.8;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background var(--normal) var(--ease),color var(--normal) var(--ease)}
body.menu-open{overflow:hidden}
.site-header{position:fixed;inset:0 0 auto;z-index:var(--z-header);height:var(--header);border-bottom:1px solid transparent;transition:height var(--normal) var(--ease),background var(--normal) var(--ease),border-color var(--normal) var(--ease),backdrop-filter var(--normal) var(--ease)}
.site-header.is-scrolled{height:var(--header-compact);background:color-mix(in srgb,var(--bg) 84%,transparent);border-color:var(--border);backdrop-filter:blur(18px)}
.site-header__inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.desktop-nav{display:flex;align-items:center;gap:32px;font-size:14px}
.desktop-nav a,.header-contact,.theme-toggle{position:relative}
.desktop-nav a::after,.header-contact::after,.theme-toggle::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--normal) var(--ease)}
.desktop-nav a:hover::after,.header-contact:hover::after,.theme-toggle:hover::after{transform:scaleX(1);transform-origin:left}
.site-header__actions{justify-self:end;display:flex;align-items:center;gap:24px;font-size:14px}
.menu-toggle{display:none;cursor:pointer}
.mobile-menu{position:fixed;inset:var(--header) 0 0;z-index:var(--z-menu);background:var(--bg);border-top:1px solid var(--border)}
.mobile-menu__inner{display:flex;flex-direction:column;padding-block:48px}
.mobile-menu a{padding:20px 0;border-bottom:1px solid var(--border);font-size:clamp(32px,10vw,56px);line-height:1}
.hero{position:relative;min-height:max(800px,100svh);overflow:hidden;padding-top:var(--header)}
.hero__inner{position:relative;z-index:2;min-height:calc(max(800px,100svh) - var(--header));display:grid;grid-template-rows:auto 1fr auto;padding-block:32px 48px}
.hero__meta{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.hero__title-wrap{display:flex;align-items:center}
.hero__title{max-width:9ch}
.hero__title span{display:block;margin-left:1.05ch}
.hero__bottom{display:flex;justify-content:space-between;align-items:end}
.hero__services{display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
.hero__service{display:block;opacity:0;transform:translateY(18px);animation:hero-service-in 900ms var(--ease) forwards}
.hero__service--design{animation-delay:900ms}
.hero__service--development{animation-delay:1080ms}
@keyframes hero-service-in{to{opacity:1;transform:translateY(0)}}
.hero-stage{position:absolute;inset:0;pointer-events:none}
.hero-stage__grid{position:absolute;inset:0;background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:calc(100% / 12) 100%,100% 80px;opacity:.18;mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 78%,transparent 100%)}
.hero-stage__plane{position:absolute;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 70%,transparent)}
.hero-stage__plane--a{width:31vw;height:41vw;max-height:700px;right:9vw;top:17%;transform:rotate(9deg)}
.hero-stage__plane--b{width:19vw;height:28vw;right:25vw;bottom:8%;transform:rotate(-8deg)}
.section{padding-block:var(--s9)}
.intro{padding-top:var(--s11)}
.intro .section-label{grid-column:1/3}
.intro__copy{grid-column:5/11}
.intro__copy p{max-width:560px;margin-top:48px;color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:var(--s8)}
.section-head__copy{max-width:430px;color:var(--muted);margin-bottom:12px}
.section-head--compact{margin-bottom:var(--s6)}
.works{padding-bottom:var(--s11)}
.works-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gap);row-gap:var(--s8)}
.work-card--feature{grid-column:1/9}
.work-card:not(.work-card--feature){grid-column:8/13}
.work-card--offset{grid-column:3/8!important}
.work-card__link{display:block}
.work-card__media{aspect-ratio:4/3;overflow:hidden;position:relative;border:1px solid var(--border)}
.work-card--feature .work-card__media{aspect-ratio:16/10}
.work-card__meta{display:flex;justify-content:space-between;gap:24px;padding-top:16px;font-size:14px}
.work-card__meta>div{display:flex;gap:24px}.work-card__meta span{color:var(--muted)}
.media-art{transition:transform var(--slow) var(--ease),filter var(--slow) var(--ease)}
.work-card:hover .media-art{transform:scale(.985);filter:contrast(1.08)}
.media-art--ark{background:radial-gradient(circle at 68% 38%,rgba(255,255,255,.22),transparent 25%),linear-gradient(135deg,#090909 0 45%,#24151d 45% 67%,#060606 67%)}
.media-art__word{position:absolute;left:7%;bottom:3%;font-size:clamp(72px,12vw,220px);line-height:.8;letter-spacing:-.08em;color:#f0e6e9;mix-blend-mode:screen}
.media-art--shiba{background:linear-gradient(135deg,#110d09,#3c2111 55%,#100b08)}
.media-art--shiba::before{content:"";position:absolute;inset:8%;border:1px solid rgba(220,176,90,.4)}
.media-art__seal{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:150px;aspect-ratio:1;border:1px solid #c99b49;color:#d9ad5a;font-family:serif;font-size:42px}
.media-art--tn{background:linear-gradient(145deg,#dedbd4,#f6f3ed)}
.media-art__tn{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);font-size:clamp(68px,9vw,160px);letter-spacing:-.14em;color:#111}
.approach{background:#111;color:#f7f4ed;padding-block:var(--s11)}
.approach .section-label{grid-column:1/3}
.approach__content{grid-column:5/12}
.kicker{font-size:14px;margin-bottom:48px;color:#aaa59c}
.approach__title{margin-bottom:40px}
.approach__lead{margin-bottom:64px}
.approach__copy{max-width:620px;color:#aaa59c}
.approach__copy p+p{margin-top:24px}
.service-list{border-top:1px solid var(--border)}
.service-item{display:grid;grid-template-columns:1fr 3fr 4fr;gap:var(--grid-gap);align-items:start;padding:36px 0;border-bottom:1px solid var(--border)}
.service-item>span{font-size:12px}.service-item h3{font-size:var(--h3);line-height:1.1;font-weight:500}.service-item p{max-width:520px;color:var(--muted)}
.about{padding-block:var(--s11)}
.about .section-label{grid-column:1/3}
.about__content{grid-column:5/11}
.about__content p{max-width:560px;margin:48px 0;color:var(--muted)}
.contact{background:#111;color:#f7f4ed}
.contact__link{display:block;padding-block:var(--s9)}
.contact__main{display:flex;align-items:end;justify-content:space-between;margin:var(--s6) 0 var(--s5)}
.contact__arrow{font-size:clamp(72px,10vw,160px);line-height:1;transition:transform var(--slow) var(--ease)}
.contact__link:hover .contact__arrow{transform:translate(16px,-16px)}
.contact p:last-child{color:#aaa59c}
.site-footer{padding-block:48px;border-top:1px solid var(--border)}
.site-footer__inner{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:24px;align-items:center;font-size:13px}
.site-footer__links{display:flex;gap:24px}
@media (max-width:1199px){
  .site-header__inner{grid-template-columns:1fr auto}.desktop-nav{display:none}.header-contact{display:none}.menu-toggle{display:block}
  .hero__title span{margin-left:.5ch}.intro__copy,.approach__content,.about__content{grid-column:3/8}.intro .section-label,.approach .section-label,.about .section-label{grid-column:1/3}
  .works-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.work-card--feature{grid-column:1/7}.work-card:not(.work-card--feature){grid-column:4/9}.work-card--offset{grid-column:1/6!important}
  .site-footer__inner{grid-template-columns:1fr 2fr 1fr}.site-footer__inner small{grid-column:1/-1}
}
@media (max-width:767px){
  .site-header__actions{gap:16px}.theme-toggle{display:none}.hero{min-height:100svh}.hero__inner{min-height:calc(100svh - var(--header));padding-block:20px 28px}.hero__meta span:last-child{display:none}.hero__title{font-size:clamp(72px,24vw,118px)}.hero__title span{margin-left:0}.hero__bottom{align-items:end;gap:32px}.hero__services{font-size:12px;letter-spacing:.06em}.hero-stage__plane--a{width:56vw;height:82vw;right:-4vw;top:25%}.hero-stage__plane--b{width:34vw;height:48vw;right:35vw;bottom:10%}
  .section{padding-block:96px}.intro{padding-top:128px}.intro .section-label,.approach .section-label,.about .section-label{grid-column:1/-1;margin-bottom:48px}.intro__copy,.approach__content,.about__content{grid-column:1/-1}.intro__copy p,.about__content p{margin-top:32px}.section-head{display:block;margin-bottom:64px}.section-head__copy{margin-top:32px}.works-grid{display:block}.work-card{margin-bottom:64px}.work-card--offset{margin-left:12%}.work-card__meta>div{display:block}.work-card__meta>div span{display:block}.approach{padding-block:128px}.approach__lead{margin-bottom:48px}.service-item{grid-template-columns:48px 1fr;padding:28px 0}.service-item p{grid-column:2}.contact__link{padding-block:112px}.contact__main{align-items:start}.contact__arrow{font-size:70px}.site-footer__inner{grid-template-columns:1fr 1fr}.site-footer__inner>p{grid-column:1/-1}.site-footer__links{justify-self:end}.site-footer__inner small{grid-column:1/-1}
}
