@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@500;600&display=swap');

:root{--ink:#182c35;--muted:#526068;--paper:#f7f7f3;--line:#d8deda;--accent:#0d725f;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.service-page{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.8}
img{display:block;max-width:100%}
a{color:inherit}
a:focus-visible{outline:3px solid #eea43f;outline-offset:4px}
.site-header{position:relative;z-index:3;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{max-width:1240px;min-height:86px;margin:auto;padding:13px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:205px;height:auto}
.site-header nav,.site-footer nav{display:flex;flex-wrap:wrap;gap:clamp(14px,2.5vw,34px)}
.site-header nav a,.site-footer nav a{text-decoration:none;font-size:14px;font-weight:600}
.site-header nav a:hover,.site-footer nav a:hover,.work-link a:hover{text-decoration:underline;text-underline-offset:5px}
.site-header nav a[aria-current=page]{color:var(--accent)}
.hero{position:relative;min-height:570px;display:flex;align-items:center;overflow:hidden;background:#504339;color:white}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,23,28,.78) 0%,rgba(9,23,28,.55) 32%,rgba(9,23,28,.05) 76%)}
.hero-content{position:relative;z-index:1;width:min(1240px,100%);margin:auto;padding:78px 40px 90px}
.eyebrow{margin:0 0 18px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.22em}
.hero .eyebrow,.contact-section .eyebrow{color:#a9ebd7}
.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(34px,4.2vw,62px);font-weight:600;line-height:1.42;letter-spacing:.04em;margin:0 0 18px}
.hero-content>p:not(.eyebrow){font-size:clamp(16px,1.5vw,20px);margin:0 0 32px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:54px;padding:12px 22px;text-decoration:none;font-weight:700;font-size:14px;transition:transform .2s ease,background-color .2s ease}
.button:hover{transform:translateY(-2px)}
.button-light{background:white;color:var(--ink)}
.button-light:hover{background:#e9f5f0}
.button-dark{background:#fff;color:var(--ink)}
.button-dark:hover{background:#e9f5f0}
.section{max-width:1240px;margin:auto;padding:100px 28px}
.section-head{max-width:780px;margin-bottom:38px}
.section-head h2,.imagery-copy h2,.contact-section h2{font-family:'Noto Serif JP',serif;font-size:clamp(27px,3vw,42px);font-weight:600;line-height:1.5;letter-spacing:.025em;margin:0 0 18px}
.section-head>p:last-child:not(.eyebrow){margin:0;color:var(--muted)}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px}
.intro .section-head{margin:0}
.intro-body>p{margin:4px 0 34px;color:var(--muted)}
.facts{border-top:1px solid var(--line);margin:0}
.facts>div{display:grid;grid-template-columns:110px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}
.facts dt{font-weight:700;font-size:13px}.facts dd{margin:0;font-size:14px}
.service-section{padding-top:25px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-grid article{padding:30px 30px 33px 0}
.service-grid article+article{padding-left:30px;border-left:1px solid var(--line)}
.service-number{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.1em}
.service-grid h3{font-family:'Noto Serif JP',serif;font-size:23px;margin:10px 0 12px}
.service-grid p{font-size:14px;color:var(--muted);margin:0}
.imagery-section{max-width:none;background:#e8ede8;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);align-items:center;gap:clamp(36px,6vw,110px);padding:80px max(28px,calc((100vw - 1184px)/2))}
.imagery-copy{max-width:470px}.imagery-copy p:last-child{color:var(--muted)}
.imagery-section figure{margin:0}.imagery-section img{width:100%;aspect-ratio:3/2;object-fit:cover}
figcaption{font-size:12px;color:var(--muted);margin-top:9px}
.room-section{padding-bottom:54px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px}
.room-grid figure{margin:0}.room-grid img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.room-grid figcaption{font-size:15px;font-weight:700;color:var(--ink);margin-top:13px}
.work-section{padding-top:54px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.work-grid figure{margin:0}.work-grid img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.work-link{text-align:right;margin:26px 0 0}.work-link a{color:var(--accent);font-weight:700;text-decoration:none}
.questions{padding-top:20px}
.qa-list{border-top:1px solid var(--line)}
.qa-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:35px;padding:22px 0;border-bottom:1px solid var(--line)}
.qa-list h3{font-size:17px;margin:0}.qa-list p{margin:0;color:var(--muted);font-size:14px}
.contact-section{background:#17463e;color:white;padding:86px 28px}
.contact-inner{max-width:1184px;margin:auto}.contact-section h2{margin-bottom:12px}.contact-section p:not(.eyebrow){margin:0 0 29px}
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}.phone{font-size:23px;font-weight:700;text-decoration:none;letter-spacing:.025em}
.site-footer{background:#102d2b;color:#e9f0eb;padding:45px 28px 25px}
.footer-inner{max-width:1184px;margin:auto;display:flex;align-items:start;justify-content:space-between;gap:28px}.footer-inner p{margin:0;font-size:13px}.site-footer small{display:block;max-width:1184px;margin:42px auto 0;color:#b4c2ba;font-size:11px}
@media(max-width:760px){
  .header-inner{padding:12px 18px;display:block}.brand img{width:170px}.site-header nav{gap:11px 20px;margin-top:10px}.site-header nav a{font-size:12px}
  .hero{min-height:540px}.hero>img{object-position:59% center}.hero-shade{background:linear-gradient(90deg,rgba(9,23,28,.83),rgba(9,23,28,.4))}.hero-content{padding:62px 25px 82px}
  .section{padding:66px 20px}.intro{grid-template-columns:1fr;gap:25px}.service-section{padding-top:15px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:24px 0;border-left:0}.service-grid article+article{border-top:1px solid var(--line)}
  .imagery-section{grid-template-columns:1fr;padding:65px 20px;gap:22px}.room-grid,.work-grid{grid-template-columns:1fr;gap:28px}.questions{padding-top:10px}.qa-list>div{grid-template-columns:1fr;gap:7px}
  .contact-section{padding:64px 20px}.footer-inner{display:block}.site-footer nav{margin-top:22px}
}
@media(min-width:761px) and (max-width:1020px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
