@font-face { font-family: "Anton"; font-weight: 400; font-style: normal; font-display: swap; src: url("/brand/fonts/anton-400.woff2") format("woff2"); }
@font-face { font-family: "Overpass"; font-weight: 100 900; font-style: normal; font-display: swap; src: url("/brand/fonts/overpass-variable.woff2") format("woff2"); }
@font-face { font-family: "Nunito Sans"; font-weight: 200 1000; font-style: normal; font-display: swap; src: url("/brand/fonts/nunito-sans-variable.woff2") format("woff2"); }

:root {
  --psd-pink: #ff084a !important;
  --psd-pink-hover: #e60042 !important;
  --psd-dark: #101014 !important;
  --psd-dark2: #1b1b21 !important;
  --psd-charcoal: #55555f !important;
  --psd-offwhite: #f6f6f8 !important;
  --psd-border: #e4e4e8 !important;
  --psd-text: #101014 !important;
  --psd-text-dim: #74747e !important;
  --font: "Overpass", system-ui, sans-serif !important;
}

html { scroll-behavior: smooth; }
body { border-left: 14px solid #ff084a; background: #f6f6f8 !important; color: #101014 !important; font-family: "Overpass", system-ui, sans-serif !important; }
body::after { position: fixed; z-index: -1; inset: 0 0 0 auto; width: min(42vw, 640px); opacity: 0.035; background: url("/brand/overlay-grid-red.png") top right / cover no-repeat; content: ""; pointer-events: none; }
p, li, td { font-family: "Nunito Sans", system-ui, sans-serif; }
.hero { background: #101014 !important; border-radius: 0 !important; }
.hero::after { display: none !important; }
.hero .logo-img, .footer-logo { width: min(300px, 80vw) !important; height: auto !important; object-fit: contain; }
.container { max-width: 980px !important; padding-inline: clamp(20px, 5vw, 48px) !important; }
.section { margin-bottom: clamp(24px, 5vw, 56px) !important; }
.section-title { color: #a8002d !important; font-weight: 800 !important; letter-spacing: 0.12em !important; }
.data-card, .letter, .product-selector, .bill-mob-card, .vpp-card, .solar-insight, .map-container { border-color: #e4e4e8 !important; border-radius: 16px !important; box-shadow: 0 10px 30px rgb(16 16 20 / 6%); }
.quote-display { border-radius: 18px !important; background: #101014 !important; }
.ready-btn, .pw-btn { border-radius: 8px !important; background: #d60039 !important; color: #fff !important; font-family: "Overpass", system-ui, sans-serif !important; font-weight: 800 !important; letter-spacing: 0.03em; text-decoration: none !important; white-space: nowrap; }
.ready-btn:hover, .pw-btn:hover { background: #b80031 !important; }
.ready-section { padding-block: clamp(32px, 6vw, 72px) !important; }
.quote-ready-note { max-width: 700px; padding: 24px; margin: -24px auto 56px; border: 1px solid #e4e4e8; border-radius: 8px; background: #fff; color: #55555f; }
.quote-ready-note h2 { margin: 0 0 8px; color: #101014; font-size: 1.25rem; }
.quote-inline-details { max-width: 900px; margin: 32px auto; overflow: hidden; border: 1px solid #e4e4e8; border-radius: 16px; background: #fff; }
.quote-inline-details summary { padding: 20px 24px; color: #101014; cursor: pointer; font-weight: 800; list-style-position: inside; }
.quote-inline-details__body { padding: 0 24px 24px; }
.quote-inline-details__body h2, .quote-inline-details__body h3 { color: #101014; }
.quote-access-panel { position: relative !important; z-index: auto !important; inset: auto !important; display: grid !important; min-height: 100svh !important; padding: clamp(2.5rem, 8vw, 6rem) clamp(1rem, 4vw, 3rem) !important; place-items: center; background: #101014 !important; }
.quote-access-panel.hidden { display: none !important; }
.pw-box { width: min(100%, 580px); margin: 0 auto; border: 1px solid #2a2a31; border-radius: 18px !important; box-shadow: 0 24px 60px rgb(0 0 0 / 40%); }
.pw-box .pw-logo { width: min(280px, 80%) !important; height: auto !important; }
.pw-box input { width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #c5c5ce; border-radius: 8px !important; }
.pw-error-msg { min-height: 1.5em; color: #a4002c; }
.footer { background: #101014 !important; }
.footer a { color: #fff !important; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: 0.01ms !important; } }
@media (max-width: 640px) { body { border-left-width: 8px; } .ready-btn { display: block !important; width: 100%; padding-inline: 16px !important; white-space: normal; } }
