.service-lp { padding-bottom: .5rem; }
.service-hero { display: grid; grid-template-columns: minmax(4.5rem,.9fr) minmax(0,1.1fr); gap: .64rem; align-items: stretch; min-height: var(--hiso-hero); margin-top: clamp(.5rem,4.8vh,.78rem); padding-bottom: .72rem; border-bottom: 1px solid var(--hiso-line); }
.service-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: .08rem 0; }
.service-hero h1 { margin-top: .12rem; }
.service-hero h1 strong { display: block; max-width: 6.2rem; color: var(--hiso-black); font-size: clamp(.46rem,3vw,.62rem); line-height: 1.28; font-weight: 700; }
.service-hero h1 span { display: block; max-width: 6rem; margin-top: .22rem; color: var(--hiso-black); font-size: clamp(.22rem,1.4vw,.28rem); line-height: 1.55; font-weight: 500; }
.service-lead { max-width: 6rem; margin-top: .28rem; color: var(--hiso-muted); font-size: .18rem; line-height: 1.9; }
.service-actions { display: flex; flex-wrap: wrap; gap: .14rem; margin-top: .34rem; }
.service-button { display: inline-flex; align-items: center; justify-content: center; min-height: .42rem; padding: .04rem .22rem; color: var(--hiso-black); border: 1px solid var(--hiso-black); font-size: .16rem; line-height: .28rem; transition: background .2s,color .2s; }
.service-button:hover,.service-button-dark { color: #fff; background: var(--hiso-black); }
.service-button-dark:hover { color: var(--hiso-black); background: var(--hiso-accent); }
.service-hero-visual { position: relative; display: block; min-width: 0; min-height: var(--hiso-hero); overflow: hidden; background: var(--hiso-soft); }
.service-hero-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.service-hero-visual:hover img { transform: scale(1.025); }
.service-hero-visual span { position: absolute; right: .18rem; bottom: .18rem; padding: .08rem .13rem; color: #fff; background: rgba(16,16,14,.86); font-size: .14rem; line-height: .22rem; }
.service-section { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: .72rem; padding: .84rem 0; border-bottom: 1px solid var(--hiso-line); }
.service-section-heading h2 { max-width: 5.8rem; margin-top: .1rem; font-size: .36rem; line-height: 1.45; font-weight: 500; }
.service-section-heading > p:not(.case-eyebrow) { max-width: 5.5rem; margin-top: .2rem; color: var(--hiso-muted); font-size: .18rem; line-height: 1.85; }
.service-section-heading-wide { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); column-gap: .72rem; }
.service-section-heading-wide .case-eyebrow { grid-column: 1 / -1; }
.service-section-heading-wide h2 { grid-column: 1; }
.service-section-heading-wide > p:not(.case-eyebrow) { grid-column: 2; grid-row: 2; margin-top: .1rem; }
.service-signal-list { border-top: 1px solid var(--hiso-black); }
.service-signal-list li { display: grid; grid-template-columns: .48rem minmax(0,1fr); gap: .18rem; padding: .23rem 0; border-bottom: 1px solid var(--hiso-line); }
.service-signal-list li:last-child { border-bottom: 0; }
.service-signal-list span { color: var(--hiso-muted); font-size: .14rem; }
.service-signal-list p { font-size: .2rem; line-height: 1.65; }
.service-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .22rem; }
.service-card { min-height: 2.5rem; padding: .24rem; background: var(--hiso-soft); }
.service-card > span { color: var(--hiso-muted); font-size: .14rem; }
.service-card h3 { margin-top: .42rem; font-size: .23rem; line-height: 1.45; font-weight: 600; }
.service-card p { margin-top: .12rem; color: var(--hiso-muted); font-size: .16rem; line-height: 1.8; }
.service-delivery-list { border-top: 1px solid var(--hiso-black); }
.service-delivery-list li { display: grid; grid-template-columns: minmax(1.8rem,.42fr) minmax(0,.58fr); gap: .24rem; padding: .22rem 0; border-bottom: 1px solid var(--hiso-line); }
.service-delivery-list strong { font-size: .19rem; line-height: 1.6; font-weight: 600; }
.service-delivery-list span { color: var(--hiso-muted); font-size: .16rem; line-height: 1.75; }
.service-boundary { grid-column: 2; margin-top: -.42rem; padding-top: .18rem; color: var(--hiso-muted); font-size: .15rem; line-height: 1.75; }
.service-cases { display: block; }
.service-case-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .42rem .28rem; margin-top: .5rem; }
.service-case-card a { display: block; color: var(--hiso-black); }
.service-case-image { overflow: hidden; aspect-ratio: 16 / 10; background: var(--hiso-soft); }
.service-case-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.service-case-card:hover img { transform: scale(1.035); }
.service-case-copy { padding-top: .2rem; }
.service-case-copy > p { color: var(--hiso-muted); font-size: .14rem; line-height: .24rem; }
.service-case-copy h3 { margin-top: .05rem; font-size: .24rem; line-height: 1.45; font-weight: 500; }
.service-case-copy > span { display: block; min-height: .56rem; margin-top: .12rem; color: var(--hiso-muted); font-size: .16rem; line-height: 1.75; }
.service-case-copy em { display: inline-block; margin-top: .16rem; padding-bottom: .03rem; border-bottom: 1px solid var(--hiso-black); font-size: .15rem; font-style: normal; }
.service-faq-list { border-top: 1px solid var(--hiso-black); }
.service-faq-list details { border-bottom: 1px solid var(--hiso-line); }
.service-faq-list summary { position: relative; padding: .22rem .48rem .22rem 0; cursor: pointer; font-size: .19rem; line-height: 1.6; font-weight: 600; list-style: none; }
.service-faq-list summary::-webkit-details-marker { display: none; }
.service-faq-list summary::after { content: '+'; position: absolute; right: .06rem; top: .19rem; color: var(--hiso-muted); font-size: .25rem; font-weight: 400; }
.service-faq-list details[open] summary::after { content: '−'; }
.service-faq-list details p { max-width: 8rem; padding: 0 .48rem .24rem 0; color: var(--hiso-muted); font-size: .16rem; line-height: 1.85; }
.service-consult { margin-top: .9rem; padding: .62rem; background: var(--hiso-soft); }
.service-consult h2 { max-width: 9rem; margin-top: .1rem; font-size: .42rem; line-height: 1.4; font-weight: 500; }
.service-consult > p:not(.case-eyebrow) { max-width: 8rem; margin-top: .18rem; color: var(--hiso-muted); font-size: .18rem; line-height: 1.8; }
.service-consult .service-button { margin-top: .3rem; }
.service-related { margin-top: .88rem; padding-bottom: .52rem; border-bottom: 1px solid var(--hiso-line); }
.service-related ul { display: flex; flex-wrap: wrap; gap: .12rem .34rem; margin-top: .18rem; }
.service-related a { color: var(--hiso-black); font-size: .17rem; line-height: .3rem; }
.service-lp .banquan { margin-top: .5rem; }

@media (max-width: 1280px) {
  .service-hero { grid-template-columns: minmax(4rem,.92fr) minmax(0,1.08fr); gap: .42rem; }
  .service-section { gap: .48rem; }
  .service-section-heading-wide { column-gap: .48rem; }
}
