/* 0.47 — visual continuity with the public bill-upload platform.
   Keep this shared sheet last, including in the composer's PHP preview. */
:root {
 --cc-platform-gradient:linear-gradient(180deg,#1e3f65 5%,#19497b 40%,#17518b 77%,#165491 100%);
 --cc-paper:#fff;--cc-cream:#f5f5f5;--cc-sage:#eaeaea;--cc-soft:#f5f5f5;
 --cc-blue-soft:#eef3f8;--cc-lilac:#f5f5f5;--cc-line:#e0e0e0;--cc-muted:#445568;
 --cc-analysis-soft:#f5f5f5;--cc-light-soft:#f5f5f5;--cc-gas-soft:#f5f5f5;
 --cc-internet-soft:#f5f5f5;--cc-mobile-soft:#f5f5f5;--cc-promoter-soft:#f5f5f5;
 --cc-radius-button:8px;--cc-radius-card:16px;--cc-radius-media:16px;--cc-radius:16px;
 --cc-shadow:0 4px 16px #122a420a;--cc-section-lg:clamp(48px,5vw,80px);
 --bg-surface:#fff;--border-primary:#e0e0e0;
}
body {line-height:1.5}
body h1,body h2,body h3,body h4,body .cc-page h1,body .cc-page h2,body .cc-page h3 {letter-spacing:-.015em}
body h2,body .cc-page h2 {font-size:clamp(2rem,3vw,2.5rem);line-height:1.2}
body h3,body .cc-page h3 {line-height:1.25}
.cc-page .section {padding-block:clamp(48px,5vw,80px)}
body .button,body .cc-page .button {border-radius:var(--cc-radius-button);font-weight:900;min-height:52px;line-height:1.4;box-shadow:none}
body .button:hover {transform:none;box-shadow:none}
body .button--outline,body .button--ghost {border-color:var(--cc-flight-blue);color:var(--cc-flight-blue)}
body .button--outline:hover,body .button--ghost:hover {background:#eef3f8;color:var(--cc-flight-blue)}
body .eyebrow {letter-spacing:.06em}
.site-utility {background:#f5f5f5;color:var(--cc-flight-blue);border-bottom:1px solid var(--cc-line)}
.site-utility a {color:var(--cc-flight-blue)}
.site-header {background:#fff;border-bottom-color:#eaeaea}
.primary-nav__menu a {font-weight:700;color:var(--cc-flight-blue)}
/* Brand entry surfaces. Foreground changes are restricted to the copy;
   documents, video posters and other artwork keep their own foregrounds. */
body .cc-page>.cc-hero,body .cc-page[data-cc-service]>.cc-hero,
body .cc-page .cc-hero--home {background:var(--cc-platform-gradient);padding-block:56px}
body .cc-page .cc-hero--home {padding-bottom:clamp(40px,4vw,64px)}
body .cc-page .cc-hero .cc-hero__copy h1,
body .cc-page .cc-hero--home .cc-hero__copy h1 {color:var(--cc-aerial-gold);font-size:clamp(2.5rem,4.3vw,3.75rem);line-height:1.12;letter-spacing:-.02em}
body .cc-page .cc-hero .cc-hero__copy>.eyebrow {color:var(--cc-morning-cloud)}
body .cc-page .cc-hero .cc-hero__copy .cc-hero__lead {color:#fff;font-size:1.125rem;line-height:1.6}
body .cc-page .cc-hero .cc-hero__copy :is(.text-link,.hero-note) {color:#fff}
body .cc-page .cc-hero .cc-hero__copy .hero-note .cc-icon {color:var(--cc-morning-cloud)}
body .cc-page .cc-hero .cc-hero__copy .button--outline,
body .cc-page .cc-hero .cc-hero__copy .button--ghost {color:#fff;border-color:#fff}
body .cc-page .cc-hero .cc-hero__copy .button--outline:hover,
body .cc-page .cc-hero .cc-hero__copy .button--ghost:hover {background:#ffffff18}
.cc-home-art__disc {background:#ffffff12;border:1px solid #ffffff26}
.cc-no-bill {background:transparent;padding-block:40px 48px}
.cc-no-bill__inner {background:#fff;border-color:#eaeaea;border-radius:16px;padding:28px}
/* White and neutral backgrounds now carry the explanations, like the platform. */
body .cc-page .cc-speed,body .cc-page .cc-manifesto {background:#f5f5f5;color:var(--cc-deep-blue)}
body .cc-page :is(.cc-speed,.cc-manifesto) :is(h2,h3,.eyebrow,.text-link) {color:var(--cc-flight-blue)}
body .cc-page :is(.cc-speed,.cc-manifesto) p:not(.eyebrow) {color:var(--cc-muted)}
body .cc-page .cc-speed__features article {border-color:#d6dce2}
body .cc-page .cc-speed__icon {color:var(--cc-flight-blue)}
body .cc-page .cc-why {background:#fff}
.cc-why__heading {text-align:center}
.cc-why__row,.cc-why__row--speed,.cc-why__row--reliability,.cc-why__row--precision {background:#f5f5f5;border:1px solid #eaeaea;border-radius:16px}
body .cc-page .cc-why__copy h3,body .cc-page .cc-why__row--speed .cc-why__copy h3 {color:var(--cc-flight-blue);font-size:1.5rem}
.cc-why__copy p {line-height:1.6}
.cc-process {background:#eaeaea}
.cc-step__visual,.cc-service__symbol {border-radius:12px}
.cc-services,.cc-home-connectivity {background:#fff}
body .cc-page .cc-service[data-cc-service],body .cc-page .cc-home-connectivity__card[data-cc-service] {background:#f5f5f5;border:1px solid #eaeaea;border-radius:16px}
body .cc-page .cc-service h3,body .cc-page .cc-home-connectivity__card h3 {color:var(--cc-flight-blue);font-size:clamp(1.5rem,2.3vw,2rem)}
.cc-prepare {background:#f5f5f5}
.cc-guide-feature,.cc-guide-card,.cc-dashboard-preview,.cc-reward-calculator {border-radius:16px}
.cc-guide-toc {background:#f5f5f5;border-color:#eaeaea}
.cc-guide-toc a:is(:hover,.is-active) {background:#eaeaea;color:var(--cc-flight-blue);border-left-color:var(--cc-flight-blue)}
body .cc-page .cc-final {background:var(--cc-platform-gradient);color:#fff;--cc-on-dark:#fff;--cc-on-dark-muted:#fff;--cc-on-dark-accent:#f7e5b0}
body .cc-page .cc-final.cc-final :is(h2,h3) {color:var(--cc-aerial-gold)}
body .cc-page .cc-final :is(p,.eyebrow,.text-link),body .cc-page .cc-final p.hero-note {color:#fff}
body .cc-page .cc-final .button--yellow {color:var(--cc-deep-blue)}
.site-footer {background:var(--cc-deep-blue)}
/* Unified video controls follow the same button and media geometry. */
.cs-video-player,.cs-media .cs-video-player {border-radius:16px}
.cs-video-cover span,.cs-media .cs-video-cover span,.cc-hero-video__play-label {border-radius:8px;font-weight:900;box-shadow:none}
/* Landing presets use the same system. Inline colors chosen in the editor
   remain authoritative for custom sections. */
.cs-section {padding-block:clamp(48px,5vw,80px)}
body .cs-section h1 {font-size:clamp(2.5rem,4.3vw,3.75rem);line-height:1.12;letter-spacing:-.02em}
body .cs-section h2,body:is(.cc-campaign,.cc-campaign-preview) .cs-section h2 {font-size:clamp(2rem,3vw,2.5rem);line-height:1.2;letter-spacing:-.015em}
body:is(.cc-campaign,.cc-campaign-preview) .cs-hero:has(.cs-hero-stage) h1 {font-size:clamp(2.5rem,4.3vw,3.75rem);line-height:1.12;letter-spacing:-.02em}
.cs-section[data-platform-surface="brand"] {background:var(--cc-platform-gradient);color:#fff}
.cs-section[data-platform-surface="brand"] :is(h1,h2) {color:var(--cc-aerial-gold)}
.cs-section[data-platform-surface="brand"] .eyebrow {color:var(--cc-morning-cloud)}
body:is(.cc-campaign,.cc-campaign-preview) .cs-hero[data-platform-surface="brand"] .eyebrow {background:transparent;border-color:#ffffff40;color:var(--cc-morning-cloud)}
.cs-section[data-platform-surface="neutral"] {background:#f5f5f5}
.cs-section[data-platform-surface="brand"] .cs-text {color:#fff}
.cs-section[data-platform-surface="brand"] .cs-stage-orbit {border-color:#ffffff36}
.cs-section[data-platform-surface="brand"] .cs-stage-paper,.cs-section[data-platform-surface="brand"] .cs-stage-tag {color:var(--cc-deep-blue)}
.cs-items article,body:is(.cc-campaign,.cc-campaign-preview) .cs-items article {border-radius:16px;box-shadow:none}
body:is(.cc-campaign,.cc-campaign-preview) .cs-benefits article {min-height:0;padding:30px;background:color-mix(in srgb,var(--cs-bg) 96%,var(--cs-text))}
body:is(.cc-campaign,.cc-campaign-preview) .cs-steps .cs-number {font-size:2.75rem}
body:is(.cc-campaign,.cc-campaign-preview) .cs-cta .button {min-height:54px;padding:15px 26px;font-size:1rem}
body:is(.cc-campaign,.cc-campaign-preview) .cs-manifesto {padding-block:64px}
body.cc-campaign .lp-header,body.cc-campaign-preview .lp-header {padding:0;background:#fff;border-bottom:1px solid #eaeaea;backdrop-filter:none;pointer-events:auto}
body.cc-campaign .lp-header>.container,body.cc-campaign-preview .lp-header>.container {max-width:var(--container);border:0;border-radius:0;box-shadow:none;background:#fff;backdrop-filter:none;padding:12px 0;min-height:76px}
.lp-footer {background:#eaeaea}
@media(max-width:800px){
 body .cc-page>.cc-hero,body .cc-page[data-cc-service]>.cc-hero {padding-block:36px}
 body .cc-page .cc-hero--home {padding-bottom:32px}
 body .cc-page .cc-hero .cc-hero__copy h1,body .cc-page .cc-hero--home .cc-hero__copy h1,body .cs-section h1,body:is(.cc-campaign,.cc-campaign-preview) .cs-hero:has(.cs-hero-stage) h1 {font-size:clamp(2.25rem,8vw,3rem);line-height:1.12}
 body .cc-page .cc-hero .cc-hero__copy .cc-hero__lead {font-size:1rem}
 .cc-no-bill {padding-block:28px 36px}
 body h2,body .cc-page h2,body .cs-section h2,body:is(.cc-campaign,.cc-campaign-preview) .cs-section h2 {font-size:2rem}
 body.cc-campaign .lp-header>.container,body.cc-campaign-preview .lp-header>.container {padding:10px 0;min-height:64px}
 .cs-section {padding-block:48px}
}

/* Override legacy alternating-surface rules deliberately, without changing grids. */
body .cc-home .cc-ai-explained[data-cc-service="analysis"] {background:#f5f5f5;color:var(--cc-deep-blue)}
body .cc-home .cc-ai-explained[data-cc-service="analysis"] :is(h2,h3,.eyebrow,.text-link) {color:var(--cc-flight-blue)}
body .cc-home .cc-ai-explained[data-cc-service="analysis"] :is(.cc-ai-explained__intro,.cc-ai-explained__list) p:not(.eyebrow) {color:var(--cc-muted)}
body .cc-home .cc-ai-explained[data-cc-service="analysis"] :is(.cc-ai-explained__list,.cc-ai-explained__list>li) {border-color:#d6dce2}
body .cc-page>.cc-process {background:#eaeaea}

/* Optional prominent video below the hero, independent from its media. */
.cc-home-video {background:#fff}
.cc-home-video__heading {max-width:760px;margin:0 auto 32px;text-align:center}
.cc-home-video__heading h2 {margin-bottom:16px}
.cc-home-video__heading p {color:var(--cc-muted);margin:0;line-height:1.6}
.cc-home-video__player {width:100%;max-width:1000px;margin-inline:auto}
.cc-home-video__player--portrait {max-width:390px}
.cc-home-video__player--square {max-width:640px}
@media(max-width:800px){.cc-home-video__heading{margin-bottom:24px}.cc-home-video__player{max-width:100%}}

/* Covers also accompany the secondary homepage guides. */
.cc-guide-index>a{grid-template-columns:128px minmax(0,1fr);align-items:center;gap:20px;padding-block:22px}
.cc-guide-index__cover{display:block;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#f5f5f5}
.cc-guide-index__cover img{display:block;width:100%;height:100%;object-fit:cover}
.cc-guide-index__copy{display:grid;gap:10px;min-width:0}
@media(max-width:700px){.cc-guide-index>a{grid-template-columns:96px minmax(0,1fr);gap:14px;padding-right:28px}.cc-guide-index strong{font-size:1.08rem}.cc-guide-index__arrow{top:50%;transform:translateY(-50%)}.cc-guide-index a:hover .cc-guide-index__arrow{transform:translate(3px,-50%)}}

/* Keep media containers sized when an embedded player has no intrinsic width. */
.cc-promoter-art,.cc-connectivity-art{width:100%}

/* v0.48.3 — account access and shared comparator legal documents. */
.site-utility__links{align-items:center}
.site-utility .cc-login-button,.cc-mobile-login,.cc-menu-support .cc-login-button{align-items:center;justify-content:center;background:#EA1F54;color:#fff;border:1px solid #EA1F54;border-radius:999px;text-decoration:none;font-weight:700;line-height:1.2}
.site-utility .cc-login-button{display:inline-flex;min-height:34px;margin-block:3px;padding:7px 18px;font-size:.8125rem}
.site-utility .cc-login-button:hover,.cc-mobile-login:hover,.cc-menu-support .cc-login-button:hover{background:#c91847;border-color:#c91847;color:#fff}
.site-utility .cc-login-button:focus-visible,.cc-mobile-login:focus-visible,.cc-menu-support .cc-login-button:focus-visible{outline:3px solid #092c42;outline-offset:3px}
.cc-mobile-login{display:none;flex-shrink:0;min-height:44px;padding:10px 20px;margin-left:auto;font-size:.875rem;white-space:nowrap}
.cc-menu-support .cc-login-button{display:flex;gap:12px;min-height:48px;padding:12px 20px;text-align:center}
.cc-menu-support .cc-login-button .cc-icon{width:20px;height:20px;flex-shrink:0}
.cc-footer-documents{padding-block:24px;border-top:1px solid rgba(255,255,255,.2)}
.cc-footer-documents h2{margin:0 0 14px;font-size:1rem;color:inherit}
.cc-footer-documents ul{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:0;margin:0}
.cc-footer-documents a{display:inline-block;padding-block:8px;color:inherit;font-size:.875rem;text-underline-offset:4px}
.cc-footer-documents a:hover{text-decoration:underline}
.cc-footer-documents a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:820px){
 .site-header .cc-tablet-menu{display:none}
 .site-header .cc-mobile-login{display:inline-flex}
 .cc-footer-documents ul{display:grid;grid-template-columns:1fr;gap:4px}
}
