:root{--n-bg:#0c1417;--n-surface:#16232a;--n-ink:#e8eef0;--n-dim:#7e9199;--n-rule:#26383f;--p-bg:#ded5c4;--p-ink:#1c1a15;--p-dim:#635b4c;--p-rule:#c0b5a0;--p-mark:#8a5a22;--work:#f0b353;--work-deep:#8a5a22;--f-ui:"Archivo","Helvetica Neue",Arial,sans-serif;--f-jp:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--f-mincho:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;--pad:clamp(1.25rem,5vw,4.5rem);--maxw:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--n-bg);color:var(--n-ink);font-family:var(--f-jp);-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;margin:0;font-size:16px;line-height:1.9}h1,h2,h3,h4{text-wrap:balance;margin:0;line-height:1.2}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--work);outline-offset:3px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.night{background:var(--n-bg);color:var(--n-ink)}.paper{background:var(--p-bg);color:var(--p-ink)}.inner{max-width:var(--maxw);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.seam{height:0;position:relative;overflow:visible}.seam:after{content:"";pointer-events:none;background:linear-gradient(#f0b35300,#f0b35329);height:90px;position:absolute;top:-90px;left:0;right:0}.eyebrow{font-family:var(--f-mono);letter-spacing:.24em;text-transform:uppercase;align-items:center;gap:.7rem;margin-bottom:1.6rem;font-size:.66rem;display:flex}.eyebrow:after{content:"";opacity:.28;background:currentColor;flex:1;height:1px}.night .eyebrow{color:var(--work)}.paper .eyebrow{color:var(--p-mark)}.h-sec{font-family:var(--f-mincho);letter-spacing:.04em;font-size:clamp(1.8rem,4.4vw,2.9rem);font-weight:800;line-height:1.35}.lead{max-width:38em;margin-top:1.1rem;font-size:1rem}.night .lead{color:var(--n-dim)}.paper .lead{color:var(--p-dim)}.sec{padding-top:clamp(5rem,11vw,9rem);padding-bottom:clamp(5rem,11vw,9rem)}.sec-tight{padding-top:0}.topbar{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;padding-bottom:1.5rem;display:flex;position:relative}.wordmark{font-family:var(--f-ui);letter-spacing:.04em;font-size:.92rem;font-weight:700}.nav{font-family:var(--f-mono);letter-spacing:.14em;color:var(--n-dim);gap:1.5rem;font-size:.68rem;display:flex}.nav a:hover{color:var(--work)}.hero{flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero:before{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#f0b35733,#f0b35700 62%);border-radius:50%;width:min(120vw,1000px);position:absolute;top:-28%;right:-18%}.hero-body{z-index:2;flex:1;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:center;gap:2rem;padding-bottom:3rem;display:grid;position:relative}@media (width<=900px){.hero-body{grid-template-columns:1fr;gap:2.5rem;padding-bottom:2rem}}.hero-copy h1{font-family:var(--f-mincho);letter-spacing:.045em;font-size:clamp(3.2rem,10.5vw,7.5rem);font-weight:800;line-height:1.18}.hero-copy h1 .ln{display:block;overflow:hidden}.hero-copy h1 .ln>span{animation:.95s cubic-bezier(.16,1,.3,1) forwards rise;display:block;transform:translateY(105%)}.hero-copy h1 .ln:nth-child(2)>span{animation-delay:.13s}.hero-copy h1 em{color:var(--work);font-style:normal}@keyframes rise{to{transform:translateY(0)}}.hero-sub{opacity:0;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.4rem;margin-top:2rem;animation:.8s .55s forwards fade;display:flex}@keyframes fade{to{opacity:1}}.hero-sub .desc{color:var(--n-ink);font-size:1.02rem}.hero-sub .meta{font-family:var(--f-mono);letter-spacing:.14em;color:var(--n-dim);font-size:.7rem}.status-dot{background:var(--work);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-right:.4rem;display:inline-block}.hero-shot{opacity:0;animation:1s .35s forwards fade;position:relative}.phone{aspect-ratio:9/19.5;background:var(--n-surface);border:1px solid var(--n-rule);border-radius:2.6rem;width:min(300px,78%);margin:0 auto;padding:.55rem;position:relative;box-shadow:0 40px 90px -30px #000000d9,0 0 0 1px #f0b3571a}.phone.shot{padding:0;overflow:hidden}.phone.shot img{object-fit:cover;border-radius:2.6rem;width:100%;height:100%}.screen{background:#0f1a1e;border-radius:2.1rem;flex-direction:column;width:100%;height:100%;padding:1.5rem 1.1rem 1rem;display:flex;overflow:hidden}.screen .st{font-family:var(--f-mono);color:var(--n-dim);justify-content:space-between;margin-bottom:1.4rem;font-size:.5rem;display:flex}.screen .date{font-family:var(--f-mincho);color:var(--n-ink);letter-spacing:.05em;font-size:1.5rem}.screen .day{font-family:var(--f-mono);color:var(--work);letter-spacing:.18em;margin-top:.35rem;font-size:.52rem}.entry{border-left:2px solid var(--work);margin-top:1.1rem;padding-left:.7rem}.entry .t{color:var(--n-ink);font-size:.6rem;line-height:1.75}.entry .tag{font-family:var(--f-mono);letter-spacing:.1em;color:var(--work-deep);margin-top:.35rem;font-size:.44rem}.thumbrow{gap:.3rem;margin-top:.9rem;display:flex}.thumbrow i{aspect-ratio:1;border-radius:.25rem;flex:1;display:block}.screen .older{border-top:1px solid var(--n-rule);margin-top:auto;padding-top:.6rem}.older .row{font-family:var(--f-mono);color:var(--n-dim);justify-content:space-between;padding:.22rem 0;font-size:.46rem;display:flex}.shot-cap{text-align:center;font-family:var(--f-mono);letter-spacing:.14em;color:var(--n-dim);margin-top:1.1rem;font-size:.6rem}.works{gap:1.25rem;margin-top:2.75rem;display:grid}.work{border:1px solid var(--n-rule);background:var(--n-surface);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;transition:border-color .25s;display:grid;overflow:hidden}.work:hover{border-color:var(--work)}@media (width<=820px){.work{grid-template-columns:1fr}}.work-vis{background:linear-gradient(140deg,#132026,#0e181c);justify-content:center;align-items:center;min-height:230px;padding:2.5rem 1.5rem;display:flex;position:relative;overflow:hidden}.work-vis:before{content:"";background:radial-gradient(circle,#f0b35738,#0000 65%);border-radius:50%;width:280px;height:280px;position:absolute}.work-vis .phone{width:130px;box-shadow:0 20px 50px -18px #000000e6}.work-vis .screen{padding:.9rem .6rem .6rem}.work-info{flex-direction:column;justify-content:center;gap:.9rem;padding:2rem clamp(1.25rem,3vw,2.25rem);display:flex}.work-info h3{font-family:var(--f-ui);letter-spacing:-.015em;font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:800}.work-info .oneline{font-family:var(--f-mincho);letter-spacing:.03em;color:var(--work);font-size:1.1rem}.work-info .body{color:var(--n-dim);max-width:34em;font-size:.92rem}.work-meta{font-family:var(--f-mono);letter-spacing:.1em;flex-wrap:wrap;gap:.45rem;margin-top:.3rem;font-size:.63rem;display:flex}.work-meta em{border:1px solid var(--n-rule);color:var(--n-dim);padding:.16rem .55rem;font-style:normal}.work-meta em.live{border-color:var(--work);color:var(--work)}.work-go{font-family:var(--f-mono);letter-spacing:.16em;color:var(--work);align-items:center;gap:.5rem;margin-top:.5rem;font-size:.7rem;display:inline-flex}.work-go span{transition:transform .25s;display:inline-block}.work:hover .work-go span{transform:translate(4px)}.work.pending{background:0 0;border-style:dashed}.work.pending:hover{border-color:var(--n-rule)}.pending-in{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding:2.5rem clamp(1.25rem,3vw,2.25rem);display:flex}.pending-in h3{font-family:var(--f-mincho);color:var(--n-dim);letter-spacing:.05em;font-size:1.3rem;font-weight:400}.pending-in span{font-family:var(--f-mono);letter-spacing:.16em;color:var(--n-dim);font-size:.63rem}.timeline{margin-top:3rem;position:relative}.tl-axis{background:var(--p-rule);width:1px;position:absolute;top:.6rem;bottom:.6rem;left:0}.tl-year{font-family:var(--f-mono);letter-spacing:.2em;color:var(--p-dim);margin:2.25rem 0 .9rem;padding-left:2.5rem;font-size:.68rem;position:relative}.tl-year:first-of-type{margin-top:0}.tl-year:before{content:"";background:var(--p-bg);border:1px solid var(--p-rule);width:7px;height:7px;position:absolute;top:.55rem;left:-3px}.tl-item{opacity:0;padding-bottom:1.6rem;padding-left:2.5rem;transition:opacity .55s,transform .55s;position:relative;transform:translateY(14px)}.tl-item.in{opacity:1;transform:none}.tl-dot{background:var(--p-bg);border:2px solid var(--tone);border-radius:50%;width:10px;height:10px;transition:transform .35s cubic-bezier(.2,1.4,.4,1) .12s;position:absolute;top:.72rem;left:-4.5px;transform:scale(.4)}.tl-item.in .tl-dot{transform:scale(1)}.tl-label{font-family:var(--f-mono);letter-spacing:.14em;background:var(--tone);color:var(--p-bg);vertical-align:.12em;padding:.1rem .5rem;font-size:.6rem;display:inline-block}.tl-date{font-family:var(--f-mono);letter-spacing:.1em;color:var(--p-dim);margin-left:.7rem;font-size:.66rem}.tl-item h4{font-family:var(--f-jp);margin-top:.5rem;font-size:1.05rem;font-weight:700;line-height:1.7}.tl-item p{color:var(--p-dim);max-width:42em;margin-top:.25rem;font-size:.92rem}.tl-legend{flex-wrap:wrap;gap:.5rem;margin-top:1.75rem;display:flex}.tl-legend em{font-style:normal;font-family:var(--f-mono);letter-spacing:.12em;color:var(--p-bg);padding:.12rem .55rem;font-size:.6rem}.tl-empty{border:1px dashed var(--p-rule);color:var(--p-dim);margin-top:2rem;padding:1.5rem;font-size:.9rem}.about{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(2rem,5vw,4.5rem);margin-top:2.75rem;display:grid}@media (width<=820px){.about{grid-template-columns:1fr}}.about .name{font-family:var(--f-ui);letter-spacing:-.015em;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;line-height:1.15}.about .role{font-family:var(--f-mono);letter-spacing:.18em;color:var(--p-dim);margin-top:.6rem;font-size:.66rem}.about p{max-width:40em;font-size:.98rem}.about p+p{margin-top:1.1rem}.stack{border-top:1px solid var(--p-rule);grid-template-columns:7.5rem 1fr;gap:.6rem 1rem;margin-top:2rem;padding-top:1.1rem;font-size:.88rem;display:grid}.stack dt{font-family:var(--f-mono);letter-spacing:.13em;color:var(--p-dim);padding-top:.28rem;font-size:.63rem}.stack dd{color:var(--p-ink);margin:0}.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,6vw,5rem);margin-top:2.5rem;display:grid}@media (width<=860px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}.contact-note{color:var(--n-dim);max-width:30em;margin-top:1.2rem;font-size:.98rem}.contact-direct{border-top:1px solid var(--n-rule);grid-template-columns:4.5rem 1fr;gap:.55rem 1rem;margin-top:2.25rem;padding-top:1.25rem;display:grid}.contact-direct dt{font-family:var(--f-mono);letter-spacing:.15em;color:var(--n-dim);text-transform:uppercase;padding-top:.28rem;font-size:.62rem}.contact-direct dd{word-break:break-all;margin:0;font-size:.86rem}.contact-direct a{font-family:var(--f-mono);color:var(--work);border-bottom:1px solid #0000;transition:border-color .18s}.contact-direct a:hover{border-bottom-color:var(--work)}.contact{text-align:center;padding-top:clamp(5rem,11vw,8rem);padding-bottom:clamp(4rem,9vw,7rem)}.contact h2{font-family:var(--f-mincho);letter-spacing:.05em;font-size:clamp(2rem,6vw,3.4rem);font-weight:800}.contact .mail{font-family:var(--f-mono);letter-spacing:.06em;color:var(--work);border-bottom:1px solid var(--work);margin-top:2rem;padding-bottom:.35rem;font-size:clamp(.9rem,2.4vw,1.15rem);display:inline-block}.contact .mail:hover{opacity:.75}.foot{border-top:1px solid var(--n-rule);font-family:var(--f-mono);letter-spacing:.12em;color:var(--n-dim);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:4rem;padding-top:1.5rem;font-size:.63rem;display:flex}.p-hero{padding-top:clamp(3.5rem,8vw,6rem);padding-bottom:clamp(3rem,7vw,5rem);position:relative;overflow:hidden}.p-hero:before{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#f0b35729,#0000 62%);border-radius:50%;width:760px;position:absolute;top:-40%;left:-14%}.crumb{font-family:var(--f-mono);letter-spacing:.16em;color:var(--n-dim);z-index:1;font-size:.65rem;position:relative}.crumb b{color:var(--work);font-weight:400}.p-hero h1{font-family:var(--f-ui);letter-spacing:-.02em;z-index:1;margin-top:1.1rem;font-size:clamp(3rem,9vw,6rem);font-weight:800;position:relative}.p-hero .tag{font-family:var(--f-mincho);letter-spacing:.05em;color:var(--work);z-index:1;margin-top:.6rem;font-size:clamp(1.1rem,3vw,1.6rem);position:relative}.prose{max-width:38em;color:var(--n-dim);margin-top:1.1rem;font-size:1rem}.prose p+p{margin-top:1.1rem}.spec{border-top:1px solid var(--n-rule);margin-top:3rem}.spec-cap{font-family:var(--f-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--work);margin-top:2.5rem;font-size:.62rem}.spec-sub{margin-top:.7rem}.spec-row{border-bottom:1px solid var(--n-rule);grid-template-columns:11rem 1fr;align-items:baseline;gap:1rem;padding:.85rem 0;display:grid}@media (width<=640px){.spec-row{grid-template-columns:8rem 1fr;gap:.6rem}}.spec-row dt{font-family:var(--f-mono);letter-spacing:.16em;color:var(--n-dim);font-size:.65rem}.spec-row dd{font-family:var(--f-mono);letter-spacing:.03em;font-variant-numeric:tabular-nums;margin:0;font-size:.88rem}.spec-row dd.hi{color:var(--work)}.cta{background:var(--work);color:#0c1417;font-family:var(--f-mono);letter-spacing:.14em;align-items:center;gap:.7rem;margin-top:2.25rem;padding:.9rem 1.6rem;font-size:.75rem;font-weight:600;display:inline-flex}.cta:hover{opacity:.86}.cta.wait{color:var(--work);border:1px solid var(--work);background:0 0}.screens{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.1rem;margin-top:3rem;display:grid}.screens .phone{width:100%;margin:0}.why{border-top:1px solid var(--p-rule);gap:0;margin-top:2.75rem;display:grid}.why-item{border-bottom:1px solid var(--p-rule);grid-template-columns:3.5rem minmax(0,1fr) minmax(0,1fr);gap:1.5rem;padding:1.9rem 0;display:grid}@media (width<=820px){.why-item{grid-template-columns:1fr;gap:.7rem;padding:1.5rem 0}}.why-no{font-family:var(--f-mono);letter-spacing:.14em;color:var(--p-mark);padding-top:.35rem;font-size:.68rem}.why-item h4{font-family:var(--f-mincho);letter-spacing:.03em;font-size:1.3rem;font-weight:800;line-height:1.5}.why-item .pair{color:var(--p-dim);font-size:.92rem}.why-item .pair b{color:var(--p-ink);font-size:.82rem;font-weight:700;font-family:var(--f-mono);letter-spacing:.1em;margin-bottom:.3rem;display:block}.why-item .pair .drop{margin-top:.85rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.hero-copy h1 .ln>span{transform:none}.hero-sub,.hero-shot{opacity:1}.tl-item{opacity:1;transform:none}.tl-dot{transform:scale(1)}html{scroll-behavior:auto}}
