.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}

.ep-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0}
.ep-facts div{background:var(--surface-0);border:1px solid var(--line-100);border-radius:var(--radius-card);padding:18px 20px;box-shadow:var(--shadow-card)}
.ep-facts dt{font-size:14px;color:var(--ink-500);margin:0 0 4px}.ep-facts dd{margin:0;font-weight:600;color:var(--ink-900)}
.sp-hero:has(+ section .ep-legal-grid){padding-bottom:28px}
@media (min-width:1024px){.sp-hero:has(+ section .ep-legal-grid){padding-bottom:40px}}
.ep-sec>.sp-heading{margin-bottom:24px}
#principle .sp-prose p,#built .ep-intro,#delivery .ep-intro,#engineering .ep-intro,#engagement .ep-intro,.sp-live{max-width:68ch}
.ep-sec>.ep-intro{max-width:68ch;margin:-8px 0 32px;color:var(--ink-700);font-size:17px;line-height:1.6}
.ep-cards{grid-auto-rows:1fr}
.ep-intro,.ep-more{max-width:68ch}
.ep-hero-stack{max-width:820px}.ep-hero-stack .sp-lead{margin-top:16px}
.ep-first{display:grid;gap:28px 56px;padding:28px;border:1px solid var(--blue-200);border-radius:var(--radius-card);background:linear-gradient(135deg,var(--blue-50),var(--surface-0) 70%);box-shadow:var(--shadow-card)}
@media (min-width:1024px){.ep-first{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;padding:40px 48px}}
.ep-eyebrow{margin:0 0 8px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-600)}
.ep-first h2{margin:0 0 12px}.ep-first p{margin:0;color:var(--ink-700);line-height:1.6}
.ep-first .btn{margin-top:24px}
.ep-first .ep-get{margin-top:0}
.ep-checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
@media (min-width:768px){.ep-checks-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}}
.ep-checks li{position:relative;padding-left:30px;color:var(--ink-900);font-size:16px;line-height:1.5}
.ep-checks li::before{content:"";position:absolute;left:3px;top:.32em;width:14px;height:8px;border-left:2px solid var(--blue-600);border-bottom:2px solid var(--blue-600);transform:rotate(-45deg)}
.ep-note{margin:12px 0 0;color:var(--ink-700);font-size:15px}
.ep-note a{color:var(--blue-600);text-decoration:underline;text-underline-offset:3px}

