/* PDF references: shop.html header; courses.html .cs_course_style_1 / .cs_course_info. */
.sp-page{font-family:'CM Source',Arial,sans-serif}.sp-container{max-width:1320px;width:calc(100% - 64px);margin-inline:auto}.sp-hero{position:relative;isolation:isolate;background:linear-gradient(90deg,var(--surface),var(--selection-background) 58%,var(--surface));overflow:clip}.sp-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 28px,#ffffff99 29px 31px);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}.sp-hero-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:80px;align-items:center;min-height:400px;padding:42px 0}.sp-breadcrumbs{font-size:13px;line-height:1.6;color:var(--text-secondary);margin-bottom:27px}.sp-breadcrumbs a{color:var(--link)}.sp-hero h1{font-size:clamp(38px,4.1vw,58px);line-height:1.13;letter-spacing:-.5px;margin:0 0 23px;overflow-wrap:anywhere}.sp-hero-copy>p{font-size:18px;color:var(--text-secondary);line-height:1.7;max-width:730px}.sp-hero .actions{gap:18px;margin-top:26px;flex-wrap:wrap}.sp-hero .btn{font-size:15px;border-radius:8px;padding:13px 19px;min-height:48px}.sp-hero .btn.light{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.sp-hero .btn.line{background:transparent;border-color:var(--border-control);color:var(--text-primary)}.sp-page .vendor-summary{position:relative;background:var(--surface);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:8px 8px 0 color-mix(in srgb,var(--brand) 12%,transparent);padding:28px;max-width:420px;width:100%;margin:0 0 0 auto;transform:none}.sp-summary-logo{height:90px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:15px}.sp-summary-logo img{height:80px;width:140px;object-fit:contain;filter:none}.sp-logo-fallback{font-size:26px;font-weight:700;color:var(--link);line-height:1.2;overflow-wrap:anywhere}.sp-page .vendor-summary h2{font-size:28px;margin:0;line-height:1.2}.sp-page .vendor-summary>p{color:var(--text-secondary);font-size:14px!important;line-height:1.5}.sp-page .vendor-summary .metrics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.sp-page .metrics>div{padding:13px 16px;background:var(--surface-muted);border-radius:10px}.sp-page .metrics small{display:block;font-size:12px;color:var(--text-secondary)}.sp-page .metrics strong{display:block;font-size:28px;margin-top:4px;line-height:1.1;color:var(--text-primary)}.sp-content{padding:48px 0 60px}.sp-content .catalog-section{padding:0;margin:0 0 56px}.sp-content .catalog-section>.eyebrow{font-size:12px;letter-spacing:1px}.sp-content .catalog-section>h2{font-size:34px;line-height:1.2;letter-spacing:-.3px;margin:13px 0 0}.sp-content .catalog-section>.muted{font-size:17px;line-height:1.6;margin:15px 0 28px!important}.sp-page .sp-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:28px;align-items:stretch}.sp-page .sp-card{position:relative;display:flex;flex-direction:column;min-width:0;height:100%;padding:14px;border:1px solid var(--border-subtle);border-radius:20px;box-shadow:none;background:var(--surface);color:var(--text-primary);overflow:visible;isolation:auto;transition:border-color .2s,box-shadow .2s;text-decoration:none}.sp-page .sp-card[hidden]{display:none}.sp-page .sp-card:before,.sp-page .sp-card:after{display:none}.sp-page .sp-card:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--border-subtle));box-shadow:0 7px 24px var(--shadow-color);transform:none}.sp-media{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:1.8;border-radius:14px;background:var(--surface-muted);margin:0 0 17px;overflow:hidden}.sp-media>img{width:65%;height:105px;max-width:85%;object-fit:contain;filter:none;transition:transform .35s}.sp-media:hover>img{transform:scale(1.04)}.sp-media .sp-logo-fallback{font-size:23px;padding:20px}.sp-card-body{display:flex;flex-direction:column;flex:1;padding:0 4px;min-width:0}.sp-page .sp-card h3,.sp-card-title{display:block;font-size:20px;line-height:1.3;font-weight:600;letter-spacing:0;margin:0 0 12px;color:var(--text-primary);overflow-wrap:anywhere}.sp-page .sp-card h3 a{color:var(--text-primary)}.sp-page .sp-card h3 a:hover,.sp-card-title:hover{color:var(--link)}.sp-page .sp-card .category{font-size:10px;letter-spacing:.7px;line-height:1.4;color:var(--link);margin:0 0 10px}.sp-card-body>small{display:block;font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0 0 18px}.sp-card-body>p{font-size:14px;line-height:1.6;color:var(--text-secondary);margin:0 0 18px}.sp-card-body>.legacy{font-size:11px;line-height:1.4;padding:5px 7px;border-radius:4px;margin:0 0 12px;display:block;background:var(--selection-background);color:var(--link)}.sp-card-body>.codes{font-size:13px;line-height:1.5;color:var(--text-primary);border:0;padding:0;margin:0 0 16px;overflow-wrap:anywhere}.sp-card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px;margin-top:auto;font-size:14px;color:var(--link);font-weight:600;border-top:1px solid var(--border-subtle);padding-top:11px}.sp-card-link>span{display:inline!important;margin:0!important;font-size:inherit!important}.sp-card-link>span:last-child{font-size:19px!important}.sp-preview{margin:12px 4px 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.sp-preview>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:42px;padding:6px 0;font-size:13px;color:var(--text-secondary);line-height:1.4}.sp-preview>summary::-webkit-details-marker{display:none}.sp-preview>summary>span{font-size:19px;color:var(--link)}.sp-preview-panel{position:absolute;inset:0 0 auto;z-index:30;display:flex;flex-direction:column;padding:23px 20px 20px;border:1px solid var(--border-subtle);border-radius:20px;background:var(--surface);box-shadow:0 8px 24px var(--shadow-strong);min-height:100%;max-height:75vh;color:var(--text-primary)}.sp-card:has(.sp-preview[open]){z-index:20}.sp-preview:not([open])>.sp-preview-panel{display:none}.sp-preview-close{position:absolute;top:8px;right:8px;width:34px;height:34px;min-height:34px;border:0;border-radius:50%;background:var(--surface-muted);color:var(--text-primary);font:24px/1 Arial;cursor:pointer;z-index:2}.sp-preview-scroll{max-height:calc(75vh - 90px);overflow:auto;overscroll-behavior:contain;padding:8px 2px 2px;scrollbar-width:thin}.sp-preview-scroll>h3{padding-right:22px;font-size:21px;line-height:1.35;font-weight:600;margin-bottom:15px}.sp-preview-scroll>small{display:inline-flex;padding:5px 10px;background:var(--selection-background);font-size:12px;color:var(--link);margin-bottom:18px}.sp-preview-scroll p{font-size:15px;line-height:1.6;color:var(--text-secondary);margin:0 0 18px}.sp-preview-scroll h4{font-size:18px;line-height:1.3;margin:22px 0 12px;color:var(--text-primary)}.sp-preview-scroll h5{font-size:16px;line-height:1.35;margin:18px 0 10px}.sp-preview-scroll .eyebrow{font-size:10px;letter-spacing:.6px;margin-bottom:10px}.sp-preview-scroll section{padding:0;margin:24px 0;border:0}.sp-preview-scroll dl{display:block;margin:0}.sp-preview-scroll dl>div{border:0;border-radius:0;padding:9px 0;background:none;border-bottom:1px solid var(--border-subtle)}.sp-preview-scroll dt{font-size:12px;color:var(--text-secondary);margin-bottom:5px}.sp-preview-scroll dd{font-size:14px;margin:0;color:var(--text-primary);line-height:1.5}.sp-preview-scroll ul,.sp-preview-scroll ol{padding-left:20px;margin:12px 0 18px;font-size:14px;line-height:1.6;color:var(--text-secondary)}.sp-preview-scroll li{margin-bottom:10px}.sp-preview-scroll a{color:var(--link);text-underline-offset:3px}.sp-preview-scroll .grid,.sp-preview-scroll .fact-grid,.sp-preview-scroll .support-grid,.sp-preview-scroll .feature-grid{display:block}.sp-preview-scroll article{padding:0;margin:0 0 18px;border:0;background:none}.sp-preview-scroll details{padding:12px 0;border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;background:none}.sp-preview-scroll summary{cursor:pointer;font-size:15px;line-height:1.4}.sp-preview-scroll details p{margin:12px 0 0}.sp-preview-scroll .notice{padding:13px;margin:18px 0;border-radius:8px;font-size:13px;line-height:1.6}.sp-preview-scroll .actions{display:grid;gap:10px}.sp-preview-scroll .btn{font-size:13px;padding:10px;min-height:40px;border-radius:6px}.sp-preview-scroll .micro{font-size:12px!important}.sp-preview-scroll .sp-credential-names{padding:0;list-style:none;margin:0 0 20px}.sp-credential-names li{position:relative;padding-left:21px;font-size:14px;line-height:1.5;margin-bottom:13px}.sp-credential-names li:before{content:'✓' / '';position:absolute;left:0;top:0;color:var(--link)}.sp-credential-names a{color:var(--text-secondary)}.sp-credential-names a:hover{color:var(--link)}.sp-preview-link{margin-top:5px}.sp-full-detail{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;font-size:14px;font-weight:600;color:var(--on-primary);background:var(--primary);padding:10px 12px;border-radius:6px;margin-top:14px}.sp-content .field{margin:26px 0 0;padding:23px 25px;border:1px solid var(--border-subtle);border-radius:18px;background:var(--surface)}.sp-content .field label{display:block;font-size:14px;margin-bottom:9px}.sp-content .field input{width:100%;min-height:50px;border:1px solid var(--border-control);background:var(--surface);color:var(--text-primary);padding:12px 15px;border-radius:8px;font:16px 'CM Source',Arial,sans-serif}.sp-content .filter-row{gap:8px;display:flex;flex-wrap:wrap;margin:18px 0}.sp-content .chip{font:14px 'CM Source',Arial,sans-serif;min-height:44px;border-radius:50px;padding:9px 16px;background:var(--surface);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer}.sp-content .chip[aria-pressed=true]{background:var(--selection-background);border-color:var(--brand);color:var(--link)}.sp-content .count{font-size:14px;color:var(--text-secondary);margin:22px 0}.sp-content .sp-notice{padding:20px 24px;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--border-subtle));border-left:3px solid var(--brand);border-radius:14px;margin-top:32px;font-size:14px;line-height:1.65;background:var(--selection-background);color:var(--text-secondary)}.sp-content .no-results{padding:28px;margin-top:25px;border-radius:14px;border:1px dashed var(--border-control);font-size:16px;line-height:1.6}.sp-page .sp-cta{padding:48px 35px;margin:0;border:0;border-radius:20px;text-align:center;background:linear-gradient(110deg,var(--surface-muted),var(--selection-background),var(--surface));color:var(--text-primary)}.sp-page .sp-cta h2{font-size:36px;line-height:1.2;margin:0 0 19px;letter-spacing:-.3px}.sp-page .sp-cta p{font-size:18px;line-height:1.6;color:var(--text-secondary);margin:0 0 25px}.sp-page .sp-cta .actions{display:flex;justify-content:center;gap:18px}.sp-page .sp-cta .btn{font-size:16px;min-height:48px;border-radius:8px;padding:13px 21px}.sp-page .sp-cta .btn.dark{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.sp-page a:focus-visible,.sp-page button:focus-visible,.sp-page summary:focus-visible,.sp-page input:focus-visible{outline:2px solid var(--link);outline-offset:4px}
@media(max-width:1100px){.sp-hero-layout{gap:40px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.sp-hero h1{font-size:48px}.sp-page .sp-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-page .vendor-summary{padding:24px}.sp-content .catalog-section>h2{font-size:31px}}
@media(max-width:800px){.sp-container{width:calc(100% - 40px)}.sp-hero-layout{grid-template-columns:1fr;gap:28px;padding:30px 0}.sp-hero h1{font-size:46px}.sp-page .vendor-summary{max-width:none;margin:0}.sp-summary-logo{height:70px;margin-bottom:15px}.sp-summary-logo img{height:65px;width:130px}.sp-page .sp-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.sp-content{padding-top:38px}.sp-card h3,.sp-card-title{font-size:21px}.sp-page .sp-cta h2{font-size:32px}.sp-preview-panel{max-height:70vh}.sp-preview-scroll{max-height:calc(70vh - 100px)}}
@media(max-width:560px){.sp-hero h1{font-size:38px}.sp-hero-copy>p{font-size:17px}.sp-breadcrumbs{font-size:12px;margin-bottom:24px}.sp-hero .actions{flex-direction:column;align-items:stretch;gap:12px}.sp-hero .btn{width:100%;justify-content:center;flex:none}.sp-page .vendor-summary{padding:23px}.sp-page .vendor-summary h2{font-size:26px}.sp-page .metrics strong{font-size:26px}.sp-content .catalog-section>h2{font-size:29px}.sp-content .catalog-section>.muted{font-size:16px}.sp-page .sp-course-grid{grid-template-columns:1fr;gap:22px}.sp-page .sp-card{padding:15px}.sp-media{aspect-ratio:2}.sp-media>img{height:125px;width:65%}.sp-card-body{padding:0 5px}.sp-page .sp-card h3,.sp-card-title{font-size:23px}.sp-card-body>p{font-size:16px}.sp-card-body>.codes{font-size:14px}.sp-card-body>small{font-size:15px}.sp-card-link{font-size:15px;min-height:44px}.sp-preview>summary{font-size:15px;min-height:44px}.sp-preview-panel{padding:24px 20px 18px;max-height:75vh}.sp-preview-scroll{max-height:calc(75vh - 100px)}.sp-preview-scroll>h3{font-size:22px}.sp-preview-close{width:38px;height:38px}.sp-content .field{padding:20px}.sp-content .chip{padding:9px 12px;font-size:13px}.sp-content .sp-notice{padding:18px}.sp-content .catalog-section{margin-bottom:40px}.sp-page .sp-cta{padding:35px 22px}.sp-page .sp-cta h2{font-size:30px}.sp-page .sp-cta p{font-size:17px}.sp-page .sp-cta .actions{flex-direction:column;align-items:stretch}.sp-page .sp-cta .btn{width:100%;flex:none}}
@media(prefers-reduced-motion:reduce){.sp-page *,.sp-page *:before,.sp-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Correction PDF: certification previews contain only the six marked facts. */
.sp-preview[data-preview-kind="key-facts"] .sp-preview-panel{min-height:0;padding-top:35px}
.sp-preview[data-preview-kind="key-facts"] .sp-preview-scroll{padding-top:0}
.sp-preview[data-preview-kind="key-facts"] .fact-grid{margin:0;padding:0;border:0;background:var(--surface-muted);border-radius:13px;overflow:hidden}
.sp-preview[data-preview-kind="key-facts"] .fact-grid>div{padding:12px 14px}
.sp-preview[data-preview-kind="key-facts"] .fact-grid>div:last-child{border-bottom:0}
.sp-preview[data-preview-kind="key-facts"] dt{font-size:11px;line-height:1.4}
.sp-preview[data-preview-kind="key-facts"] dd{font-size:14px;line-height:1.5}
