@charset "UTF-8";
:root{--ink:#222c29;--dark:#202927;--paper:#fafafa;--white:#fff;--muted:#68716d;--line:#dce0dd;--accent:#805443;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p,h1,h2,h3,figure{margin:0}p{overflow-wrap:anywhere}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(30px,3.3vw,46px);line-height:1.7;letter-spacing:.07em}h3{font-size:23px;line-height:1.7;letter-spacing:.05em}.skip{position:fixed;top:-100px;background:white;z-index:100;padding:10px 24px}.skip:focus{top:10px}.header{height:104px;display:flex;align-items:center;gap:32px;justify-content:space-between;padding:0 4.5%;background:rgba(250,250,250,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;flex-direction:column;text-align:center;font-family:Georgia,serif;font-size:34px;letter-spacing:.19em;line-height:1.1}.wordmark span{font-family:var(--sans);font-size:10px;letter-spacing:.23em;margin-top:9px;padding-right:5px}.desktop-nav{display:flex;gap:30px;font-size:14px;margin-left:auto}.desktop-nav a{transition:color .2s}.desktop-nav a:hover{color:var(--accent)}.header-cta{font-size:14px;border:1px solid var(--ink);padding:12px 18px;display:flex;gap:26px;align-items:center}.header-cta:hover{background:var(--dark);color:white}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:48% 52%;min-height:700px;height:calc(100svh - 104px);max-height:950px}.hero-copy{padding:64px 7.5% 26px 12%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.17em;font-weight:500;line-height:1.6}.hero h1{font-size:clamp(54px,6.2vw,89px);line-height:1.55;letter-spacing:.07em;margin:33px 0 20px}.hero h1 span{padding-left:.48em}.hero-lead{font-size:20px;font-family:var(--serif);letter-spacing:.07em;line-height:1.9}.hero-desc{font-size:14px;line-height:2;margin:22px 0 26px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:56px;min-height:55px;padding:12px 25px;font-size:14px}.button-dark{background:var(--dark);color:white;transition:background .2s}.button-dark:hover{background:#43544c}.hero-note{font-size:12px;color:var(--muted);margin-top:12px}.hero-foot{display:flex;justify-content:space-between;width:100%;gap:15px;font-size:9px;letter-spacing:.12em;margin-top:auto;padding-top:30px}.hero-foot a{display:flex;gap:14px}.hero-visual{position:relative;overflow:hidden;background:#2a2d2a}.hero-visual img{object-position:center 30%;filter:brightness(.88)}.image-label{position:absolute;bottom:25px;left:30px;right:30px;display:flex;flex-direction:column;gap:3px;color:white;text-shadow:0 1px 10px #000;font-size:9px;letter-spacing:.13em}.image-label span:last-child{font-size:10px;letter-spacing:.03em}.service-strip{display:flex;align-items:center;justify-content:center;gap:0;padding:28px 5%;font-size:12px;letter-spacing:.06em;border-bottom:1px solid var(--line);background:#fff}.service-strip span{padding:0 35px;border-right:1px solid var(--line)}.service-strip span:last-child{border:0}.section{padding:115px max(6%,calc((100vw - 1260px)/2))}.section-heading .eyebrow{color:var(--accent);margin-bottom:28px}.section-heading>p:not(.eyebrow){margin-top:24px;color:var(--muted);font-size:14px;line-height:2}.philosophy{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:135px;padding-bottom:105px}.philosophy-body{padding-top:4px}.philosophy-body>p{font-size:15px;line-height:2.3;margin-bottom:24px}.philosophy-body .large-copy{font-family:var(--serif);font-size:24px;line-height:1.9;margin-bottom:30px}.signature{border-top:1px solid var(--line);padding-top:26px;margin-top:35px;font-family:Georgia,serif;font-size:22px;letter-spacing:.17em;display:flex;align-items:center;gap:30px}.signature span{font-family:var(--sans);font-size:11px;letter-spacing:.05em;color:var(--muted)}.approach{display:grid;grid-template-columns:repeat(3,1fr);margin:0 6% 110px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.approach article{padding:36px 40px 42px 0}.approach article+article{border-left:1px solid var(--line);padding-left:40px}.index{font-family:Georgia,serif;color:var(--accent);font-size:15px}.approach h3{margin:17px 0 14px}.approach p{font-size:14px;color:var(--muted);line-height:2}.collection{background:#edf0ed;padding-top:98px;padding-bottom:80px}.collection-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}.collection-heading>p{max-width:300px;margin:0 5% 6px 20px!important;font-size:15px!important}.collection-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:5%}.collection figure img{background:#ccd0ca}.look-main img{height:650px;object-position:center 30%}.collection figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:14px;font-size:11px;color:#58635c}.collection figcaption span:first-child{letter-spacing:.17em}.craft-column figure img{height:315px;object-position:center 35%}.craft-copy{margin:42px 16px 0 0;max-width:430px}.craft-copy h3{font-size:27px;margin-bottom:19px}.craft-copy p{font-size:14px;color:#566159;line-height:2}.craft-copy .small{font-size:12px;margin-top:15px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;border-bottom:1px solid var(--ink);font-size:14px;padding:10px 0}.craft-copy .text-link{margin-top:15px}.text-link:hover{color:var(--accent);border-color:var(--accent)}.source-note{margin-top:36px;font-size:11px;color:#5e6861;line-height:1.9}.price-section{display:grid;grid-template-columns:.9fr 1.2fr;gap:10%;padding:120px 8%;background:var(--dark);color:#fff}.price-section .eyebrow{color:#c3b5a1}.price-section .section-heading>p:not(.eyebrow){color:#c1c9c4}.price-row{display:flex;justify-content:space-between;gap:15px;padding:30px 0;border-top:1px solid #ffffff35;align-items:center}.price-row .eyebrow{font-size:10px}.price-row h3{font-size:28px;margin:9px 0}.price-row p{font-size:12px;color:#bdc7c0;line-height:1.9}.amount{font-family:Georgia,serif;font-size:clamp(34px,3.5vw,51px);line-height:1.5;white-space:nowrap}.amount>span{font-size:23px;margin-right:5px}.amount small{font-family:var(--sans);font-size:12px;margin-left:7px}.amount p{text-align:right;letter-spacing:.04em}.price-notes{border-top:1px solid #ffffff35;padding-top:22px}.price-notes p{font-size:12px;line-height:1.9;color:#bdc7c0;margin-bottom:8px}.price-list>.text-link{border-color:#b0bbb4;margin-top:24px}.flow .section-heading{margin-bottom:44px}.flow-list{padding:0;margin:0;list-style:none}.flow-list li{display:grid;grid-template-columns:85px 1fr 180px;gap:25px;padding:32px 0;border-top:1px solid var(--line);align-items:start}.flow-list li:last-child{border-bottom:1px solid var(--line)}.step{font-family:Georgia,serif;font-size:30px;color:var(--accent);line-height:1.5}.flow-list h3{font-size:22px}.flow-list p{font-size:14px;color:var(--muted);margin-top:10px;max-width:670px}.step-en{font-size:10px;letter-spacing:.12em;text-align:right;padding-top:13px;color:var(--muted)}.faq{display:grid;grid-template-columns:.8fr 1.4fr;gap:10%;padding-top:0}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;font-size:15px}summary::-webkit-details-marker{display:none}summary>span{font-size:22px;line-height:1;transition:transform .2s;font-weight:300}details[open] summary>span{transform:rotate(45deg)}details>p{font-size:14px;color:var(--muted);line-height:2;padding:0 30px 25px 0}.consultation{background:#e8ece8;padding:54px 7% 30px}.consultation-top,.consultation-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:.08em}.consultation-top{border-bottom:1px solid #bbc5bd;padding-bottom:23px}.appointment-label{font-size:12px}.consultation-content{display:grid;grid-template-columns:1.2fr .85fr;gap:10%;padding:56px 0}.consultation-content h2{font-size:48px;line-height:1.65}.consultation-content>div>p{font-size:14px;margin-top:23px;line-height:2}.contact-panel{border-left:1px solid #bbc5bd;padding:12px 0 12px 42px;align-self:center}.contact-label{font-size:12px}.contact-panel>p{font-family:var(--serif);font-size:26px!important;margin:17px 0!important}.contact-small{font-size:12px;line-height:2;color:#566159;display:block}.consultation-bottom{border-top:1px solid #bbc5bd;padding-top:22px;font-size:10px}footer{display:flex;align-items:center;justify-content:space-between;padding:55px 6%;gap:30px;background:#fff}footer .wordmark{font-size:27px}footer .wordmark span{font-size:8px}footer p{font-size:10px;color:var(--muted);margin-top:16px}.footer-links{display:flex;gap:25px;font-size:12px}.copyright{font-size:10px;color:var(--muted);letter-spacing:.1em}.mobile-nav,.mobile-sticky{display:none}
@media(min-width:1600px){.hero-copy{padding-top:80px}.hero-desc{font-size:16px}.hero-lead{font-size:23px}}
@media(max-width:1100px){.header{gap:20px;padding:0 4%;height:88px}.desktop-nav{gap:16px;font-size:12px}.header-cta{padding:9px 12px;gap:14px;font-size:12px}.wordmark{font-size:28px}.hero{height:auto;min-height:700px}.hero-copy{padding:55px 7% 25px 9%}.hero h1{font-size:62px}.hero-lead{font-size:18px}.hero-desc{font-size:13px}.service-strip span{padding:0 20px}.section{padding-left:6%;padding-right:6%}.signature{flex-direction:column;align-items:flex-start;gap:8px}.look-main img{height:600px}.craft-column figure img{height:280px}.price-section{gap:7%;padding:95px 6%}.amount{font-size:37px}.price-row h3{font-size:25px}.approach article{padding-right:25px}.approach article+article{padding-left:25px}.flow-list li{grid-template-columns:65px 1fr 140px}.footer-links{gap:16px}}
@media(max-width:760px){html{scroll-padding-top:88px}.header{height:78px;padding:0 22px;gap:18px}.wordmark{font-size:28px}.wordmark span{font-size:8px;margin-top:6px}.desktop-nav{display:none}.header-cta{font-size:11px;margin-left:auto;padding:8px 11px;gap:12px}.menu-toggle{width:26px;height:32px;display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;padding:0}.menu-toggle span{display:block;width:26px;height:1px;background:var(--ink)}.mobile-nav:not([hidden]){display:flex;position:fixed;top:78px;left:0;right:0;z-index:19;background:var(--paper);padding:15px 25px 25px;box-shadow:0 10px 20px #0001;flex-direction:column}.mobile-nav a{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none}.hero-copy{padding:36px 26px 32px;position:relative;order:1}.hero-copy>.eyebrow{font-size:9px;letter-spacing:.12em}.hero h1{font-size:58px;line-height:1.5;margin:24px 0 18px;letter-spacing:.05em}.hero h1 br{display:none}.hero h1 span{padding:0;display:block;margin-left:.75em}.hero-lead{font-size:18px;line-height:1.8}.hero-desc{font-size:14px;margin:20px 0 24px;line-height:1.9}.desktop-only{display:none}.hero-foot{display:none}.hero-visual{height:390px;order:0}.hero-visual img{object-position:center 30%}.image-label{bottom:16px;left:22px;font-size:8px}.hero-note{font-size:11px}.button{min-height:54px;width:100%;max-width:400px;justify-content:space-between;font-size:14px}.service-strip{display:grid;grid-template-columns:1fr 1fr;padding:20px 18px;row-gap:14px;font-size:10px;text-align:center}.service-strip span{padding:0 9px}.service-strip span:nth-child(2){border:0}.section{padding:70px 26px}.section-heading .eyebrow{font-size:10px;margin-bottom:21px}h2{font-size:31px;line-height:1.7;letter-spacing:.05em}.philosophy{grid-template-columns:1fr;gap:35px}.philosophy-body .large-copy{font-size:22px;margin-bottom:20px}.philosophy-body>p{font-size:14px;line-height:2.2;margin-bottom:20px}.signature{flex-direction:row;align-items:center;gap:20px;margin-top:28px}.signature span{font-size:9px}.approach{grid-template-columns:1fr;margin:0 26px 70px}.approach article{padding:25px 0;display:grid;grid-template-columns:30px 1fr;gap:8px 13px}.approach article+article{border-left:0;border-top:1px solid var(--line);padding:25px 0}.approach h3{margin:0;font-size:22px}.approach .index{padding-top:6px}.approach p{grid-column:2;font-size:14px;margin-top:4px}.collection{padding-bottom:55px}.collection-heading{display:block;margin-bottom:30px}.collection-heading>p{margin:20px 0 0!important;font-size:14px!important}.collection-grid{grid-template-columns:1fr;gap:33px}.look-main img{height:470px}.collection figcaption{font-size:10px}.craft-column figure img{height:280px}.craft-copy{margin:28px 0 0;max-width:none}.craft-copy h3{font-size:26px}.craft-copy p{font-size:14px}.source-note{font-size:10px;margin-top:25px}.price-section{grid-template-columns:1fr;padding:68px 26px;gap:33px}.price-section .section-heading>p:not(.eyebrow){font-size:14px}.price-row{gap:12px;padding:25px 0}.price-row h3{font-size:25px}.price-row .eyebrow{font-size:9px}.price-row p{font-size:11px}.amount{font-size:38px}.amount>span{font-size:22px}.amount small{font-size:10px;margin-left:4px}.amount p{font-size:10px}.price-notes p{font-size:12px}.flow .section-heading{margin-bottom:30px}.flow-list li{grid-template-columns:36px 1fr;gap:14px;padding:25px 0}.step{font-size:25px}.step-en{display:none}.flow-list h3{font-size:20px}.flow-list p{font-size:14px}.faq{grid-template-columns:1fr;gap:28px;padding-top:0}.faq .section-heading>p:not(.eyebrow){display:none}summary{font-size:14px;padding:22px 0}details>p{font-size:14px;padding-right:10px}.consultation{padding:35px 26px 25px}.consultation-top{align-items:flex-start;gap:15px}.consultation-top>.eyebrow{font-size:9px}.appointment-label{font-size:10px}.consultation-content{grid-template-columns:1fr;padding:35px 0;gap:30px}.consultation-content h2{font-size:37px}.consultation-content>div>p{font-size:14px}.contact-panel{border-left:0;border-top:1px solid #bbc5bd;padding:28px 0 0}.contact-panel>p{font-size:25px!important}.consultation-bottom{font-size:8px;align-items:flex-start}.consultation-bottom span:last-child{font-size:10px;white-space:nowrap}footer{align-items:flex-start;flex-wrap:wrap;padding:40px 26px 110px;gap:30px}.footer-links{flex-direction:column;gap:12px;font-size:12px;margin-left:auto}.copyright{width:100%;font-size:10px;border-top:1px solid var(--line);padding-top:20px}.mobile-sticky{position:fixed;bottom:0;left:0;right:0;z-index:18;display:flex;justify-content:space-between;align-items:center;background:var(--dark);color:white;padding:14px 25px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -3px 15px #0001}.mobile-sticky span{font-size:10px;letter-spacing:.04em}.mobile-sticky strong{font-size:14px;letter-spacing:.05em;font-weight:400}.mobile-sticky.is-hidden{display:none}}
@media(max-width:370px){.header{padding:0 17px;gap:14px}.header-cta{font-size:10px;padding:8px;gap:7px}.hero h1{font-size:52px}.hero-visual{height:330px}.amount{font-size:31px}.signature{gap:12px}.signature span{font-size:8px}.hero-copy,.section{padding-left:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Reading sizes remain comfortable on both mobile and desktop. */
.hero-desc,.philosophy-body>p,.approach p,.craft-copy p,.flow-list p,details>p,.consultation-content>div>p{font-size:16px}
.eyebrow,.hero-note,.image-label,.image-label span:last-child,.service-strip,.source-note,.collection figcaption,.step-en,.contact-small,.contact-label,.appointment-label,.copyright,.footer-links,footer p,.consultation-bottom{font-size:12px}
.desktop-nav,.header-cta,.text-link,.button,summary,.price-row p{font-size:14px}
.hero-visual img{filter:none}.craft-column figure img{object-position:center 25%}
@media(min-width:761px){.hero{height:auto;min-height:770px}.hero-copy{padding-bottom:30px}.hero h1{margin-top:28px}.hero-foot{font-size:10px}.craft-copy .small{font-size:12px}}
@media(max-width:760px){.hero{position:relative;min-height:690px;display:block}.hero-visual{position:absolute;inset:0;height:100%;width:100%;order:0}.hero-visual img{object-position:center 37%;opacity:.88}.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,15,13,.63),rgba(10,15,13,.12))}.hero-copy{position:relative;z-index:1;min-height:690px;color:white;padding:42px 26px 66px}.hero-copy>.eyebrow{font-size:10px;color:#ecefeb;letter-spacing:.08em}.hero h1{font-size:64px;line-height:1.45;margin:29px 0 22px}.hero-lead{font-size:20px}.hero-desc{font-size:15px;color:#ecefeb;max-width:360px;margin:20px 0 25px}.hero .button{background:#fff;color:var(--ink);max-width:350px}.hero-note{color:#ecefeb;font-size:12px}.image-label{left:26px;bottom:14px;z-index:2;right:20px}.image-label span:first-child{display:none}.image-label span:last-child{font-size:10px}.service-strip{font-size:12px}.hero-foot{display:none}.section-heading .eyebrow{font-size:11px}.approach p,.philosophy-body>p,.craft-copy p,.flow-list p,details>p{font-size:16px}.source-note{font-size:12px}.collection figcaption{font-size:12px}.price-row p{font-size:12px}.amount p{font-size:12px}.contact-panel>p{font-size:25px}.consultation-content>div>p{font-size:16px}.consultation-top>.eyebrow{font-size:10px}.appointment-label{font-size:12px}.consultation-bottom{font-size:10px}.footer-links{font-size:14px}.mobile-sticky span{font-size:12px}.header-cta{font-size:12px}.signature span{font-size:11px}}
@media(max-width:370px){.hero h1{font-size:55px}.header{gap:11px}.header-cta{font-size:11px}.wordmark{font-size:25px}.hero-copy{padding-left:22px;padding-right:22px}.service-strip{font-size:11px}}
/* Visible service heading complements the brand headline. */
.hero h1 .hero-category{display:block;padding:0;margin:0 0 18px;font-family:var(--sans);font-size:14px;font-weight:400;line-height:1.8;letter-spacing:.09em}
@media(max-width:760px){.hero h1 .hero-category{font-size:14px;margin:0 0 18px;padding:0;letter-spacing:.06em}.hero-copy{padding-top:32px}.hero h1{margin-top:22px}.hero{min-height:735px}.hero-copy{min-height:735px}}

/* Direct contact while LINE is unavailable. */
.contact-button{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:330px;padding:13px 18px;margin:21px 0 12px;background:var(--dark);color:#fff;font-size:15px;line-height:1.5;transition:background .2s}
.contact-button:hover{background:#43544c}
.contact-email{display:block;width:max-content;max-width:100%;font-size:14px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere;margin-bottom:22px}
@media(max-width:760px){.contact-button{max-width:none;width:100%;min-height:54px}.contact-email{font-size:15px}}

/* Owner's note: a quiet editorial pause after the service philosophy. */
.owner{display:grid;grid-template-columns:.9fr 1.1fr;gap:11%;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:95px;padding-bottom:100px}
.owner-heading .eyebrow{color:var(--accent);margin-bottom:24px}
.owner-heading h2{font-size:clamp(32px,3.3vw,46px)}
.owner-body{max-width:630px;border-left:1px solid var(--line);padding-left:8%}
.owner-body>p{font-size:16px;line-height:2.15;margin-bottom:23px}
.owner-signature{display:flex;gap:23px;align-items:baseline;border-top:1px solid var(--line);padding-top:22px;margin-top:34px!important}
.owner-signature span{font-family:Georgia,serif;font-size:16px;letter-spacing:.15em}
.owner-body .text-link{margin-top:4px}
@media(max-width:760px){.owner{grid-template-columns:1fr;gap:28px;padding-top:74px;padding-bottom:76px}.owner-body{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}.owner-body>p{font-size:16px;line-height:2.05}.owner-signature{gap:18px}}
