/* V5.15: only the two service directories. */
.service515{--service-gap:clamp(20px,2vw,30px)}
.service515 .service515-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:clamp(460px,48vw,680px);background:#f0f3f1}
.service515 .service515-hero-copy{padding:clamp(48px,6vw,96px) var(--page-gutter);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0}
.service515 .service515-hero h1{font-size:clamp(42px,5.4vw,82px);line-height:1.02;letter-spacing:-.045em;margin:18px 0 24px;overflow-wrap:anywhere;max-width:13ch}
.service515 .service515-hero p{font-size:clamp(17px,1.4vw,22px);line-height:1.65;margin:0 0 28px;max-width:650px;color:var(--season-muted)}
.service515 .service515-hero .cta-row{flex-wrap:wrap;align-items:center;gap:18px}
.service515 .service515-hero-photo{min-width:0;background-size:cover;background-position:center;background-color:#19352f}
.service515 .service31-intro{width:100%;padding:clamp(50px,6vw,90px) var(--page-gutter);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:6vw;row-gap:18px}
.service515 .service31-intro>.eyebrow{grid-column:1/-1}
.service515 .service31-intro h2{font-size:clamp(34px,3.8vw,58px);line-height:1.08;max-width:15ch}
.service515 .service31-intro p{font-size:18px;line-height:1.75}
.service515 .service31-list{width:auto;margin:0 var(--page-gutter) clamp(50px,6vw,90px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--service-gap);border:0;scroll-margin-top:110px}
.service515 .service31-row{min-width:0;display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:24px;padding:clamp(24px,2.6vw,38px);border:1px solid #dce4df;border-radius:var(--maniva-card-radius,24px);background:#fff}
.service515 .service31-logo{width:104px;height:104px;padding:12px;border-radius:16px;background:#f4f5f2}
.service515 .service31-logo img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.service515 .service31-main{min-width:0}.service515 .service31-main h2{font-size:clamp(26px,2.3vw,36px);line-height:1.12;margin:16px 0}
.service515 .service31-type{display:inline-block;padding:7px 11px;border-radius:999px;background:#edf2ee;font-size:11px;letter-spacing:.07em;line-height:1.4}
.service515 .service31-main p{font-size:16px;line-height:1.75;margin:0 0 16px}
.service515 .service31-place{line-height:1.6!important}
.service515 .service31-contact{grid-column:1/-1;min-width:0;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px 20px;border-top:1px solid #e2e8e4;padding-top:22px;align-items:center}
.service515 .service31-contact a{font-size:14px;line-height:1.6;overflow-wrap:anywhere;max-width:100%}
.service515 .service31-button{margin-top:0;margin-left:auto}
.service515-guide{padding:clamp(48px,6vw,90px) var(--page-gutter);background:#f4f3ef}
.service515-guide>header{max-width:820px;margin-bottom:32px}
.service515-guide h2{font-size:clamp(34px,3.8vw,58px);line-height:1.1;letter-spacing:-.035em;margin:16px 0}
.service515-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--service-gap)}
.service515-guide article{padding:clamp(24px,2.5vw,36px);border-radius:var(--maniva-card-radius,24px);background:#fff;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.service515-guide h3{font-size:26px;line-height:1.2;margin:0 0 18px}
.service515-guide p{font-size:16px;line-height:1.75;color:var(--season-muted);margin:0 0 24px}.service515-guide .text-link{margin-top:auto}
.service515 .service31-note{padding:clamp(48px,6vw,90px) var(--page-gutter)}
.service515 a:focus-visible{outline:3px solid var(--season-primary);outline-offset:5px}
@media(max-width:1050px){.service515 .service515-hero{grid-template-columns:1.2fr 1fr}.service515 .service31-list{grid-template-columns:1fr}.service515-guide-grid{grid-template-columns:1fr}.service515 .service31-main h2{font-size:32px}}
@media(max-width:700px){.service515 .service515-hero{grid-template-columns:1fr}.service515 .service515-hero-copy{padding-block:48px}.service515 .service515-hero h1{font-size:clamp(38px,10vw,58px)}.service515 .service515-hero-photo{min-height:260px}.service515 .service31-intro{grid-template-columns:1fr}.service515 .service31-row{grid-template-columns:76px minmax(0,1fr);gap:18px}.service515 .service31-logo{width:76px;height:76px;padding:10px}.service515 .service31-main h2{font-size:26px}.service515 .service31-button{margin-left:0}.service515 .service31-contact{gap:12px}.service515 .service31-intro h2{max-width:none}}
@media(max-width:420px){.service515 .service31-row{grid-template-columns:1fr}.service515 .service31-logo{width:100px;height:90px}}
