/*
 * Campaign landing page.
 *
 * A focused treatment layered on the existing product-launch styles: same
 * tokens, typography, buttons and card pattern, with a tighter hero, a rule
 * under the campaign eyebrow and a stronger product code. No new design system.
 */

.campaign-hero,
.campaign-hero .launch-hero__content { min-height: 560px; }
.campaign-hero .launch-hero__overlay { background: linear-gradient(90deg, rgba(0, 0, 0, .82), rgba(0, 0, 0, .35)); }
.campaign-hero .eyebrow { position: relative; padding-bottom: 14px; }
.campaign-hero .eyebrow::after { content: ""; position: absolute; bottom: 0; left: 0; width: 56px; height: 3px; background: var(--red); }
.campaign-hero h1 { font-size: clamp(38px, 4.4vw, 62px); }

.campaign-intro { background: var(--white); border-bottom: 1px solid var(--line); }
.campaign-products { padding-top: 74px; }

/* The product code is the campaign's shared reference between the page, the
   branch and the enquiry, so it stays legible rather than decorative. */
.campaign-page .launch-card__code { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink); font-size: 12px; letter-spacing: .6px; }
.campaign-page .launch-card__code span { color: var(--muted); }
.campaign-page .launch-badge { background: var(--ink); }

/* The filter bar is a list of links: keyboard reachable by default, with the
   theme focus ring made explicit against the tinted section background. */
