:root{--paper:#f6f4ef;--ink:#242824;--muted:#68695f;--line:#d8d4c9;--brass:#8c7750;--dark:#212722;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/2 var(--sans);-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--brass);outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h2{font-size:clamp(1.65rem,3vw,2.6rem);line-height:1.7;letter-spacing:.07em}h3{font-size:1.35rem;line-height:1.65}p{margin-bottom:1.4rem}.wrap{width:min(1180px,calc(100% - 96px));margin:auto}.header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:24px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.brand{line-height:1.35;display:block;flex-shrink:0}.brand-main{font-family:var(--serif);font-size:1.65rem;letter-spacing:.1em}.brand-main b{font-weight:400;font-size:1.25rem;letter-spacing:.14em;margin-left:12px}.brand small{display:block;font-size:.75rem;letter-spacing:.12em;margin-top:7px;color:var(--muted)}.brand img{width:210px;max-height:70px;object-fit:contain}.nav{display:flex;align-items:center;gap:27px;font-size:.875rem}.nav a:hover,.textlink:hover{color:var(--brass)}.nav .nav-cta{background:var(--dark);color:white;padding:15px 25px}.menu-btn{display:none;border:0;background:none;min-height:48px}.hero{position:relative;min-height:650px;height:min(760px,calc(100svh - 104px));color:white;background:#28241f;isolation:isolate}.hero picture{position:absolute;inset:0;z-index:-2}.hero img{height:100%;object-fit:cover;object-position:50% 61%}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.3),transparent 80%);z-index:-1}.hero-copy{padding:132px 0 65px;width:min(1180px,calc(100% - 96px));margin:auto}.eyebrow{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);display:block;margin-bottom:25px}.hero .eyebrow{color:#d8c7a9;letter-spacing:.22em}.hero h1{font-size:clamp(2rem,3.55vw,3.3rem);letter-spacing:.08em;line-height:1.85;margin-bottom:25px}.hero p{font-size:.94rem;letter-spacing:.08em}.hero .subline{font-size:.875rem;color:#e1dbd2}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--dark);border:1px solid var(--dark);padding:17px 28px;color:white;font-size:.94rem;min-height:58px;cursor:pointer;line-height:1.6}.button:after{content:'↗';font-size:1.2rem}.button:hover{background:#3b443c;color:white}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.outline{background:transparent;color:var(--ink);border-color:var(--line)}.hero .button{margin-top:20px}.hero-foot{position:absolute;bottom:24px;left:4%;right:4%;display:flex;justify-content:space-between;color:#ded6c9;font-size:.75rem;letter-spacing:.15em}.info-strip{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;padding:22px 24px;border-bottom:1px solid var(--line);font-size:.875rem}.info-strip span+span{border-left:1px solid var(--line);padding-left:48px}.section{padding:112px 0}.intro{text-align:center;max-width:760px;margin:auto}.intro h2{margin-bottom:35px}.intro p{line-height:2.4;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.split .photo{height:520px;object-fit:cover}.split p{color:var(--muted)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:42px}.section-head h2{margin-bottom:0}.textlink{border-bottom:1px solid var(--brass);padding:10px 0;display:inline-block;font-size:.9rem}.textlink:after{content:' ↗';margin-left:30px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 28px}.object-image{background:#e8e4dc;height:320px;overflow:hidden}.object-image img{height:100%;object-fit:contain;mix-blend-mode:multiply;padding:20px;transition:transform .5s}.object:hover img{transform:scale(1.035)}.object h3{padding-top:20px;margin-bottom:8px}.object p{font-size:.875rem;color:var(--muted);line-height:1.9}.number{font-family:Georgia,serif;font-size:.9rem;color:var(--brass);margin-right:15px}.soft{background:#ebe8e0}.dark{background:var(--dark);color:#f3f0e8}.dark p{color:#cecfc7}.dark .eyebrow{color:#c3b28d}.dark .textlink{color:#f3f0e8}.concerns{display:grid;grid-template-columns:repeat(3,1fr);margin:35px 0;gap:0 35px}.concerns span{border-bottom:1px solid var(--line);padding:17px 0;font-family:var(--serif)}.concerns span:before{content:'―';color:var(--brass);margin-right:12px}.note{font-size:.875rem;color:var(--muted);line-height:1.9}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.reason-grid article{border-top:1px solid var(--line);padding-top:30px}.reason-grid .number{display:block;margin-bottom:20px;font-size:1.4rem}.reason-grid p{font-size:.94rem;color:var(--muted)}.case{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;margin-top:50px}.case img{max-height:460px;object-fit:contain;background:#e8e4dc;padding:30px}.tag{display:inline-block;border:1px solid var(--line);padding:2px 12px;font-size:.75rem;letter-spacing:.08em;margin-bottom:22px}.case dl{font-size:.9rem}.case dt{color:var(--muted);margin-top:20px}.case dd{margin:5px 0}.flow{list-style:none;padding:0;margin:50px 0 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.flow li{border-top:1px solid var(--line);padding:25px 0 0}.flow .number{font-size:1.6rem;display:block;margin-bottom:15px}.flow h3{font-size:1.2rem}.flow p{font-size:.94rem;color:var(--muted)}.areas{display:flex;flex-wrap:wrap;gap:14px 28px;font-size:1.3rem;font-family:var(--serif);padding:24px 0}.faq{max-width:900px}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:25px 0}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'＋';color:var(--brass)}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 32px 22px 0;color:var(--muted);font-size:.94rem}.contact-band{text-align:center;padding:92px 24px;background:#e7e3d8}.contact-band h2{margin-bottom:18px}.contact-band .actions{justify-content:center}.actions{display:flex;gap:15px;flex-wrap:wrap;margin:28px 0}.company-table{border-top:1px solid var(--line);margin:35px 0}.company-row{display:grid;grid-template-columns:190px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.company-row dt{color:var(--muted)}.company-row dd{margin:0}.offices{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:50px}.offices h3{font-size:1.15rem}.offices p{font-size:.9rem}.footer{padding:65px 0 25px;background:#eae7df}.footer-top{display:flex;justify-content:space-between;gap:50px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;font-size:.875rem}.footer-bottom{margin-top:55px;padding-top:23px;border-top:1px solid #cfcbc0;font-size:.75rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.page-top{padding:65px 0 80px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:.75rem;color:var(--muted);margin-bottom:50px}.page-top h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:25px;letter-spacing:.08em}.page-top p{max-width:680px;color:var(--muted)}.narrow{max-width:850px;margin:auto}.prose h2{font-size:1.6rem;margin-top:45px}.prose li{margin-bottom:12px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.telephone{font-family:Georgia,serif;font-size:2.5rem;letter-spacing:.02em;line-height:1.5}.contact-panel{border-top:1px solid var(--line);padding-top:30px}.form{margin-top:55px}.field{margin-bottom:25px}.field label{display:block;margin-bottom:8px}.field input,.field textarea,.field select{width:100%;border:1px solid #bdb9ae;background:#fffefa;border-radius:0;padding:12px;color:var(--ink)}.field textarea{min-height:170px}.form-status{color:var(--muted)}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:99;background:white;padding:15px}.sample-note{border-left:2px solid var(--brass);padding-left:18px;font-size:.875rem;color:var(--muted)}.inline-cta{border-top:1px solid var(--line);padding-top:30px;margin-top:30px}.image-caption{font-size:.75rem;color:var(--muted);margin-top:10px}.quote{font-family:var(--serif);font-size:1.1rem;border-top:1px solid var(--line);padding:25px 0}.trust-line{font-size:.875rem;line-height:1.9;color:var(--muted);margin-top:24px}.empty{padding:40px 0;border-top:1px solid var(--line)}@media(min-width:1500px){.hero-copy{padding-top:145px}.hero h1{font-size:3.6rem}}@media(max-width:1050px){.nav{gap:18px}.nav a{font-size:.8rem}.nav a:nth-child(3){display:none}.split{gap:45px}.wrap,.hero-copy{width:calc(100% - 64px)}.hero h1{font-size:2.55rem}.object-image{height:260px}}@media(max-width:760px){.header{height:84px;padding:0 24px}.brand-main{font-size:1.35rem}.brand-main b{font-size:1.05rem}.brand small{font-size:.625rem}.menu-btn{display:block;font-size:.875rem}.nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--paper);padding:20px 24px;box-shadow:0 15px 25px #0001}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a,.nav a:nth-child(3){display:block;padding:14px;font-size:1rem;border-bottom:1px solid var(--line)}.nav .nav-cta{margin-top:12px}.wrap,.hero-copy{width:calc(100% - 48px)}.hero{height:calc(100svh - 84px);min-height:650px;max-height:800px}.hero img{object-position:64% center}.hero:after{background:linear-gradient(180deg,#0007,#0001 80%)}.hero-copy{padding-top:74px}.hero h1{font-size:clamp(1.6rem,5.7vw,2.25rem);line-height:1.95;letter-spacing:.02em}.hero .eyebrow{font-size:.65rem;margin-bottom:30px}.hero p{font-size:.875rem}.hero .subline{font-size:.8rem}.hero .button{font-size:.875rem;padding:16px 22px}.hero-foot{bottom:20px;left:24px;right:24px;font-size:.625rem}.info-strip{gap:8px 24px;font-size:.75rem}.info-strip span+span{padding-left:0;border-left:0}.section{padding:72px 0}.split,.case,.contact-grid{grid-template-columns:1fr;gap:35px}.split .photo{height:380px}.split.reverse .photo{order:2}.section-head{align-items:start;flex-direction:column;gap:15px}.section-head .textlink{align-self:flex-end}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}.object-image{height:220px}.object-image img{padding:12px}.object h3{font-size:1.05rem}.object p{font-size:.8rem}.concerns{grid-template-columns:1fr;gap:0}.reason-grid{grid-template-columns:1fr;gap:25px}.reason-grid article{padding-top:20px}.flow{grid-template-columns:1fr;gap:12px}.flow li{display:grid;grid-template-columns:44px 1fr;gap:0 14px}.flow p{grid-column:2}.flow .number{grid-row:1 / 3}.flow h3{margin-bottom:10px}.offices{grid-template-columns:1fr;gap:20px}.offices article{border-bottom:1px solid var(--line);padding-bottom:15px}.footer-top{flex-direction:column;gap:35px}.footer-links{gap:15px 24px}.company-row{grid-template-columns:1fr;gap:7px}.page-top{padding:35px 0 45px}.breadcrumb{margin-bottom:35px}.contact-band{padding:65px 24px}.actions{flex-direction:column;align-items:stretch}.telephone{font-size:2rem}.intro{text-align:left}.intro p{line-height:2.2}.case{margin-top:35px}.case img{max-height:350px}.areas{gap:12px 22px;font-size:1.2rem}}@media(max-width:370px){.wrap,.hero-copy{width:calc(100% - 36px)}.header{padding:0 18px}.object-image{height:185px}.hero h1{font-size:1.45rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[hidden]{display:none!important}
.mobile-break{display:none}@media(max-width:760px){.mobile-break{display:block}.hero img{object-position:78% center}}

/* Keisaido brand and complete navigation */
.brand-gap{display:inline-block;width:.45em}.brand-reading{letter-spacing:.06em}.brand-main{font-size:1.8rem;letter-spacing:.12em}.brand small{font-size:.75rem;letter-spacing:.18em}.nav{gap:24px;white-space:nowrap}@media(min-width:761px) and (max-width:1050px){.header{padding:0 24px;gap:16px}.brand-main{font-size:1.4rem}.brand small{font-size:.7rem}.nav{gap:15px}.nav a:nth-child(3){display:block}.nav .nav-cta{padding:13px 18px}}@media(max-width:900px) and (min-width:761px){.nav{gap:10px}.nav a{font-size:.8rem}.header{padding:0 18px}.brand-main{font-size:1.25rem}.nav .nav-cta{padding:12px}}@media(max-width:760px){.brand-main{font-size:1.5rem}.brand small{font-size:.75rem}.hero .subline{font-size:.875rem}}
.logo-frame{display:block;position:relative;width:230px;height:82px;overflow:hidden}.brand-image img{position:absolute;width:148%;max-width:none;height:auto;max-height:none;left:50%;top:50%;transform:translate(-50%,-50%);mix-blend-mode:multiply}.footer .logo-frame{width:285px;height:102px}@media(min-width:761px) and (max-width:1050px){.header .logo-frame{width:180px;height:65px}}@media(max-width:760px){.header .logo-frame{width:200px;height:72px}.header{gap:12px}.menu-btn{white-space:nowrap;padding:0}}@media(max-width:370px){.header .logo-frame{width:180px;height:65px}}

/* Expanded item directory */
.item-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 64px;margin:40px 0}.item-directory article{border-top:1px solid var(--line);padding-top:24px;min-width:0}.item-directory h3{font-size:1.5rem}.item-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;list-style:none;padding:0;margin:0 0 24px}.item-list li{font-size:1rem;line-height:1.8;border-bottom:1px solid var(--line);padding:8px 0;overflow-wrap:anywhere}.item-directory .textlink{margin-top:8px}@media(max-width:760px){.item-directory{grid-template-columns:1fr;gap:36px}.item-list{gap:4px 16px}}
