/* Tjenesteoversikt uten sidemeny, inspirert av luftige produktkort. */
.to-overview { padding-bottom: 24px; }
.to-heading { margin-bottom: 40px; }
.to-home-grid { list-style: none; padding: 0; margin: 0; align-items: start; }
.to-home-grid .to-home-card { flex-direction: column; }
.to-home-grid .to-content { padding: 22px; }
.to-home-grid .to-content h3 a { color: inherit; text-decoration: none; }
.to-home-grid .to-content h3 a:hover { text-decoration: underline; }
.to-home-grid .to-excerpt { margin: 0 0 14px; }
.to-home-grid .to-home-card.is-ready:not(.is-expanded) .to-excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; max-height: 5.4em; overflow: hidden; }
.to-home-grid .to-expand { align-self: flex-start; padding: 4px 0; margin: -4px 0 14px; border: 0; background: transparent; color: #286368; font: inherit; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.to-home-grid .to-expand[hidden] { display: none; }
.to-home-grid .to-more { padding-top: 14px; }
.to-home-grid .to-expand:focus-visible { outline: 2px solid #286368; outline-offset: 4px; }
.to-home-grid .to-home-stripe { display: block; flex: 0 0 15px; width: 100%; height: 15px; background-color: #bedfc1; }
.pi-section .to-content h3 { margin: 0 0 14px; color: #214f51 !important; font-size: 21px; font-weight: 700; line-height: 1.35; overflow-wrap: break-word; }
.to-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.to-card { min-width: 0; display: flex; overflow: hidden; border: 1px solid #dce7e5; border-radius: 22px; background: #fff; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.to-card-link { display: flex; flex-direction: column; width: 100%; color: #4c6264; text-decoration: none; }
.to-card-link:hover, .to-card-link:focus { color: #4c6264; text-decoration: none; }
.to-image { overflow: hidden; background: #f2f7f6; aspect-ratio: 4 / 3; }
.to-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.to-content { flex: 1; display: flex; flex-direction: column; padding: 26px; }
.to-content h2 { margin: 0 0 14px; color: #214f51; font-size: 21px; font-weight: 700; line-height: 1.35; overflow-wrap: break-word; }
.to-content p { margin: 0 0 26px; font-size: 15px; line-height: 1.8; }
.to-more { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 20px; border-top: 1px solid #dce7e5; color: #286368; font-size: 14px; font-weight: 700; }
.to-more > span { font-size: 21px; transition: transform .22s ease; }
.to-card:focus-within { outline: 3px solid #286368; outline-offset: 4px; }
.to-card-link:focus-visible { outline: 0; }
@media (hover: hover) { .to-card:hover { transform: translateY(-4px); border-color: #a3c4bc; box-shadow: 0 14px 30px rgba(33,79,81,.09); } .to-card:hover .to-image img { transform: scale(1.025); } .to-card:hover .to-more > span { transform: translate(2px,-2px); } }
@media (max-width: 991px) { .to-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; } }
@media (max-width: 575px) { .to-grid { grid-template-columns: minmax(0, 1fr); } .to-content { padding: 22px; } .to-heading { margin-bottom: 28px; } }
@media (prefers-reduced-motion: reduce) { .to-card, .to-image img, .to-more > span { transition: none; } }
