.sp-hero{padding-block:16px var(--section);background:radial-gradient(ellipse 70% 85% at 100% 35%,var(--hero-tone),rgba(232,240,254,0) 75%),var(--surface-0)}
.sp-crumbs{margin-bottom:12px;font-size:14px;color:var(--ink-500)}
.sp-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 10px;list-style:none;margin:0;padding:0}
.sp-crumbs li{display:inline-flex;align-items:center;gap:10px;min-width:0}
.sp-crumbs li+li::before{content:"›";content:"›" / "";color:var(--ink-500)}
.sp-crumbs a{display:inline-flex;align-items:center;min-height:44px}
.sp-hero-grid{display:grid;gap:32px;align-items:center}
.sp-hero-grid>*{min-width:0}
.sp-hero h1{font-size:clamp(30px,8.2vw,34px);line-height:1.12;letter-spacing:-.02em}
.sp-lead{margin-top:20px;font-size:17px;line-height:1.55;max-width:60ch}
.sp-hero .actions{margin-top:28px;flex-direction:column;align-items:stretch;gap:12px}
.sp-hero .btn{padding-inline:20px}
.sp-art{display:block;position:relative}
.sp-art img{display:block;width:100%;height:auto}
.sp-art-illustration{margin-inline:-8px}
.sp-art-illustration img{-webkit-mask-image:radial-gradient(ellipse closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse closest-side,#000 70%,transparent 100%)}
.sp-photo-frame{padding:8px;background:var(--surface-0);border:1px solid var(--line-100);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.sp-photo-frame img{border-radius:10px}
.sp-product-panel{position:relative;padding:12px;background:var(--blue-50);border-radius:var(--radius-card)}
.sp-product-panel picture{display:block;padding:6px;background:var(--surface-0);border:1px solid var(--line-100);border-radius:12px;box-shadow:var(--shadow-card);overflow:hidden}
.sp-product-panel img{display:block;width:100%;height:auto;border-radius:6px}
.sp-product-panel .attribution{bottom:22px;right:22px}
.sp-soft{background:var(--surface-50)}
.sp-wash{background:radial-gradient(ellipse at 90% 35%,var(--blue-50),rgba(238,244,254,0) 75%),var(--surface-0)}
.sp-reading{display:grid;gap:20px}
.sp-reading>*{min-width:0}
.sp-reading h2{font-size:clamp(28px,3vw,34px);line-height:1.15}
.sp-prose{font-size:16px;line-height:1.7;max-width:68ch}
.sp-prose p+p{margin-top:20px}
.sp-list{display:grid;gap:12px;margin-top:20px}
.sp-list li{position:relative;padding-left:20px}
.sp-list li,.sp-tasks li,.sp-facts dd,.sp-summary dd,.sp-figure figcaption{text-wrap:pretty}
.sp-list li::before{content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--blue-600)}
.sp-heading{margin-bottom:28px}
.sp-heading-icon{display:flex;align-items:center;gap:8px}
.sp-heading-icon .sol-ico{width:64px;height:64px;margin:-8px 0 -8px -8px}
.sp-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.sp-grid>*{min-width:0}
.sp-card{position:relative;background:var(--surface-0);border:1px solid var(--line-100);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.sp-stretch{color:inherit}
.sp-stretch::after{content:"";position:absolute;inset:0;z-index:1;border-radius:var(--radius-card)}
.sp-stretch:focus-visible{outline:0}
.sp-card:has(.sp-stretch:focus-visible),.sp-tile:has(.sp-stretch:focus-visible){outline:2px solid var(--blue-600);outline-offset:3px}
.sp-solution{display:flex;flex-direction:column;align-items:flex-start;padding:20px 24px 14px}
.sp-solution h3{font-size:20px;line-height:1.25;margin:6px 0 10px}
.sp-solution p{font-size:15px;line-height:1.55;margin-bottom:12px}
.sp-solution .text-link{margin-top:auto}
.sp-card span.text-link{color:var(--blue-600)}
.sp-card:hover span.text-link{color:var(--blue-700)}
.sp-tasks{counter-reset:sp-task;grid-auto-rows:1fr}
.sp-tasks li{counter-increment:sp-task;display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid var(--line-100);border-radius:var(--radius-card);background:var(--surface-0);font-size:16px;line-height:1.55;color:var(--ink-900)}
.sp-tasks li::before{content:counter(sp-task,decimal-leading-zero);display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;margin-top:-4px;border-radius:50%;background:var(--blue-50);color:var(--blue-600);font-size:14px;font-weight:600}
.sp-process-intro{max-width:68ch;margin-top:16px;font-size:17px;line-height:1.6}
.sp-steps{list-style:none;margin:28px 0 0;padding:0;counter-reset:sp-step}
.sp-done{display:none}
.sp-live{margin:20px 0 0}.sp-live .text-link{font-size:16px;font-weight:600}
.sp-steps>li{counter-increment:sp-step;position:relative;padding:24px;background:var(--surface-0);border:1px solid var(--line-100);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
.sp-steps>li::before{content:counter(sp-step,decimal-leading-zero);position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:20px;border:1px solid var(--blue-200);border-radius:50%;background:var(--blue-50);color:var(--blue-600);font-size:16px;font-weight:600}
.sp-steps h3{font-size:22px;line-height:1.25;margin-bottom:12px}
.sp-steps p{font-size:16px;line-height:1.65}
.sp-case-grid{margin-top:32px;gap:24px}
.sp-card.case .case-media{padding:10px;background:var(--blue-50)}
.sp-card.case .shot{border:1px solid var(--line-100);border-radius:10px;background:var(--surface-0)}
.sp-card.case .category-tag{top:auto;bottom:auto;left:auto;margin-left:-4px;transform:translateY(-42px);z-index:2;pointer-events:none}
.sp-card.case .attribution{bottom:20px;right:16px;z-index:2;pointer-events:none}
.sp-card.case h3 a{color:inherit}
.sp-card.case .case-description{font-size:16px;line-height:1.6;color:var(--ink-700);margin-top:10px}
.sp-card.case .text-link{margin-top:auto}
.sp-tile{position:relative}
.sp-tile .tile-photo{background-color:#EAF1FD}
.sp-tile .tile-label{padding:12px 14px 14px;min-height:65px}
.sp-tile h3{font-size:15px;line-height:1.3}
.sp-tile h3 a{color:var(--ink-900)}
.sp-faq details{border-bottom:1px solid var(--line-200)}
.sp-faq details:first-child{border-top:1px solid var(--line-200)}
.sp-faq summary{position:relative;display:flex;align-items:center;min-height:56px;padding:16px 44px 16px 0;list-style:none;cursor:pointer;font-size:17px;font-weight:600;line-height:1.45;color:var(--ink-900)}
.sp-faq summary::-webkit-details-marker{display:none}
.sp-faq summary::before,.sp-faq summary::after{content:"";position:absolute;right:8px;top:50%;width:16px;height:2px;margin-top:-1px;background:var(--blue-600)}
.sp-faq summary::after{transform:rotate(90deg)}
.sp-faq details[open] summary::after{display:none}
.sp-faq summary:hover{color:var(--blue-700)}
.sp-faq summary:focus-visible{outline:2px solid var(--blue-600);outline-offset:3px}
.sp-faq details p{font-size:16px;line-height:1.7;max-width:68ch;padding-bottom:24px}
.sp-overview{padding-bottom:var(--section)}
.sp-facts{display:grid;margin:0;padding:4px 20px;background:var(--surface-50);border:1px solid var(--line-100);border-radius:var(--radius-card)}
.sp-facts>div{padding-block:16px}
.sp-facts>div+div{border-top:1px solid var(--line-100)}
.sp-facts dt{font-size:14px;color:var(--ink-500);margin-bottom:6px}
.sp-facts dd{margin:0;font-size:16px;line-height:1.5;color:var(--ink-900)}
.sp-summary{display:grid;gap:24px;margin:32px 0 0}
.sp-summary>div{padding-left:20px;border-left:2px solid var(--blue-200)}
.sp-summary dt{font-size:22px;line-height:1.2;font-weight:700;color:var(--ink-900);margin-bottom:10px}
.sp-summary dd{margin:0;font-size:16px;line-height:1.65;max-width:68ch}
.sp-product-links{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:20px}
.sp-reading>.sp-case-grid,.sp-reading>.sp-figure{grid-column:1/-1}
.sp-figure{width:100%;max-width:440px;margin-inline:auto}
.sp-reading>.sp-case-grid{margin-top:8px}
.sp-figure{margin-top:12px}
.sp-figure figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:var(--ink-500)}
@media(max-width:767px){
 .sp-solution{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 8px;align-items:center;padding:16px 20px 10px}
 .sp-solution .sol-ico{width:64px;height:64px;max-width:none;margin:-4px 0 -4px -6px}
 .sp-solution h3{margin:0;font-size:19px}
 .sp-solution p{grid-column:1/-1;margin:8px 0 4px}
 .sp-solution .text-link{grid-column:1/-1;justify-self:start}
 .sp-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .sp-tiles>:last-child:nth-child(odd){grid-column:1/-1}
 .sp-tiles>:last-child:nth-child(odd) img{aspect-ratio:21/9}
 .sp-tile .tile-label{padding:12px}
 .sp-tile h3{font-size:14px}
 .sp-card.case .case-body{padding:32px 20px 16px}
 .sp-card.case .category-tag{max-width:calc(100% - 32px)}
 .sp-art-illustration img{aspect-ratio:4/3;height:auto;object-fit:contain}
 .sp-steps>li::before{width:32px;height:32px;font-size:14px}
}
@media(min-width:768px){
 .sp-hero h1{font-size:42px}
 .sp-lead{font-size:19px}
 .sp-hero .actions{flex-direction:row;flex-wrap:wrap;align-items:center}
 .sp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sp-tiles.sp-n3,.sp-sol.sp-n3{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sp-tiles.sp-n2 .tile img,.sp-tiles.sp-n4 .tile img{aspect-ratio:2/1}
 .sp-tiles.sp-n5>:last-child{grid-column:1/-1}
 .sp-tiles.sp-n5 .tile img{aspect-ratio:2/1}
 .sp-tiles.sp-n5>:last-child img{aspect-ratio:21/9}
 .sp-grid.sp-tasks:not(.sp-grid-3)>:last-child:nth-child(odd){grid-column:1/-1}
 .sp-grid.sp-sol.sp-n5>:last-child{grid-column:1/-1}
 .sp-case-grid>.case:only-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
 .sp-case-grid>.case:only-child .case-media{display:flex;align-items:center;border-bottom:0;border-right:1px solid var(--line-100)}
 .sp-case-grid>.case:only-child .shot{width:100%}
 .sp-case-grid>.case:only-child .category-tag{position:static;align-self:flex-start;max-width:100%;margin:0 0 14px;transform:none;box-shadow:none}
 .sp-case-grid>.case:only-child .case-body{justify-content:center;padding:28px 28px 24px}
 .sp-case-grid>.case:only-child .case-description{margin-bottom:16px}
 .sp-case-grid>.case:only-child .text-link{margin-top:0}
 .sp-prose{font-size:17px}
 .sp-product-panel{padding:20px}
 .sp-product-panel .attribution{bottom:30px;right:30px}
 .sp-facts{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px}
 .sp-facts>div{padding:16px 20px}
 .sp-facts>div+div{border-top:0}
 .sp-facts>div:nth-child(even){border-left:1px solid var(--line-100)}
 .sp-facts>div:nth-child(n+3){border-top:1px solid var(--line-100)}
 .sp-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sp-figure{margin-top:16px}
}
@media(min-width:768px) and (max-width:1023px){
 .sp-grid.sp-tasks.sp-grid-3>:last-child:nth-child(odd){grid-column:1/-1}
}
@media(max-width:1023px){
 .sp-steps{grid-template-columns:minmax(0,1fr)}
 .sp-steps>li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;align-items:center}
 .sp-steps>li::before{margin-bottom:0}
 .sp-steps h3{margin-bottom:0}
 .sp-steps p{grid-column:1/-1;margin-top:12px}
}
@media(min-width:1024px){
 .sp-hero{padding-top:24px}
 .sp-crumbs{margin-bottom:16px}
 .sp-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:40px}
 .sp-hero h1{font-size:44px}
 .sp-hero .btn{padding-inline:24px}
 .sp-reading{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:40px 48px}
 .sp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
 .sp-tiles.sp-n4,.sp-sol.sp-n4{grid-template-columns:repeat(4,minmax(0,1fr))}
 .sp-tiles.sp-n4 .tile img{aspect-ratio:4/3}
 .sp-tiles.sp-n5{grid-template-columns:repeat(5,minmax(0,1fr))}
 .sp-tiles.sp-n5>:last-child{grid-column:auto}
 .sp-tiles.sp-n5 .tile img,.sp-tiles.sp-n5>:last-child img{aspect-ratio:1/1}
 .sp-tiles.sp-n3 .tile img{aspect-ratio:16/10}
 .sp-tiles.sp-n2 .tile img{aspect-ratio:21/9}
 .sp-sol.sp-n2 .sp-solution{display:grid;grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:20px;align-items:start;padding:24px 28px 16px}
 .sp-sol.sp-n2 .sol-ico{grid-row:1/4;margin-top:-6px}
 .sp-sol.sp-n2 .text-link{align-self:end}
 .sp-steps{padding-top:64px}
 .sp-steps>li::before{position:absolute;top:-64px;left:0;margin:0}
 .sp-steps>li:not(:last-child)::after{content:"";position:absolute;top:-44px;left:52px;right:-4px;height:1px;background:var(--blue-200)}
 .sp-steps>li:last-child::after{content:"";position:absolute;top:-44px;left:52px;right:52px;height:1px;background:var(--blue-200)}
 .sp-done{display:block;position:absolute;top:-64px;right:0;width:40px;height:40px;box-sizing:border-box;border:1px solid var(--blue-200);border-radius:50%;background:var(--blue-50)}
 .sp-done::after{content:"";position:absolute;left:13px;top:13px;width:12px;height:6px;border-left:2px solid var(--blue-600);border-bottom:2px solid var(--blue-600);transform:rotate(-45deg)}
 .sp-reading>.sp-figure{max-width:960px;margin-top:0}
 .sp-reading>.sp-figure-narrow{grid-column:2;max-width:400px;margin-inline:0}
 .sp-facts{grid-template-columns:repeat(4,minmax(0,1fr));padding:24px 8px}
 .sp-facts>div{padding:0 20px}
 .sp-facts>div:nth-child(n+2){border-top:0;border-left:1px solid var(--line-100)}
 .sp-case-grid>.case:only-child .case-body{padding:32px 36px}
 .sp-case-grid>.case:only-child h3{font-size:26px}
 .sp-case-grid>.case:only-child .case-description{font-size:17px;margin-bottom:20px}
 .sp-case-grid>.case:only-child .text-link{margin-top:0}
}
@media(min-width:1200px){
 .sp-hero h1{font-size:48px}
 .sp-lead{font-size:20px}
 .sp-hero-grid{gap:56px}
 .sp-reading{grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:40px 64px}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .sp-card,.sp-tile{transition:transform 220ms ease,box-shadow 220ms ease}
 .sp-card:hover,.sp-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
 .sp-card:hover .arrow-motion{transform:translateX(2px)}
}
.sp-solution img.sol-ico{flex:0 0 auto;width:72px;height:72px;object-fit:contain}
