/* Reference-led line icons, adapted to TOV's approved light palette. */
.service{--service-surface:var(--paper);--service-accent:var(--green-ink);--service-icon-size:56px;--service-icon-gap:20px}
.service summary{display:grid;grid-template-columns:var(--service-icon-size) minmax(0,1fr) 18px;gap:var(--service-icon-gap);padding-block:22px}
.service-icon{display:grid;place-items:center;width:var(--service-icon-size);height:var(--service-icon-size);border:1px solid var(--line);border-radius:14px;background:var(--service-surface);color:var(--ink);transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.service-glyph{display:block;width:36px;height:36px;flex-shrink:0}
.service-glyph-accent{stroke:var(--service-accent)}
.service[open]:not(.is-closing) .service-icon{--service-surface:#edf2e6;border-color:#a8bb94;color:var(--green-ink)}
.service summary:focus-visible .service-icon{border-color:var(--green-ink)}
.service .service-content{padding-left:calc(var(--service-icon-size) + var(--service-icon-gap));padding-right:38px}
@media(hover:hover){.service summary:hover .service-icon{--service-surface:#edf2e6;border-color:#a8bb94}}
@media(max-width:1050px) and (min-width:761px){.service{--service-icon-size:50px;--service-icon-gap:15px}.service h3{font-size:19px}.service-glyph{width:33px;height:33px}}
@media(max-width:760px){.service{--service-icon-size:48px;--service-icon-gap:14px}.service summary{padding-block:20px;grid-template-columns:var(--service-icon-size) minmax(0,1fr) 16px}.service-icon{border-radius:12px}.service-glyph{width:32px;height:32px}.service h3{font-size:18px;line-height:1.45;letter-spacing:-.025em}.service .service-content{padding:0 0 24px}.service-content p{padding-right:0}.service-chevron{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.service-icon{transition:none}}
