:root {
  --ink: #10231f;
  --muted: #65736f;
  --line: #dfe9e5;
  --paper: #f7fbf8;
  --card: #fff;
  --green: #10b981;
  --green-deep: #047857;
  --lime: #b7f144;
  --yellow: #f7e943;
  --night: #071512;
  --ease-out: cubic-bezier(.23, 1, .32, 1);
  --ease-move: cubic-bezier(.77, 0, .175, 1);
  --shadow: 0 24px 70px rgba(5, 47, 37, .16);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, system-ui, sans-serif; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.nav { position: fixed; inset: 18px 0 auto; z-index: 30; pointer-events: none; }
.nav-inner { pointer-events: auto; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 12px 14px 12px 20px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; color: #fff; background: rgba(8,21,18,.52); backdrop-filter: blur(18px); box-shadow: 0 16px 44px rgba(0,0,0,.18); transition: background 220ms var(--ease-out), color 220ms var(--ease-out), border-color 220ms var(--ease-out); }
.nav.scrolled .nav-inner { color: var(--ink); border-color: rgba(16,185,129,.22); background: rgba(255,255,255,.92); }
.brand { display: inline-flex; align-items: center; gap: 8px; font-size: 1.22rem; font-weight: 900; white-space: nowrap; }
.brand-mark { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; color: #062019; background: linear-gradient(135deg,var(--yellow),var(--lime),var(--green)); box-shadow: 0 10px 24px rgba(16,185,129,.28); }
.brand span:last-child { color: var(--lime); }
.nav.scrolled .brand span:last-child { color: var(--green); }
.links { display: flex; align-items: center; gap: 7px; font-size: .78rem; font-weight: 800; }
.links a, .footer-link { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; color: rgba(255,255,255,.86); background: rgba(255,255,255,.07); white-space: nowrap; transition: transform 180ms var(--ease-out), color 180ms var(--ease-out), background 180ms var(--ease-out), box-shadow 180ms var(--ease-out); }
.nav.scrolled .links a { color: #25433c; border-color: rgba(16,185,129,.2); background: rgba(16,185,129,.055); }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px; color: #062019; background: linear-gradient(135deg,var(--yellow),var(--lime) 52%,var(--green)); font-weight: 850; box-shadow: 0 14px 30px rgba(16,185,129,.3); cursor: pointer; transition: transform 160ms var(--ease-out), box-shadow 160ms var(--ease-out); }
.btn.secondary { color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.32); box-shadow: none; backdrop-filter: blur(10px); }
.btn:active, .links a:active, .model-tabs button:active { transform: scale(.97); }
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline: 3px solid var(--yellow); outline-offset: 3px; }
.procurement-modal { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 20px; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 200ms var(--ease-out), visibility 200ms var(--ease-out); }
.procurement-modal.is-open { visibility: visible; opacity: 1; pointer-events: auto; }
.procurement-backdrop { position: absolute; inset: 0; background: rgba(3,15,12,.72); backdrop-filter: blur(8px); }
.procurement-panel { position: relative; width: min(980px,100%); max-height: min(920px,calc(100svh - 40px)); overflow-y: auto; border-radius: 8px; color: var(--ink); background: #fff; box-shadow: 0 34px 100px rgba(0,0,0,.34); opacity: 0; transform: translateY(18px) scale(.985); transition: opacity 220ms var(--ease-out), transform 220ms var(--ease-out); }
.procurement-modal.is-open .procurement-panel { opacity: 1; transform: translateY(0) scale(1); }
.procurement-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 30px 34px; color: #fff; background: #0a211b; }
.procurement-head p { margin: 0 0 7px; color: var(--lime); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.procurement-head h2 { max-width: 760px; margin: 0; font-size: clamp(1.9rem,4vw,3.15rem); line-height: 1; letter-spacing: -.04em; }
.modal-close { flex: 0 0 auto; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font-size: 1.8rem; line-height: 1; cursor: pointer; transition: transform 160ms var(--ease-out), background 160ms var(--ease-out); }
.procurement-form { padding: 30px 34px 36px; }
.form-progress { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 0 0 26px; padding: 0; list-style: none; }
.form-progress li { display: flex; align-items: center; gap: 8px; min-width: 0; color: #71817c; font-size: .72rem; font-weight: 850; }
.form-progress li::after { content: ""; flex: 1; height: 2px; margin-left: 2px; background: #dce7e2; }
.form-progress li:last-child::after { display: none; }
.form-progress span { display: grid; flex: 0 0 30px; width: 30px; height: 30px; place-items: center; border: 1px solid #cadbd4; border-radius: 50%; background: #f5f9f7; }
.form-progress li.is-active, .form-progress li.is-complete { color: var(--green-deep); }
.form-progress li.is-active span { border-color: var(--green); color: #062019; background: var(--lime); box-shadow: 0 0 0 5px rgba(183,241,68,.16); }
.form-progress li.is-complete span { border-color: var(--green); color: #fff; background: var(--green); }
.form-progress li.is-complete::after { background: var(--green); }
.form-step[hidden] { display: none; }
.form-step { min-height: 330px; animation: formStepIn 320ms var(--ease-out) both; }
.form-step-head { margin-bottom: 20px; }
.form-step-head p { margin: 0 0 5px; color: var(--green-deep); font-size: .69rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.form-step-head h3 { margin: 0; font-size: clamp(1.5rem,3vw,2.2rem); line-height: 1.05; letter-spacing: -.035em; }
.model-choice { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-bottom: 24px; }
.model-choice label { position: relative; cursor: pointer; }
.model-choice input { position: absolute; inset: 0; opacity: 0; }
.model-choice span { display: grid; min-height: 82px; align-content: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: 7px; background: #f7fbf8; transition: transform 160ms var(--ease-out), border-color 160ms var(--ease-out), background 160ms var(--ease-out); }
.model-choice strong, .model-choice small { display: block; }
.model-choice small { margin-top: 4px; color: var(--muted); }
.model-choice input:checked + span { border-color: var(--green); background: linear-gradient(135deg,rgba(247,233,67,.34),rgba(183,241,68,.25)); box-shadow: inset 0 0 0 1px rgba(16,185,129,.18); }
.model-choice input:focus-visible + span { outline: 3px solid var(--yellow); outline-offset: 3px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid label { color: #29473f; font-size: .76rem; font-weight: 800; }
.form-grid input, .form-grid select, .form-grid textarea { display: block; width: 100%; min-height: 48px; margin-top: 7px; padding: 12px 14px; border: 1px solid #ccdcd5; border-radius: 7px; color: var(--ink); background: #fbfdfc; outline: none; transition: border-color 160ms var(--ease-out), box-shadow 160ms var(--ease-out); }
.form-grid textarea { min-height: 110px; resize: vertical; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(16,185,129,.12); }
.upload-zone { display: grid; min-height: 170px; place-items: center; align-content: center; gap: 7px; padding: 26px; border: 2px dashed #9bc5b4; border-radius: 8px; color: #183d33; text-align: center; background: linear-gradient(135deg,#f7fbf8,#f1f9e8); cursor: pointer; transition: border-color 180ms var(--ease-out), background 180ms var(--ease-out), transform 180ms var(--ease-out); }
.upload-zone:hover { border-color: var(--green); background: linear-gradient(135deg,rgba(247,233,67,.15),rgba(183,241,68,.2)); transform: translateY(-2px); }
.upload-zone:focus-within { outline: 3px solid rgba(16,185,129,.2); outline-offset: 3px; }
.upload-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-zone strong, .upload-zone small { display: block; }
.upload-zone small { max-width: 620px; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.upload-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; color: #062019; background: var(--lime); font-size: 1.45rem; font-weight: 900; box-shadow: 0 10px 24px rgba(16,185,129,.2); }
.upload-status { min-height: 22px; margin: 10px 0 20px; color: var(--muted); font-size: .76rem; font-weight: 700; }
.upload-status.is-error { color: #a72525; }
.request-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 18px; padding: 14px; border: 1px solid #dce8e3; border-radius: 7px; background: #f7fbf8; }
.request-summary div { min-width: 0; }
.request-summary small, .request-summary strong { display: block; }
.request-summary small { margin-bottom: 3px; color: var(--muted); font-size: .65rem; text-transform: uppercase; }
.request-summary strong { overflow-wrap: anywhere; font-size: .82rem; }
.form-navigation { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.form-navigation [hidden] { display: none !important; }
.form-navigation .form-back { margin-right: auto; color: var(--ink); background: #edf4f1; box-shadow: none; }
.form-wide { grid-column: 1/-1; }
.form-privacy { margin: 18px 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.form-privacy a { color: var(--green-deep); font-weight: 800; text-decoration: underline; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
body.modal-open { overflow: hidden; }
.hero { position: relative; min-height: 88svh; display: grid; align-items: center; color: #fff; isolation: isolate; overflow: hidden; }
.hero-media { position: absolute; inset: 0; z-index: -3; overflow: hidden; background: var(--night) url("../assets/renewable-contingents.webp") center/cover no-repeat; }
.hero-media video { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.012); }
.hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,rgba(4,18,15,.92) 0%,rgba(4,18,15,.76) 46%,rgba(4,18,15,.22) 100%), linear-gradient(0deg,rgba(4,18,15,.72),transparent 45%); }
.hero-content { padding: 150px 0 86px; }
.eyebrow, .kicker { margin: 0 0 18px; color: var(--green-deep); font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: var(--lime); }
.eyebrow span { width: 8px; height: 8px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 7px rgba(183,241,68,.14); }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 860px; margin-bottom: 24px; font-size: clamp(3.2rem,7vw,6.6rem); line-height: .94; letter-spacing: -.055em; }
h1 em { display: block; color: var(--lime); font-style: normal; }
.lead { max-width: 720px; margin-bottom: 30px; color: rgba(255,255,255,.8); font-size: clamp(1.05rem,2vw,1.28rem); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 780px; margin-top: 54px; border-top: 1px solid rgba(255,255,255,.2); }
.hero-facts div { padding: 22px 28px 0 0; }
.hero-facts strong { display: block; color: var(--lime); font-size: 1.55rem; }
.hero-facts span { color: rgba(255,255,255,.66); font-size: .84rem; }
.section { padding: 112px 0; scroll-margin-top: 100px; }
.section-head { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 60px; margin-bottom: 40px; }
h2 { margin-bottom: 18px; font-size: clamp(2.3rem,5vw,4.3rem); line-height: 1.02; letter-spacing: -.05em; }
.section-head > p, .strategy-copy > p, .faq-intro > p { color: var(--muted); line-height: 1.7; }
.model-tabs { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; padding: 7px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 999px; background: #eef5f1; }
.model-tabs button { min-height: 50px; border: 0; border-radius: 999px; color: #36534b; background: transparent; font-weight: 850; cursor: pointer; transition: transform 160ms var(--ease-out), background 180ms var(--ease-out), box-shadow 180ms var(--ease-out), color 180ms var(--ease-out); }
.model-tabs button[aria-selected="true"] { color: #062019; background: linear-gradient(135deg,var(--yellow),var(--lime),var(--green)); box-shadow: 0 10px 24px rgba(16,185,129,.22); }
.model-stage { display: grid; grid-template-columns: .8fr 1.2fr; min-height: 580px; overflow: hidden; border-radius: 8px; background: var(--night); box-shadow: var(--shadow); }
.model-copy { padding: 54px 44px; color: #fff; background: linear-gradient(145deg,#0d2922,#071512); }
.model-label { color: var(--lime); font-size: .77rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.model-copy h3 { margin-bottom: 18px; font-size: clamp(2rem,3vw,3rem); line-height: 1.04; letter-spacing: -.04em; }
.model-copy > p:not(.model-label) { color: rgba(255,255,255,.68); line-height: 1.7; }
.status-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 28px 0; }
.status-row div { padding: 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; background: rgba(255,255,255,.05); }
.status-row span, .status-row strong { display: block; }
.status-row span { color: rgba(255,255,255,.54); font-size: .72rem; }
.status-row strong { margin-top: 6px; color: var(--lime); font-size: 1rem; text-transform: uppercase; }
.benefits { display: grid; gap: 14px; padding: 0; list-style: none; }
.benefits li { position: relative; padding-left: 25px; color: rgba(255,255,255,.76); }
.benefits li::before { content: ""; position: absolute; left: 0; top: .45em; width: 10px; height: 6px; border-left: 2px solid var(--lime); border-bottom: 2px solid var(--lime); transform: rotate(-45deg); }
.model-inquiry { margin-top: 18px; }
.visual-frame { position: relative; display: grid; grid-template-rows: auto auto 1fr auto; padding: 28px; color: #fff; background-color: #091713; background-image: linear-gradient(rgba(183,241,68,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(183,241,68,.035) 1px,transparent 1px); background-size: 28px 28px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), inset 0 0 90px rgba(0,0,0,.28); }
.visual-frame::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,transparent 0 49.8%,rgba(183,241,68,.025) 50%,transparent 50.2%),linear-gradient(0deg,transparent 0 49.8%,rgba(183,241,68,.025) 50%,transparent 50.2%); }
.visual-top { display: flex; justify-content: space-between; align-items: center; color: rgba(255,255,255,.5); font-size: .74rem; text-transform: uppercase; }
.visual-top div { display: flex; align-items: center; gap: 9px; }
.visual-top strong { color: #fff; }
.chart-controls { gap: 5px !important; }
.chart-controls span { padding: 6px 9px; border: 1px solid rgba(255,255,255,.09); border-radius: 4px; color: rgba(255,255,255,.48); background: rgba(255,255,255,.035); font-size: .6rem; letter-spacing: .04em; }
.chart-legend { position: relative; z-index: 1; display: flex; align-items: center; gap: 18px; margin-top: 18px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.07); border-radius: 5px; color: rgba(255,255,255,.5); background: rgba(0,0,0,.16); font-size: .66rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: 7px; }
.chart-legend i { width: 18px; height: 3px; border-radius: 999px; }
.legend-primary { background: var(--lime); box-shadow: 0 0 8px rgba(183,241,68,.48); }
.legend-market { background: repeating-linear-gradient(90deg,rgba(255,255,255,.42) 0 4px,transparent 4px 7px); }
.chart-status { margin-left: auto; color: var(--lime); text-transform: uppercase; }
.chart-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 8px var(--lime); }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 6px rgba(183,241,68,.1); animation: pulse 2.4s var(--ease-out) infinite; }
.chart-wrap { position: relative; display: grid; align-items: center; min-height: 340px; }
#price-chart { width: 100%; overflow: visible; }
.chart-grid path { fill: none; stroke: rgba(255,255,255,.1); stroke-width: 1; vector-effect: non-scaling-stroke; }
.market-path { fill: none; stroke: rgba(255,255,255,.38); stroke-width: 2; stroke-dasharray: 7 7; vector-effect: non-scaling-stroke; }
.primary-path { fill: none; stroke: var(--lime); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; filter: url(#lineGlow); vector-effect: non-scaling-stroke; }
.area-path { fill: url(#chartArea); }
.market-path, .primary-path { transition: opacity 200ms var(--ease-out); }
.chart-labels text { fill: rgba(255,255,255,.35); font-size: 11px; font-weight: 700; }
.focus-point circle:first-child { fill: rgba(183,241,68,.2); }
.focus-point circle:last-child { fill: var(--lime); }
.chart-tooltip { position: absolute; top: 20%; right: 12%; min-width: 145px; padding: 12px 14px; border: 1px solid rgba(183,241,68,.28); border-radius: 7px; background: rgba(5,20,16,.88); backdrop-filter: blur(10px); pointer-events: none; transition: transform 200ms var(--ease-out), opacity 200ms var(--ease-out); }
.chart-tooltip span, .chart-tooltip small { display: block; color: rgba(255,255,255,.55); font-size: .68rem; }
.chart-tooltip strong { display: block; margin: 4px 0; color: var(--lime); font-size: 1.05rem; }
.visual-stats { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(255,255,255,.08); border-radius: 5px; background: rgba(0,0,0,.16); }
.visual-stats div { padding: 14px; border-right: 1px solid rgba(255,255,255,.07); }
.visual-stats div:last-child { border-right: 0; }
.visual-stats span, .visual-stats strong { display: block; }
.visual-stats span { color: rgba(255,255,255,.42); font-size: .7rem; text-transform: uppercase; }
.visual-stats strong { margin-top: 5px; font-size: 1.12rem; }
.chart-data-note { position: relative; z-index: 1; margin: 10px 0 0; color: rgba(255,255,255,.4); font-size: .62rem; line-height: 1.45; text-align: right; }
.chart-source-link { position: relative; z-index: 1; display: block; margin-top: 5px; color: var(--lime); font-size: .64rem; font-weight: 750; text-align: right; text-decoration: underline; text-underline-offset: 3px; }
.chart-source-link[hidden] { display: none; }
.energy-flow { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; margin-top: 30px; }
.flow-step { display: flex; align-items: center; gap: 10px; font-size: .8rem; }
.flow-step span { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(16,185,129,.28); border-radius: 50%; color: var(--green-deep); background: #fff; font-size: .68rem; }
.flow-line { position: relative; height: 2px; margin: 0 12px; overflow: hidden; background: rgba(16,185,129,.16); }
.flow-line i { position: absolute; top: -2px; left: -10px; width: 8px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 10px var(--lime); animation: flow 3.4s linear infinite; }
.strategy { color: var(--ink); background: linear-gradient(180deg,#f7fbf8 0%,#eff8f1 100%); }
.strategy-grid { display: grid; grid-template-columns: minmax(330px,.78fr) minmax(520px,1.22fr); gap: 58px; align-items: start; }
.strategy .kicker { color: var(--green-deep); }
.strategy-copy > p { color: var(--muted); }
.strategy label { display: block; margin: 34px 0 14px; font-weight: 850; }
input[type="range"] { width: 100%; height: 8px; border-radius: 999px; accent-color: var(--lime); cursor: pointer; }
.range-scale { display: flex; justify-content: space-between; margin-top: 10px; color: var(--muted); font-size: .7rem; }
.consumption-control { margin-top: 30px; padding-top: 28px; border-top: 1px solid rgba(16,185,129,.16); }
.control-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.control-heading label { margin: 0; }
.control-heading output { color: var(--green-deep); font-size: 1.1rem; font-weight: 900; }
.product-selector { min-width: 0; margin: 30px 0 0; padding: 0; border: 0; }
.product-selector legend { margin-bottom: 12px; font-size: .78rem; font-weight: 850; }
.product-selector > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.product-button { display: grid; min-height: 90px; padding: 12px; border: 1px solid rgba(16,185,129,.18); border-radius: 7px; color: var(--ink); background: rgba(255,255,255,.72); text-align: left; cursor: pointer; transition: transform 160ms var(--ease-out), border-color 160ms var(--ease-out), box-shadow 160ms var(--ease-out); }
.product-button span, .product-button small { color: var(--muted); font-size: .66rem; }
.product-button strong { margin: 2px 0; font-size: 1.12rem; }
.product-button.is-selected { border-color: var(--green); background: linear-gradient(145deg,rgba(247,233,67,.3),rgba(183,241,68,.26)); box-shadow: 0 10px 24px rgba(16,185,129,.12); }
.strategy-note { margin-top: 26px; padding: 18px; border: 1px solid rgba(16,185,129,.22); border-radius: 7px; color: var(--green-deep); background: linear-gradient(135deg,rgba(247,233,67,.2),rgba(183,241,68,.16)); font-weight: 750; }
.strategy-inquiry { margin-top: 18px; }
.allocation { display: grid; grid-template-columns: minmax(220px,.85fr) 1.15fr; align-items: center; gap: 34px; padding: 40px; border-radius: 8px; color: #fff; background-color: #0a211b; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 22px 22px; box-shadow: 0 28px 70px rgba(5,47,37,.2); }
.donut { display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--lime) 0 70%,var(--green) 70% 100%); box-shadow: 0 0 70px rgba(183,241,68,.14); transition: background 220ms var(--ease-out); }
.donut::before { content: ""; grid-area: 1/1; width: 68%; aspect-ratio: 1; border-radius: 50%; background: #0d2922; }
.donut div { z-index: 1; grid-area: 1/1; text-align: center; }
.donut strong, .donut span { display: block; }
.donut strong { color: var(--lime); font-size: 2.2rem; }
.donut span { color: rgba(255,255,255,.5); font-size: .72rem; text-transform: uppercase; }
.allocation-legend { display: grid; gap: 14px; }
.allocation-legend div { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; }
.allocation-legend i { width: 9px; height: 9px; border-radius: 50%; }
.allocation-legend .tranche { background: var(--lime); }
.allocation-legend .spot { background: var(--green); }
.allocation-legend span { color: rgba(255,255,255,.76); font-size: .86rem; }
.allocation-legend strong { color: #fff; font-size: 1.35rem; }
.ring-kpis { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.mini-ring { --ring: 70%; display: grid; grid-template-columns: 92px 1fr; align-items: center; min-height: 112px; padding: 14px 18px; border: 1px solid rgba(255,255,255,.12); border-radius: 7px; color: rgba(255,255,255,.78); background: rgba(0,0,0,.18); font-size: .82rem; }
.mini-ring::before { content: ""; grid-area: 1/1/3/2; width: 82px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #0d2922 54%,transparent 56%),conic-gradient(var(--yellow) 0 var(--ring),rgba(255,255,255,.12) var(--ring) 100%); box-shadow: 0 0 24px rgba(247,233,67,.12); }
.mini-ring strong { grid-column: 2; color: #fff; font-size: 1.8rem; line-height: 1; }
.mini-ring span { grid-column: 2; color: rgba(255,255,255,.72); }
.mini-ring.flexibility { --ring: 30%; }
.meters { grid-column: 1/-1; display: grid; gap: 16px; }
.meters div > span { display: block; margin-bottom: 7px; color: rgba(255,255,255,.58); font-size: .75rem; }
.meters i, .mini-meter i { display: block; height: 8px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.1); }
.meters b, .mini-meter b { display: block; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--green),var(--lime),var(--yellow)); transform: scaleX(.7); transform-origin: left; transition: transform 700ms var(--ease-out); }
.forward-dashboard { grid-column: 1/-1; overflow: hidden; border: 1px solid rgba(183,241,68,.15); border-radius: 7px; background: rgba(0,0,0,.22); }
.forward-dashboard-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,.07); color: rgba(255,255,255,.42); font-size: .64rem; letter-spacing: .04em; text-transform: uppercase; }
.forward-dashboard-head div { display: flex; align-items: center; gap: 9px; }
.forward-dashboard-head strong { color: #fff; }
.forward-price { display: grid; grid-template-columns: 1fr auto; align-items: end; padding: 20px 18px; border-bottom: 1px solid rgba(255,255,255,.07); }
.forward-price span { grid-column: 1/-1; color: rgba(255,255,255,.46); font-size: .7rem; text-transform: uppercase; }
.forward-price strong { color: var(--lime); font-size: 3rem; line-height: 1; letter-spacing: -.06em; text-shadow: 0 0 22px rgba(183,241,68,.2); }
.forward-price small { color: rgba(255,255,255,.58); font-size: .76rem; }
.forward-kpis { display: grid; grid-template-columns: 1fr 1fr; }
.forward-kpis div { padding: 14px 16px; border-right: 1px solid rgba(255,255,255,.06); border-bottom: 1px solid rgba(255,255,255,.06); }
.forward-kpis div:nth-child(even) { border-right: 0; }
.forward-kpis span, .forward-kpis strong { display: block; }
.forward-kpis span { color: rgba(255,255,255,.62); font-size: .68rem; text-transform: uppercase; }
.forward-kpis strong { margin-top: 6px; color: #fff; font-size: 1.05rem; }
.forward-dashboard p { margin: 0; padding: 15px 16px; color: rgba(255,255,255,.72); font-size: .76rem; line-height: 1.55; }
.market-source { margin-top: 24px; padding: 20px 24px; border: 1px solid rgba(16,185,129,.16); border-radius: 7px; background: rgba(255,255,255,.64); }
.market-source strong { color: var(--green-deep); font-size: .76rem; text-transform: uppercase; }
.market-source p { margin: 7px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.6; }
.model-detail { background: #fff; }
.detail-heading { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: end; margin-bottom: 42px; }
.detail-heading h2 { margin: 0; }
.detail-heading p { max-width: 70ch; margin: 0; color: var(--muted); font-size: 1.05rem; line-height: 1.75; }
.detail-heading strong { color: var(--green-deep); }
.detail-journey { position: relative; display: grid; gap: 22px; }
.detail-journey::before { content: ""; position: absolute; top: 40px; bottom: 40px; left: 50%; width: 1px; background: linear-gradient(transparent,var(--green),transparent); opacity: .28; }
.detail-phase { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 430px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #f8fcf9; box-shadow: 0 22px 58px rgba(5,47,37,.09); }
.detail-phase.reverse .detail-media { order: 2; }
.detail-media { position: relative; min-height: 430px; overflow: hidden; background: #dfe9e5; }
.detail-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(5,25,20,.58),transparent 52%); }
.detail-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--ease-out); }
.detail-media span { position: absolute; z-index: 1; left: 24px; bottom: 22px; padding: 9px 13px; border-radius: 999px; color: #062019; background: var(--lime); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.detail-copy { display: grid; align-content: center; padding: 46px; }
.phase-icon, .benefit-tile > svg { display: grid; width: 50px; height: 50px; padding: 12px; border-radius: 8px; color: #063c2c; background: linear-gradient(135deg,var(--yellow),var(--lime)); }
.phase-icon svg, .benefit-tile > svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.detail-copy h3 { margin: 22px 0 14px; font-size: clamp(1.7rem,3vw,2.5rem); line-height: 1.05; letter-spacing: -.035em; }
.detail-copy p { margin-bottom: 12px; color: var(--muted); line-height: 1.72; }
.benefit-band { background: linear-gradient(180deg,#eff8f1 0%,#f8fcf9 100%); }
.benefit-heading { display: grid; grid-template-columns: 1fr .7fr; gap: 70px; align-items: end; margin-bottom: 38px; }
.benefit-heading h2 { margin: 0; }
.benefit-heading p { margin: 0; color: var(--muted); line-height: 1.7; }
.benefit-tiles { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.benefit-tile { min-height: 290px; padding: 32px; border: 1px solid rgba(16,185,129,.18); border-radius: 8px; background: #fff; box-shadow: 0 16px 42px rgba(5,47,37,.07); }
.benefit-tile > svg { width: 54px; height: 54px; }
.benefit-tile h3 { margin: 40px 0 12px; font-size: 1.55rem; line-height: 1.12; letter-spacing: -.025em; }
.benefit-tile p { margin: 0; color: #526862; line-height: 1.68; }
.comparison-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.compare-card { position: relative; min-height: 330px; padding: 32px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 18px 46px rgba(5,47,37,.07); }
.compare-card.featured { color: #fff; border-color: transparent; background: var(--night); transform: translateY(-14px); }
.compare-card h3 { margin: 50px 0 12px; font-size: 1.7rem; }
.compare-card p { min-height: 70px; color: var(--muted); line-height: 1.6; }
.compare-card.featured p:not(.tag) { color: rgba(255,255,255,.6); }
.card-number { position: absolute; top: 28px; right: 28px; color: rgba(16,185,129,.34); font-size: 3rem; font-weight: 900; }
.tag { display: inline-block; min-height: auto !important; padding: 6px 10px; border-radius: 999px; color: #062019 !important; background: var(--lime); font-size: .66rem; font-weight: 900; text-transform: uppercase; }
.mini-meter { margin-top: 18px; }
.mini-meter span { display: block; margin-bottom: 7px; color: var(--muted); font-size: .72rem; }
.compare-card.featured .mini-meter span { color: rgba(255,255,255,.55); }
.mini-meter b { transform: scaleX(var(--score)); }
.disclaimer { max-width: 840px; margin: 34px auto 0; color: var(--muted); font-size: .78rem; line-height: 1.6; text-align: center; }
.data-table-wrap { margin-top: 34px; overflow-x: auto; border: 1px solid rgba(183,241,68,.13); border-radius: 8px; background: #0a1d19; box-shadow: 0 20px 55px rgba(5,47,37,.13); }
.data-table { width: 100%; min-width: 760px; border-collapse: collapse; color: rgba(255,255,255,.72); font-size: .82rem; }
.data-table caption { padding: 18px 20px; color: #fff; background: #071512; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.data-table th, .data-table td { padding: 17px 20px; border-top: 1px solid rgba(255,255,255,.07); text-align: left; }
.data-table thead th { color: rgba(255,255,255,.42); background: rgba(255,255,255,.025); font-size: .68rem; letter-spacing: .05em; text-transform: uppercase; }
.data-table tbody th { color: #fff; font-weight: 800; }
.data-table tbody tr { transition: background 180ms var(--ease-out); }
.table-score { display: inline-flex; align-items: center; min-width: 72px; gap: 7px; color: #fff; }
.table-score::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px currentColor; }
.table-score.high::before { background: var(--lime); }
.table-score.medium::before { background: var(--yellow); }
.table-score.low::before { background: #52a987; }
.market-gallery { overflow: hidden; background: linear-gradient(180deg,#f7fbf8 0%,#eef7f1 100%); }
.market-viewer { overflow: hidden; border: 1px solid rgba(16,185,129,.2); border-radius: 8px; background: #fff; box-shadow: 0 26px 76px rgba(5,47,37,.12); }
.market-viewer-head { display: flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 128px; padding: 24px 30px; color: #fff; background: #09251e; }
.market-viewer-head h3 { margin: 6px 0 5px; font-size: clamp(1.35rem,3vw,2.2rem); letter-spacing: -.03em; }
.market-viewer-head p { max-width: 760px; margin: 0; color: rgba(255,255,255,.62); line-height: 1.5; }
.market-counter { color: var(--lime); font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.market-arrows { display: flex; flex: 0 0 auto; gap: 8px; }
.market-arrows button, .market-arrows a { display: grid; width: 48px; height: 48px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; background: rgba(255,255,255,.08); font-size: 1.35rem; text-decoration: none; cursor: pointer; transition: color 180ms var(--ease-out), background 180ms var(--ease-out), transform 180ms var(--ease-out); }
.market-stage { position: relative; background: #f4f9f6; }
.market-slide[hidden] { display: none !important; }
.market-slide { margin: 0; padding: 0; animation: marketSlideIn 280ms var(--ease-out) both; }
.market-image-wrap { position: relative; width: 100%; overflow: hidden; background: #f4f9f6; }
.market-image-wrap img { display: block; width: 100%; height: auto; max-height: 760px; object-fit: contain; object-position: center; }
.market-hotspots { position: absolute; inset: 0; }
.market-point { position: absolute; width: 22px; height: 22px; padding: 0; border: 3px solid #fff; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(16,185,129,.35),0 7px 20px rgba(4,35,27,.22); cursor: crosshair; transform: translate(-50%,-50%); transition: transform 160ms var(--ease-out), background 160ms var(--ease-out), box-shadow 160ms var(--ease-out); }
.market-point[data-series="2027"], .market-point[data-emphasis="high"] { background: #f3ce00; }
.market-point[data-series="2028"] { background: #11b985; }
.market-point[data-series="2029"] { background: #10a6a8; }
.market-point[data-series="2030"] { background: #78b83e; }
.market-point[data-series="2031"] { background: #073d34; }
.market-point:focus-visible { outline: 4px solid #fff; outline-offset: 4px; }
.market-tooltip { position: absolute; z-index: 4; min-width: 150px; max-width: 230px; padding: 11px 13px; border: 1px solid rgba(183,241,68,.38); border-radius: 7px; color: #fff; background: rgba(4,25,20,.94); box-shadow: 0 14px 34px rgba(0,0,0,.24); font-size: .74rem; font-weight: 800; line-height: 1.45; pointer-events: none; transform: translate(-50%,calc(-100% - 16px)); }
.market-tooltip[hidden] { display: none !important; }
.market-dots { display: flex; justify-content: center; gap: 8px; padding: 18px 20px; background: #fff; }
.market-dots button { width: 34px; height: 9px; padding: 0; border: 0; border-radius: 99px; background: #c7d7d0; cursor: pointer; transform: scaleX(.28); transition: transform 200ms var(--ease-out), background 200ms var(--ease-out); }
.market-dots button.is-active { background: linear-gradient(90deg,var(--yellow),var(--lime),var(--green)); transform: scaleX(1); }
.source-trust { margin-top: 26px; padding: 30px; border: 1px solid rgba(16,185,129,.22); border-radius: 8px; background: #fff; box-shadow: 0 18px 48px rgba(5,47,37,.08); }
.source-trust-intro { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; }
.source-check { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; color: #062019; background: linear-gradient(135deg,var(--yellow),var(--lime),var(--green)); font-size: 1.25rem; font-weight: 900; }
.source-trust h3 { margin: 0 0 9px; font-size: clamp(1.45rem,3vw,2.15rem); letter-spacing: -.035em; }
.source-trust-intro p:last-child { max-width: 880px; margin: 0; color: var(--muted); line-height: 1.65; }
.source-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 24px; }
.source-links a { display: grid; min-height: 136px; align-content: start; padding: 20px; border: 1px solid var(--line); border-radius: 7px; color: var(--ink); background: #f7fbf8; text-decoration: none; transition: border-color 180ms var(--ease-out), transform 180ms var(--ease-out), box-shadow 180ms var(--ease-out); }
.source-links strong, .source-links span, .source-links b { display: block; }
.source-links strong { margin-bottom: 6px; font-size: 1rem; }
.source-links span { color: var(--muted); font-size: .76rem; line-height: 1.45; }
.source-links b { margin-top: auto; padding-top: 18px; color: var(--green-deep); font-size: .72rem; }
.faq { background: #eef5f1; }
.faq-grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; }
.faq-list { display: grid; gap: 10px; }
details { border: 1px solid var(--line); border-radius: 8px; background: #fff; }
summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px; font-weight: 850; cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary span { color: var(--green-deep); font-size: 1.4rem; transition: transform 180ms var(--ease-out); }
details[open] summary span { transform: rotate(45deg); }
details p { padding: 0 22px 22px; color: var(--muted); line-height: 1.65; }
details p a { color: var(--green-deep); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.cta { padding: 90px 0; color: #fff; background: var(--night); }
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.cta h2 { margin-bottom: 12px; }
.cta p { max-width: 690px; color: rgba(255,255,255,.62); line-height: 1.65; }
.cta .kicker { color: var(--lime); }
.cta .btn { flex: 0 0 auto; }
.footer { padding: 32px 0; color: rgba(255,255,255,.62); background: #04100d; font-size: .78rem; }
.footer-inner { display: grid; grid-template-areas: "brand links" "whatsapp copyright"; grid-template-columns: auto 1fr; align-items: center; gap: 18px 24px; }
.footer .brand { grid-area: brand; color: #fff; }
.footer-links { grid-area: links; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.footer-link[aria-current="page"] { color: #062019; border-color: transparent; background: linear-gradient(135deg,var(--yellow),var(--lime),var(--green)); }
.footer-whatsapp { grid-area: whatsapp; font-weight: 800; }
.footer-whatsapp a { color: var(--lime); }
.footer-inner > div:last-child { grid-area: copyright; text-align: right; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity 420ms var(--ease-out), transform 420ms var(--ease-out); }
.reveal.delay-1 { transition-delay: 55ms; }
.reveal.delay-2 { transition-delay: 110ms; }
.reveal.delay-3 { transition-delay: 165ms; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes heroDrift { to { transform: scale(1.07) translate3d(-.7%,.5%,0); } }
@keyframes pulse { 50% { opacity: .45; transform: scale(.88); } }
@keyframes flow { to { transform: translateX(calc(100vw / 4)); } }
@keyframes formStepIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes marketSlideIn { from { opacity: 0; transform: translateX(22px) scale(.992); } to { opacity: 1; transform: translateX(0) scale(1); } }
@media (hover:hover) and (pointer:fine) {
  .btn:hover, .links a:hover, .footer-link:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(16,185,129,.28); }
  .model-tabs button:hover:not([aria-selected="true"]) { background: rgba(16,185,129,.09); }
  .compare-card { transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out); }
  .compare-card:hover { transform: translateY(-5px); box-shadow: 0 24px 60px rgba(5,47,37,.12); }
  .compare-card.featured:hover { transform: translateY(-19px); }
  .data-table tbody tr:hover { background: rgba(183,241,68,.055); }
  .product-button:hover { transform: translateY(-2px); border-color: rgba(16,185,129,.46); }
  .detail-phase:hover .detail-media img { transform: scale(1.035); }
  .modal-close:hover { background: rgba(255,255,255,.16); transform: rotate(4deg); }
  .market-arrows button:hover, .market-arrows a:hover { color: #062019; background: var(--lime); transform: translateY(-2px); }
  .market-point:hover, .market-point:focus-visible { z-index: 3; transform: translate(-50%,-50%) scale(1.32); box-shadow: 0 0 0 5px rgba(183,241,68,.3),0 10px 28px rgba(4,35,27,.3); }
  .source-links a:hover { border-color: var(--green); transform: translateY(-3px); box-shadow: 0 16px 34px rgba(5,47,37,.1); }
}
@media (max-width: 920px) {
  .links { display: none; }
  .model-stage, .strategy-grid, .faq-grid, .detail-heading, .benefit-heading { grid-template-columns: 1fr; }
  .model-stage { min-height: 0; }
  .strategy-grid, .faq-grid { gap: 46px; }
  .detail-heading, .benefit-heading { gap: 16px; }
  .detail-phase { grid-template-columns: 1fr; }
  .detail-phase.reverse .detail-media { order: initial; }
  .detail-journey::before { display: none; }
  .comparison-grid { grid-template-columns: 1fr; }
  .compare-card.featured { transform: none; }
  .energy-flow { grid-template-columns: 1fr; gap: 8px; }
  .flow-line { width: 2px; height: 24px; margin: 0 0 0 17px; }
  .flow-line i { top: -8px; left: -2px; animation-name: flowMobile; }
  .section-head { grid-template-columns: 1fr; gap: 12px; }
  .source-links { grid-template-columns: 1fr; }
  .footer-inner { grid-template-areas: "brand" "links" "whatsapp" "copyright"; grid-template-columns: 1fr; }
  .footer-links { justify-content: flex-start; }
  .footer-inner > div:last-child { text-align: left; }
}
@keyframes flowMobile { to { transform: translateY(30px); } }
@media (max-width: 640px) {
  .container { width: min(100% - 28px,1160px); }
  .nav { inset: 10px 0 auto; }
  .nav-inner { padding: 9px 9px 9px 14px; gap: 8px; }
  .brand { font-size: .95rem; }
  .brand-mark { width: 31px; height: 31px; }
  .nav-cta { min-height: 40px; padding: 0 13px; font-size: .72rem; }
  .hero { min-height: 800px; }
  .hero-content { padding: 125px 0 64px; }
  h1 { font-size: clamp(2.8rem,14vw,4.4rem); }
  .hero-facts { grid-template-columns: 1fr; }
  .hero-facts div { padding-top: 15px; }
  .section { padding: 76px 0; }
  .model-tabs { grid-template-columns: 1fr 1fr; border-radius: 8px; }
  .model-tabs button { min-height: 46px; }
  .model-copy { padding: 36px 24px; }
  .visual-frame { padding: 18px 12px; }
  .chart-wrap { min-height: 270px; }
  .chart-tooltip { top: 10px; right: 6px; transform: scale(.86); transform-origin: top right; }
  .status-row { grid-template-columns: 1fr; }
  .allocation { grid-template-columns: 1fr; padding: 24px; }
  .donut { width: min(260px,100%); justify-self: center; }
  .meters { grid-column: auto; }
  .ring-kpis { grid-column: auto; }
  .forward-dashboard { grid-column: auto; }
  .cta-inner { display: grid; }
  .cta .btn { width: 100%; }
  .footer-links { display: grid; grid-template-columns: 1fr; width: 100%; }
  .footer-link { justify-content: flex-start; min-height: 44px; }
  .chart-controls span:nth-child(2) { display: none; }
  .chart-legend { flex-wrap: wrap; gap: 9px 14px; }
  .chart-status { width: 100%; margin-left: 0; }
  .ring-kpis { grid-template-columns: 1fr; }
  .product-selector > div { grid-template-columns: 1fr; }
  .product-button { grid-template-columns: 1fr auto; min-height: 68px; align-items: center; }
  .product-button span { grid-column: 1; }
  .product-button strong { grid-column: 1; }
  .product-button small { grid-column: 2; grid-row: 1/3; }
  .control-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .forward-kpis { grid-template-columns: 1fr; }
  .forward-kpis div, .forward-kpis div:nth-child(even) { border-right: 0; }
  .model-choice, .form-grid, .benefit-tiles { grid-template-columns: 1fr; }
  .procurement-modal { padding: 8px; }
  .procurement-panel { max-height: calc(100svh - 16px); }
  .procurement-head { padding: 24px 20px; }
  .procurement-form { padding: 22px 20px 26px; }
  .form-progress li { gap: 5px; font-size: .63rem; }
  .form-progress span { flex-basis: 27px; width: 27px; height: 27px; }
  .form-step { min-height: 0; }
  .request-summary { grid-template-columns: 1fr; }
  .form-navigation { position: sticky; bottom: -26px; z-index: 2; margin-inline: -20px; padding: 16px 20px 26px; background: rgba(255,255,255,.96); }
  .form-navigation .btn { padding-inline: 16px; }
  .form-wide { grid-column: auto; }
  .detail-media { min-height: 270px; }
  .detail-copy { padding: 30px 24px; }
  .benefit-tile { min-height: 0; padding: 26px 24px; }
  .benefit-tile h3 { margin-top: 28px; }
  .mini-ring { grid-template-columns: 98px 1fr; min-height: 120px; }
  .mini-ring::before { width: 88px; }
  .market-viewer-head { display: grid; grid-template-columns: 1fr; align-items: flex-start; padding: 22px 20px; }
  .market-viewer-head p { font-size: .78rem; }
  .market-arrows { justify-self: end; }
  .market-arrows button, .market-arrows a { width: 42px; height: 42px; }
  .market-image-wrap img { min-height: 250px; object-fit: contain; }
  .market-point { width: 18px; height: 18px; border-width: 2px; }
  .source-trust { padding: 24px 20px; }
  .source-trust-intro { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero-media, .live-dot, .flow-line i { animation: none; }
  .hero-media video { display: none; }
  .market-slide { animation: none; }
  .reveal { opacity: 1; transform: none; transition: opacity 160ms var(--ease-out); }
  .meters b, .mini-meter b, .primary-path, .market-path { transition-duration: 1ms; }
}
