/* Seven fixed implementation packages, separate from eight service categories. */
.sc .sp-section{background:#eef2e5;padding-block:84px;position:relative;overflow:hidden;scroll-margin-top:88px}
.sc .sp-section::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,#62754408 1px,transparent 1px);background-size:calc(100% / 12) 100%;pointer-events:none}
.sp-section>.sc-wrap{position:relative}
.sp-heading{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end;gap:48px;margin-bottom:38px}
.sc .sp-heading h2{font-size:clamp(28px,3.5vw,46px)!important;line-height:1.13!important;letter-spacing:-.045em;max-width:770px}
.sc .sp-heading>p{font-size:15px;line-height:1.75;max-width:42ch;margin:0}
.sp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;align-items:stretch}
.sp-card{--sp-card-bg:#fcfdf8;--sp-card-ink:#252e20;--sp-card-muted:#58644b;--sp-card-line:#c5cfb4;position:relative;min-width:0;display:flex;flex-direction:column;padding:27px 26px 24px;border:1px solid var(--sp-card-line);background:var(--sp-card-bg);box-shadow:5px 6px 0 #c9d3bb;color:var(--sp-card-ink);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s;isolation:isolate}
.sp-card::before{content:"";position:absolute;z-index:-1;right:10px;top:15px;width:100px;height:100px;border:1px solid var(--sp-card-line);border-radius:50%;opacity:.35;transform:rotate(-24deg) scaleY(.45);pointer-events:none}
.sp-card::after{content:"";position:absolute;z-index:-1;right:23px;top:15px;width:75px;height:100px;border:1px solid var(--sp-card-line);border-radius:50%;opacity:.23;transform:rotate(31deg) scaleX(.48);pointer-events:none}
.sp-card:first-child,.sp-card:last-child{grid-column:span 2}
.sp-card--a,.sp-card--f{--sp-card-bg:#25301f;--sp-card-ink:#f2f7e9;--sp-card-muted:#c4d1b5;--sp-card-line:#64794b;box-shadow:5px 6px 0 #b6c89b}
.sp-card--d{--sp-card-bg:#d8edb6;--sp-card-ink:#29351e;--sp-card-muted:#4d6039;--sp-card-line:#afc78d}
.sp-card-top{display:flex;align-items:center;gap:12px;margin-bottom:24px;min-height:34px}
.sp-index{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--sp-card-line);display:grid;place-items:center;border-radius:50%;font:500 10px/1 var(--font-mono);color:var(--sp-card-muted)}
.sc .sp-kicker{font:500 9px/1.55 var(--font-mono);letter-spacing:.025em;margin:0;color:var(--sp-card-muted);max-width:30ch;text-wrap:balance}
.sp-card-star{font:400 32px/1 var(--font-body);margin-left:auto;color:var(--sp-card-muted);transition:transform .8s cubic-bezier(.22,1,.36,1);flex:0 0 auto}
.sc .sp-card h3{font:650 clamp(22px,2.2vw,29px)/1.18 var(--font-body);letter-spacing:-.04em;color:var(--sp-card-ink);max-width:27ch;margin:0 0 17px;text-wrap:balance}
.sp-card h3 a{text-decoration:none;color:inherit}
.sc .sp-teaser{font-size:14px;line-height:1.7;color:var(--sp-card-muted);margin:0 0 23px;max-width:57ch}
.sp-tags{display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0 0 24px;list-style:none}
.sc .sp-tags li{font:400 9px/1.6 var(--font-mono);color:var(--sp-card-muted);padding:5px 7px;border:1px solid var(--sp-card-line);background:transparent}
.sp-price{margin-top:auto;padding-block:20px 22px;border-top:1px solid var(--sp-card-line);display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}
.sp-price strong{font:650 clamp(26px,2.65vw,34px)/1.1 var(--font-body);letter-spacing:-.05em;white-space:nowrap;color:var(--sp-card-ink)}
.sp-price>span{font:400 10px/1.5 var(--font-mono);color:var(--sp-card-muted)}
.sp-links{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.sp-links a{font:600 11px/1.55 var(--font-mono);min-height:44px;display:inline-flex;align-items:center;justify-content:space-between;gap:17px;text-decoration:none;color:var(--sp-card-ink)}
.sp-links .sp-primary{border-bottom:1px solid var(--sp-card-line)}
.sp-links .sp-demo{color:var(--sp-card-muted);font-weight:400}
.sp-links a span{transition:transform .35s}
.sp-card--a .sp-primary,.sp-card--f .sp-primary{color:#d1f273}
.sp-footnote{display:flex;gap:20px;align-items:flex-start;padding:26px 0 0;margin-top:12px}
.sp-footnote-mark{font:400 25px/1.5 var(--font-body);color:#546b31}
.sc .sp-footnote p{font-size:13px;line-height:1.75;max-width:970px;margin:0;color:#5b674e}
.sp-grid--pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-grid--pair .sp-card:first-child,.sp-grid--pair .sp-card:last-child{grid-column:span 1}
.sp-grid--single{grid-template-columns:1fr;max-width:980px}
.sp-grid--single .sp-card{grid-column:span 1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);column-gap:50px;padding:33px 36px}
.sp-grid--single .sp-card-top{grid-column:1/-1}
.sp-grid--single .sp-teaser{grid-column:1;grid-row:3}
.sp-grid--single .sp-tags{grid-column:1;grid-row:4;margin-bottom:0}
.sp-grid--single .sp-price{grid-column:2;grid-row:2/4;display:flex;flex-direction:column;justify-content:center;gap:13px;margin-top:0;padding:10px 0 23px;border-top:0}
.sp-grid--single .sp-price strong{font-size:38px}
.sp-grid--single .sp-links{grid-column:2;grid-row:4;align-self:start;gap:14px}
@media(hover:hover) and (pointer:fine){.sp-card:hover{transform:translate(-2px,-3px);box-shadow:8px 10px 0 #bac9a7;border-color:#82966a}.sp-card:hover .sp-card-star{transform:rotate(90deg)}.sp-links a:hover span{transform:translate(3px,-3px)}.sp-card h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}}
@media(max-width:1050px){.sp-grid{gap:21px}.sp-card{padding:24px 21px 22px}.sp-card-top{gap:8px}.sp-card-star{font-size:26px}.sp-kicker{font-size:8px!important}.sp-links{gap:12px}.sp-grid--single .sp-card{column-gap:30px}.sp-heading{gap:32px}}
@media(max-width:900px){.sp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-card:first-child{grid-column:span 2}.sp-card:last-child{grid-column:span 1}.sp-grid--pair .sp-card:first-child{grid-column:span 1}.sp-grid--single{grid-template-columns:1fr}.sp-grid--single .sp-card:first-child{grid-column:span 1}.sp-heading{grid-template-columns:1fr;gap:20px}.sc .sp-heading>p{max-width:62ch}.sp-grid--single .sp-card{display:flex}.sp-grid--single .sp-card-top{margin-bottom:24px}.sp-grid--single .sp-price{margin-top:22px;border-top:1px solid var(--sp-card-line);padding:23px 0;flex-direction:row;justify-content:flex-start;align-items:baseline}.sp-grid--single .sp-price strong{font-size:34px}}
@media(max-width:600px){.sc .sp-section{padding-block:48px}.sp-heading{margin-bottom:28px}.sc .sp-heading h2{font-size:29px!important;line-height:1.17!important}.sp-grid,.sp-grid--pair{grid-template-columns:1fr;gap:23px}.sp-card,.sp-grid--single .sp-card{padding:24px 21px 20px;box-shadow:4px 5px 0 #c9d3bb}.sp-card:first-child,.sp-card:last-child,.sp-grid--pair .sp-card:first-child{grid-column:span 1}.sc .sp-card h3{font-size:26px}.sp-price strong,.sp-grid--single .sp-price strong{font-size:31px}.sp-links{gap:18px}.sp-card-top{margin-bottom:21px}.sp-footnote{gap:14px}.sc .sp-footnote p{font-size:12px}.sp-tags{gap:6px}.sp-card-star{font-size:28px}}
@media(prefers-reduced-motion:reduce){.sp-card,.sp-card-star,.sp-links a span{transition:none!important;transform:none!important}}