.sp-steps.ep-stages{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.ep-stages>li{align-content:start}
@media (min-width:1024px){.sp-steps.ep-stages{padding-top:64px}}
@media (min-width:1024px) and (max-width:1279px){.sp-steps.ep-stages{row-gap:80px}.ep-stages>li:nth-child(2n):not(:last-child)::after{display:none}}
@media (min-width:1024px){.sp-steps.ep-stages>li{display:grid;grid-row:span 4;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:0;align-content:normal}.ep-stages>li>h3{margin-bottom:10px}.ep-stages>li>p:not(.ep-get){margin:0}.ep-stages .ep-get{align-self:end}}
.ep-four{grid-template-columns:minmax(0,1fr)}
@media (min-width:768px){.ep-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.ep-four{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ep-stages .sp-list,.ep-stages .ep-get{grid-column:1/-1}
.ep-get{margin:16px 0 6px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-600)}
.ep-stages .sp-list{margin:0}
@media (min-width:1024px){.sp-steps.ep-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1280px){.sp-steps.ep-stages{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ep-cards .sp-card{padding:24px}
.ep-cards h3{margin:0 0 8px;font-size:18px;line-height:1.3}
.ep-cards p{margin:0;color:var(--ink-700);line-height:1.6}
.ep-more{margin:24px 0 0}
section:has(> .ep-legal-grid){padding-top:0}
.ep-legal-grid{padding-block:0 80px;align-items:start}
.ep-legal{max-width:800px}
.ep-related{margin:32px 0 0;padding-top:24px;border-top:1px solid var(--line-100);color:var(--ink-700)}.ep-related a{color:var(--blue-600);text-decoration:underline;text-underline-offset:3px}
.ep-updated{display:inline-flex;align-items:center;gap:8px;margin:0 0 20px;padding:6px 12px;border-radius:999px;background:var(--blue-50);color:var(--ink-700);font-size:14px}
.ep-updated::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-600)}
.ep-toc{display:none}
.ep-toc-title{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500)}
.ep-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line-100)}
.ep-toc a{display:block;margin-left:-1px;padding:7px 0 7px 16px;border-left:2px solid transparent;color:var(--ink-700);font-size:15px;line-height:1.35;text-decoration:none;transition:color .15s,border-color .15s}
.ep-toc a:hover,.ep-toc a[aria-current="true"]{color:var(--blue-600);border-left-color:var(--blue-600)}
.ep-toc a[aria-current="true"]{font-weight:600}
.ep-toc a:focus-visible,.ep-toc-m a:focus-visible,.ep-toc-m summary:focus-visible{outline:3px solid var(--blue-600);outline-offset:2px}
@media (min-width:1024px){.ep-toc{display:block;position:sticky;top:104px}}
.ep-toc-m{margin:0 0 24px;border:1px solid var(--blue-200);border-radius:12px;background:var(--blue-50)}
.ep-toc-m summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 16px;font-weight:600;color:var(--ink-900);cursor:pointer;list-style:none}
.ep-toc-m summary::-webkit-details-marker{display:none}
.ep-toc-m summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--blue-600);border-bottom:2px solid var(--blue-600);transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.ep-toc-m[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.ep-toc-m ol{list-style:none;margin:0;padding:0 8px 10px}
.ep-toc-m a{display:flex;align-items:center;min-height:44px;padding:0 8px;color:var(--ink-700);text-decoration:none;border-top:1px solid var(--blue-200)}
@media (min-width:1024px){.ep-toc-m{display:none}}
.ep-summary{margin:0 0 8px;padding:22px 26px;background:var(--blue-50);border:1px solid var(--blue-200);border-radius:var(--radius-card)}
.ep-summary h2{margin:0 0 12px;font-size:18px}
.ep-summary ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ep-summary li{position:relative;padding-left:28px;color:var(--ink-900);font-size:16px;line-height:1.5}
.ep-summary li::before{content:"";position:absolute;left:2px;top:.3em;width:14px;height:8px;border-left:2px solid var(--blue-600);border-bottom:2px solid var(--blue-600);transform:rotate(-45deg)}
.ep-clause{padding:36px 0;border-top:1px solid var(--line-100)}
.ep-summary+.ep-clause{border-top:0;padding-top:32px}
.ep-clause h2{display:flex;gap:12px;align-items:baseline;margin:0 0 12px;font-size:24px;line-height:1.3;scroll-margin-top:96px}
.ep-clause h2:focus{outline:none}
.ep-num{flex:none;width:32px;font-size:15px;font-weight:700;color:var(--blue-600);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.ep-clause p,.ep-clause li{margin:0;color:var(--ink-700);font-size:16.5px;line-height:1.7;max-width:68ch}
.ep-clause ul{margin:12px 0 0;padding-left:20px;list-style:disc}.ep-clause li::marker{color:var(--blue-600)}.ep-clause li+li{margin-top:8px}
.ep-clause a{color:var(--blue-600);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(10,87,221,.4);transition:text-decoration-color .15s}
.ep-clause a:hover{text-decoration-color:currentColor}
@media (min-width:768px){.ep-clause>p,.ep-clause>ul{margin-left:44px}}
@media (max-width:767px){.ep-clause{padding:28px 0}.ep-clause h2{font-size:20px;gap:10px}.ep-num{width:26px;font-size:14px}.ep-clause p,.ep-clause li{font-size:16px}.ep-summary{padding:18px 20px}.ep-updated{margin-bottom:16px}}
.ep-contact{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:899px){.ep-contact{grid-template-columns:1fr;gap:28px}}
.ep-form{background:var(--surface-0);border:1px solid var(--line-100);border-radius:var(--radius-card);padding:28px;box-shadow:var(--shadow-card)}
@media (max-width:767px){.ep-form{padding:20px}}
.ep-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:599px){.ep-row{grid-template-columns:1fr}}
.ep-field{display:flex;flex-direction:column;gap:6px;margin:0 0 18px}
.ep-field label,.ep-legend{font-weight:600;color:var(--ink-900);font-size:15px}
.ep-field .opt{font-weight:400;color:var(--ink-500)}
.ep-field input,.ep-field select,.ep-field textarea{font:inherit;font-size:16px;color:var(--ink-900);background:var(--surface-0);border:1.5px solid #B8C3D6;border-radius:var(--radius-btn);padding:12px 14px;min-height:48px;width:100%;box-sizing:border-box}
.ep-field textarea{min-height:150px;resize:vertical;line-height:1.5}
.ep-field input:focus-visible,.ep-field select:focus-visible,.ep-field textarea:focus-visible{outline:3px solid var(--blue-600);outline-offset:1px;border-color:var(--blue-600)}
.ep-field [aria-invalid="true"]{border-color:#B42318}
.ep-error{color:#B42318;font-size:14px;min-height:0}.ep-error:empty{display:none}
.ep-hint{color:var(--ink-500);font-size:14px}
.ep-chips{border:0;padding:0;min-width:0}.ep-chips .ep-legend{padding:0;margin:0 0 10px}
.ep-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.ep-chip{position:relative;display:inline-flex}
.ep-chip input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.ep-chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1.5px solid #B8C3D6;border-radius:999px;background:var(--surface-0);color:var(--ink-700);font-size:15px;transition:background .15s,border-color .15s,color .15s}
.ep-chip:hover span{border-color:var(--blue-600);color:var(--ink-900)}
.ep-chip input:checked+span{background:var(--blue-600);border-color:var(--blue-600);color:#fff}
.ep-chip input:focus-visible+span{outline:3px solid var(--blue-600);outline-offset:2px}
.ep-field [aria-invalid="true"]~.ep-hint{display:none}
.ep-field.ep-flush{margin:0}
.ep-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 20px;color:var(--ink-700);font-size:15px}
.ep-consent input{width:24px;height:24px;min-height:0;padding:0;margin:0;flex:none;accent-color:var(--blue-600)}
.ep-consent label{font-weight:400;color:var(--ink-700)}
.ep-consent a,.ep-legal a{color:var(--blue-600);text-decoration:underline;text-underline-offset:3px}
.ep-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ep-status{margin:16px 0 0;padding:14px 16px;border-radius:var(--radius-btn);font-size:15px}.ep-status:empty{display:none}
.ep-status.ok{background:var(--blue-50);color:var(--ink-900);border:1px solid var(--blue-200)}
.ep-status.err{background:#FEF3F2;color:#7A271A;border:1px solid #FECDCA}
.ep-side{display:flex;flex-direction:column;gap:16px}
.ep-side .sp-card{padding:22px}.ep-side h2{font-size:18px;margin:0 0 6px}.ep-side p{margin:0;color:var(--ink-700)}.ep-side a{color:var(--blue-600);font-weight:600}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0}.site-footer .footer-links a{display:inline-flex;align-items:center;min-height:24px;color:inherit;text-decoration:underline;text-underline-offset:3px}@media(max-width:767px){.site-footer .footer-links a{min-height:44px}}
