:root{--paper:#eee7dc;--paper2:#f6f1e9;--wine:#650d1d;--dark:#36050d;--ink:#161312;--muted:#6e655f;--gold:#a17b35;--line:rgba(22,19,18,.24);--sans:"Noto Sans JP",sans-serif;--serif:"Bodoni Moda",serif;--cond:"Oswald",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 var(--sans)}img{max-width:100%}a{color:inherit;text-decoration:none}.section-pad{padding:clamp(90px,10vw,160px) clamp(22px,7vw,112px)}
.site-header{height:86px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(238,231,220,.96);position:relative;z-index:20}.wordmark{display:flex;align-items:baseline;gap:8px;line-height:1}.wordmark b{font:600 2rem/1 var(--cond);letter-spacing:.04em}.wordmark span{font:500 .74rem/1 var(--cond);letter-spacing:.3em}.site-nav{display:flex;align-items:center;gap:30px;font:500 .76rem/1 var(--cond);letter-spacing:.18em;text-transform:uppercase}.nav-cta{border:1px solid var(--ink);padding:12px 18px}.menu-button{display:none;border:0;background:transparent;padding:8px}.menu-button span{display:block;width:26px;height:1px;background:var(--ink);margin:5px}.menu-button i{position:absolute;width:1px;height:1px;overflow:hidden}
.hero{min-height:calc(100svh - 86px);display:grid;grid-template-columns:48% 52%;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-copy{padding:clamp(72px,9vw,145px) 4vw clamp(95px,10vw,150px) clamp(22px,7vw,112px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;z-index:2}.kicker,.section-no{font:500 .73rem/1 var(--cond);letter-spacing:.28em}.kicker{color:var(--wine);margin:0 0 42px}.hero h1{font-size:clamp(2.9rem,5vw,6.1rem);line-height:1.27;letter-spacing:-.055em;margin:0;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--wine)}.hero-text{margin:40px 0 36px;color:#514945;line-height:2.15}.hero-actions{display:flex;align-items:center;gap:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 26px;font-weight:700;font-size:.87rem;letter-spacing:.06em}.button-fill{background:var(--wine);color:#fff}.text-link{font-size:.84rem;border-bottom:1px solid var(--ink);padding:8px 0}.text-link span{margin-left:22px}.hero-art{background:var(--paper2);display:flex;align-items:center;justify-content:center;padding:4vw;position:relative}.hero-art:before{content:"";position:absolute;inset:25px;border:1px solid rgba(101,13,29,.38)}.hero-art img{width:min(100%,690px);mix-blend-mode:multiply;position:relative}.hero-edge{position:absolute;bottom:0;left:0;right:52%;height:45px;border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;padding-left:clamp(22px,7vw,112px);font:500 .61rem/1 var(--cond);letter-spacing:.18em;color:var(--muted)}
.section-no{color:var(--wine);margin:0}.manifesto{display:grid;grid-template-columns:23% 1fr auto;gap:6vw;align-items:start;background:var(--paper2);border-bottom:1px solid var(--line)}.manifesto-main{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw}.manifesto h2,.section-title h2,.price h2,.systems h2,.flow h2,.contact h2{font:600 clamp(2.5rem,5vw,5.5rem)/1.3 var(--serif);letter-spacing:-.05em;margin:0}.manifesto-main>p{margin:8px 0 0;color:var(--muted);line-height:2.2}.vertical-copy{margin:0;writing-mode:vertical-rl;font:500 .63rem/1.6 var(--cond);letter-spacing:.28em;color:var(--gold)}
.service{background:var(--ink);color:var(--paper)}.service .section-no,.works .section-no{color:#ce9ea6}.section-title{display:grid;grid-template-columns:23% 1fr 36%;gap:5vw;align-items:end;margin-bottom:80px}.section-title>p:last-child{color:#aaa19a;margin:0 0 10px;line-height:2}.service-grid{border-top:1px solid rgba(255,255,255,.3)}.service-grid article{display:grid;grid-template-columns:65px 1fr 1.1fr auto;gap:3vw;align-items:center;border-bottom:1px solid rgba(255,255,255,.2);padding:32px 0}.service-grid article>span,.service-grid b{font:500 .66rem/1 var(--cond);letter-spacing:.2em;color:#918985}.service-grid h3{font:500 clamp(2rem,4vw,4rem)/1 var(--serif);margin:0}.service-grid p{color:#aaa19a;font-size:.9rem;margin:0}.service-grid b{text-align:right}
.works{background:var(--wine);color:#fff}.works-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:64px}.works-head h2{font:500 clamp(2.8rem,6vw,6rem)/1 var(--serif);letter-spacing:-.04em;margin:26px 0 0}.works-head h2 i{font-style:normal;color:#d7a4ad}.works-head>p{color:#dfbcc2;margin:0}.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.works-grid figure{margin:0;background:var(--paper2);color:var(--ink);overflow:hidden}.works-grid figure img{display:block;width:100%;aspect-ratio:1038/1516;object-fit:cover;transition:transform .5s}.works-grid figure:hover img{transform:scale(1.018)}.works-grid figcaption{display:flex;justify-content:space-between;padding:18px 20px;font:500 .78rem/1 var(--cond);letter-spacing:.12em;text-transform:uppercase}.works-grid figcaption b{color:var(--wine)}
.price{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--paper2);align-items:center}.price-copy>p:not(.section-no){max-width:560px;color:var(--muted);line-height:2.2;margin:34px 0}.button-outline{border:1px solid var(--ink)}.price-panel{border:1px solid var(--wine);padding:clamp(30px,5vw,65px);position:relative}.price-panel:before{content:"";position:absolute;inset:7px;border:1px solid rgba(101,13,29,.35);pointer-events:none}.price-panel>p{font:500 .78rem/1 var(--cond);letter-spacing:.28em;color:var(--wine);margin:0 0 30px}.price-panel dl{margin:0}.price-panel dl>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0}.price-panel dt{font:500 1.3rem/1.2 var(--serif)}.price-panel dd{margin:0;font-weight:700}.price-panel small{display:block;color:var(--muted);margin-top:22px}
.systems{border-top:12px solid var(--dark);background:var(--paper)}.systems .section-title>p:last-child{color:var(--muted)}.logo-panel{display:grid;grid-template-columns:1fr 1px 1fr;border:1px solid var(--line);background:var(--paper2);padding:clamp(25px,5vw,64px);align-items:center;gap:5vw}.logo-panel>span{height:100%;background:var(--line)}.logo-panel>div{text-align:center}.logo-panel img{height:110px;width:100%;object-fit:contain;mix-blend-mode:multiply}.logo-panel p{font:500 .65rem/1 var(--cond);letter-spacing:.22em;color:var(--muted);margin:20px 0 0}.approved{font:500 .69rem/1.8 var(--cond);letter-spacing:.2em;margin:34px 0 0}.approved span{display:block;color:var(--muted);letter-spacing:.08em;margin-top:8px}
.approved span i{display:block;font-style:normal;white-space:nowrap}
.flow{background:var(--paper2)}.flow-title{display:flex;justify-content:space-between;align-items:end;gap:6vw;margin:32px 0 58px}.flow-title p{max-width:650px;color:var(--muted);margin:0}.flow ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.flow li{padding:32px 26px 25px;border-right:1px solid var(--line);min-height:255px}.flow li:nth-child(3n){border-right:0}.flow li:nth-child(n+4){border-top:1px solid var(--line)}.flow li b{font:500 .72rem/1 var(--cond);color:var(--wine)}.flow li h3{font-size:1.15rem;margin:42px 0 12px}.flow li p{font-size:.88rem;color:var(--muted);margin:0}
.service-area{display:grid;gap:5px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.service-area b{margin-bottom:4px;letter-spacing:.16em}.service-area span{font-size:.74rem;line-height:1.65;color:var(--muted)}
.service-area .reservation-note{margin-top:7px;color:var(--wine);font-weight:600;letter-spacing:.1em}
.flow-notes{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.flow-notes p{position:relative;margin:6px 0;padding-left:1.35em;color:var(--muted);font-size:.75rem;line-height:1.8}.flow-notes p:before{content:"※";position:absolute;left:0;color:var(--wine)}
.contact{background:var(--dark);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact .section-no{color:#d59aa4;margin-bottom:32px}.contact-box{border-top:1px solid rgba(255,255,255,.45);padding-top:30px}.contact-box>p{font-size:1.2rem}.contact-box ul{list-style:none;padding:0;margin:28px 0}.contact-box li{border-top:1px solid rgba(255,255,255,.18);padding:12px 0}.contact-box li b{font:500 .68rem/1 var(--cond);color:#d59aa4;margin-right:22px}.button-light{background:var(--paper);color:var(--dark);width:100%;justify-content:space-between}.contact-box small{display:block;color:#a98b90;margin-top:15px}
footer{background:#0d0b0b;color:#fff;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:6vw;padding:45px clamp(22px,7vw,112px)}footer img{width:260px;mix-blend-mode:screen;filter:grayscale(1) contrast(1.25)}footer p{font-size:.72rem;letter-spacing:.15em;color:#9d9692;margin:4px 0}
@media(max-width:900px){.site-header{height:72px}.menu-button{display:block;z-index:3}.site-nav{display:none;position:absolute;right:0;top:0;width:min(82vw,380px);height:100vh;background:var(--dark);color:#fff;padding:100px 40px;flex-direction:column;align-items:flex-start;font-size:1.1rem}.site-nav.open{display:flex}.hero{min-height:auto;grid-template-columns:1fr}.hero-copy{padding-bottom:70px}.hero h1{font-size:clamp(2.6rem,9vw,4.6rem);white-space:normal}.hero-art{padding:35px 9vw 65px}.hero-art img{max-width:560px}.hero-edge{display:none}.manifesto,.manifesto-main,.section-title,.price,.contact{grid-template-columns:1fr}.manifesto{gap:50px}.manifesto-main{gap:30px}.vertical-copy{display:none}.section-title{gap:24px}.service-grid article{grid-template-columns:48px 1fr}.service-grid article p,.service-grid article b{grid-column:2}.works-grid{grid-template-columns:1fr 1fr}.flow ol{grid-template-columns:1fr 1fr}.flow li{border-right:1px solid var(--line)}.flow li:nth-child(2n){border-right:0}.flow li:nth-child(n+3){border-top:1px solid var(--line)}footer{grid-template-columns:1fr;gap:20px}}
@media(max-width:560px){.section-pad{padding-left:22px;padding-right:22px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-art:before{inset:12px}.manifesto h2,.section-title h2,.price h2,.systems h2,.flow h2,.contact h2{font-size:2.55rem}.works-head,.flow-title{display:block}.works-head>p{margin-top:25px}.works-grid{grid-template-columns:1fr}.service-grid article{padding:26px 0}.service-grid h3{font-size:2rem}.logo-panel{grid-template-columns:1fr}.logo-panel>span{height:1px;width:100%}.flow ol{grid-template-columns:1fr}.flow li,.flow li+li{padding:24px 0;border-right:0!important;border-top:1px solid var(--line);min-height:0}.flow li h3{margin:18px 0 6px}footer img{width:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.works-grid figure img{transition:none}}
.payment-info{background:var(--paper2);border-top:10px solid var(--dark);padding-top:clamp(34px,5vw,72px);padding-bottom:clamp(34px,5vw,72px)}.payment-poster{width:min(100%,1145px);margin:0 auto}.payment-poster img{display:block;width:100%;height:auto}
.hero h1 span,.hero h1 em{display:block;white-space:nowrap}
@media(max-width:900px){.hero h1{font-size:clamp(2rem,8.3vw,4.6rem);white-space:normal}}
.brand-banner{background:var(--paper2);border-bottom:1px solid var(--line)}.brand-banner img{display:block;width:100%;height:auto}
.hero{min-height:auto;display:block}.hero-copy{min-height:680px;max-width:1180px;padding-right:clamp(22px,7vw,112px)}.hero-edge{display:none}
@media(max-width:900px){.hero-copy{min-height:auto;padding-top:90px;padding-bottom:100px}.brand-banner img{width:100%;height:auto}}
.manifesto h2 span{display:block;white-space:nowrap}
@media(max-width:560px){.manifesto h2{font-size:clamp(1.75rem,7.4vw,2.55rem)}}
.flow h2 span,.contact h2 span{display:block;white-space:nowrap}
@media(max-width:560px){.flow h2,.contact h2{font-size:clamp(1.7rem,7.2vw,2.55rem)}}
footer{grid-template-columns:1fr auto}footer>p{text-align:right}
@media(max-width:900px){footer{grid-template-columns:1fr}footer>p{text-align:left;margin-top:20px}}
.other-services{margin-top:62px;border-top:1px solid rgba(255,255,255,.2);padding-top:24px}.other-services>p{font:500 .68rem/1 var(--cond);letter-spacing:.25em;color:#ce9ea6;margin:0 0 22px}.other-services>div{display:grid}.other-services span{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-bottom:1px solid rgba(255,255,255,.1);padding:13px 0;font:500 .82rem/1.7 var(--cond);letter-spacing:.08em;color:#bdb5b0}.other-services b{font:400 .76rem/1.7 var(--sans);letter-spacing:0;color:#7f7773;margin-left:10px;text-align:right}.service-price small{display:grid;gap:1px;margin-top:5px;font:500 .66rem/1.6 var(--cond);letter-spacing:.04em;color:#a88f93}.service-price small i{font-style:normal;white-space:nowrap}
.price-panels{display:grid;gap:24px}
@media(max-width:560px){.other-services span{gap:18px}.other-services b{text-align:right}.service-price{align-items:flex-start}.service-price small{max-width:220px;white-space:normal}.price-panels{gap:18px}}
.works-links{display:flex;justify-content:flex-end;align-items:flex-end;gap:42px;margin-top:46px}.works-page-link{display:flex;width:min(100%,360px);justify-content:space-between;align-items:center;margin:0;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.75);font-size:.88rem;letter-spacing:.08em}.works-page-link span{font-size:1.1rem}.works-instagram{width:min(100%,285px);color:#dfbcc2;border-color:rgba(223,188,194,.55);font:500 .72rem/1 var(--cond);letter-spacing:.15em}
.works-page-hero{min-height:430px;background:var(--wine);color:#fff;display:grid;grid-template-columns:22% 1fr auto;gap:6vw;align-items:end}.works-page-hero .section-no{color:#d9a8b0;align-self:start}.works-page-hero h1{font:600 clamp(4.2rem,9vw,9rem)/.95 var(--serif);letter-spacing:-.06em;margin:0}.works-page-hero div>p{color:#dfbcc2;margin:32px 0 0}.works-page-hero>span{font:500 .68rem/1.7 var(--cond);letter-spacing:.28em;color:#d9a8b0;writing-mode:vertical-rl}.work-case{background:var(--paper2)}.case-heading{display:grid;grid-template-columns:18% 1fr auto;gap:6vw;align-items:start;margin-bottom:clamp(80px,10vw,150px)}.case-heading>p{margin:7px 0 0;font:500 .75rem/1 var(--cond);letter-spacing:.25em;color:var(--wine)}.case-heading>div>span{font:500 .7rem/1 var(--cond);letter-spacing:.22em;color:var(--gold)}.case-heading h2{font:600 clamp(2.5rem,5vw,5.6rem)/1.24 var(--serif);letter-spacing:-.05em;margin:19px 0 26px}.case-heading div>p{max-width:610px;color:var(--muted);margin:0}.case-categories{display:grid;gap:10px}.case-categories span{border-bottom:1px solid var(--line);padding:10px 0;font:500 .65rem/1 var(--cond);letter-spacing:.18em;color:var(--wine);white-space:nowrap}.repair-block + .repair-block{margin-top:clamp(100px,12vw,180px)}.repair-heading{display:grid;grid-template-columns:70px 1fr minmax(260px,36%);gap:4vw;align-items:end;border-top:1px solid var(--ink);padding:25px 0 42px}.repair-heading>span{font:500 .72rem/1 var(--cond);color:var(--wine)}.repair-heading div p{font:500 .72rem/1 var(--cond);letter-spacing:.22em;color:var(--wine);margin:0 0 10px}.repair-heading h3{font:500 clamp(2.2rem,4.2vw,4.6rem)/1 var(--serif);letter-spacing:-.04em;margin:0}.repair-heading>p{color:var(--muted);font-size:.88rem;margin:0}.comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(14px,2.5vw,34px);align-items:center}.comparison-side h4{font:500 clamp(1.8rem,4vw,4.4rem)/1 var(--serif);letter-spacing:-.04em;margin:0 0 22px}.comparison-side:last-child h4{color:var(--wine)}.comparison-side>div{display:grid;grid-template-columns:1.4fr .8fr;gap:10px;min-height:540px}.work-photo{position:relative;border:0;padding:0;background:#161312;overflow:hidden;cursor:zoom-in}.work-photo img{display:block;width:100%;height:100%;min-height:540px;object-fit:cover;transition:transform .5s,opacity .3s}.work-photo:hover img{transform:scale(1.02);opacity:.92}.work-photo span{position:absolute;left:14px;bottom:12px;background:rgba(13,11,11,.82);color:#fff;padding:8px 10px;font:500 .6rem/1 var(--cond);letter-spacing:.16em}.comparison-arrow{font:400 1.4rem/1 var(--serif);color:var(--wine)}.works-contact{background:var(--dark);color:#fff;display:grid;grid-template-columns:22% 1fr;gap:6vw}.works-contact .section-no{color:#d59aa4}.works-contact h2{font:600 clamp(2.6rem,5vw,5.8rem)/1.3 var(--serif);letter-spacing:-.05em;margin:0 0 46px}.works-contact .button-fill{background:var(--paper);color:var(--dark);min-width:260px;justify-content:space-between}.photo-viewer{width:min(92vw,1100px);max-height:92vh;border:0;padding:0;background:#0d0b0b;color:#fff}.photo-viewer::backdrop{background:rgba(13,11,11,.9)}.photo-viewer img{display:block;width:100%;max-height:82vh;object-fit:contain}.photo-viewer button{position:absolute;right:14px;top:14px;width:44px;height:44px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(13,11,11,.75);color:#fff;font-size:1.5rem;cursor:pointer}.photo-viewer p{margin:0;padding:14px 20px;color:#c9c0ba;font-size:.78rem}.works-page-body footer{border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:900px){.works-page-hero{grid-template-columns:1fr;align-items:start;gap:38px}.works-page-hero>span{display:none}.case-heading{grid-template-columns:1fr}.case-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.repair-heading{grid-template-columns:45px 1fr}.repair-heading>p{grid-column:2}.comparison-side>div{min-height:420px}.work-photo img{min-height:420px}.works-contact{grid-template-columns:1fr}}
@media(max-width:620px){.works-page-hero{min-height:360px;padding-top:70px}.works-page-hero h1{font-size:clamp(3.5rem,17vw,5.7rem)}.case-heading{margin-bottom:80px}.case-heading h2{font-size:2.45rem}.repair-heading{padding-bottom:28px}.repair-heading h3{font-size:2.2rem}.comparison{grid-template-columns:1fr;gap:38px}.comparison-arrow{display:none}.comparison-side>div{grid-template-columns:1.3fr .8fr;min-height:310px}.work-photo img{min-height:310px}.comparison-side h4{font-size:2.5rem;margin-bottom:15px}.comparison-side:last-child{padding-top:30px;border-top:1px solid var(--line)}.photo-viewer{width:96vw}}
.footer-instagram{display:inline-block;margin-top:15px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.28);font:500 .69rem/1.7 var(--cond);letter-spacing:.16em;color:#c4bbb6}
@media(max-width:620px){.works-links{display:grid;gap:18px}.works-page-link,.works-instagram{width:100%}}
.case-heading h2 span{display:block;color:inherit;font:inherit;letter-spacing:inherit}.case-heading h2 span+span{margin-top:.08em}
.visit-workspace-guide{width:min(100%,980px);margin:70px auto 0}.visit-workspace-guide img{display:block;width:100%;height:auto}
.visit-workspace-guide+.visit-workspace-guide{margin-top:28px}
@media(max-width:560px){.visit-workspace-guide{margin-top:46px}}
.works-contact h2 span{display:block;white-space:nowrap}
@media(max-width:620px){.works-contact h2{font-size:clamp(1.75rem,7.4vw,2rem)}}