.campaign-page .launch-filters a:focus-visible,
.campaign-page .launch-card a:focus-visible,
.campaign-page .launch-actions a:focus-visible { outline: var(--focus-ring); outline-offset: 3px; }
.campaign-page .launch-filters a[aria-current="true"] { border-color: var(--red); background: var(--red); color: #fff; }

/* Product shots are cutouts of wildly different proportions - a portrait solar
   panel next to a landscape gate motor. Cap the featured image so one tall
   product cannot stretch its card to several screens. */
@media (min-width: 768px) {
	.campaign-page .launch-featured .launch-card__image img { height: 420px; min-height: 0; }
	.campaign-page .launch-featured .launch-card__image { display: flex; align-items: center; }
	.campaign-page .launch-featured .launch-card__image-placeholder { min-height: 420px; }
}

/* Long product codes and model strings must not push the card sideways. */
.campaign-page .launch-card h3,
.campaign-page .launch-card__code,
.campaign-page .launch-card__features li { overflow-wrap: anywhere; }

@media (max-width: 767px) {
	.campaign-hero,
	.campaign-hero .launch-hero__content { min-height: 480px; }
	.campaign-products { padding-top: 52px; }
}

/* Windhoek readiness promotion: flyer-derived red/green colour blocking, scoped
   to this campaign so Centurion and generic campaign pages remain unchanged. */
.readiness-campaign { --readiness-red: #c8102e; --readiness-red-dark: #8c0b21; --readiness-green: #0b7a3e; --readiness-green-dark: #07552c; background: #f7f3ee; }
.readiness-campaign .campaign-hero { background-color: #171717; background-image: linear-gradient(115deg, rgba(180, 8, 38, .96) 0 48%, rgba(8, 100, 53, .9) 100%) !important; }
.readiness-campaign .campaign-hero .launch-hero__overlay { background: linear-gradient(90deg, rgba(0,0,0,.36), rgba(0,0,0,.08)); }
.readiness-campaign .campaign-hero h1 { max-width: 760px; font-weight: 750; letter-spacing: -.04em; }
.readiness-facts { position: relative; z-index: 2; margin-top: -32px; }
.readiness-facts__inner { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: hidden; padding: 0; border-radius: 14px; box-shadow: 0 16px 40px rgba(0,0,0,.18); }
.readiness-facts p { display: flex; min-height: 112px; margin: 0; padding: 26px 32px; flex-direction: column; justify-content: center; color: #fff; }
.readiness-facts p:first-child { background: var(--readiness-red); }
.readiness-facts p:last-child { background: var(--readiness-green); }
.readiness-facts strong { font-size: clamp(22px,3vw,34px); line-height: 1; text-transform: uppercase; }
.readiness-facts span { margin-top: 9px; font-size: 14px; }
.readiness-campaign .campaign-intro { padding-top: 78px; }
.readiness-products { background: #f7f3ee; }
.readiness-products .launch-heading > p:last-child { color: var(--muted); }
.readiness-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 900px; margin: 0 auto 46px; gap: 14px; }
.readiness-tab { display: flex; min-height: 76px; padding: 18px 24px; align-items: center; justify-content: space-between; border: 0; border-radius: 12px; color: #fff; font: inherit; font-size: 18px; font-weight: 750; cursor: pointer; opacity: .7; transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease; }
.readiness-tab--red { background: var(--readiness-red); }
.readiness-tab--green { background: var(--readiness-green); }
.readiness-tab span { display: grid; min-width: 34px; height: 34px; place-items: center; border-radius: 50%; background: rgba(255,255,255,.2); font-size: 13px; }
.readiness-tab:hover, .readiness-tab:focus-visible, .readiness-tab[aria-selected="true"] { opacity: 1; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.16); }
.readiness-tab:focus-visible { outline: 3px solid #111; outline-offset: 3px; }
.readiness-panel[hidden] { display: none; }
.readiness-panel__heading { display: flex; margin: 0 auto 26px; padding-bottom: 14px; align-items: flex-end; justify-content: space-between; border-bottom: 4px solid var(--readiness-red); }
.readiness-panel--renewable .readiness-panel__heading { border-color: var(--readiness-green); }
.readiness-panel__heading p { margin: 0; font-size: 25px; font-weight: 750; }
.readiness-panel__heading span { color: var(--muted); font-size: 13px; }
.readiness-campaign .launch-card { border: 0; box-shadow: 0 8px 26px rgba(31,25,20,.08); }
.readiness-panel--electrical .launch-card__meta { color: var(--readiness-red); }
.readiness-panel--renewable .launch-card__meta { color: var(--readiness-green); }
.readiness-campaign .launch-card__image { display: grid; min-height: 220px; place-items: center; background: #f1efeb; }
.readiness-campaign .launch-card__image-placeholder { color: #6f6b66; font-size: 13px; }
.readiness-campaign .launch-card__price { margin: 16px 0 0 !important; color: var(--readiness-red) !important; font-size: 27px !important; font-weight: 800; line-height: 1; }
.readiness-panel--renewable .launch-card__price { color: var(--readiness-green) !important; }
.readiness-campaign .launch-card__price span { font-size: 16px; vertical-align: top; }
.readiness-campaign .launch-card__price small { color: #595959; font-size: 11px; font-weight: 650; text-transform: uppercase; }
.readiness-terms { max-width: 900px; margin: 54px auto 0; color: #67615c; font-size: 12px; text-align: center; text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 767px) {
  .readiness-facts { margin-top: 0; }
  .readiness-facts__inner, .readiness-tabs { grid-template-columns: 1fr; }
  .readiness-facts__inner { border-radius: 0; }
  .readiness-facts p { min-height: 96px; padding: 22px var(--gutter); }
  .readiness-tabs { gap: 10px; margin-bottom: 34px; }
  .readiness-tab { min-height: 64px; font-size: 16px; }
  .readiness-panel__heading { display: block; }
  .readiness-panel__heading span { display: block; margin-top: 6px; }
}
/* Server-side readiness catalogue controls. */
.readiness-catalogue-heading { margin-bottom: 34px; }
.readiness-tab { text-decoration: none; }
.readiness-range-banner { display:flex; margin:0 0 22px; padding:20px 24px; align-items:end; justify-content:space-between; border-left:6px solid var(--readiness-red); background:#fff; box-shadow:0 6px 20px rgba(31,25,20,.06); }
.readiness-range-banner--renewable { border-color:var(--readiness-green); }
.readiness-range-banner p { margin:0; font-size:25px; font-weight:750; }
.readiness-range-banner span { color:var(--muted); font-size:13px; }
.readiness-filter-form { display:flex; margin-bottom:14px; padding:16px; align-items:end; gap:14px; border:1px solid var(--line); background:#fff; }
.readiness-filter-form label { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:700; }
.readiness-filter-form select,.readiness-filter-form input { min-height:44px; padding:8px 11px; border:1px solid #c9c5bf; border-radius:4px; background:#fff; color:var(--ink); font:inherit; }
.readiness-filter-form fieldset { display:flex; margin:0; padding:0; gap:10px; border:0; }
.readiness-filter-form legend { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.readiness-filter-form input { width:132px; }
.readiness-clear { min-height:44px; padding:12px 4px; color:var(--ink); font-weight:700; }
.readiness-filter-toggle { display:none; }
.readiness-chips { display:flex; margin:0 0 16px; flex-wrap:wrap; gap:8px; }
.readiness-chips a { padding:7px 10px; border:1px solid #c9c5bf; border-radius:4px; background:#fff; color:var(--ink); font-size:12px; font-weight:700; text-decoration:none; }
.readiness-results-count { margin:20px 0; color:var(--muted); }
.readiness-results-count strong { color:var(--ink); font-size:20px; }
.readiness-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.readiness-pagination { display:flex; margin:38px 0 0; justify-content:center; flex-wrap:wrap; gap:7px; }
.readiness-pagination .page-numbers { display:grid; min-width:42px; min-height:42px; padding:8px; place-items:center; border:1px solid #c9c5bf; background:#fff; color:var(--ink); font-weight:700; text-decoration:none; }
.readiness-pagination .current { border-color:var(--readiness-red); background:var(--readiness-red); color:#fff; }
.readiness-products--renewable .readiness-pagination .current { border-color:var(--readiness-green); background:var(--readiness-green); }
.readiness-empty { padding:48px 20px; border:1px solid var(--line); background:#fff; text-align:center; }
.readiness-empty h3 { margin:0 0 20px; }
.readiness-filter-form :focus-visible,.readiness-chips a:focus-visible,.readiness-pagination a:focus-visible { outline:3px solid #111; outline-offset:3px; }
@media (max-width:1023px) { .readiness-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) {
 .readiness-range-banner { display:block; }
 .readiness-range-banner span { display:block; margin-top:6px; }
 .readiness-filter-toggle { display:block; width:100%; min-height:48px; margin-bottom:12px; border:0; border-radius:4px; background:var(--ink); color:#fff; font:inherit; font-weight:750; }
 .readiness-filter-form { display:none; align-items:stretch; flex-direction:column; }
 .readiness-filter-form.is-open { display:flex; }
 .readiness-filter-form fieldset { display:grid; grid-template-columns:1fr 1fr; }
 .readiness-filter-form input { width:100%; box-sizing:border-box; }
 .readiness-grid { grid-template-columns:1fr; }
}

.readiness-pagination .is-disabled { opacity:.45; cursor:not-allowed; }

/* Range selector now leads the entire range-specific experience. */
.readiness-products { padding-top:32px; }
.readiness-products .readiness-tabs { max-width:none; margin:0 0 24px; }
.readiness-range-banner { display:none; }
.readiness-range-hero { position:relative; display:flex; min-height:250px; margin:0 0 26px; padding:42px 48px; align-items:center; justify-content:space-between; overflow:hidden; border-radius:14px; color:#fff; box-shadow:0 16px 36px rgba(31,25,20,.16); }
.readiness-range-hero::after { content:""; position:absolute; right:-8%; bottom:-70%; width:360px; height:360px; border:70px solid rgba(255,255,255,.1); border-radius:50%; }
.readiness-range-hero--electrical { background:linear-gradient(120deg,var(--readiness-red-dark),var(--readiness-red)); }
.readiness-range-hero--renewable { background:linear-gradient(120deg,var(--readiness-green-dark),var(--readiness-green)); }
.readiness-range-hero .eyebrow { margin:0 0 10px; color:#fff; opacity:.82; }
.readiness-range-hero h2 { max-width:720px; margin:0 0 20px; color:#fff; font-size:clamp(36px,5vw,64px); line-height:.95; letter-spacing:-.035em; }
.readiness-range-hero p { margin:0; color:#fff; }
.readiness-range-hero p strong { font-size:clamp(18px,2.2vw,27px); }
.readiness-range-hero__count { position:relative; z-index:1; min-width:150px; padding:18px; border:1px solid rgba(255,255,255,.35); border-radius:10px; background:rgba(0,0,0,.12); font-size:14px; font-weight:750; text-align:center; }
@media (max-width:767px) {
 .readiness-products { padding-top:22px; }
 .readiness-products .readiness-tabs { grid-template-columns:1fr 1fr; }
 .readiness-tab { padding:14px; align-items:flex-start; flex-direction:column; gap:10px; }
 .readiness-range-hero { min-height:230px; padding:32px 24px; align-items:flex-start; flex-direction:column; gap:24px; }
 .readiness-range-hero__count { min-width:0; padding:10px 12px; }
}


/* Readiness catalogue refinement: campaign artwork, desktop filters and compact card titles. */
.readiness-catalogue-heading { margin-bottom: 28px; }
.readiness-products .readiness-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 0 34px; gap: 18px; }
.readiness-tab { display:block; min-height:0; padding:0; overflow:hidden; border:3px solid transparent; border-radius:12px; background:#fff; opacity:.76; box-shadow:0 8px 24px rgba(31,25,20,.1); }
.readiness-tab img { display:block; width:100%; height:auto; aspect-ratio:1920/582; object-fit:cover; }
.readiness-tab[aria-current="page"] { border-color:var(--readiness-red); opacity:1; transform:translateY(-2px); box-shadow:0 12px 30px rgba(31,25,20,.18); }
.readiness-tab--green[aria-current="page"] { border-color:var(--readiness-green); }
.readiness-tab:hover,.readiness-tab:focus-visible { opacity:1; transform:translateY(-2px); }
.readiness-range-hero { display:none; }
.readiness-catalogue-layout { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; gap:28px; }
.readiness-filter-sidebar { position:sticky; top:104px; padding:22px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 8px 24px rgba(31,25,20,.06); }
.readiness-filter-sidebar h3 { margin:0 0 18px; font-size:20px; }
.readiness-filter-form { display:grid; margin:0; padding:0; align-items:stretch; gap:16px; border:0; background:transparent; }
.readiness-filter-form label { width:100%; }
.readiness-filter-form select,.readiness-filter-form input { width:100%; box-sizing:border-box; }
.readiness-filter-form fieldset { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.readiness-clear { text-align:center; }
.readiness-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.readiness-campaign .launch-card h3 { font-size:18px; line-height:1.28; }
.readiness-campaign .launch-card__body { padding:20px; }
@media (max-width:1023px) {
 .readiness-catalogue-layout { grid-template-columns:210px minmax(0,1fr); gap:20px; }
 .readiness-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .readiness-products .readiness-tabs { grid-template-columns:1fr; gap:12px; }
 .readiness-catalogue-layout { display:block; }
 .readiness-filter-sidebar { position:static; padding:0; border:0; background:transparent; box-shadow:none; }
 .readiness-filter-sidebar h3 { display:none; }
 .readiness-filter-form { display:none; margin-bottom:18px; padding:16px; border:1px solid var(--line); background:#fff; }
 .readiness-filter-form.is-open { display:grid; }
 .readiness-grid { grid-template-columns:1fr; }
}


/* Keep range tabs as controls; display the selected campaign artwork below. */
.readiness-products .readiness-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:18px; gap:14px; }
.readiness-products .readiness-tab { display:flex; min-height:64px; padding:16px 22px; align-items:center; justify-content:center; overflow:visible; border:0; border-radius:10px; color:#fff; font-size:17px; font-weight:750; text-align:center; opacity:.72; box-shadow:none; }
.readiness-products .readiness-tab--red { background:var(--readiness-red); }
.readiness-products .readiness-tab--green { background:var(--readiness-green); }
.readiness-products .readiness-tab[aria-current="page"] { border:0; opacity:1; box-shadow:0 8px 20px rgba(31,25,20,.18); }
.readiness-campaign-banner { margin:0 0 34px; overflow:hidden; border-radius:12px; box-shadow:0 14px 34px rgba(31,25,20,.14); }
.readiness-campaign-banner img { display:block; width:100%; height:auto; }
@media (max-width:767px) {
 .readiness-products .readiness-tabs { grid-template-columns:1fr 1fr; }
 .readiness-products .readiness-tab { min-height:58px; padding:12px 8px; font-size:14px; }
 .readiness-campaign-banner { margin-bottom:24px; border-radius:8px; }
}


/* Catalogue icon ribbon and comfortable sticky-filter clearance. */
.readiness-campaign .campaign-hero { position:relative; }
.readiness-hero-icons { position:absolute; z-index:2; top:28px; right:0; left:0; pointer-events:none; }
.readiness-hero-icons__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.readiness-hero-icons img { width:auto; height:34px; max-width:48px; object-fit:contain; opacity:.82; filter:drop-shadow(0 2px 5px rgba(0,0,0,.18)); }
.readiness-campaign .campaign-hero .launch-hero__content { padding-top:88px; }
.readiness-filter-sidebar { top:124px; max-height:calc(100vh - 152px); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
@media (max-width:1023px) {
 .readiness-hero-icons__inner { gap:18px; }
 .readiness-hero-icons img { height:28px; max-width:40px; }
 .readiness-hero-icons img:nth-child(n+11) { display:none; }
 .readiness-filter-sidebar { top:112px; max-height:calc(100vh - 136px); }
}
@media (max-width:767px) {
 .readiness-hero-icons { top:20px; }
 .readiness-hero-icons__inner { justify-content:space-around; gap:14px; }
 .readiness-hero-icons img { height:25px; max-width:34px; }
 .readiness-hero-icons img:nth-child(n+8) { display:none; }
 .readiness-campaign .campaign-hero .launch-hero__content { padding-top:78px; }
 .readiness-filter-sidebar { max-height:none; overflow:visible; }
}


/* Hero comparison: shorter, CTA-free readiness variants in brand red and green. */
.readiness-campaign { --readiness-red:#df2f2a; --readiness-red-dark:#a91520; --readiness-green:#168447; --readiness-green-dark:#0a5730; }
.readiness-campaign .campaign-hero,
.readiness-campaign .campaign-hero .launch-hero__content { min-height:400px; }
.readiness-campaign .campaign-hero--horizontal { background-image:linear-gradient(90deg,#a91520 0%,#df2f2a 42%,#168447 100%) !important; }
.readiness-campaign .campaign-hero--vertical { margin-top:2px; background-image:linear-gradient(180deg,#a91520 0%,#df2f2a 46%,#168447 100%) !important; }
.readiness-campaign .campaign-hero .launch-hero__overlay { background:linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.04)); }
.readiness-campaign .campaign-hero--vertical .launch-hero__overlay { background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.14)); }
.readiness-campaign .campaign-hero .launch-hero__content { padding-top:76px; padding-bottom:36px; }
.readiness-campaign .campaign-hero h1 { font-size:clamp(38px,4.2vw,58px); }
.readiness-campaign .campaign-hero .launch-hero__content > p:last-child { max-width:680px; margin-bottom:0; }
@media (max-width:767px) {
 .readiness-campaign .campaign-hero,
 .readiness-campaign .campaign-hero .launch-hero__content { min-height:360px; }
 .readiness-campaign .campaign-hero .launch-hero__content { padding-top:70px; padding-bottom:30px; }
}


/* Final horizontal hero: copy left, refined catalogue-icon cluster right. */
.readiness-campaign .campaign-hero--horizontal .launch-hero__content { padding-right:460px; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { position:absolute; z-index:2; top:50%; right:clamp(28px,7vw,128px); left:auto; width:360px; transform:translateY(-50%); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { display:grid; grid-template-columns:repeat(4,1fr); width:auto; padding:24px 26px; align-items:center; justify-items:center; gap:20px 24px; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.045)); box-shadow:0 18px 48px rgba(30,10,12,.2); backdrop-filter:blur(8px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img { display:block; width:34px; max-width:42px; height:34px; opacity:.88; filter:drop-shadow(0 2px 4px rgba(0,0,0,.16)); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-last-child(2) { grid-column:2; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:last-child { grid-column:3; }
@media (max-width:1100px) {
 .readiness-campaign .campaign-hero--horizontal .launch-hero__content { padding-right:350px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { right:24px; width:290px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { padding:20px; gap:16px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img { display:block; width:28px; height:28px; }
}
@media (max-width:767px) {
 .readiness-campaign .campaign-hero--horizontal,
 .readiness-campaign .campaign-hero--horizontal .launch-hero__content { min-height:470px; }
 .readiness-campaign .campaign-hero--horizontal .launch-hero__content { padding-right:var(--gutter); padding-bottom:132px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { top:auto; right:var(--gutter); bottom:24px; left:var(--gutter); width:auto; transform:none; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { grid-template-columns:repeat(7,1fr); padding:14px 12px; gap:12px; border-radius:14px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img,
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-last-child(2),
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:last-child { display:block; grid-column:auto; width:23px; height:23px; }
}


/* Open catalogue-style icon grid: larger artwork with fine dividers. */
.readiness-campaign .campaign-hero--horizontal .launch-hero__content { padding-right:590px; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { right:clamp(28px,6vw,112px); width:500px; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { grid-template-columns:repeat(5,1fr); padding:0; gap:0; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img,
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-last-child(2),
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:last-child { display:block; grid-column:auto; width:100%; max-width:none; height:76px; padding:15px 24px; box-sizing:border-box; border-right:1px solid rgba(255,255,255,.26); border-bottom:1px solid rgba(255,255,255,.26); object-fit:contain; opacity:.94; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(5n) { border-right:0; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(n+11) { border-bottom:0; }
@media (max-width:1100px) {
 .readiness-campaign .campaign-hero--horizontal .launch-hero__content { padding-right:390px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { width:340px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { grid-template-columns:repeat(4,1fr); }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img { height:64px; padding:14px 20px; border-right:1px solid rgba(255,255,255,.26); border-bottom:1px solid rgba(255,255,255,.26); }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(5n) { border-right:1px solid rgba(255,255,255,.26); }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(4n) { border-right:0; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(n+11) { border-bottom:1px solid rgba(255,255,255,.26); }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(n+13) { border-bottom:0; }
}
@media (max-width:767px) {
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { grid-template-columns:repeat(7,1fr); }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img { width:100%; height:48px; padding:10px 13px; border-right:1px solid rgba(255,255,255,.24); border-bottom:1px solid rgba(255,255,255,.24); }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(4n),
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(5n) { border-right:1px solid rgba(255,255,255,.24); }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(7n) { border-right:0; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(n+8) { border-bottom:0; }
}


/* Preserve the original hero-copy measure; the icon grid floats independently. */
@media (min-width:1200px) {
 .readiness-campaign .campaign-hero--horizontal .launch-hero__content { padding-right:var(--gutter); }
 .readiness-campaign .campaign-hero--horizontal .launch-hero__content > .eyebrow,
 .readiness-campaign .campaign-hero--horizontal .launch-hero__content > h1,
 .readiness-campaign .campaign-hero--horizontal .launch-hero__content > p { width:min(680px,52vw); }
}


/* Reference-led icon composition: an open, staggered masonry pattern. */
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { right:clamp(28px,5vw,96px); width:560px; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { display:grid; grid-template-columns:repeat(6,1fr); grid-template-rows:repeat(4,64px); padding:0; gap:4px 10px; align-items:center; justify-items:center; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img,
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-last-child(2),
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:last-child { width:58px; max-width:none; height:58px; padding:0; border:0; object-fit:contain; opacity:.9; }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(1) { grid-column:1 / span 2; grid-row:1; width:82px; height:82px; transform:translate(-12px,10px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(2) { grid-column:3; grid-row:1; width:46px; height:46px; transform:translateY(-13px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(3) { grid-column:4 / span 2; grid-row:1; width:76px; height:76px; transform:translate(8px,3px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(4) { grid-column:6; grid-row:1; width:42px; height:42px; transform:translate(5px,-16px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(5) { grid-column:1; grid-row:2 / span 2; width:70px; height:70px; transform:translate(-4px,5px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(6) { grid-column:2; grid-row:2; width:48px; height:48px; transform:translate(8px,-10px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(7) { grid-column:3 / span 2; grid-row:2; width:92px; height:92px; transform:translate(-6px,8px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(8) { grid-column:5 / span 2; grid-row:2; width:64px; height:64px; transform:translate(18px,-7px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(9) { grid-column:1 / span 2; grid-row:4; width:88px; height:88px; transform:translate(22px,-8px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(10) { grid-column:3; grid-row:3 / span 2; width:52px; height:52px; transform:translate(-10px,6px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(11) { grid-column:4 / span 2; grid-row:3; width:80px; height:80px; transform:translate(9px,-2px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(12) { grid-column:6; grid-row:3; width:48px; height:48px; transform:translate(4px,15px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(13) { grid-column:3 / span 2; grid-row:4; width:66px; height:66px; transform:translate(15px,8px); }
.readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(14) { grid-column:5 / span 2; grid-row:4; width:94px; height:94px; transform:translate(18px,-5px); }
@media (max-width:1100px) {
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { width:350px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { grid-template-columns:repeat(5,1fr); grid-template-rows:repeat(3,66px); gap:4px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img { position:static; grid-column:auto !important; grid-row:auto !important; width:50px !important; height:50px !important; padding:0; border:0 !important; transform:none !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(3n+1) { transform:translateY(10px) !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(3n+2) { width:62px !important; height:62px !important; transform:translateY(-7px) !important; }
}
@media (max-width:767px) {
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { grid-template-columns:repeat(7,1fr); grid-template-rows:repeat(2,44px); gap:6px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img { width:34px !important; height:34px !important; border:0 !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(3n+1) { transform:translateY(7px) !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(3n+2) { width:42px !important; height:42px !important; transform:translateY(-5px) !important; }
}


/* Let the masonry field emerge from behind the copy with a soft left fade. */
@media (min-width:1101px) {
 .readiness-campaign .campaign-hero--horizontal .launch-hero__content { position:relative; z-index:2; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { z-index:1; right:clamp(18px,3vw,56px); width:860px; -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 15%,rgba(0,0,0,.72) 34%,#000 48%); mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 15%,rgba(0,0,0,.72) 34%,#000 48%); }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { column-gap:28px; }
}


/* Denser masonry: smaller field, larger individual symbols. */
@media (min-width:1101px) {
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { width:740px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { grid-template-rows:repeat(4,56px); gap:0 12px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img { scale:1.18; }
}
@media (min-width:768px) and (max-width:1100px) {
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { width:320px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { grid-template-rows:repeat(3,58px); gap:0; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img { scale:1.12; }
}


/* Composition correction: solar panel anchors the left; protect top artwork. */
@media (min-width:1101px) {
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons { top:53%; overflow:visible; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner { overflow:visible; padding-top:18px; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(10) { grid-column:1 / span 2; grid-row:3 / span 2; width:116px; height:116px; scale:1; transform:translate(-34px,4px); }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(1),
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(2),
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(3),
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(4) { margin-top:12px; }
}


/* Individually art-directed editorial icon canvas. Hero structure stays unchanged. */
@media (min-width:768px) {
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons {
  position:absolute;
  z-index:1;
  top:24px;
  right:clamp(22px,3vw,52px);
  bottom:24px;
  left:36%;
  width:auto;
  overflow:visible;
  transform:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.16) 12%,rgba(0,0,0,.72) 29%,#000 44%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.16) 12%,rgba(0,0,0,.72) 29%,#000 44%);
 }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner {
  position:relative;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  overflow:visible;
 }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img {
  position:absolute !important;
  display:block !important;
  grid-column:auto !important;
  grid-row:auto !important;
  max-width:none;
  height:auto !important;
  margin:0 !important;
  padding:0;
  border:0 !important;
  object-fit:contain;
  scale:1 !important;
  transform:none !important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.14));
 }

 /* Faint opening accents behind the copy. */
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(1) { left:1%; top:13%; width:clamp(34px,3.2vw,50px) !important; opacity:.24; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(2) { left:10%; top:66%; width:clamp(42px,4vw,62px) !important; opacity:.34; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(3) { left:18%; top:5%; width:clamp(40px,3.8vw,58px) !important; opacity:.46; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(4) { left:25%; top:73%; width:clamp(38px,3.4vw,52px) !important; opacity:.5; }

 /* Primary solar anchor with clear air around it. */
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(10) { left:29%; top:31%; width:clamp(112px,10vw,158px) !important; opacity:.78; }

 /* Middle transition, deliberately separated from the solar anchor. */
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(5) { left:49%; top:2%; width:clamp(76px,7vw,108px) !important; opacity:.76; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(6) { left:54%; top:68%; width:clamp(46px,4.4vw,68px) !important; opacity:.72; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(13) { left:62%; top:25%; width:clamp(38px,3.5vw,54px) !important; opacity:.76; }

 /* Stronger right-side sequence: lighting, sockets, batteries and plug. */
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(7) { left:69%; top:3%; width:clamp(58px,5.5vw,84px) !important; opacity:.88; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(11) { left:72%; top:54%; width:clamp(42px,4vw,62px) !important; opacity:.82; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(8) { left:81%; top:72%; width:clamp(40px,3.8vw,58px) !important; opacity:.84; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(9) { left:84%; top:8%; width:clamp(54px,5vw,76px) !important; opacity:.92; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(12) { left:88%; top:42%; width:clamp(66px,6.2vw,94px) !important; opacity:.9; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(14) { left:94%; top:76%; width:clamp(34px,3.2vw,48px) !important; opacity:.82; transform:translateX(-100%) !important; }
}


@media (min-width:768px) {
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(12) { transform:translateX(-30%) !important; }
}


/* Final collage pass: three connected nuclei with branches, not distributed objects. */
@media (min-width:768px) {
 /* Faint copy-side branch. */
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(1) { left:5%; top:47%; width:clamp(28px,2.6vw,38px) !important; opacity:.18; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(3) { left:19%; top:39%; width:clamp(42px,3.8vw,56px) !important; opacity:.34; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(13) { left:26%; top:60%; width:clamp(28px,2.8vw,40px) !important; opacity:.4; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(2) { left:34%; top:68%; width:clamp(54px,4.8vw,70px) !important; opacity:.56; }

 /* Central electrical/solar nucleus: close, slightly overlapping relationships. */
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(5) { left:42%; top:15%; width:clamp(74px,6.4vw,92px) !important; opacity:.74; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(10) { left:48%; top:38%; width:clamp(100px,8.4vw,122px) !important; opacity:.84; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(9) { left:58%; top:43%; width:clamp(34px,3vw,44px) !important; opacity:.77; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(4) { left:61%; top:9%; width:clamp(46px,4vw,58px) !important; opacity:.66; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(6) { left:66%; top:73%; width:clamp(36px,3.2vw,46px) !important; opacity:.66; }

 /* Right energy/lighting nucleus: second anchor with attached supporting symbols. */
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(12) { left:76%; top:48%; width:clamp(92px,7.6vw,112px) !important; opacity:.94; transform:none !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(11) { left:73%; top:29%; width:clamp(50px,4.4vw,64px) !important; opacity:.84; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(7) { left:82%; top:17%; width:clamp(62px,5.2vw,76px) !important; opacity:.92; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(8) { left:87%; top:70%; width:clamp(36px,3.2vw,48px) !important; opacity:.78; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(14) { left:95%; top:77%; width:clamp(34px,3vw,44px) !important; opacity:.84; transform:translateX(-100%) !important; }
}


/* Approved Claude composition transferred from its 1690x402 reference canvas. */
@media (min-width:768px) {
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons {
  position:absolute;
  z-index:1;
  inset:0;
  width:auto;
  height:auto;
  overflow:hidden;
  transform:none;
  -webkit-mask-image:none;
  mask-image:none;
 }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons__inner {
  position:relative;
  display:block;
  width:100%;
  height:100%;
  padding:0;
  overflow:hidden;
 }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img {
  position:absolute !important;
  display:block !important;
  grid-column:auto !important;
  grid-row:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  max-width:none;
  object-fit:contain;
  scale:1 !important;
  filter:none;
 }

 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(1)  { left:45.089%; top:10.946%; width:clamp(30px,2.959vw,50px) !important; height:clamp(30px,2.959vw,50px) !important; opacity:.10; transform:rotate(-6deg) !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(2)  { left:50.414%; top:75.622%; width:clamp(32px,3.195vw,54px) !important; height:clamp(32px,3.195vw,54px) !important; opacity:.14; transform:none !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(3)  { left:56.686%; top:48.756%; width:clamp(27px,2.604vw,44px) !important; height:clamp(27px,2.604vw,44px) !important; opacity:.20; transform:rotate(-4deg) !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(4)  { left:60.947%; top:14.428%; width:clamp(58px,5.680vw,96px) !important; height:clamp(58px,5.680vw,96px) !important; opacity:.35; transform:none !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(5)  { left:65.799%; top:62.687%; width:clamp(35px,3.432vw,58px) !important; height:clamp(35px,3.432vw,58px) !important; opacity:.42; transform:rotate(-12deg) !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(6)  { left:70.178%; top:37.313%; width:clamp(48px,4.734vw,80px) !important; height:clamp(48px,4.734vw,80px) !important; opacity:.55; transform:none !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(7)  { left:76.805%; top:9.950%; width:clamp(43px,4.260vw,72px) !important; height:clamp(43px,4.260vw,72px) !important; opacity:.78; transform:none !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(8)  { left:85.207%; top:32.836%; width:clamp(37px,3.669vw,62px) !important; height:clamp(37px,3.669vw,62px) !important; opacity:.85; transform:rotate(8deg) !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(9)  { left:78.698%; top:52.736%; width:clamp(66px,6.509vw,110px) !important; height:clamp(66px,6.509vw,110px) !important; opacity:.90; transform:none !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(10) { left:88.639%; top:72.637%; width:clamp(34px,3.314vw,56px) !important; height:clamp(34px,3.314vw,56px) !important; opacity:.95; transform:rotate(10deg) !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(11) { left:92.189%; top:13.930%; width:clamp(60px,5.917vw,100px) !important; height:clamp(60px,5.917vw,100px) !important; opacity:1; transform:none !important; }
 .readiness-campaign .campaign-hero--horizontal .readiness-hero-icons img:nth-child(12) { left:95.030%; top:62.687%; width:clamp(29px,2.840vw,48px) !important; height:clamp(29px,2.840vw,48px) !important; opacity:.90; transform:none !important; }
}

/* Mobile readiness hero width fix */
@media (max-width:767px){
.readiness-campaign .campaign-hero--horizontal .launch-hero__content{width:100%;max-width:none;margin:0;padding:70px 20px 132px!important;}
.readiness-campaign .campaign-hero--horizontal .launch-hero__content>.eyebrow,.readiness-campaign .campaign-hero--horizontal .launch-hero__content>h1,.readiness-campaign .campaign-hero--horizontal .launch-hero__content>p{width:auto!important;max-width:100%!important;}
}
