*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#f5f3ec;color:#172d36;font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.85}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}header{display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:25px 40px;border-bottom:1px solid #d4d9d4}.brand{font-size:27px;font-weight:800;letter-spacing:3px}.brand span{color:#aa623f}nav{display:flex;gap:30px;font-size:13px}.lang{border:1px solid #bbc5c3;border-radius:30px;padding:5px 15px}main{overflow:hidden}.hero{max-width:1240px;margin:auto;padding:90px 40px 80px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:700;color:#965635;margin-bottom:24px}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-weight:500;font-size:clamp(36px,4.5vw,62px);line-height:1.48;letter-spacing:-1px;margin:0 0 25px}h1 em{font-style:normal;color:#aa623f}.intro{max-width:560px;font-size:15px;color:#54666c}.button{display:inline-block;background:#172d36;color:white;padding:14px 25px;margin-top:22px;border:0;cursor:pointer;font-size:14px}.button span{margin-left:30px}.art{position:relative;height:440px;background:#e7e9df;border-radius:220px 220px 2px 2px;overflow:hidden}.art svg{width:100%;height:100%}.art-label{position:absolute;bottom:30px;left:30px;font-size:11px;letter-spacing:3px}.proof{border-top:1px solid #c9d1ca;border-bottom:1px solid #c9d1ca;display:grid;grid-template-columns:repeat(3,1fr);max-width:1160px;margin:0 auto 95px;padding:25px 0}.proof div{padding:0 28px;border-right:1px solid #c9d1ca}.proof div:last-child{border:0}.proof strong{display:block;font-family:Georgia,serif;font-size:30px;font-weight:400}.proof small{color:#5a696c;font-size:12px}.section{max-width:1240px;padding:0 40px;margin:0 auto 100px}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:40px}.section-top p{max-width:480px;font-size:14px;color:#59686c}h2{font-family:"Yu Mincho",Georgia,serif;font-size:34px;line-height:1.5;font-weight:500;margin:0}h3{font-size:20px;line-height:1.6;font-weight:600}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service{border-top:2px solid #a56543;padding:22px 0}.num{font-family:Georgia,serif;color:#a56543;font-size:24px}.service p,.service li{font-size:14px;color:#56676c}.service ul{padding-left:18px}.service li{margin:10px 0}.dark{background:#172d36;color:#f5f3ec;padding:75px 0;margin-bottom:100px}.dark .section{margin-bottom:0}.dark .eyebrow{color:#dba480}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}.steps p{color:#bbc8c8;font-size:14px}.steps h3{border-top:1px solid #627077;padding-top:20px}.about{display:grid;grid-template-columns:1fr 1.5fr;gap:70px}.name{font-family:Georgia,serif;font-size:29px;margin-top:30px}.bio{font-size:15px;color:#52646a}.credentials{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.credentials span{font-size:11px;border:1px solid #c5cec7;padding:5px 12px}.contact{background:#e8e9df;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact p{font-size:14px;color:#536369}label{font-size:12px;display:block;margin-bottom:15px}input,textarea,select{width:100%;background:#f8f7f1;border:1px solid #bcc6be;border-radius:0;padding:10px;color:#172d36;margin-top:5px}textarea{min-height:110px}#result{white-space:pre-wrap;font-size:13px;display:none;padding:20px;background:#f8f7f1;margin-top:20px;overflow-wrap:anywhere}footer{max-width:1240px;margin:auto;padding:25px 40px 35px;border-top:1px solid #cbd1ca;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#687575}a:focus-visible,button:focus-visible{outline:3px solid #aa623f;outline-offset:4px}@media(max-width:800px){header{padding:20px}nav{gap:14px}nav .desktop{display:none}.hero{padding:55px 24px;grid-template-columns:1fr}.art{height:290px;max-width:500px;width:100%;margin:auto}.proof{margin:0 24px 65px}.proof div{padding:0 12px}.proof strong{font-size:23px}.section{padding:0 24px;margin-bottom:65px}.section-top{display:block}.services,.steps,.about,.contact{grid-template-columns:1fr;gap:25px}.contact{padding:28px}.dark{padding:50px 0;margin-bottom:65px}h2{font-size:28px}footer{padding:25px;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep the Japanese hero phrases intact at every viewport. */
html[lang="ja"] .hero>div:first-child{min-width:0;container-type:inline-size}
html[lang="ja"] .hero h1{font-size:clamp(20px,8.5cqi,48px);letter-spacing:-.025em}
html[lang="ja"] .hero-line{display:block;white-space:nowrap}
html[lang="ja"] .keep-word{white-space:nowrap}
