/* Services page: alternating service sections (.sd), working models and FAQ. */
.sd{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.sd .outline-num{font-size:72px}
.sd h2{font-family:var(--display);font-weight:900;font-size:clamp(44px,5vw,72px);letter-spacing:-.035em;line-height:.95;margin:14px 0 18px}
.sd .lead2{font-size:20px;color:var(--ink);line-height:1.45;margin-bottom:14px}
.sd p.body{color:var(--ink-2)}
.sd .media{position:sticky;top:110px}
.sd .media .ph{height:520px}
.sd.rev .media{order:-1}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sd-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}

.models{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.model .outline-num{font-size:40px;margin-bottom:18px}
.model h3{font-family:var(--display);font-weight:800;font-size:24px;letter-spacing:-.02em;margin-bottom:8px}
.model .checks{margin-top:18px;font-size:13.5px}

.faq details{border-bottom:1px solid var(--line);padding:22px 0}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;line-height:1;font-weight:300;transition:transform .2s;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:12px;color:var(--ink-2);max-width:720px}

@media (max-width:1100px){
  .sd{gap:40px}
}
@media (max-width:900px){
  .sd{grid-template-columns:1fr;gap:32px}
  .sd .media,.sd.rev .media{order:-1;position:static}
  .sd .media .ph{height:380px}
  .models{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .feat,.models{grid-template-columns:1fr}
  .sd .media .ph{height:260px}
  .sd .outline-num{font-size:56px}
}
