:root {
	--srpc-charcoal: var(--wp--preset--color--charcoal, #1d2021);
	--srpc-chalk: var(--wp--preset--color--chalk, #f3f0eb);
	--srpc-eucalyptus: var(--wp--preset--color--eucalyptus, #607b6b);
	--srpc-sky: var(--wp--preset--color--sky, #9dbcc6);
	--srpc-ochre: var(--wp--preset--color--red-earth, #a4472d);
	--srpc-wide-size: var(--sr-product-wide-size, var(--wp--style--global--wide-size, 1200px));
	--srpc-content-size: var(--sr-reading-size, var(--wp--style--global--content-size, 760px));
	--srpc-inline-gutter: var(--sr-page-gutter, clamp(1rem, 3.5vw, 2.5rem));
	--srpc-trust-icon-size: clamp(48px, 5vw, 72px);
}
.srpc-section, .srpc-trust { box-sizing: border-box; width: 100%; }
.srpc-block,
.srpc-content-stack {
	box-sizing: border-box;
	min-width: 0;
	max-width: none;
	width: 100%;
}
.sr-product-page > .srpc-block,
.sr-product-page > .srpc-content-stack {
	max-width: none;
}
.srpc-section { padding: clamp(3rem, 7vw, 7rem) var(--srpc-inline-gutter); }
.srpc-section:nth-of-type(even) { background: color-mix(in srgb, var(--srpc-chalk) 64%, white); }
.srpc-benefits,
.srpc-runtime-planner,
.srpc-kit { background: #fff !important; }
.srpc-shell { width: 100%; max-width: var(--srpc-wide-size); margin-inline: auto; }
.srpc-section-header { max-width: 780px; margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.srpc-section-heading { margin: .2em 0 0; }
.srpc-eyebrow { margin: 0; color: var(--srpc-eucalyptus); font-family: "IBM Plex Mono", monospace; font-size: .76rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.srpc-intro-copy { max-width: 760px; margin: -1.5rem 0 2.5rem; font-size: 1.08rem; }
.srpc-card-grid { display: grid; gap: clamp(1rem, 2vw, 1.75rem); }
.srpc-count-1 { grid-template-columns: minmax(0, 1fr); }
.srpc-count-2, .srpc-count-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.srpc-count-3, .srpc-count-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.srpc-count-5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.srpc-count-5 > * { grid-column: span 2; }
.srpc-count-5 > *:nth-last-child(2) { grid-column: 2 / span 2; }
.srpc-count-5 > *:last-child { grid-column: 4 / span 2; }
.srpc-card { position: relative; padding: clamp(1.25rem, 2.5vw, 2rem); border-top: 2px solid var(--srpc-eucalyptus); background: #fff; }
.srpc-card-layout { min-width: 0; }
.srpc-card-content { min-width: 0; }
.srpc-card h3 { margin: .9rem 0 .55rem; font-size: clamp(1.15rem, 2vw, 1.5rem); }
.srpc-card-body p:last-child { margin-bottom: 0; }
.srpc-card-media { min-width: 0; overflow: hidden; }
.srpc-card-icon { display: block; width: 56px; height: 56px; max-width: 100%; object-fit: contain; object-position: left center; }
.srpc-card-benefits { container-type: inline-size; color: #fff; background: var(--srpc-charcoal); border: 1px solid rgba(255,255,255,.12); border-radius: 10px; }
.srpc-card-benefits h3 { color: #fff; }
.srpc-card-benefits .srpc-card-body { color: #dce4df; }
.srpc-card-benefits .srpc-card-media { aspect-ratio: 3 / 2; border-radius: 7px; }
.srpc-card-benefits .srpc-card-media.is-raster .srpc-card-icon { width: 100%; height: 100%; object-fit: cover; }
.srpc-card-benefits .srpc-card-media.is-svg .srpc-card-icon { width: min(96px, 100%); height: auto; max-height: 96px; }
.srpc-card-value, .srpc-runtime-hours { display: block; font-family: "IBM Plex Mono", monospace; }
.srpc-runtime-hours { margin-top: 1rem; font-size: clamp(2.5rem, 5vw, 4.75rem); line-height: 1; }
.srpc-runtime-hours span { font-size: .32em; font-weight: 500; }
.srpc-runtime-watts, .srpc-status { display: inline-block; margin-top: .45rem; color: var(--srpc-eucalyptus); font-family: "IBM Plex Mono", monospace; font-size: .78rem; text-transform: uppercase; }
.srpc-disclaimer { margin-top: 1.25rem; color: #5d6263; font-family: "IBM Plex Mono", monospace; font-size: .75rem; }
.srpc-runtime-planner { background: #fff; }
.srpc-runtime-profiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.85rem, 1.8vw, 1.35rem); }
.srpc-runtime-profile { appearance: none; display: grid; grid-template-columns: clamp(84px, 8vw, 120px) minmax(0, 1fr); align-items: center; gap: 1rem; min-height: 176px; padding: clamp(1rem, 2vw, 1.35rem); color: #fff; text-align: left; font: inherit; background: var(--srpc-charcoal); border: 1px solid rgba(255,255,255,.16); border-radius: 10px; cursor: pointer; transition: border-color 200ms ease, box-shadow 200ms ease, background-color 200ms ease; }
.srpc-runtime-profile:hover { border-color: var(--srpc-eucalyptus); }
.srpc-runtime-profile:focus-visible { outline: 3px solid var(--srpc-sky); outline-offset: 3px; }
.srpc-runtime-profile.is-selected { border-color: var(--srpc-eucalyptus); background: color-mix(in srgb, var(--srpc-eucalyptus) 18%, var(--srpc-charcoal)); box-shadow: inset 4px 0 0 var(--srpc-eucalyptus), 0 10px 26px rgba(29, 32, 33, .08); }
.srpc-runtime-profile-media { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; color: var(--srpc-charcoal); background: var(--srpc-chalk); border-radius: 7px; }
.srpc-runtime-profile-media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.srpc-runtime-profile-media svg { width: 48%; height: 48%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.srpc-runtime-profile-copy { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
.srpc-runtime-profile-copy strong { font-family: "IBM Plex Sans Condensed", "IBM Plex Sans", sans-serif; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.05; }
.srpc-runtime-profile-copy > span { color: #dce4df; font-size: .93rem; line-height: 1.45; }
.srpc-runtime-result { display: grid; grid-template-columns: minmax(250px, .65fr) minmax(0, 1.35fr); align-items: center; gap: clamp(1.5rem, 4vw, 4rem); margin-top: 1rem; padding: clamp(1.25rem, 2.8vw, 2rem); color: #fff; background: var(--srpc-charcoal); border-radius: 8px; }
.srpc-runtime-result-copy { display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: .55rem; }
.srpc-runtime-result-qualifier { font-family: "IBM Plex Mono", monospace; font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.srpc-runtime-result-copy strong { font-family: "IBM Plex Sans Condensed", "IBM Plex Sans", sans-serif; font-size: clamp(2.8rem, 6vw, 5.5rem); line-height: .9; white-space: nowrap; }
.srpc-runtime-result-copy small { font-size: .32em; font-weight: 500; }
.srpc-runtime-result-load { grid-column: 1 / -1; margin-top: .75rem; color: #dce4df; font-family: "IBM Plex Mono", monospace; font-size: .72rem; letter-spacing: .035em; }
.srpc-runtime-bar { height: clamp(18px, 2.4vw, 28px); overflow: hidden; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; }
.srpc-runtime-bar > span { display: block; width: var(--srpc-runtime-width, 0%); height: 100%; background: var(--srpc-eucalyptus); border-radius: inherit; transition: width 520ms cubic-bezier(.2,.75,.25,1); }
.srpc-trust { padding: 0 var(--srpc-inline-gutter); border-block: 1px solid #d8d7d3; }
.srpc-trust-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.srpc-trust-item { display: flex; align-items: center; justify-content: center; gap: clamp(.7rem, 1.5vw, 1.1rem); min-height: calc(var(--srpc-trust-icon-size) + 2rem); padding: 1rem; border-right: 1px solid #d8d7d3; font-family: "IBM Plex Mono", monospace; font-size: .72rem; font-weight: 600; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
.srpc-trust-item:first-child { border-left: 1px solid #d8d7d3; }
.srpc-trust-item img { flex: 0 0 var(--srpc-trust-icon-size); width: var(--srpc-trust-icon-size); height: var(--srpc-trust-icon-size); object-fit: contain; }
.srpc-spec-table { border-top: 2px solid var(--srpc-charcoal); }
.srpc-spec-group { padding: 1.4rem 0 .6rem; color: var(--srpc-eucalyptus); font-family: "IBM Plex Mono", monospace; font-size: .76rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.srpc-spec-row { display: grid; grid-template-columns: minmax(180px, .7fr) 1.3fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #d8d7d3; }
.srpc-spec-row strong { font-family: "IBM Plex Mono", monospace; font-weight: 500; }
.srpc-story { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(2rem, 6vw, 6rem); margin-bottom: clamp(4rem, 8vw, 8rem); }
.srpc-story.image-right .srpc-story-media { order: 2; }
.srpc-story-media img, .srpc-story-media iframe { display: block; width: 100%; }
.srpc-story-copy { max-width: 560px; }
.srpc-review-grid, .srpc-video-grid, .srpc-guide-grid, .srpc-comparison-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.srpc-review, .srpc-comparison-item { margin: 0; padding: 1.5rem; background: #fff; border: 1px solid #deddd9; }
.srpc-review-meta { display: flex; justify-content: space-between; gap: 1rem; font-family: "IBM Plex Mono", monospace; font-size: .75rem; text-transform: uppercase; }
.srpc-review blockquote { margin: 1.25rem 0; font-size: 1.05rem; }
.srpc-review figcaption, .srpc-review small { display: block; color: #5d6263; }
.srpc-review a, .srpc-text-link, .srpc-guide-grid a span { display: inline-block; margin-top: 1rem; color: var(--srpc-eucalyptus); font-family: "IBM Plex Mono", monospace; font-size: .76rem; font-weight: 600; text-transform: uppercase; }
.srpc-comparison-item.is-highlighted { border-color: var(--srpc-eucalyptus); box-shadow: inset 0 4px 0 var(--srpc-eucalyptus); }
.srpc-video-grid iframe { width: 100%; aspect-ratio: 16 / 9; }
.srpc-video-grid figure { margin: 0; }
.srpc-video-grid figcaption { margin-top: .7rem; }
.srpc-faq-list { border-top: 1px solid #d8d7d3; }
.srpc-faq-list details { border-bottom: 1px solid #d8d7d3; }
.srpc-faq-list summary { padding: 1.25rem 2.5rem 1.25rem 0; cursor: pointer; }
.srpc-faq-question { margin: 0; font-family: "IBM Plex Sans", sans-serif; font-size: clamp(1rem, 1.4vw, 1.12rem); font-weight: 600; line-height: 1.35; }
.srpc-faq-answer { width: min(100%, 90ch); max-width: 100%; padding: 0 0 1.25rem; }
.srpc-faq-answer > :first-child { margin-top: 0; }
.srpc-faq-answer > :last-child { margin-bottom: 0; }
.srpc-guide-grid article { background: #fff; border: 1px solid #deddd9; }
.srpc-guide-grid a { display: block; height: 100%; color: inherit; text-decoration: none; }
.srpc-guide-grid img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.srpc-guide-grid h3, .srpc-guide-grid p, .srpc-guide-grid a span { margin-inline: 1.25rem; }
.srpc-cta { color: #fff; background: var(--srpc-charcoal) !important; }
.srpc-cta .srpc-eyebrow { color: var(--srpc-sky); }
.srpc-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }
.srpc-button { display: inline-flex; align-items: center; min-height: 48px; padding: .75rem 1.15rem; border: 2px solid transparent; font-family: "IBM Plex Mono", monospace; font-size: .78rem; font-weight: 600; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.srpc-button-primary { color: #fff; background: var(--srpc-eucalyptus); }
.srpc-button-primary:hover { color: #fff; background: #486557; }
.srpc-button-secondary { color: #fff; border-color: #fff; background: transparent; }
.srpc-button-secondary:hover { color: var(--srpc-charcoal); background: #fff; }
.srpc-editor-note { padding: 1rem; border: 1px dashed #aaa; font-family: "IBM Plex Mono", monospace; font-size: .8rem; }
.srpc-benefits-track { min-width: 0; }
.srpc-benefits-nav { display: none; align-items: center; justify-content: space-between; margin-top: .85rem; color: #5d6263; font-family: "IBM Plex Mono", monospace; font-size: .72rem; text-transform: uppercase; }
.srpc-benefits-count { color: var(--srpc-eucalyptus); font-weight: 600; }

.srpc-kit-tabs { display: inline-flex; gap: .35rem; margin-bottom: 1rem; padding: .3rem; background: var(--srpc-chalk); border: 1px solid #d8d7d3; border-radius: 999px; }
.srpc-kit-tabs button { appearance: none; min-height: 42px; padding: .65rem 1rem; color: var(--srpc-charcoal); font: 600 .76rem/1 "IBM Plex Mono", monospace; background: transparent; border: 1px solid transparent; border-radius: 999px; cursor: pointer; }
.srpc-kit-tabs button[aria-selected="true"] { color: #fff; background: var(--srpc-eucalyptus); }
.srpc-kit-tabs button:focus-visible,
.srpc-kit-hotspot:focus-visible,
.srpc-kit-item:focus-visible { outline: 3px solid var(--srpc-sky); outline-offset: 3px; }
.srpc-kit-view[hidden] { display: none; }
.srpc-kit-notice { margin: 0 0 1rem; padding: .8rem 1rem; color: var(--srpc-charcoal); background: color-mix(in srgb, var(--srpc-ochre) 10%, white); border-left: 3px solid var(--srpc-ochre); }
.srpc-kit-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: clamp(1rem, 3vw, 2rem); align-items: start; }
.srpc-kit-photo { position: relative; min-height: 420px; overflow: hidden; background: var(--srpc-chalk); border-radius: 10px; }
.srpc-kit-photo > img { display: block; width: 100%; height: auto; }
.srpc-kit-photo-placeholder { display: grid; place-items: center; min-height: 420px; padding: 2rem; color: #5d6263; font-family: "IBM Plex Mono", monospace; text-align: center; }
.srpc-kit-hotspot { position: absolute; translate: -50% -50%; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; color: #fff; font: 600 .78rem/1 "IBM Plex Mono", monospace; background: var(--srpc-charcoal); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 3px 12px rgba(0,0,0,.22); cursor: pointer; }
.srpc-kit-hotspot.is-active { background: var(--srpc-eucalyptus); }
.srpc-kit-details { display: grid; gap: .6rem; }
.srpc-kit-item { appearance: none; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: .8rem; width: 100%; padding: 1rem; color: var(--srpc-charcoal); text-align: left; font: inherit; background: #fff; border: 1px solid #d8d7d3; border-radius: 8px; cursor: pointer; }
.srpc-kit-item.is-active { background: color-mix(in srgb, var(--srpc-eucalyptus) 8%, white); border-color: var(--srpc-eucalyptus); }
.srpc-kit-item-number { display: grid; place-items: center; width: 30px; height: 30px; color: #fff; font: 600 .72rem/1 "IBM Plex Mono", monospace; background: var(--srpc-charcoal); border-radius: 50%; }
.srpc-kit-item > span:last-child { display: grid; gap: .28rem; min-width: 0; }
.srpc-kit-item strong { font-family: "IBM Plex Sans Condensed", "IBM Plex Sans", sans-serif; font-size: 1.05rem; }
.srpc-kit-item small { color: #5d6263; }
.srpc-kit-item em { justify-self: start; margin-top: .2rem; padding: .28rem .48rem; font: normal 600 .65rem/1 "IBM Plex Mono", monospace; text-transform: uppercase; border: 1px solid currentColor; border-radius: 999px; }
.srpc-kit-item em.is-included { color: var(--srpc-eucalyptus); }
.srpc-kit-item em.is-not-included { color: var(--srpc-ochre); }

.srpc-card,
.srpc-runtime-profile,
.srpc-trust-item,
.srpc-spec-row,
.srpc-faq-list summary,
.srpc-kit-item { word-break: normal; overflow-wrap: normal; hyphens: none; }
@container (min-width: 500px) {
	.srpc-card-benefits.has-media .srpc-card-layout {
		display: grid;
		grid-template-columns: minmax(0, 42%) minmax(0, 1fr);
		align-items: start;
		gap: clamp(1.25rem, 3cqi, 2rem);
	}
	.srpc-card-benefits.has-media h3 { margin-top: 0; }
	.srpc-card-benefits.has-media .srpc-card-media.is-svg { align-self: center; }
}
@media (max-width: 800px) {
	.srpc-count-2, .srpc-count-3, .srpc-count-4, .srpc-count-5, .srpc-count-6,
	.srpc-review-grid, .srpc-video-grid, .srpc-guide-grid, .srpc-comparison-list { grid-template-columns: 1fr 1fr; }
	.srpc-count-5 > *, .srpc-count-5 > *:nth-last-child(2), .srpc-count-5 > *:last-child { grid-column: auto; }
	.srpc-trust-grid { grid-template-columns: repeat(2, 1fr); }
	.srpc-story { grid-template-columns: 1fr; }
	.srpc-story.image-right .srpc-story-media { order: initial; }
	.srpc-runtime-profiles { grid-template-columns: 1fr; }
	.srpc-runtime-profile { min-height: 0; }
	.srpc-runtime-result { grid-template-columns: 1fr; gap: 1.25rem; }
	.srpc-kit-layout { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
	.srpc-benefits-track { margin-inline: calc(-1 * var(--srpc-inline-gutter)); overflow: hidden; }
	.srpc-benefits-track .srpc-card-grid { display: flex; gap: 1rem; overflow-x: auto; padding: .15rem var(--srpc-inline-gutter) .65rem; scroll-padding-inline: var(--srpc-inline-gutter); scroll-snap-type: x mandatory; scrollbar-width: none; }
	.srpc-benefits-track .srpc-card-grid::-webkit-scrollbar { display: none; }
	.srpc-benefits-track .srpc-card { flex: 0 0 min(78vw, 620px); scroll-snap-align: start; }
	.srpc-benefits-nav { display: flex; }
}
@media (max-width: 520px) {
	:root { --srpc-trust-icon-size: 48px; }
	.srpc-count-2, .srpc-count-3, .srpc-count-4, .srpc-count-5, .srpc-count-6,
	.srpc-review-grid, .srpc-video-grid, .srpc-guide-grid, .srpc-comparison-list,
	.srpc-trust-grid { grid-template-columns: 1fr; }
	.srpc-trust-item, .srpc-trust-item:first-child { justify-content: flex-start; border-left: 0; border-right: 0; border-bottom: 1px solid #d8d7d3; text-align: left; }
	.srpc-spec-row { grid-template-columns: 1fr; gap: .3rem; }
	.srpc-runtime-profile { grid-template-columns: 64px minmax(0, 1fr); }
	.srpc-runtime-result-copy { grid-template-columns: 1fr; }
	.srpc-runtime-result-copy strong { margin-top: .2rem; }
	.srpc-benefits-track .srpc-card { flex-basis: 88%; }
	.srpc-card-benefits.has-media .srpc-card-layout { display: block; }
	.srpc-runtime-profile { grid-template-columns: 1fr; }
	.srpc-runtime-profile-media { width: 100%; }
	.srpc-kit-tabs { display: grid; width: 100%; border-radius: 10px; }
	.srpc-kit-tabs button { border-radius: 7px; }
	.srpc-kit-photo,
	.srpc-kit-photo-placeholder { min-height: 260px; }
}

@media (prefers-reduced-motion: reduce) {
	.srpc-runtime-profile,
	.srpc-runtime-bar > span { transition-duration: .01ms !important; }
}

/* Authoritative Benefits and External Reviews treatment. */
.srpc-benefits,
.srpc-reviews {
	color: var(--srpc-chalk);
	background: var(--srpc-charcoal) !important;
	overflow: clip;
}
.srpc-benefits { padding-block: clamp(2.25rem, 4.5vw, 4.5rem); }
.srpc-benefits .srpc-section-heading,
.srpc-benefits .srpc-card h3,
.srpc-reviews .srpc-section-heading { color: var(--srpc-chalk); }
.srpc-benefits .srpc-intro-copy,
.srpc-benefits .srpc-card-body { color: var(--srpc-light-neutral, var(--srpc-chalk)); }
.srpc-benefits .srpc-eyebrow,
.srpc-benefits-count { color: var(--srpc-eucalyptus); }
.srpc-benefits .srpc-section-header,
.srpc-reviews .srpc-section-header { margin-bottom: clamp(1.35rem, 2.5vw, 2.25rem); }
.srpc-benefits .srpc-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.75rem) clamp(2rem, 4vw, 4rem);
}
.srpc-benefits .srpc-card-benefits {
	padding: 0;
	color: inherit;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.srpc-benefits .srpc-card-benefits.has-media .srpc-card-layout {
	display: grid;
	grid-template-columns: minmax(150px, 38%) minmax(0, 1fr);
	align-items: start;
	gap: clamp(1rem, 2.2vw, 1.75rem);
}
.srpc-benefits .srpc-card-media { align-self: start; width: 100%; aspect-ratio: 3 / 2; border-radius: 8px; }
.srpc-benefits .srpc-card-media.is-raster .srpc-card-icon { width: 100%; height: 100%; object-fit: cover; }
.srpc-benefits .srpc-card h3 { margin: 0 0 .55rem; }

.srpc-carousel-nav { align-items: center; justify-content: space-between; gap: 1rem; margin-top: .85rem; font: 600 .72rem/1.3 "IBM Plex Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.srpc-benefits-cue,
.srpc-review-cue { color: var(--srpc-ochre); font-weight: 700; }

.srpc-reviews .srpc-shell { min-width: 0; }
.srpc-review-buttons { display: flex; gap: .5rem; }
.srpc-review-buttons button {
	appearance: none;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	color: var(--srpc-chalk);
	background: transparent;
	border: 1px solid var(--srpc-eucalyptus);
	border-radius: 50%;
	cursor: pointer;
}
.srpc-review-buttons button:disabled { opacity: .35; cursor: default; }
.srpc-review-buttons button:focus-visible,
.srpc-review-track:focus-visible,
.srpc-review a:focus-visible { outline: 3px solid var(--srpc-sky); outline-offset: 3px; }
.srpc-review-track {
	display: flex;
	gap: clamp(1rem, 2vw, 1.5rem);
	min-width: 0;
	overflow-x: auto;
	padding: .15rem 0 .75rem;
	scroll-padding-inline: 0;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
}
.srpc-review-track::-webkit-scrollbar { display: none; }
.srpc-review {
	flex: 0 0 calc((100% - 3rem) / 3.15);
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
	padding: clamp(1.25rem, 2.2vw, 1.75rem);
	color: var(--srpc-charcoal);
	background: var(--srpc-chalk);
	border: 0;
	border-radius: 8px;
	box-shadow: none;
	scroll-snap-align: start;
}
.srpc-review-meta span,
.srpc-review a { color: var(--srpc-eucalyptus); }
.srpc-review-meta strong { color: var(--srpc-ochre); }
.srpc-review blockquote { flex: 1; margin: 1.25rem 0; }
.srpc-review blockquote > :first-child { margin-top: 0; }
.srpc-review blockquote > :last-child { margin-bottom: 0; }
.srpc-review figcaption { color: var(--srpc-charcoal); font-weight: 600; }
.srpc-review-nav { display: flex; min-height: 44px; }
.srpc-review-cue { flex: 0 0 auto; }
.srpc-review-cue-touch { display: none; }
.srpc-review-cue-fine { display: inline; }
.srpc-review-progress {
	position: relative;
	flex: 1 1 auto;
	max-width: 20rem;
	height: 2px;
	overflow: hidden;
	background: rgba(111, 143, 126, .35);
}
.srpc-review-progress > span {
	display: block;
	width: 0;
	height: 100%;
	background: var(--srpc-eucalyptus);
	transform: scaleX(var(--srpc-review-progress, 0));
	transform-origin: left center;
}
.srpc-review-disclosure {
	max-width: 110ch;
	margin-top: 1rem;
	color: var(--srpc-light-neutral, var(--srpc-chalk));
	font-size: clamp(.72rem, 1vw, .82rem);
	line-height: 1.55;
	opacity: .82;
}
.srpc-review-disclosure > :first-child { margin-top: 0; }
.srpc-review-disclosure > :last-child { margin-bottom: 0; }

.srpc-benefits *,
.srpc-reviews *,
.srpc-card,
.srpc-runtime-profile,
.srpc-trust-item,
.srpc-spec-row,
.srpc-faq-list summary,
.srpc-kit-item {
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

@media (max-width: 1100px) {
	.srpc-benefits-track { margin-inline: calc(-1 * var(--srpc-inline-gutter)); overflow: hidden; }
	.srpc-benefits-track .srpc-card-grid {
		display: flex;
		gap: 1.25rem;
		overflow-x: auto;
		padding: .15rem var(--srpc-inline-gutter) .65rem;
		scroll-padding-inline: var(--srpc-inline-gutter);
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		overscroll-behavior-inline: contain;
	}
	.srpc-benefits-track .srpc-card-grid::-webkit-scrollbar { display: none; }
	.srpc-benefits-track .srpc-card { flex: 0 0 clamp(430px, 58vw, 620px); scroll-snap-align: start; }
	.srpc-benefits-nav { display: flex; }
	.srpc-review { flex-basis: min(54vw, 560px); }
}

@media (any-hover: hover) and (any-pointer: fine) {
	.srpc-review-track { cursor: grab; }
	.srpc-review-track.is-dragging { cursor: grabbing; }
}

.srpc-review-track.is-dragging,
.srpc-review-track.is-gliding,
.srpc-review-track.is-wheel-scrolling {
	scroll-snap-type: none;
	scroll-behavior: auto;
	user-select: none;
}

@media (hover: none), (pointer: coarse) {
	.srpc-review-cue-touch { display: inline; }
	.srpc-review-cue-fine { display: none; }
}

@media (max-width: 640px) {
	.srpc-benefits-track .srpc-card { flex-basis: 88%; }
	.srpc-benefits .srpc-card-benefits.has-media .srpc-card-layout { display: block; }
	.srpc-benefits .srpc-card-media { margin-bottom: 1rem; }
	.srpc-review-track { margin-inline: calc(-1 * var(--srpc-inline-gutter)); padding-inline: var(--srpc-inline-gutter); scroll-padding-inline: var(--srpc-inline-gutter); scrollbar-width: none; }
	.srpc-review-track::-webkit-scrollbar { display: none; }
	.srpc-review { flex-basis: 88%; }
	.srpc-review-buttons { display: none; }
	.srpc-review-progress { max-width: none; }
}

/* Product-flow spacing: owned by the Trust Ribbon wrapper and independent of adjacency. */
.srpc-content-stack > .srpc-trust,
.sr-product-content-stack > .srpc-trust {
	margin-block-end: clamp(36px, 3vw, 48px);
}
.srpc-block-trust {
	margin-block-end: clamp(36px, 3vw, 48px) !important;
}
.srpc-block-trust > .srpc-trust { margin-block-end: 0; }

/* Utility-led FAQ accordion. */
.srpc-faqs { background: #fff; }
.srpc-faq-list { border-top: 1px solid #d8d7d3; }
.srpc-faq-item { margin: 0; border-bottom: 1px solid #d8d7d3; }
.srpc-faq-question { margin: 0; font: inherit; }
.srpc-faq-toggle {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 1.25rem;
	align-items: center;
	gap: 1rem;
	width: 100%;
	padding: clamp(1.1rem, 2vw, 1.5rem) 0;
	color: var(--srpc-charcoal);
	background: transparent;
	border: 0;
	font-family: "IBM Plex Sans", sans-serif;
	font-size: clamp(1rem, 1.4vw, 1.12rem);
	font-weight: 600;
	line-height: 1.4;
	text-align: left;
	cursor: pointer;
}
.srpc-faq-toggle:hover { color: var(--srpc-eucalyptus); }
.srpc-faq-toggle:focus-visible {
	outline: 3px solid var(--srpc-ochre);
	outline-offset: 4px;
}
.srpc-faq-icon {
	position: relative;
	display: block;
	width: 1.1rem;
	height: 1.1rem;
}
.srpc-faq-icon::before,
.srpc-faq-icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1rem;
	height: 2px;
	background: currentColor;
	content: "";
	transform: translate(-50%, -50%);
}
.srpc-faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.srpc-faq-toggle[aria-expanded="true"] .srpc-faq-icon::after { transform: translate(-50%, -50%) rotate(0); }
.srpc-faq-panel[hidden] { display: none; }
.srpc-faq-answer {
	width: min(100%, 90ch);
	max-width: 100%;
	padding: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
	color: var(--srpc-charcoal);
	line-height: 1.65;
}
.srpc-faq-answer p { margin: 0 0 1rem; }
.srpc-faq-answer ul,
.srpc-faq-answer ol { margin: 0 0 1rem; padding-inline-start: 1.4rem; }
.srpc-faq-answer li + li { margin-top: .35rem; }
.srpc-faq-answer a { color: var(--srpc-eucalyptus); text-underline-offset: .16em; }
.srpc-faq-answer > :first-child { margin-top: 0; }
.srpc-faq-answer > :last-child { margin-bottom: 0; }
.srpc-faq-cta a {
	display: inline-flex;
	font-family: "IBM Plex Mono", monospace;
	font-size: .78rem;
	font-weight: 650;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.srpc-faq-item *,
.srpc-faq-toggle {
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

@media (max-width: 640px) {
	.srpc-content-stack > .srpc-trust,
	.sr-product-content-stack > .srpc-trust { margin-block-end: 28px; }
	.srpc-block-trust { margin-block-end: 28px !important; }
	.srpc-faq-toggle { grid-template-columns: minmax(0, 1fr) 1.1rem; }
}

/* 1.7.0 authoritative Runtime Calculator. */
.srpc-runtime-planner { padding: 0; background: #fff !important; }
.srpc-runtime-intro { padding: clamp(3rem, 6vw, 5.5rem) var(--srpc-inline-gutter); background: #fff; }
.srpc-runtime-intro .srpc-section-header { margin-bottom: 0; }
.srpc-runtime-intro .srpc-intro-copy { margin: 1.25rem 0 0; }
.srpc-runtime-workspace { padding: clamp(3rem, 5vw, 5rem) var(--srpc-inline-gutter); color: var(--srpc-chalk); background: var(--srpc-charcoal); }
.srpc-runtime-profiles { gap: clamp(1.5rem, 2.4vw, 2rem); }
.srpc-runtime-profile {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
	min-height: 0;
	padding: clamp(.85rem, 1.6vw, 1.15rem);
	background: color-mix(in srgb, var(--srpc-charcoal) 92%, white);
	border-color: rgba(243,240,235,.3);
}
.srpc-runtime-profile:hover { border-color: var(--srpc-chalk); }
.srpc-runtime-profile.is-selected { border: 3px solid var(--srpc-eucalyptus); box-shadow: none; }
.srpc-runtime-profile-media { width: 100%; aspect-ratio: 3 / 2; background: #2a2e2f; }
.srpc-runtime-profile-media img { object-fit: cover; }
.srpc-runtime-profile-copy { padding: 0 .2rem .25rem; }
.srpc-runtime-selected-marker {
	position: absolute;
	top: .5rem;
	right: .5rem;
	display: none;
	place-items: center;
	width: 30px;
	height: 30px;
	color: #fff;
	font-weight: 700;
	background: var(--srpc-eucalyptus);
	border: 2px solid var(--srpc-chalk);
	border-radius: 50%;
}
.srpc-runtime-profile.is-selected .srpc-runtime-selected-marker { display: grid; }
.srpc-runtime-result {
	display: grid;
	grid-template-columns: minmax(270px,.7fr) minmax(0,1.3fr);
	margin-top: 2rem;
	padding: clamp(1.5rem, 3.2vw, 2.5rem);
	color: var(--srpc-charcoal);
	background: var(--srpc-chalk);
	border-radius: 10px;
}
.srpc-runtime-result-copy { grid-template-columns: auto 1fr; }
.srpc-runtime-result-label { grid-column: 1 / -1; margin-bottom: .8rem; color: var(--srpc-eucalyptus); font: 700 .76rem/1.3 "IBM Plex Mono",monospace; letter-spacing: .12em; text-transform: uppercase; }
.srpc-runtime-result-qualifier { color: var(--srpc-charcoal); }
.srpc-runtime-result-intro { grid-column: 1 / -1; margin-top: 1rem; line-height: 1.5; }
.srpc-runtime-result-load { color: #555b5c; }
.srpc-runtime-result .srpc-disclaimer { grid-column: 1 / -1; margin-bottom: 0; color: #555b5c; }
.srpc-runtime-bar { background: #dedbd5; border-color: #cbc7bf; }
.srpc-runtime-bar > span { position: relative; }
.srpc-runtime-bar > span::after { position: absolute; top: 50%; right: 0; width: 10px; height: 10px; background: var(--srpc-ochre); border: 2px solid var(--srpc-chalk); border-radius: 50%; content: ""; transform: translate(50%,-50%); }

/* 1.7.0 authoritative What's Included module. */
.srpc-kit { padding-block: clamp(3.5rem, 6.5vw, 6rem); background: #fff !important; overflow: clip; }
.srpc-kit .srpc-shell { max-width: 1440px; }
.srpc-kit-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: min(100%, 620px); }
.srpc-kit-tabs button { font-size: clamp(.82rem, 1.2vw, .95rem); line-height: 1.25; }
.srpc-kit-view { opacity: 1; transition: opacity 180ms ease; }
.srpc-kit-layout { grid-template-columns: minmax(0,2fr) minmax(320px,.82fr); gap: clamp(2rem, 3.4vw, 3rem); }
.srpc-kit-photo { aspect-ratio: 3 / 2; min-height: 480px; max-height: 680px; background: var(--srpc-chalk); }
.srpc-kit-photo picture,
.srpc-kit-photo picture img { display: block; width: 100%; height: 100%; }
.srpc-kit-photo picture img { object-fit: contain; }
.srpc-kit-hotspot { left: var(--kit-x); top: var(--kit-y); width: 44px; height: 44px; background: transparent; border: 0; box-shadow: none; }
.srpc-kit-hotspot > span { display: grid; place-items: center; width: 28px; height: 28px; color: #fff; background: var(--srpc-eucalyptus); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 3px 12px rgba(0,0,0,.22); transition: scale 160ms ease; }
.srpc-kit-hotspot:hover > span,
.srpc-kit-hotspot:focus-visible > span,
.srpc-kit-hotspot.is-active > span { scale: 1.18; background: var(--srpc-charcoal); outline: 3px solid var(--srpc-eucalyptus); outline-offset: 2px; }
.srpc-kit-details { align-content: start; }
.srpc-kit-item { grid-template-columns: 34px minmax(0,1fr); transition: border-color 160ms ease, background-color 160ms ease; }
.srpc-kit-item:not(.is-active) > span:last-child > span:not(.srpc-kit-short-label),
.srpc-kit-item:not(.is-active) small,
.srpc-kit-item:not(.is-active) em { display: none; }
.srpc-kit-short-label { color: #5d6263; font-size: .86rem; }
.srpc-kit-closing { width: min(100%, 760px); margin-top: clamp(2rem,4vw,3rem); padding-top: 1.5rem; border-top: 1px solid #d8d7d3; }
.srpc-kit-closing h3 { margin-top: 0; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.srpc-kit:not(.is-revealed) .srpc-kit-photo,
.srpc-kit:not(.is-revealed) .srpc-kit-details { opacity: 0; translate: 0 10px; }
.srpc-kit.is-revealed .srpc-kit-photo,
.srpc-kit.is-revealed .srpc-kit-details { opacity: 1; translate: 0; transition: opacity 360ms ease, translate 360ms ease; }

@media (max-width: 1100px) {
	.srpc-kit-layout { grid-template-columns: 1fr; }
	.srpc-kit-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
	.srpc-runtime-profiles { grid-template-columns: 1fr; }
	.srpc-runtime-result { grid-template-columns: 1fr; }
	.srpc-kit-photo { min-height: 0; }
}
@media (max-width: 767px) {
	.srpc-kit-tabs { width: 100%; }
	.srpc-kit-photo { aspect-ratio: 4 / 5; max-height: none; }
	.srpc-kit-hotspot { left: var(--kit-mobile-x); top: var(--kit-mobile-y); }
	.srpc-kit-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.srpc-kit-item { grid-template-columns: 30px minmax(0,1fr); min-height: 44px; padding: .8rem; }
	.srpc-kit-item:not(.is-active) > span:last-child > span:not(.srpc-kit-short-label),
	.srpc-kit-item:not(.is-active) small,
	.srpc-kit-item:not(.is-active) em { display: none; }
	.srpc-kit-item.is-active { grid-column: 1 / -1; order: -1; }
}
@media (max-width: 420px) {
	.srpc-kit-details { grid-template-columns: 1fr; }
	.srpc-kit-item.is-active { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.srpc-kit-view,
	.srpc-kit-photo,
	.srpc-kit-details,
	.srpc-kit-hotspot > span { transition-duration: .01ms !important; }
	.srpc-kit:not(.is-revealed) .srpc-kit-photo,
	.srpc-kit:not(.is-revealed) .srpc-kit-details { opacity: 1; translate: 0; }
}
