:root{--ink:#17130f;--paper:#f4efe4;--paper-soft:#ebe0cf;--white:#fffaf0;--sumi:#211c18;--gold:#b99559;--moss:#637461;--carmine:#8d3832;--line:#211c182e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:linear-gradient(90deg, #211c180d 1px, transparent 1px) 0 0 / 18px 18px, var(--paper);font-family:var(--font-sans);letter-spacing:0;margin:0}body:before{content:"";pointer-events:none;opacity:.28;mix-blend-mode:multiply;z-index:5;background-image:url("data:image/svg+xml,%3Csvg width='160' height='160' viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.25'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}.site-header{z-index:20;color:var(--white);justify-content:space-between;align-items:center;gap:24px;padding:18px clamp(18px,4vw,56px);transition:background .18s,color .18s,border .18s;display:flex;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{color:var(--ink);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4efe4db}.brand{text-transform:uppercase;align-items:center;gap:10px;font-size:.82rem;font-weight:500;display:inline-flex}.brand-mark{aspect-ratio:1;flex:none;place-items:center;width:26px;display:inline-grid}.brand-mark img{object-fit:contain;filter:invert();width:100%;height:100%;transition:filter .18s}.site-header.is-scrolled .brand-mark img{filter:none}.site-nav{text-transform:uppercase;gap:clamp(14px,3vw,32px);font-size:.78rem;font-weight:700;display:flex}.hero{min-height:92svh;color:var(--white);background:var(--sumi);place-items:center;display:grid;position:relative;overflow:hidden}.hero-bg,.hero-shade{position:absolute;inset:0}.hero-bg{will-change:transform;background-image:url(/assets/machiya-hero.png);background-position:50%;background-size:cover;transform:scale(1.02)}.hero-shade{background:radial-gradient(circle at 50% 38%,#fffaf029,#0000 20%),linear-gradient(#00000052,#000000b8 76%,#000000e0)}.hero-inner{z-index:2;text-align:center;flex-direction:column;align-items:center;width:min(1040px,100% - 32px);padding-top:76px;display:flex;position:relative}.kamon{aspect-ratio:1;filter:drop-shadow(0 12px 24px #00000070);will-change:transform;width:clamp(132px,20vw,250px);margin-bottom:clamp(22px,4vw,42px)}.kamon img{object-fit:contain;width:100%;height:100%;animation:6s ease-in-out infinite crestBreath;display:block}.hero-kicker,.section-kicker{color:var(--gold);text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.hero h1{font-family:var(--font-serif);margin:8px 0 0;font-size:clamp(3rem,9.2vw,7rem);font-weight:900;line-height:1}.hero-copy{text-wrap:balance;width:min(760px,100%);margin:24px auto 0;font-size:clamp(1.12rem,2.2vw,1.52rem);line-height:1.9}.hero-subcopy{color:#fffaf0c7;text-wrap:balance;width:min(720px,100%);margin:12px auto 0;font-size:clamp(.94rem,1.7vw,1.08rem);line-height:1.9}.hero-proof{flex-wrap:wrap;justify-content:center;gap:8px;width:min(860px,100%);margin:24px 0 0;padding:0;list-style:none;display:flex}.hero-proof li{color:#fffaf0db;background:#fffaf00f;border:1px solid #fffaf05c;padding:7px 12px;font-size:.82rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:12px;width:min(100%,520px);margin-top:34px;display:flex}.button{border:1px solid;place-items:center;min-width:148px;min-height:46px;padding:12px 18px;font-size:.9rem;font-weight:700;transition:transform .16s,background .16s,color .16s;display:inline-grid}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--ink);background:var(--white);border-color:var(--white)}.button-ghost{color:var(--white);background:#ffffff0f}.section{padding:clamp(72px,10vw,132px) clamp(20px,5vw,72px);position:relative}.section-heading{width:min(980px,100%);margin:0 auto clamp(34px,6vw,72px)}.section-heading h2,.contact-inner h2{font-family:var(--font-serif);text-wrap:balance;margin:10px 0 0;font-size:clamp(2rem,4.8vw,4.4rem);font-weight:900;line-height:1.18}.intro-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,4vw,54px);width:min(980px,100%);margin:0 auto;padding:clamp(26px,5vw,48px) 0;display:grid}.intro-grid p,.work-item p,.focus-item p,.timeline p,.case-points dd{color:#17130fc2;margin:0;font-size:1rem;line-height:2}.skill-band{background:var(--sumi);color:var(--white);padding-top:28px;padding-bottom:28px;overflow:hidden}.skill-list{gap:clamp(28px,7vw,86px);width:max-content;min-width:100%;margin:0;padding:0;list-style:none;animation:28s linear infinite drift;display:flex}.skill-list li{white-space:nowrap;font-family:var(--font-serif);color:var(--paper);font-size:clamp(1.1rem,2.6vw,2.4rem);font-weight:900}.focus-section{background:var(--paper)}.focus-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:min(1040px,100%);margin:0 auto;display:grid}.focus-item{background:var(--paper);grid-template-rows:72px 1fr;align-items:start;min-height:280px;padding:clamp(24px,4vw,42px);display:grid}.focus-item h3{font-family:var(--font-serif);margin:0;font-size:clamp(1.35rem,2.3vw,2.1rem)}.focus-item p{margin:0}.sequence-section{background:var(--paper);grid-template-columns:minmax(320px,48vw) minmax(0,1fr);min-height:100svh;display:grid;position:relative;overflow:clip}.sequence-visual{background:var(--sumi);height:100svh;position:sticky;top:0;overflow:hidden}.sequence-image{will-change:transform;background:linear-gradient(#00000014,#0000008f),url(/assets/machiya-hero.png) 50%/cover;width:100%;height:112%;transform:scale(1.04)}.sequence-copy{align-self:center;padding:clamp(76px,10vw,132px) clamp(24px,6vw,82px)}.sequence-copy h2{font-family:var(--font-serif);text-wrap:balance;margin:10px 0 clamp(38px,7vw,86px);font-size:clamp(2.3rem,5.4vw,5.2rem);font-weight:900;line-height:1.12}.sequence-steps{border-top:1px solid var(--line);gap:0;display:grid}.sequence-step{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(0,160px) minmax(0,1fr);align-items:baseline;gap:clamp(16px,3vw,34px);padding:clamp(24px,4vw,42px) 0;display:grid;position:relative}.sequence-step span{color:var(--gold);font-weight:700}.sequence-step h3{text-transform:uppercase;margin:0;font-size:clamp(1.3rem,2.6vw,2.2rem);font-weight:700}.sequence-step p{color:#17130fc2;margin:0;line-height:1.9}.works-section{background:var(--paper-soft)}.work-list{background:var(--line);border:1px solid var(--line);gap:1px;width:min(1040px,100%);margin:0 auto;display:grid}.work-item{background:var(--paper-soft);grid-template-columns:86px minmax(0,1fr);align-items:start;gap:clamp(18px,3vw,34px);padding:clamp(24px,4vw,44px);transition:background .22s,transform .22s;display:grid}.work-item:hover{background:var(--paper);transform:translate(10px)}.work-no{font-family:var(--font-serif);color:var(--carmine);font-size:clamp(2.3rem,5vw,4.8rem);line-height:.9}.work-item h3{font-family:var(--font-serif);margin:0 0 18px;font-size:clamp(1.25rem,2.2vw,1.9rem)}.case-points{gap:12px;margin:0;display:grid}.case-points div{grid-template-columns:58px minmax(0,1fr);align-items:baseline;gap:16px;display:grid}.case-points dt{color:var(--gold);font-size:.78rem;font-weight:700}.timeline-section{background:var(--paper)}.timeline{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:min(980px,100%);margin:0 auto;padding:0;list-style:none;display:grid}.timeline li{background:var(--paper);grid-template-rows:56px 1fr;align-items:start;min-height:230px;padding:clamp(24px,4vw,38px);display:grid}.timeline time{font-family:var(--font-serif);color:var(--moss);font-size:clamp(1.2rem,2vw,1.7rem);font-weight:900;display:block}.contact-section{min-height:58svh;color:var(--white);background:linear-gradient(#17130fdb,#17130fe6),url(/assets/machiya-hero.png) 50%/cover;place-items:center;display:grid}.contact-inner{width:min(980px,100%)}.contact-copy{color:#fffaf0d1;width:min(640px,100%);margin:22px 0 0;line-height:1.9}.contact-link{color:var(--gold);border-bottom:1px solid;margin-top:26px;padding-bottom:5px;font-size:clamp(1.05rem,2vw,1.45rem);display:inline-block}.contact-name{color:#fffaf094;margin:18px 0 0;font-size:.92rem}@keyframes drift{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes crestBreath{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.025)}}.reveal{opacity:0;transition:opacity .76s,transform .76s;transition-delay:var(--delay,0s);transform:translateY(34px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.work-item.reveal:nth-child(2),.sequence-step.reveal:nth-child(2){--delay:90ms}.work-item.reveal:nth-child(3),.sequence-step.reveal:nth-child(3){--delay:.18s}.work-item.reveal:nth-child(4){--delay:.27s}@media (max-width:760px){.site-header{align-items:center;padding:14px 16px}.site-nav{gap:12px;font-size:.7rem}.hero{min-height:94svh}.hero-inner{width:min(100% - 28px,520px)}.hero-kicker{max-width:260px;line-height:1.5}.hero-copy{line-height:1.75}.hero-proof{gap:6px}.hero-proof li{font-size:.76rem}.intro-grid,.focus-grid,.timeline,.sequence-section{grid-template-columns:1fr}.sequence-visual{height:56svh;position:relative}.sequence-copy{padding:64px 20px 82px}.sequence-step{grid-template-columns:42px minmax(0,1fr)}.sequence-step p{grid-column:2}.work-item{grid-template-columns:48px minmax(0,1fr)}.case-points div{grid-template-columns:1fr;gap:2px}.button{flex:150px}}@media (max-width:430px){.brand span:last-child{display:none}}@media (max-width:360px){.site-nav{gap:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
