:root {
  --navy: #062f38;
  --navy-deep: #031f27;
  --ink: #123b43;
  --green: #0a7c6b;
  --mint: #56c7a4;
  --mint-soft: #dff4ed;
  --sun: #ffb72b;
  --blue: #3e8eb8;
  --cloud: #f4f7f6;
  --white: #fff;
  --muted: #5c6d70;
  --line: #dfe8e5;
  --shadow: 0 24px 70px rgba(5, 49, 58, 0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "DM Sans", sans-serif; line-height: 1.6; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 10px 16px; background: var(--sun); color: var(--navy); border-radius: 8px; font-weight: 700; }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; inset: 0 0 auto; z-index: 50; height: 78px; background: rgba(3, 31, 39, 0.78); border-bottom: 1px solid rgba(255,255,255,.09); backdrop-filter: blur(16px); transition: background .25s, box-shadow .25s; }
.site-header.scrolled { background: rgba(3,31,39,.97); box-shadow: 0 10px 30px rgba(0,0,0,.16); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.brand { width: 202px; height: 52px; overflow: hidden; border-radius: 9px; }
.brand img { width: 100%; height: 100%; object-fit: cover; }
.navigation { display: flex; align-items: center; gap: 30px; color: #dce9e8; font-size: 14px; font-weight: 600; }
.navigation > a:not(.nav-cta):hover { color: var(--sun); }
.nav-cta { padding: 11px 18px; color: var(--navy); background: var(--sun); border-radius: 999px; }
.menu-button { display: none; padding: 8px; background: none; border: 0; }
.menu-button span { display: block; width: 25px; height: 2px; margin: 5px; background: white; }

.hero { position: relative; min-height: 760px; padding: 150px 0 90px; overflow: hidden; color: white; background: radial-gradient(circle at 78% 45%, #0b5860 0, #063a43 28%, var(--navy-deep) 68%); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 110px; background: linear-gradient(180deg, transparent, rgba(1,20,25,.33)); pointer-events: none; }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 60px; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; color: #cce8e2; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow i { width: 25px; height: 2px; background: var(--sun); }
.eyebrow.dark { color: var(--green); }
.hero h1, .section h2, .cta-card h2 { margin: 20px 0; font-family: Manrope, sans-serif; font-size: clamp(46px, 5.2vw, 72px); line-height: 1.04; letter-spacing: -.045em; }
.hero h1 em, .integrator-copy h2 em { color: var(--sun); font-style: normal; }
.hero-copy > p { max-width: 570px; color: #c5d9d8; font-size: 19px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin: 32px 0 26px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 0 23px; border: 1px solid transparent; border-radius: 999px; font-weight: 800; transition: transform .2s, box-shadow .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--navy); background: var(--sun); box-shadow: 0 12px 30px rgba(255,183,43,.22); }
.button-ghost { color: white; border-color: rgba(255,255,255,.34); }
.button-light { color: var(--navy); background: white; }
.trust-list { display: flex; flex-wrap: wrap; gap: 22px; margin: 0; padding: 0; list-style: none; color: #b8cfcd; font-size: 13px; }
.trust-list span { color: var(--mint); font-weight: 900; }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .28; }
.hero-glow-one { width: 420px; height: 420px; right: -160px; top: 80px; border: 1px solid var(--mint); }
.hero-glow-two { width: 580px; height: 580px; right: -220px; top: 0; border: 1px solid rgba(255,183,43,.4); }

.hero-visual { position: relative; min-height: 540px; display: grid; place-items: center; }
.sun-orbit { position: absolute; width: 460px; height: 460px; border: 1px solid rgba(86,199,164,.25); border-radius: 50%; }
.sun-orbit::before, .sun-orbit::after { content: ""; position: absolute; border-radius: 50%; background: var(--sun); box-shadow: 0 0 35px rgba(255,183,43,.7); }
.sun-orbit::before { width: 10px; height: 10px; top: 55px; right: 54px; }
.sun-orbit::after { width: 6px; height: 6px; bottom: 75px; left: 35px; }
.phone { position: relative; z-index: 2; width: 300px; padding: 14px 16px 21px; color: var(--ink); background: #f8fbfa; border: 7px solid #d8e1df; border-radius: 37px; box-shadow: 0 45px 90px rgba(0,0,0,.38); transform: rotate(2deg); }
.phone-top { display: flex; justify-content: space-between; padding: 0 7px 8px; font-size: 9px; color: #334e52; }
.phone-top b { letter-spacing: 2px; }
.app-title { display: flex; align-items: center; gap: 8px; padding: 5px 2px 15px; }
.app-title img { width: 29px; height: 29px; border-radius: 8px; }
.app-title strong { font-family: Manrope; font-size: 14px; }
.app-title .bell { margin-left: auto; font-size: 20px; }
.app-greeting { padding: 16px; color: white; background: linear-gradient(135deg, var(--green), #0a9180); border-radius: 19px; }
.app-greeting small { font-size: 9px; letter-spacing: .12em; }
.app-greeting h2 { margin: 6px 0 2px; font: 800 18px/1.2 Manrope; }
.app-greeting p { margin: 0; color: #d4efea; font-size: 10px; }
.energy-card { margin-top: 13px; padding: 15px; background: white; border: 1px solid #e2ebe8; border-radius: 18px; }
.energy-card-head { display: flex; justify-content: space-between; font-size: 10px; }
.energy-card-head b { padding: 2px 7px; color: var(--green); background: var(--mint-soft); border-radius: 10px; }
.energy-card > strong { display: block; margin: 7px 0; font: 800 24px Manrope; }
.energy-card > strong small { color: var(--muted); font: 600 11px "DM Sans"; }
.mini-chart { height: 70px; display: flex; align-items: end; gap: 7px; padding-top: 8px; border-bottom: 1px solid #d8e3e0; }
.mini-chart i { flex: 1; min-height: 5px; background: linear-gradient(var(--sun), #ffd980); border-radius: 4px 4px 0 0; }
.chart-labels { display: flex; justify-content: space-between; padding-top: 4px; color: #859495; font-size: 8px; }
.app-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 10px; }
.app-stats div { padding: 11px; background: #edf6f3; border-radius: 13px; }
.app-stats span, .app-stats strong { display: block; }
.app-stats span { font-size: 8px; color: var(--muted); }
.app-stats strong { font-size: 12px; }
.floating-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; padding: 12px 15px; color: var(--ink); background: rgba(255,255,255,.96); border-radius: 14px; box-shadow: var(--shadow); }
.floating-card > span { display: grid; width: 32px; height: 32px; place-items: center; color: var(--green); background: var(--mint-soft); border-radius: 50%; font-weight: 900; }
.floating-card small, .floating-card strong { display: block; white-space: nowrap; }
.floating-card small { color: var(--muted); font-size: 9px; }
.floating-card strong { font-size: 13px; }
.floating-savings { top: 70px; right: 5px; }
.floating-status { left: -12px; bottom: 74px; }

.proof-strip { color: white; background: var(--green); }
.proof-grid { min-height: 112px; display: grid; grid-template-columns: 1.2fr 1fr 1fr; align-items: center; gap: 30px; }
.proof-grid p { margin: 0; font-size: 19px; }
.proof-grid div { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.28); }
.proof-grid span, .proof-grid b { display: block; }
.proof-grid span { color: #c4ebe2; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.proof-grid b { font-size: 14px; }

.section { padding: 105px 0; }
.section-heading { max-width: 690px; margin-bottom: 46px; }
.section h2 { margin: 15px 0; color: var(--ink); font-size: clamp(34px, 4vw, 52px); }
.section-heading p, .product-copy > p { color: var(--muted); font-size: 17px; }
.platform { background: var(--cloud); }
.feature-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 18px; }
.feature-card { position: relative; display: flex; min-height: 320px; padding: 28px; overflow: hidden; flex-direction: column; background: white; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 15px 40px rgba(18,59,67,.06); }
.feature-main { grid-row: span 2; min-height: 660px; background: var(--navy); color: white; }
.feature-card:last-child { grid-column: span 2; min-height: 320px; }
.feature-icon { display: grid; width: 48px; height: 48px; margin-bottom: 22px; place-items: center; color: var(--green); background: var(--mint-soft); border-radius: 15px; font-size: 23px; font-weight: 900; }
.feature-main .feature-icon { color: var(--sun); background: rgba(255,183,43,.12); }
.card-kicker { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .15em; }
.feature-main .card-kicker { color: var(--mint); }
.feature-card h3 { margin: 9px 0; font: 800 25px Manrope; letter-spacing: -.03em; }
.feature-card p { color: var(--muted); }
.feature-main p { color: #bed1cf; }
.generation-preview { margin-top: auto; padding: 20px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; }
.generation-preview > div { display: flex; justify-content: space-between; color: #d5e4e2; font-size: 12px; }
.generation-preview b { color: var(--mint); }
.generation-preview svg { width: 100%; margin-top: 18px; overflow: visible; }
.generation-preview .area { fill: rgba(86,199,164,.13); }
.generation-preview .line { fill: none; stroke: var(--mint); stroke-width: 4; stroke-linecap: round; }
.bill-row, .alert-preview { display: flex; align-items: center; gap: 12px; width: 100%; margin-top: auto; padding: 13px; background: var(--cloud); border-radius: 14px; }
.bill-row > span { padding: 8px; color: white; background: var(--blue); border-radius: 8px; font-size: 10px; font-weight: 800; }
.bill-row div, .alert-preview div { flex: 1; }
.bill-row b, .bill-row small, .alert-preview b, .alert-preview small { display: block; }
.bill-row small, .alert-preview small { color: var(--muted); font-size: 10px; }
.bill-row i { color: var(--green); font-style: normal; font-weight: 900; }
.return-ring { display: grid; width: 118px; height: 118px; margin-top: auto; place-items: center; align-self: flex-end; border-radius: 50%; background: conic-gradient(var(--green) 0 38%, #e4eeeb 38%); }
.return-ring::after { content: ""; position: absolute; width: 84px; height: 84px; background: white; border-radius: 50%; }
.return-ring span { z-index: 1; text-align: center; }
.return-ring b, .return-ring small { display: block; }
.return-ring b { font: 800 20px Manrope; }
.return-ring small { color: var(--muted); font-size: 9px; }
.alert-preview { max-width: 350px; }
.alert-preview > span { color: var(--green); }

.integrators { color: white; background: linear-gradient(135deg, var(--navy-deep), #074953); }
.integrator-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 90px; }
.integrator-copy h2 { color: white; }
.simulator { background: linear-gradient(180deg, #f7fbfa, #eaf5f1); }
.simulator-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 70px; }
.simulator-copy h2 { font-size: clamp(38px, 4vw, 58px); }.simulator-copy > p { color: var(--muted); font-size: 18px; }
.simulator-benefits { display: grid; gap: 17px; margin: 30px 0 0; padding: 0; list-style: none; }.simulator-benefits li { display: flex; align-items: center; gap: 14px; color: #36575d; font-weight: 700; }.simulator-benefits span { display: grid; flex: 0 0 38px; height: 38px; place-items: center; color: var(--green); background: white; border: 1px solid #c9e0da; border-radius: 12px; font: 800 11px Manrope; }
.simulator-card { padding: 34px; background: white; border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow); }.form-heading span, .result-heading small { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .14em; }.form-heading h3, .result-heading h3 { margin: 4px 0 25px; font: 800 26px Manrope; }
.simulator-card label { display: block; margin: 15px 0 7px; color: #36575d; font-size: 13px; font-weight: 800; }.simulator-card label small { color: #859496; font-weight: 500; }.simulator-card input, .simulator-card select { width: 100%; height: 52px; padding: 0 15px; color: var(--ink); background: #f8faf9; border: 1px solid #cfddda; border-radius: 12px; outline: 0; font: 700 16px "DM Sans"; }.simulator-card input:focus, .simulator-card select:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(10,124,107,.1); }
.input-suffix, .input-prefix { position: relative; }.input-suffix input { padding-right: 100px; }.input-suffix span { position: absolute; top: 14px; right: 15px; color: var(--muted); font-size: 13px; }.input-prefix input { padding-left: 48px; }.input-prefix span { position: absolute; z-index: 1; top: 14px; left: 15px; color: var(--muted); font-weight: 700; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.simulator-submit { width: 100%; margin-top: 24px; border: 0; cursor: pointer; }
.result-heading { display: flex; align-items: start; justify-content: space-between; gap: 15px; }.result-heading button { padding: 7px 11px; color: var(--green); background: var(--mint-soft); border: 0; border-radius: 9px; cursor: pointer; font-weight: 800; }.result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.result-grid div { padding: 14px; background: #f4f8f7; border-radius: 13px; }.result-grid span, .result-grid b { display: block; }.result-grid span { color: var(--muted); font-size: 10px; }.result-grid b { margin-top: 3px; font: 800 18px Manrope; }
.investment-range { margin: 14px 0; padding: 16px; color: white; background: var(--navy); border-radius: 14px; }.investment-range span, .investment-range strong, .investment-range small { display: block; }.investment-range span { color: #bed3d0; font-size: 11px; }.investment-range strong { margin: 3px 0; font: 800 22px Manrope; }.investment-range small { color: #9fd7c6; }.button-whatsapp { width: 100%; color: white; background: #0a7c6b; }.simulation-note { margin: 13px 0 0; color: #77888a; font-size: 10px; line-height: 1.45; }

.integrator-copy > p { color: #c2d6d4; font-size: 17px; }
.check-list { display: grid; gap: 18px; margin: 30px 0; padding: 0; list-style: none; }
.check-list li { display: flex; gap: 13px; }
.check-list li > span { display: grid; flex: 0 0 27px; height: 27px; place-items: center; color: var(--navy); background: var(--mint); border-radius: 50%; font-weight: 900; }
.check-list b, .check-list small { display: block; }
.check-list small { color: #a9c5c2; }
.portfolio-panel { padding: 28px; color: var(--ink); background: #f7faf9; border-radius: 28px; box-shadow: 0 35px 80px rgba(0,0,0,.25); }
.panel-head { display: flex; justify-content: space-between; align-items: start; }
.panel-head small { color: var(--green); font-weight: 800; letter-spacing: .12em; }
.panel-head h3 { margin: 4px 0 20px; font: 800 25px Manrope; }
.panel-head > span { padding: 6px 10px; color: var(--green); background: var(--mint-soft); border-radius: 12px; font-size: 11px; }
.portfolio-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.portfolio-stats div { padding: 18px; background: white; border: 1px solid var(--line); border-radius: 16px; }
.portfolio-stats span, .portfolio-stats b, .portfolio-stats small { display: block; }
.portfolio-stats span { color: var(--muted); font-size: 11px; }
.portfolio-stats b { margin: 4px 0; font: 800 24px Manrope; }
.portfolio-stats small { color: #829092; font-size: 10px; }
.status-list { display: grid; gap: 10px; margin-top: 18px; }
.status-list > div { display: flex; align-items: center; gap: 12px; padding: 13px; background: white; border-radius: 13px; }
.status-list i { width: 10px; height: 10px; border-radius: 50%; }
.status-ok { background: var(--mint); }.status-warn { background: var(--sun); }.status-off { background: #dc665f; }
.status-list span { flex: 1; }.status-list b, .status-list small { display: block; }.status-list small { color: var(--muted); font-size: 10px; }.status-list strong { font-size: 12px; }

.row-heading { max-width: none; display: flex; align-items: end; justify-content: space-between; }
.row-heading a { color: var(--green); font-weight: 800; }
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.article-card { overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: white; transition: transform .2s, box-shadow .2s; }
.article-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.article-image { position: relative; height: 210px; display: grid; place-items: center; overflow: hidden; }
.article-image::before, .article-image::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; }
.article-image::before { width: 180px; height: 180px; }.article-image::after { width: 270px; height: 270px; }
.article-image span { position: absolute; top: 16px; left: 16px; z-index: 2; padding: 5px 9px; color: white; border: 1px solid rgba(255,255,255,.5); border-radius: 20px; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.article-image i { z-index: 2; color: white; font-style: normal; font-size: 70px; }
.article-one { background: linear-gradient(145deg, #0d816f, #063f47); }.article-two { background: linear-gradient(145deg, #397fa3, #163d58); }.article-three { background: linear-gradient(145deg, #e3a31f, #8f6310); }
.article-body { padding: 22px; }.article-body > small { color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .1em; }.article-body h3 { min-height: 70px; margin: 9px 0; font: 800 20px/1.2 Manrope; }.article-body p { color: var(--muted); font-size: 14px; }.article-body a { color: var(--green); font-weight: 800; }

.products { background: #eff7f4; }
.product-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.affiliate-note { display: flex; gap: 12px; margin-top: 25px; padding: 14px; border: 1px solid #c9ddd7; border-radius: 14px; }
.affiliate-note span { display: grid; flex: 0 0 24px; height: 24px; place-items: center; color: white; background: var(--green); border-radius: 50%; font-weight: 800; }
.affiliate-note p { margin: 0; color: var(--muted); font-size: 12px; }
.product-placeholder { padding: 45px; text-align: center; background: white; border: 1px dashed #9abdb3; border-radius: 28px; }
.product-symbol { display: grid; width: 66px; height: 66px; margin: 0 auto 18px; place-items: center; color: var(--green); background: var(--mint-soft); border-radius: 20px; font-size: 34px; }
.product-placeholder > span { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .15em; }.product-placeholder h3 { margin: 9px 0; font: 800 23px Manrope; }.product-placeholder p { color: var(--muted); }

.cta-section { padding: 70px 0; background: white; }
.cta-card { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 56px; color: white; background: linear-gradient(125deg, var(--navy-deep), #07525c); border-radius: 30px; overflow: hidden; box-shadow: var(--shadow); }
.cta-card h2 { max-width: 700px; font-size: clamp(32px, 4vw, 48px); }.cta-card p { color: #bed3d0; }.cta-card .button { flex: 0 0 auto; }
.site-footer { padding: 65px 0 22px; color: #c3d5d3; background: var(--navy-deep); }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 45px; }.footer-brand img { width: 220px; border-radius: 10px; }.footer-brand p { color: #91aaa7; }.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 8px; font-size: 13px; }.footer-grid b { margin-bottom: 8px; color: white; }.footer-grid a:hover { color: var(--sun); }.footer-grid span { color: #91aaa7; }.footer-bottom { display: flex; justify-content: space-between; margin-top: 50px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.1); color: #789390; font-size: 11px; }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 960px) {
  .menu-button { display: block; }
  .navigation { position: fixed; inset: 78px 0 auto; display: none; flex-direction: column; align-items: stretch; padding: 24px; background: var(--navy-deep); box-shadow: var(--shadow); }
  .navigation.open { display: flex; }.navigation a { padding: 8px; }.nav-cta { text-align: center; }
  .hero-grid, .simulator-grid, .integrator-grid, .product-grid { grid-template-columns: 1fr; }
  .hero { padding-top: 125px; }.hero-copy { text-align: center; }.hero-copy > p { margin-right: auto; margin-left: auto; }.hero-actions, .trust-list { justify-content: center; }
  .hero-visual { margin-top: 15px; }.floating-status { left: 10%; }.floating-savings { right: 8%; }
  .feature-grid { grid-template-columns: 1fr 1fr; }.feature-main { grid-row: auto; grid-column: span 2; min-height: 560px; }.feature-card:last-child { grid-column: span 2; }
  .proof-grid { grid-template-columns: 1fr 1fr; padding: 25px 0; }.proof-grid p { grid-column: span 2; }.article-grid { grid-template-columns: 1fr 1fr; }.article-card:last-child { grid-column: span 2; }
}

@media (max-width: 650px) {
  .shell { width: min(100% - 28px, 1160px); }.brand { width: 177px; height: 46px; }
  .hero { min-height: 0; padding-bottom: 65px; }.hero h1 { font-size: 43px; }.hero-copy > p { font-size: 16px; }
  .hero-actions { flex-direction: column; }.button { width: 100%; }.trust-list { gap: 8px 15px; font-size: 11px; }
  .hero-visual { min-height: 575px; padding-bottom: 70px; }.phone { width: 270px; }.sun-orbit { width: 360px; height: 360px; }.floating-card { padding: 9px 11px; }.floating-savings { right: 0; top: 52px; }.floating-status { right: auto; bottom: 0; left: 50%; transform: translateX(-50%); }
  .proof-grid { grid-template-columns: 1fr; gap: 15px; }.proof-grid p { grid-column: auto; }.proof-grid div { padding: 12px 0 0; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
  .section { padding: 75px 0; }.feature-grid, .article-grid { grid-template-columns: 1fr; }.feature-main, .feature-card:last-child, .article-card:last-child { grid-column: auto; }.feature-main { min-height: 530px; }.feature-card { min-height: 310px; }
  .integrator-grid { gap: 48px; }.portfolio-panel { padding: 18px; }.portfolio-stats { grid-template-columns: 1fr; }
  .simulator-grid { gap: 38px; }.simulator-card { padding: 24px 18px; }.form-row, .result-grid { grid-template-columns: 1fr 1fr; }
  .row-heading { align-items: start; flex-direction: column; }.article-body h3 { min-height: 0; }.product-placeholder { padding: 32px 20px; }
  .result-grid { grid-template-columns: 1fr; }.result-heading h3 { font-size: 21px; }
  .cta-card { align-items: stretch; flex-direction: column; padding: 34px 24px; }.footer-grid { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: span 2; }.footer-bottom { align-items: start; flex-direction: column; gap: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; }.button, .article-card { transition: none; }
}
