@import url("../styles.css");
@import url("../responsive.css");
@import url("../blend.css");

body.service-detail{background:#fff}
.service-detail .header{position:absolute}
.service-detail .header.stuck{position:fixed}
.service-detail .brand-logo{width:48px;height:48px;object-fit:contain}
.service-detail .nav a[aria-current="page"]:after{transform:scaleX(1)}

.service-hero{padding-top:102px;display:grid;grid-template-columns:49% 51%;min-height:760px;background:#fff}
.service-hero__copy{display:flex;align-items:center;padding:80px clamp(44px,7vw,116px)}
.service-hero__inner{max-width:610px}
.service-hero h1{margin:0;color:var(--green);font-size:clamp(34px,2.6vw,50px);line-height:1.52;letter-spacing:.055em}
.service-hero h1.service-hero-title--compact{font-size:clamp(28px,2.2vw,40px);white-space:nowrap}
.service-hero__lead{margin:0;max-width:570px;color:var(--muted);font:500 17px/2 var(--serif);letter-spacing:.04em}
.service-hero__actions{display:flex;align-items:stretch;gap:20px;margin-top:42px}
.service-hero__actions .button{min-width:225px;padding-inline:16px;gap:14px;white-space:nowrap}
.service-hero__actions .phone-box{min-width:210px;padding-inline:19px}
.service-hero__actions .phone-box strong{font-size:19px;white-space:nowrap}
.service-hero__media{margin:0;overflow:hidden;background:var(--stone)}
.service-hero__media picture{display:block;height:100%}
.service-hero__media img{height:100%;min-height:658px;object-fit:cover;object-position:center}
.service-hero__media--left-space img{object-position:58% center}

.breadcrumb{border-bottom:1px solid var(--line);background:#fff}
.breadcrumb ol{width:var(--shell);margin:0 auto;padding:15px 0;display:flex;gap:9px;list-style:none;color:var(--muted);font-size:10px}
.breadcrumb li+li:before{content:"/";margin-right:9px;color:var(--brass)}

.service-intro{padding:105px 0 118px;background:var(--stone)}
.section-head{text-align:center;max-width:830px;margin:0 auto}
.section-head h2,.scope-copy h2,.value-copy h2,.faq-head h2{margin:0;color:var(--green);font-size:clamp(35px,3.5vw,51px);line-height:1.55}
.section-head .rule{margin-inline:auto}
.section-head>p:last-child{margin:0;color:var(--muted)}
.concern-list{margin:62px auto 0;padding:0;max-width:1120px;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.concern-list:has(li:nth-child(5)){grid-template-columns:repeat(5,1fr)}
.concern-list li{min-height:168px;padding:30px 27px;border-right:1px solid var(--line)}
.concern-list li:last-child{border:0}
.concern-list span{display:block;margin-bottom:17px;color:var(--brass);font:500 12px/1 var(--serif);letter-spacing:.15em}
.concern-list strong{display:block;color:var(--green);font:500 17px/1.65 var(--serif);letter-spacing:.03em}

.scope{padding:125px 0}
.scope-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:110px;align-items:start}
.scope-copy{position:sticky;top:120px}
.scope-copy h2{font-size:clamp(30px,2.45vw,38px);white-space:nowrap}
.scope-copy p{margin:24px 0 0;color:var(--muted)}
.scope-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--brass)}
.scope-list li{display:grid;grid-template-columns:72px 190px 1fr;gap:22px;padding:27px 0;border-bottom:1px solid var(--line);align-items:baseline}
.scope-list span{color:var(--brass);font:500 12px/1 var(--serif);letter-spacing:.14em}
.scope-list strong{color:var(--green);font:500 19px/1.55 var(--serif)}
.scope-list p{margin:0;color:var(--muted);font-size:12px}

.one-stop{padding:120px 0;background:var(--stone)}
.one-stop .section-head{max-width:760px}
.one-stop .section-head h2{font-size:clamp(34px,3.2vw,48px)}
.one-stop__diagram{margin-top:58px}
.one-stop__journey{position:relative;max-width:1120px;margin:0 auto;padding:0 34px 72px}
.one-stop__steps{position:relative;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none}
.one-stop__steps:before{content:"";position:absolute;left:11%;right:0;top:83px;border-top:2px solid var(--brass)}
.one-stop__steps li{position:relative;z-index:1;padding:0 16px;text-align:center}
.one-stop__number{display:block;margin-bottom:20px;color:var(--brass);font:500 18px/1 var(--serif);letter-spacing:.08em}
.one-stop__icon{width:112px;height:112px;margin:0 auto 17px;display:grid;place-items:center;color:var(--green);background:var(--stone);border:2px solid var(--brass);border-radius:50%}
.one-stop__icon img{width:46px;height:46px}
.one-stop__steps h3{margin:0;color:var(--green);font:500 clamp(17px,1.55vw,22px)/1.6 var(--serif);letter-spacing:.035em;white-space:nowrap}
.one-stop__arrow{position:absolute;right:5px;top:72px;width:28px;height:28px}
.one-stop__bracket{position:absolute;left:4%;right:4%;bottom:0;height:48px;border:1px solid var(--green);border-top:0}
.one-stop__bracket span{position:absolute;left:50%;bottom:-22px;min-width:250px;padding:11px 28px;transform:translateX(-50%);color:#fff;background:var(--green);font:500 15px/1.3 var(--serif);letter-spacing:.1em;text-align:center}
.one-stop__conclusion{margin:52px auto 0;color:var(--green);font:500 clamp(21px,2vw,28px)/1.6 var(--serif);letter-spacing:.05em;text-align:center}

.value-band{background:#faf8f3}
.value-grid{display:grid;grid-template-columns:1fr 1fr;min-height:500px}
.value-media{margin:0;overflow:hidden}
.value-media img{height:100%;object-fit:cover}
.value-copy{padding:85px clamp(45px,7vw,115px);display:flex;flex-direction:column;justify-content:center}
.value-copy p{margin:0;color:var(--muted)}
.value-copy strong{margin-top:27px;color:var(--green);font:500 23px/1.7 var(--serif);letter-spacing:.05em}
.value-title--two-lines{font-size:clamp(34px,3vw,44px)!important;white-space:nowrap}
.value-title--two-lines-wide{font-size:clamp(30px,2.5vw,36px)!important;white-space:nowrap}
.value-strong--single-line{font-size:clamp(16px,1.3vw,18px)!important;letter-spacing:.02em!important;white-space:nowrap}

.service-flow{padding:125px 0;background:#fff}
.flow-rail{position:relative;margin:66px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none}
.flow-rail--five{grid-template-columns:repeat(5,minmax(0,1fr))}
.flow-rail:before{content:"";position:absolute;left:8%;right:8%;top:25px;border-top:1px solid var(--brass)}
.flow-rail li{position:relative;padding:0 18px;text-align:center}
.flow-rail span{position:relative;z-index:1;width:52px;height:52px;margin:0 auto 28px;display:grid;place-items:center;color:#fff;background:var(--brass);border-radius:50%;font:500 13px/1 var(--serif)}
.flow-rail h3{margin:0 0 13px;color:var(--green);font-size:18px}
.flow-rail p{margin:0;color:var(--muted);font-size:12px}

.faq{padding:120px 0;background:var(--stone)}
.faq-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:100px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;padding:25px 52px 25px 0;cursor:pointer;list-style:none;color:var(--green);font:500 16px/1.7 var(--serif)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"＋";position:absolute;right:8px;top:24px;color:var(--brass);font:300 23px/1 var(--sans)}
.faq-list details[open] summary:after{content:"−"}
.faq-list p{margin:-4px 50px 25px 0;color:var(--muted);font-size:12px}

.related{padding:95px 0 105px;background:#fff}
.related h2{margin:0 0 36px;color:var(--green);font-size:27px}
.related-list{margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.related-list li{border-right:1px solid var(--line)}
.related-list li:last-child{border:0}
.related-list a{min-height:126px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s,color .2s}
.related-list a:hover,.related-list a[aria-current="page"]{color:#fff;background:var(--green)}
.related-list span{color:var(--brass);font:500 11px/1 var(--serif)}
.related-list strong{font:500 14px/1.65 var(--serif)}

@media(max-width:1080px){
  .service-hero{grid-template-columns:54% 46%}
  .service-hero__copy{padding-inline:42px}
  .service-hero h1{font-size:36px}
  .service-hero__actions{flex-direction:column;max-width:360px}
  .scope-grid,.faq-grid{gap:55px}
  .scope-list li{grid-template-columns:55px 155px 1fr}
}

@media(max-width:820px){
  .service-detail .header,.service-detail .header.stuck{height:72px}
  .service-hero{padding-top:72px;display:flex;flex-direction:column-reverse;min-height:0}
  .service-hero__copy{padding:52px 20px 62px}
  .service-hero h1{font-size:clamp(31px,8vw,42px)}
  .service-hero__lead{font-size:14px}
  .service-hero__actions{margin-top:30px}
  .service-hero__actions .button{width:100%}
  .service-hero__media img{min-height:0;height:44svh;object-position:center}
  .breadcrumb ol{width:calc(100% - 40px);white-space:nowrap;overflow:hidden}
  .service-intro,.scope,.one-stop,.service-flow,.faq{padding:85px 0}
  .concern-list,.concern-list:has(li:nth-child(5)){grid-template-columns:1fr 1fr;margin-top:44px}
  .concern-list li:nth-child(even){border-right:0}
  .concern-list li:nth-child(n+3){border-top:1px solid var(--line)}
  .scope-grid,.faq-grid{grid-template-columns:1fr;gap:42px}
  .scope-copy{position:static}
  .scope-list li{grid-template-columns:48px 1fr;gap:12px 16px}
  .scope-list p{grid-column:2}
  .one-stop__journey{padding-inline:10px}
  .one-stop__steps h3{font-size:16px;white-space:normal}
  .value-grid{grid-template-columns:1fr}
  .value-media{height:360px}
  .value-copy{padding:62px 20px}
  .flow-rail{grid-template-columns:1fr 1fr;gap:50px 20px}
  .flow-rail:before{display:none}
  .related-list{grid-template-columns:1fr 1fr}
  .related-list li{border-bottom:1px solid var(--line)}
  .related-list li:nth-child(2n){border-right:0}
  .related-list li:last-child{border-bottom:0}
}

@media(max-width:520px){
  .service-hero h1.service-hero-title--compact{font-size:clamp(24px,7vw,28px);white-space:normal}
  .service-hero__media img{height:36svh;min-height:280px}
  .concern-list,.concern-list:has(li:nth-child(5)){grid-template-columns:1fr}
  .concern-list li{min-height:0;border-right:0;border-top:1px solid var(--line)}
  .concern-list li:first-child{border-top:0}
  .scope-list li{grid-template-columns:42px 1fr;padding:22px 0}
  .scope-list strong{font-size:17px}
  .one-stop__diagram{margin-top:42px}
  .one-stop__journey{padding:0 0 58px}
  .one-stop__steps{grid-template-columns:1fr;gap:0;padding-left:54px}
  .one-stop__steps:before{left:22px;right:auto;top:42px;bottom:42px;border-top:0;border-left:2px solid var(--brass)}
  .one-stop__steps li{min-height:116px;padding:16px 0;display:grid;grid-template-columns:70px 1fr;grid-template-rows:24px auto;align-items:center;text-align:left}
  .one-stop__number{grid-column:2;grid-row:1;margin:0;font-size:14px}
  .one-stop__icon{position:absolute;left:-54px;top:50%;width:74px;height:74px;margin:0;transform:translateY(-50%);border-width:1px}
  .one-stop__icon img{width:31px;height:31px}
  .one-stop__steps h3{grid-column:2;grid-row:2;font-size:18px;white-space:normal}
  .one-stop__arrow{right:auto;left:10px;top:auto;bottom:46px;width:24px;height:24px;transform:rotate(90deg);background:var(--stone)}
  .one-stop__bracket{left:0;right:0;height:1px;border:0;border-bottom:1px solid var(--green)}
  .one-stop__bracket span{bottom:-20px;min-width:230px;padding:10px 20px;font-size:13px}
  .one-stop__conclusion{margin-top:46px;text-align:center}
  .value-media{height:270px}
  .value-title--two-lines,.value-title--two-lines-wide,.value-strong--single-line{white-space:normal}
  .flow-rail{grid-template-columns:1fr;text-align:left;gap:34px}
  .flow-rail li{padding:0;display:grid;grid-template-columns:52px 1fr;gap:0 18px;text-align:left}
  .flow-rail span{grid-row:1/3;margin:0}
  .flow-rail h3{margin-top:2px}
  .flow-rail p{grid-column:2}
  .related-list{grid-template-columns:1fr}
  .related-list li{border-right:0}
  .related-list a{min-height:98px}
}
