.service-card-grid,.product-card-grid,.service-project-grid{align-items:stretch}
.service-card{display:flex;flex-direction:column;min-width:0;height:460px;min-height:0;padding:0;overflow:hidden}
.service-card-media{position:relative;display:block;width:100%;height:180px;flex:0 0 180px;overflow:hidden;background:#eef4ee}
.service-card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s ease}
.service-card-media:hover img{transform:scale(1.035)}
.service-media-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;gap:8px;background:radial-gradient(ellipse at 70% 20%,#d9f2de,#edf5ee 62%);color:#174d26;font:700 1rem 'Space Grotesk',sans-serif;letter-spacing:.14em}
.service-media-placeholder b{color:#087d2c}
.service-priority{position:absolute;top:12px;left:12px;padding:6px 10px;border-radius:999px;background:#0b6d2b;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.03em}
.service-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:20px 22px 22px}
.service-card-kicker{display:-webkit-box;min-height:2.1em;max-width:100%;overflow:hidden;color:#087d2c;font-size:.73rem;font-weight:700;line-height:1.45;text-transform:uppercase;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.service-card h3{display:-webkit-box;min-height:2.4em;margin:9px 0 8px;overflow:hidden;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.service-card h3 a:hover,.product-card h2 a:hover{color:#087d2c}
.service-card-content>p{display:-webkit-box;min-height:4.7em;margin:0 0 16px;overflow:hidden;color:#596659;font-size:.87rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.service-card .text-link{margin-top:auto}
.service-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:start;gap:clamp(28px,5vw,70px)}
.service-detail-copy h2{font-size:clamp(2rem,3.5vw,3rem)}
.service-detail-copy>p{max-width:760px;white-space:pre-line;font-size:1rem;line-height:1.8}
.service-detail-copy h3{margin:30px 0 12px}
.service-detail-image,.service-detail-placeholder{position:sticky;top:24px;min-height:300px;overflow:hidden;border:1px solid #dfe8de;border-radius:18px;background:#eff6ef}
.service-detail-image img{display:block;width:100%;height:100%;min-height:300px;max-height:480px;object-fit:cover}
.service-detail-placeholder{display:grid;place-items:center;padding:30px;color:#174d26;font-size:1.3rem;font-weight:700}
.service-detail-list{display:grid;gap:9px;margin:14px 0 25px;padding-left:22px;color:#405040;line-height:1.65}
.service-tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 24px}
.service-tag-list span{padding:7px 11px;border:1px solid #dce9dc;border-radius:999px;background:#f5faf5;color:#315b37;font-size:.78rem;font-weight:600}
.service-project-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.service-project-image{display:block;width:100%;height:190px;margin:0 0 18px;object-fit:cover;border-radius:10px}
.service-project-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:14px}
.product-filter{display:grid;grid-template-columns:minmax(200px,1fr) minmax(190px,.5fr) auto;gap:12px;margin-bottom:22px}
.product-filter input,.product-filter select{min-width:0;padding:12px 14px;border:1px solid #d6e1d5;border-radius:9px;background:white;color:#142014}
.product-categories{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.product-categories a{padding:8px 12px;border:1px solid #dce7dc;border-radius:999px;color:#465546;font-size:.8rem;font-weight:600}
.product-categories a.active,.product-categories a:hover{border-color:#a8d6af;background:#edf8ef;color:#087d2c}
.product-card{display:flex;height:440px;min-width:0;flex-direction:column;overflow:hidden;padding:0}
.product-card-image{display:grid;width:100%;height:190px;place-items:center;overflow:hidden;background:#edf5ee}
.product-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.product-card-placeholder img{width:auto;max-width:78%;height:auto;max-height:130px;object-fit:contain}
.product-card-placeholder span{padding:20px;color:#1a4f28;font:700 1.1rem 'Space Grotesk',sans-serif;text-align:center}
.product-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:22px}
.product-card-body .section-kicker{display:-webkit-box;max-width:100%;overflow:hidden;margin:10px 0 5px;font-size:.68rem;-webkit-box-orient:vertical;-webkit-line-clamp:1}
.product-card h2{display:-webkit-box;min-height:2.4em;margin:0 0 10px;overflow:hidden;font-size:1.4rem;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.product-card-body>p{display:-webkit-box;min-height:4.6em;margin-bottom:14px;overflow:hidden;font-size:.88rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.product-platforms{margin:auto 0 14px;color:#526051;font-size:.78rem;font-weight:700}
.product-detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:start;gap:36px}
.product-detail-main h2,.product-facts h2{margin:20px 0 12px;font-size:1.65rem}
.product-detail-logo{display:block;width:auto;max-width:180px;max-height:72px;margin:0 0 20px;object-fit:contain;object-position:left center}
.product-detail-image{display:block;width:100%;max-height:430px;margin:0 0 28px;object-fit:contain;border:1px solid #e0e9df;border-radius:16px;background:#f3f8f3}
.product-long-copy{white-space:pre-line;color:#4d5b4d;font-size:.98rem;line-height:1.8}
.product-facts{position:sticky;top:24px;padding:24px;border:1px solid #e0e8df;border-radius:15px;background:#fff;box-shadow:0 12px 34px #1630180b}
.product-facts h2{margin-top:0}
.product-facts dl{margin:0}
.product-facts dt{margin-top:16px;color:#718071;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.product-facts dd{margin:4px 0 0;color:#283728;font-size:.88rem;line-height:1.55;overflow-wrap:anywhere}
.product-facts a{color:#087d2c;font-weight:700}
.product-version-table{min-width:850px}
.product-download-btn{white-space:nowrap}
.product-license-note{margin:18px 0 0;color:#5d6a5d;font-size:.84rem;line-height:1.6}
.product-profile-wrap{max-width:760px}
.product-profile-wrap .form-card{padding:clamp(24px,5vw,48px)}
.product-profile-wrap h1{font-size:clamp(2.2rem,5vw,3.7rem)}
.product-profile-release,.product-license-box{padding:16px;border:1px solid #dce8dc;border-radius:10px;background:#f5faf5}
.product-profile-release{display:flex;flex-direction:column;gap:5px;margin:20px 0}
.product-profile-release span{color:#5d6a5d;font-size:.84rem;overflow-wrap:anywhere}
.product-license-box p{margin:7px 0 0;font-size:.84rem;line-height:1.6;white-space:pre-line}
.product-category-select{padding:16px;border:1px solid #d6e1d5;border-radius:10px}
.product-category-select legend{padding:0 7px;font-weight:700}
.product-category-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.product-model-fields{padding:16px;border:1px solid #d6e1d5;border-radius:10px}
.product-model-fields summary{margin-bottom:14px;font-weight:700;cursor:pointer}
.admin-image-preview{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dce8dc;border-radius:10px;background:#f7faf7}
.admin-image-preview>img{display:block;width:auto;max-width:100%;height:auto;max-height:160px;object-fit:contain;border-radius:7px}
.admin-content-thumb{display:block;width:100px;height:58px;border-radius:6px;object-fit:cover;background:#eef4ee}
.admin-table-search{display:flex;max-width:360px;flex-direction:column;gap:6px;margin:16px;font-size:.8rem;font-weight:700}
.admin-table-search input{padding:10px 12px;border:1px solid #d6e1d5;border-radius:8px}
@media(max-width:1120px){.service-detail-image,.product-facts{position:static}}
@media(max-width:900px){.service-detail-grid,.product-detail-layout{grid-template-columns:1fr}.service-detail-image{grid-row:1}.product-detail-image{max-height:340px}.product-facts{grid-row:1}}
@media(max-width:760px){.product-filter{grid-template-columns:1fr}.product-filter .btn{justify-self:start}.product-version-table{min-width:760px}}
@media(max-width:520px){.product-category-checks{grid-template-columns:1fr}.service-card-grid,.product-card-grid{grid-template-columns:1fr}.service-card{height:450px}.service-card-content>p{min-height:0}}
@media(prefers-reduced-motion:reduce){.service-card-media img{transition:none}}
