/* Page-specific composition; homepage header, portrait, CTA and contact styles stay authoritative. */
.service-crumb{display:flex;align-items:center;gap:10px;padding-top:18px;font-size:13px;color:var(--muted)}
.service-crumb a{text-decoration:underline;text-underline-offset:4px}
.service-hero{grid-template-columns:1.3fr .7fr;gap:30px;padding-top:38px;padding-bottom:105px}
.service-hero .hero-copy{max-width:720px}
.service-hero h1{max-width:720px;font-size:clamp(42px,5.1vw,68px);line-height:1.12;white-space:normal}
.service-hero .intro{max-width:590px;margin-top:30px;font-size:18px;line-height:1.7}
.service-hero .actions{margin-top:28px}
.service-hero .portrait{max-width:420px;justify-self:end}
.service-choice{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:start;padding-block:66px 72px;border-block:1px solid var(--line)}
.service-choice-heading h2,.service-conditions-heading h2{max-width:520px;font-size:clamp(34px,3.8vw,49px)}
.service-choice-copy,.service-conditions-copy{max-width:660px;padding-top:5px}
.service-choice-copy p,.service-conditions-copy p{color:var(--muted)}
.service-choice-copy p+p,.service-conditions-copy p+p{margin-top:17px}
.service-cases{padding-block:72px 80px}
.service-cases-heading{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:26px}
.service-cases-heading h2{font-size:clamp(37px,4.3vw,54px)}
.service-cases-heading p{max-width:430px;color:var(--muted);padding-bottom:4px}
.service-case{display:grid;grid-template-columns:minmax(145px,.38fr) minmax(0,1.25fr);gap:38px;align-items:start;padding:29px 28px;border-top:1px solid var(--line);background:var(--card);box-shadow:7px 8px 0 var(--shadow);transform:rotate(-.45deg)}
.service-case+.service-case{margin:28px 0 0 15px;background:var(--mint);transform:rotate(.45deg)}
.service-case-place{padding-top:4px;color:var(--blue);font-family:Lora,Georgia,serif;font-size:20px;line-height:1.45}
.service-case-copy{max-width:700px}
.service-case-copy h3{font-size:clamp(25px,3vw,36px);margin-bottom:13px}
.service-case-copy>p{font-size:15px;line-height:1.7;color:var(--muted)}
.service-case-copy .service-case-note{margin-top:12px;color:var(--ink);font-size:13px}
.service-case-copy .text-link{margin-top:16px}
.service-conditions{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;padding-block:77px 82px}
.service-faq{padding-block:70px 80px;background:var(--card);border-block:1px solid var(--line)}
.service-faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:start}
.service-faq-layout>h2{font-size:clamp(34px,3.8vw,49px)}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;cursor:pointer;list-style:none;padding:17px 34px 17px 0;font-weight:500;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:4px;top:12px;color:var(--blue);font-size:25px;font-weight:400}
.faq-list details[open] summary:after{content:'−'}
.faq-list details p{max-width:700px;padding:0 26px 17px 0;color:var(--muted);font-size:15px}
.service-home-link{grid-column:1/-1;justify-self:start;margin-top:6px}
@media(max-width:1000px){.service-hero{grid-template-columns:1.2fr .8fr;gap:20px}.service-hero .portrait{padding-left:18px}.service-choice,.service-conditions,.service-faq-layout{gap:48px}.service-case{gap:25px;padding-inline:22px}}
@media(max-width:900px){.service-hero{padding-bottom:90px}}
@media(max-width:750px){
  .service-crumb{padding-top:13px;font-size:11px}
  .service-hero{grid-template-columns:1.25fr 1fr;gap:0 8px;padding-top:24px;padding-bottom:58px}
  .service-hero .hero-copy{display:contents}
  .service-hero .hero-heading{grid-column:1;grid-row:1;align-self:center}
  .service-hero h1{font-size:clamp(25px,5.8vw,43px);line-height:1.2}
  .service-hero .portrait{grid-column:2;grid-row:1;width:100%;padding:0 3px 8px;align-self:center}
  .service-hero .portrait-art{height:210px}
  .service-hero .intro{grid-column:1/-1;grid-row:2;margin-top:22px;font-size:15px;line-height:1.65}
  .service-hero .actions{grid-column:1/-1;grid-row:3;margin-top:19px;gap:16px}
  .service-hero .actions .button{padding:15px 22px;font-size:13px}
  .service-hero .actions .text-link{font-size:12px}
  .service-choice,.service-conditions{grid-template-columns:1fr;gap:17px;padding-block:45px 50px}
  .service-choice-heading h2,.service-conditions-heading h2,.service-faq-layout>h2{font-size:32px}
  .service-choice-copy,.service-conditions-copy{padding-top:0}
  .service-choice-copy p,.service-conditions-copy p{font-size:15px}
  .service-choice-copy p+p,.service-conditions-copy p+p{margin-top:13px}
  .service-cases{padding-block:48px 55px}
  .service-cases-heading{grid-template-columns:1fr;gap:10px;margin-bottom:18px}
  .service-cases-heading h2{font-size:35px}
  .service-cases-heading p{font-size:14px}
  .service-case{grid-template-columns:minmax(70px,.35fr) minmax(0,1fr);gap:17px;padding:22px 17px;transform:rotate(-.35deg)}
  .service-case+.service-case{margin:22px 0 0 8px;transform:rotate(.35deg)}
  .service-case-place{font-size:15px}
  .service-case-copy h3{font-size:24px}
  .service-case-copy>p{font-size:14px}
  .service-case-copy .text-link{font-size:13px}
  .service-faq{padding-block:48px 54px}
  .service-faq-layout{grid-template-columns:1fr;gap:19px}
  .faq-list summary{padding-block:15px;font-size:15px}
  .faq-list summary:after{top:10px}
  .faq-list details p{font-size:14px}
  .service-home-link{font-size:13px}
}
@media(max-width:380px){.service-hero h1{font-size:25px}.service-hero .portrait-art{height:185px}.service-hero .actions{gap:13px}.service-hero .actions .text-link{font-size:11px}.service-case{padding-inline:13px;gap:12px}.service-case-place{font-size:13px}}
