:root{--ease:cubic-bezier(.16,.84,.3,1);--bg:#0F0E0D;--surface:#161412;--text:#EDEAE4;--muted:#B3AEA5;--gold:#A88A5B;--mincho:'Shippori Mincho',serif;--sans:'Noto Sans JP',sans-serif;--latin:'Cormorant Garamond',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;font-variant-numeric:lining-nums;word-break:auto-phrase;line-break:strict;-webkit-font-smoothing:antialiased}p{text-wrap:pretty}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none;transition:opacity .2s,background-color .2s,transform .2s}a:hover{opacity:.75}a:active{opacity:.55}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--text);outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--mincho);font-weight:400}h2{font-size:clamp(30px,3.1vw,46px);line-height:1.65;letter-spacing:.04em}h3{font-size:28px;letter-spacing:.05em}ul,ol{list-style:none;padding:0;margin:0}.container{width:86.2%;max-width:1320px;margin-inline:auto}.section{padding-block:124px}.eyebrow{font:400 14px/1.6 var(--latin);letter-spacing:.36em;margin-bottom:30px}.header{position:fixed;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:48px 6.9%;transition:background-color .3s,padding .3s}.header.scrolled{background:var(--bg);padding-block:22px}.brand{display:flex;flex-direction:column;gap:7px;width:max-content}.brand-name{font:400 25px/1.2 var(--latin);letter-spacing:.34em}.brand-sub{font:400 10px/1.5 var(--latin);letter-spacing:.43em}.desktop-nav{display:flex;gap:44px;font:400 14px var(--latin);letter-spacing:.23em}.desktop-nav a{padding-block:10px}.menu-toggle{display:none}.hero{position:relative;min-height:720px;height:100svh;max-height:1100px;isolation:isolate}.hero-image{position:absolute;inset:0;width:100%;height:100%;z-index:-1;object-position:center;filter:brightness(.7)}.hero-copy{position:absolute;left:6.9%;top:34%;}.hero h1{font-size:clamp(44px,4.1vw,64px);line-height:1.55;letter-spacing:.08em}.hero-copy>p{font-family:var(--mincho);font-size:22px;letter-spacing:.08em;margin-top:28px;margin-bottom:36px}.line-button{display:inline-flex;justify-content:center;align-items:center;gap:18px;width:360px;max-width:100%;height:64px;background:var(--gold);color:var(--bg);font:400 20px var(--mincho);letter-spacing:.06em}.line-button:hover{background:#bea276;opacity:1}.line-button:active{background:#94774b;transform:translateY(1px);opacity:1}.line-icon{width:32px;height:32px;flex-shrink:0;letter-spacing:0}.line-button.cta-latin{font:500 26px/1 var(--latin);letter-spacing:.3em;gap:20px;padding-right:2px}.cta-latin span{margin-right:-.3em}.scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:12px;font:12px var(--latin);letter-spacing:.35em}.scroll-cue span{height:28px;width:1px;background:var(--text)}.concept,.philosophy{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.body-copy{font-family:var(--mincho);font-weight:400;font-size:15px;line-height:2.1;color:var(--muted);letter-spacing:.05em}.editorial-copy .body-copy{margin-top:30px;max-width:470px}.body-copy p+p{margin-top:16px}.landscape{width:100%;height:auto;aspect-ratio:3/2}.services{display:grid;grid-template-columns:1fr 46%;gap:7%;align-items:start;padding-top:68px}.service-list{display:flex;flex-direction:column;gap:37px;margin-top:52px}.service-list li{display:grid;grid-template-columns:68px 1fr;gap:24px}.service-number{color:var(--gold);font:400 36px/1.35 var(--latin)}.service-label{font:12px/1.5 var(--latin);letter-spacing:.28em;margin-bottom:5px}.service-description{font:400 14px/2 var(--mincho);letter-spacing:.04em;color:var(--muted);margin-top:10px}.service-photo{width:100%;height:860px;object-position:center;margin-top:48px}.needs{background:var(--surface);padding-block:150px}.needs-list{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;row-gap:44px;margin-block:64px}.needs-list li{display:flex;align-items:baseline;gap:.65em;font-family:var(--mincho);font-size:clamp(19px,1.85vw,28px);line-height:1.8}.needs-list li:before{content:'';width:1em;height:1px;background:var(--gold);flex-shrink:0;transform:translateY(-.3em)}.closing{margin-top:64px}.philosophy{padding-block:150px}.plan{background:var(--surface);text-align:center;padding-block:90px}.plan-name{margin-top:24px;margin-bottom:16px}.price{font-family:var(--mincho);white-space:nowrap;margin-bottom:20px}.price span{font-size:22px}.price strong{font:400 52px/1.3 var(--latin);letter-spacing:.02em;margin-inline:.15em}.plan .line-button{margin-top:38px}.flow{padding-block:150px;position:relative;isolation:isolate}.flow-list{display:grid;margin-top:48px}.flow-list li{display:grid;grid-template-columns:max-content 1fr;font-size:clamp(19px,1.7vw,24px)}.flow-list .eyebrow{font-size:12px;letter-spacing:.25em;display:block;margin-bottom:14px}.flow-list h3{font-size:1em;white-space:nowrap;margin-right:-.05em}.contact{text-align:center;padding-block:95px 110px;background:var(--surface)}.contact h2{font-size:34px}.contact .line-button{margin-top:38px}.footer{display:flex;justify-content:space-between;align-items:center;padding-block:50px}.footer .brand-name{font-size:20px}.footer small{font:11px var(--latin);letter-spacing:.12em}.sticky-line{display:none}.sp{display:none}[hidden]{display:none!important}.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(40px);filter:blur(10px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),filter 1.4s var(--ease);transition-delay:var(--delay,0s)}.motion-ready .reveal.visible{opacity:1;transform:none;filter:none}.motion-ready .hero-copy>*{animation:rise 1.6s var(--ease) both;animation-delay:calc(.25s + var(--i,0) * .18s)}.motion-ready .hero-copy>:nth-child(2){--i:1}.motion-ready .hero-copy>:nth-child(3){--i:2}.motion-ready .hero-copy>:nth-child(4){--i:3}@keyframes rise{from{opacity:0;transform:translateY(32px);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}.mobile-menu{display:none}.eyebrow,.service-number,.price strong,.flow-list .eyebrow,.footer small{font-variant-numeric:lining-nums}
@media(min-width:1600px){.hero-copy{top:35%}}
@media(max-width:1000px){.brand-name{font-size:20px}.desktop-nav{gap:24px}.header{padding-block:30px}.service-list li{grid-template-columns:44px 1fr;gap:16px}.service-description{max-width:300px}.service-photo{height:850px}}
@media(max-width:900px){.flow-list{display:grid;grid-template-columns:1fr;gap:32px;margin-top:36px}.flow-list li{grid-template-columns:76px 1fr;align-items:baseline;gap:12px}.flow-list li>*{grid-column:auto}.flow-list li:not(:last-child):after{display:none}.flow-list .eyebrow{margin:0}}
@media(max-width:1020px){.needs-list{grid-template-columns:1fr;row-gap:30px;margin-block:52px}.closing{margin-top:52px}}
@media(max-width:700px){html{scroll-padding-top:88px}.container{width:calc(100% - 48px)}.section{padding-block:76px}.header,.header.scrolled{padding:24px;align-items:center}.brand-name{font-size:17px;letter-spacing:.21em}.brand-sub{font-size:8px;letter-spacing:.25em}.brand{gap:6px}.desktop-nav{display:none}.menu-toggle{display:flex;width:40px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:0;background:transparent;color:var(--text);padding:8px;cursor:pointer}.menu-toggle span{width:24px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}.menu-toggle:hover{background:#292520}.menu-toggle:active{background:#3b342b}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:25;background:var(--bg);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:44px;padding:100px 24px 40px;overflow:auto}.mobile-menu nav{display:flex;flex-direction:column;gap:26px;text-align:center;font:24px var(--latin);letter-spacing:.26em}.mobile-menu nav a{padding:8px}.mobile-menu .line-button{width:327px}.hero{height:100svh;min-height:700px;max-height:960px}.hero-image{object-position:65% center}.hero-copy{left:24px;right:24px;top:25%}.hero h1{font-size:36px;line-height:1.65;letter-spacing:.06em}.hero-copy>p{font-size:14px;line-height:2;letter-spacing:0;margin-top:22px;margin-bottom:28px;white-space:nowrap}.line-button{width:327px;height:60px;font-size:18px;gap:14px}.line-button.cta-latin{font-size:22px;gap:16px}.hero .line-button{width:327px}.line-icon{width:29px;height:29px}.scroll-cue{bottom:22px;font-size:10px}.concept,.philosophy,.services{grid-template-columns:1fr;gap:36px}.eyebrow{font-size:12px;letter-spacing:.28em;margin-bottom:24px}h2{font-size:28px;line-height:1.7;letter-spacing:.04em}.body-copy{font-size:14px;line-height:2.1}.editorial-copy .body-copy{margin-top:24px}.services{padding-top:28px}.services h2{font-size:28px}.service-list{gap:32px;margin-top:38px}.service-list li{grid-template-columns:42px 1fr;gap:16px}.service-number{font-size:32px}.service-label{font-size:10px;letter-spacing:.23em}h3{font-size:24px}.service-description{font-size:13px;line-height:2;margin-top:8px}.service-photo{margin-top:4px;height:auto;aspect-ratio:2/3;max-height:560px}.needs-list{gap:26px;margin-block:40px}.needs-list li{font-size:17.5px;line-height:1.7}.needs-list li:before{width:.7em}.sp{display:inline}.closing{margin-top:40px}.needs{padding-block:76px}.philosophy .landscape{order:2}.philosophy .editorial-copy{order:1}.price span{font-size:17px}.price strong{font-size:40px}.plan .body-copy{max-width:300px;margin-inline:auto}.plan-name{font-size:11px;letter-spacing:.24em}.plan .line-button{margin-top:30px}.flow-list .eyebrow{font-size:10px;letter-spacing:.18em}.flow-list h3{font-size:20px;letter-spacing:0;margin-right:0}.contact h2{font-size:23px;letter-spacing:.02em}.contact .line-button{margin-top:30px}.footer{flex-direction:column;align-items:flex-start;gap:30px;padding-block:40px 48px}.footer .brand-name{font-size:18px}.sticky-line{position:fixed;bottom:0;left:0;width:100%;z-index:20;display:block;background:var(--gold);padding-bottom:env(safe-area-inset-bottom)}.sticky-line .line-button{width:100%;height:52px;font-size:16px}.sticky-line .line-button.cta-latin{font-size:20px;gap:14px}.sticky-line .line-icon{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion-ready .reveal{opacity:1;transform:none;filter:none}}
.service-note{font:400 13px/2 var(--mincho);letter-spacing:.04em;color:var(--muted);margin-top:44px}.plan-heading{margin:4px 0 36px}.flow-heading{margin-top:-6px}.flow-description{font:400 14px/2 var(--mincho);letter-spacing:.04em;color:var(--muted);margin-top:14px}.contact-body{margin-top:28px}.contact-closing{margin-top:36px}.copy-original .needs-list li{font-size:clamp(16px,1.3vw,19px)}
@media(min-width:901px){.flow-list{grid-template-columns:repeat(4,1fr);column-gap:56px;align-items:start}.flow-list li{display:block}.flow-list h3{white-space:normal}}
@media(max-width:900px){.flow-list li{align-items:start}.flow-list .eyebrow{align-self:center;line-height:1}.flow-list h3{line-height:1.5}.flow-list .flow-description{grid-column:2;margin-top:6px}}
@media(max-width:700px){.flow-description{font-size:13px}.copy-original .needs-list li{font-size:15px;letter-spacing:0}.service-note{font-size:12px;margin-top:36px}}
@media(max-width:700px){.hero-copy{top:0;bottom:0;display:flex;flex-direction:column;align-items:flex-start;padding:22svh 0 100px}.hero .line-button.cta-latin{margin-top:auto;width:100%;height:56px;font-size:19px;gap:14px}}
.intro{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:120px}.intro p:not(.eyebrow){font:400 clamp(18px,1.9vw,28px)/2.1 var(--mincho);letter-spacing:.08em;max-width:1000px}.intro p:not(.eyebrow)+p{margin-top:28px}
@media(max-width:700px){.intro{padding-block:96px}.intro p:not(.eyebrow){font-size:16px;letter-spacing:.04em}}
body{overflow-x:clip}.flow:before{content:'';position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:url(assets/flow.jpg) center/cover no-repeat;opacity:.62}.flow:after{content:'';position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:linear-gradient(180deg,rgba(15,14,13,.84) 0%,rgba(15,14,13,.45) 42%,rgba(15,14,13,.8) 100%)}.service-slides{position:relative;overflow:hidden}.service-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 2.4s var(--ease),transform 10s linear}.service-slides img.is-active{opacity:1;transform:scale(1)}
@media(max-width:700px){.flow{padding-block:96px}.flow:before{background-image:url(assets/flow-3x2.jpg);opacity:.62}.flow:after{background:rgba(15,14,13,.68)}}
html{scroll-snap-type:y proximity}main>section{scroll-snap-align:start}
@media(min-width:701px){.philosophy{display:flex;align-items:center;min-height:min(100svh,900px);padding-block:160px;position:relative;isolation:isolate}.philosophy .editorial-copy{max-width:40%}.philosophy-photo{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;max-width:none;height:100%;object-fit:cover;object-position:right center;opacity:.72;z-index:-1}.philosophy:after{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:-1;background:linear-gradient(90deg,rgba(15,14,13,.9) 0%,rgba(15,14,13,.78) 36%,rgba(15,14,13,0) 62%)}}
@media(min-width:701px) and (max-width:1100px){.philosophy-photo{opacity:.6}.philosophy:after{background:linear-gradient(90deg,rgba(15,14,13,.9) 0%,rgba(15,14,13,.8) 46%,rgba(15,14,13,.1) 85%)}}
@media(max-width:700px){.philosophy{position:relative;isolation:isolate;padding-block:120px}.philosophy-photo{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;max-width:none;height:100%;object-fit:cover;object-position:70% center;opacity:.62;z-index:-1}.philosophy:after{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:-1;background:linear-gradient(180deg,rgba(15,14,13,.82) 0%,rgba(15,14,13,.66) 65%,rgba(15,14,13,.38) 100%)}}
.company{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:7%;align-items:start;padding-block:140px}
.company-head{position:sticky;top:140px}
.company-head h2{white-space:nowrap}
.company-table{font-family:var(--mincho);font-weight:400;letter-spacing:.05em;border-top:1px solid #2B2723}
.company-table>div{display:grid;grid-template-columns:150px 1fr;gap:32px;padding-block:26px;border-bottom:1px solid #2B2723}
.company-table dt{font-size:14px;line-height:2;color:var(--muted)}
.company-table dd{margin:0;font-size:16px;line-height:2;color:var(--text)}
.company-business li{display:flex;align-items:baseline;gap:.8em}
.company-business li:before{content:'';width:.9em;height:1px;background:var(--gold);flex-shrink:0;transform:translateY(-.32em)}
.company-business li+li{margin-top:6px}
.company-table .company-summary{font-size:15px;line-height:2.1;color:var(--muted)}
.company-summary p+p{margin-top:14px}
@media(max-width:900px){.company{grid-template-columns:1fr;gap:12px}
.company-head{position:static}
}
@media(max-width:700px){.company{padding-block:88px 72px}
.company-table>div{grid-template-columns:72px 1fr;gap:12px;padding-block:18px}
.company-table dt{font-size:12px;line-height:2.5;letter-spacing:.08em}
.company-table dd{font-size:15px;line-height:1.9}
.company-table .company-summary{font-size:14px;line-height:2}
}
