/* The complete Africa proposal, adapted to MSR's shared screen design. */
.ag-proposal { --proposal-light: #F3F7F4; }
.ag-proposal :where(h1, h2, h3, p, ul) { margin: 0; }
.ag-proposal :where(h1, h2, h3) { color: var(--navy); font-family: var(--font-display); font-weight: 500; }
.ag-proposal h2 { font-size: clamp(2rem, 1.3rem + 2.1vw, 3.4rem); line-height: 1.16; letter-spacing: -.035em; }
.ag-proposal h2 em { font: inherit; }
.ag-proposal h3 { font-size: clamp(1.4rem, 1.15rem + .6vw, 1.85rem); line-height: 1.25; }
.ag-proposal p { color: var(--ink-70); font-size: 1rem; line-height: 1.75; }
.ag-proposal :where(b, strong) { font-weight: 600; }
.ag-proposal :where(h1, h2, h3, p, b, strong, small, li) { overflow-wrap: anywhere; hyphens: manual; }
.ag-proposal :where(.pagebody, .proposal-cover-grid) > * { min-width: 0; }
.ag-proposal :where([class*="af-"], .water-five, .pipeline, .energy-two, .energy-spec, .module-row, .kpi-grid, .delivery-band, .reg-wrap, .capability-grid) > div { min-width: 0; }
.ag-proposal :where(.mt-xs, .mt-sm) { margin-top: 1rem; }
.ag-proposal .mt-md { margin-top: 1.6rem; }
.ag-proposal .mt-lg { margin-top: 2.2rem; }
.ag-proposal .mt-xl { margin-top: 2.8rem; }
.ag-proposal .eyebrow { display: block; color: var(--green-600); font: 600 .75rem/1.6 var(--font-body); letter-spacing: .06em; margin-bottom: 1rem; }
.ag-proposal .proposal-section { padding-block: clamp(3.5rem, 6.5vw, 6rem); border-bottom: 1px solid var(--line); }
.ag-proposal .proposal-section:nth-of-type(2n + 1) { background: var(--proposal-light); }
.ag-proposal .section-title { max-width: 960px; }
.ag-proposal .lead { margin-top: 1.3rem; max-width: 76ch; }
.ag-proposal .technical-caveat { margin-top: 1.5rem; font-size: .82rem; color: var(--ink-55); max-width: 92ch; }
.ag-proposal .proposal-cover { background: var(--proposal-light); overflow: hidden; }
.ag-proposal .proposal-cover-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: stretch; }
.ag-proposal .cover-main { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.ag-proposal .cover-eyebrow { color: var(--green-600); font-size: .73rem; font-weight: 600; letter-spacing: .055em; }
.ag-proposal .cover h1 { margin-top: 1.5rem; font-size: clamp(2.7rem, 2rem + 2.5vw, 4.7rem); line-height: 1.05; letter-spacing: -.045em; }
.ag-proposal .cover h1 em { font: inherit; }
.ag-proposal .proposal-department { margin-top: 1.3rem; color: var(--navy); font-size: .9rem; font-weight: 600; }
.ag-proposal .cover-desc { margin-top: 1rem; max-width: 49ch; }
.ag-proposal .proposal-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 1.6rem; }
.ag-proposal .proposal-actions .textlink { font-size: .85rem; }
.ag-proposal .cover-bottom { border-top: 1px solid var(--line-strong); margin-top: 2rem; padding-top: 1.1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ag-proposal .cover-bottom > div { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.ag-proposal .cover-bottom span { color: var(--ink-55); font-size: .67rem; font-weight: 600; }
.ag-proposal .cover-bottom > strong { color: var(--green-600); font: 500 1.5rem var(--font-display); }
.ag-proposal .cover-image { position: relative; min-width: 0; min-height: 600px; }
.ag-proposal .cover-image img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 50% 55%; }
.ag-proposal .photo-tint { position: absolute; inset: 0; background: linear-gradient(to top, rgba(14,42,80,.65), transparent 40%); }
.ag-proposal .image-index { position: absolute; bottom: 1.5rem; right: 1.5rem; color: #fff; font-size: .7rem; font-weight: 600; text-align: right; line-height: 1.8; letter-spacing: .065em; }
.ag-proposal .proposal-nav .department-section-nav__links { gap: clamp(1rem, 2.5vw, 2.7rem); }
.ag-proposal .proposal-nav a { font-size: .83rem; }
.ag-proposal :where(.water-five, .pipeline, .af-flow) { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.ag-proposal :where(.water-five, .pipeline, .af-flow) > div { padding: 1.3rem 1rem; border-top: 2px solid var(--green-600); background: var(--green-050); }
.ag-proposal :where(.water-five, .pipeline, .af-flow) :where(span, small) { display: block; font-size: .8rem; line-height: 1.55; color: var(--ink-55); }
.ag-proposal :where(.water-five, .pipeline, .af-flow) :where(h3, strong, b) { display: block; margin-top: 1rem; font-size: 1.15rem; color: var(--navy); }
.ag-proposal :where(.water-five, .pipeline, .af-flow) :where(p, small) { margin-top: .7rem; font-size: .85rem; }
.ag-proposal :where(.split-detail, .big-figure-row, .calculation, .energy-two, .af-dual-panel, .af-quad, .af-formula-row, .af-two-columns, .af-nft-foot, .af-nft-parameters, .anchor-split, .risk-table) { display: grid; grid-template-columns: 1fr 1fr; gap: 1.8rem; }
.ag-proposal .fine-list { list-style: none; padding: 0; }
.ag-proposal .fine-list li { padding-block: .85rem; border-bottom: 1px solid var(--line); color: var(--ink-70); font-size: .92rem; line-height: 1.6; }
.ag-proposal :where(.statement, .af-alert, .af-safety, .af-finance, .af-country-head, .closing-cta) { padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: var(--radius-sm); }
.ag-proposal :where(.statement.dark, .af-alert, .af-safety, .af-finance, .af-country-head, .closing-cta) { background: var(--navy); color: #fff; }
.ag-proposal :is(.statement.dark, .af-alert, .af-safety, .af-finance, .af-country-head, .closing-cta) :is(span, strong, .eyebrow) { color: #BDDCC7; }
.ag-proposal :is(.statement.dark, .af-alert, .af-safety, .af-finance, .af-country-head, .closing-cta) :is(p, h3) { color: #fff; }
.ag-proposal :where(.statement > span, .af-alert > strong, .af-safety > span, .af-country-head > span, .closing-cta > span) { display: block; font: 600 .75rem/1.6 var(--font-body); letter-spacing: .055em; margin-bottom: .8rem; }
.ag-proposal .statement p { font: 500 clamp(1.3rem, 1.1rem + .7vw, 1.75rem)/1.5 var(--font-display); }
.ag-proposal .statement.pale { background: var(--green-050); border-left: 3px solid var(--green-600); }
.ag-proposal .dominant-figure { padding: 2.3rem; background: var(--green-050); border-radius: var(--radius-sm); }
.ag-proposal .dominant-figure strong { display: block; font-size: clamp(4rem, 6vw, 6.5rem); color: var(--navy); line-height: 1; letter-spacing: -.06em; }
.ag-proposal .dominant-figure > span { display: block; font-size: 1.5rem; color: var(--green-600); margin-top: .5rem; }
.ag-proposal .dominant-figure small { display: block; margin-top: 1.5rem; max-width: 45ch; color: var(--ink-55); font-size: .86rem; line-height: 1.7; }
.ag-proposal .figure-facts { display: grid; gap: .8rem; }
.ag-proposal .figure-facts > div { border-bottom: 1px solid var(--line-strong); padding: 1rem; }
.ag-proposal .figure-facts b { display: block; font-size: 1.55rem; color: var(--navy); }
.ag-proposal .figure-facts span { display: block; color: var(--ink-55); font-size: .85rem; margin-top: .5rem; }
.ag-proposal .calculation { padding-block: 1.5rem; border-bottom: 1px solid var(--line); }
.ag-proposal .calculation span { display: block; font-size: .75rem; color: var(--green-600); font-weight: 600; margin-bottom: .7rem; }
.ag-proposal .calculation strong { font-size: .93rem; line-height: 1.6; color: var(--navy); }
.ag-proposal .insight { border-left: 3px solid var(--green-600); padding-left: 1.5rem; }
.ag-proposal .insight-label { color: var(--green-600); font-size: .75rem; font-weight: 600; margin-bottom: .5rem; }
.ag-proposal .insight p { color: var(--navy); }
.ag-proposal :where(.af-soil-plot, .af-network-figure, .af-nft-diagram, .solar-diagram) { border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--green-050); overflow-x: auto; }
.ag-proposal :where(.af-soil-figure, .af-network-figure, .af-nft-diagram, .solar-diagram) svg { display: block; width: 100%; height: auto; }
.ag-proposal svg text { font-family: var(--font-body); }
.ag-proposal :where(.af-six, .af-country-grid, .af-methods, .energy-spec, .module-row, .kpi-grid, .capability-grid, .reg-wrap, .af-maintenance) { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
.ag-proposal :where(.af-six, .af-country-grid, .module-row, .capability-grid) > div { padding: 1.4rem; border: 1px solid var(--line); background: #fff; }
.ag-proposal :where(.af-six, .af-country-grid, .module-row) :where(span, b) { display: block; }
.ag-proposal :where(.af-six, .af-country-grid, .module-row) span { font-size: .8rem; color: var(--green-600); margin-bottom: .7rem; }
.ag-proposal :where(.af-six, .af-country-grid) b { color: var(--navy); font-size: 1rem; }
.ag-proposal :where(.af-six, .af-country-grid, .module-row) p { margin-top: .7rem; font-size: .9rem; }
.ag-proposal .af-method { display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid var(--line); background: #fff; }
.ag-proposal .af-method.featured { background: var(--green-050); border-color: #B9D7C4; }
.ag-proposal .af-method-number { display: flex; align-items: baseline; gap: .65rem; color: var(--green-600); font-size: 1.1rem; font-weight: 600; }
.ag-proposal .af-method-number span { font-size: .65rem; line-height: 1.5; letter-spacing: .025em; }
.ag-proposal .af-method h3 { margin-top: 1rem; }
.ag-proposal .af-method svg { display: block; width: 100%; height: auto; margin-block: 1.5rem; }
.ag-proposal .af-method p { font-size: .9rem; margin-bottom: 1.5rem; }
.ag-proposal .af-method-foot { border-top: 1px solid var(--line-strong); padding-top: 1rem; margin-top: auto; }
.ag-proposal .af-method-foot b { display: block; color: var(--green-600); font-size: .72rem; margin-bottom: .6rem; }
.ag-proposal .af-method-foot span { display: block; color: var(--ink-70); font-size: .85rem; line-height: 1.6; }
.ag-proposal :where(.af-dual-panel, .af-quad) > div { border-left: 2px solid var(--green-600); background: var(--green-050); padding: 1.4rem 1.5rem; }
.ag-proposal :where(.af-dual-panel b, .af-quad span) { display: block; font-size: .75rem; color: var(--green-600); letter-spacing: .04em; }
.ag-proposal .af-quad b { display: block; font-size: 1rem; color: var(--navy); margin-top: .65rem; }
.ag-proposal :where(.af-dual-panel, .af-quad) p { margin-top: .7rem; font-size: .9rem; }
.ag-proposal .closing-line { font: 500 clamp(1.25rem, 1.1rem + .5vw, 1.65rem)/1.55 var(--font-display); color: var(--navy); border-left: 3px solid var(--green-600); padding-left: 1.5rem; }
.ag-proposal .af-formula-main { padding: 2rem; background: var(--navy); color: #fff; border-radius: var(--radius-sm); }
.ag-proposal .af-formula-main.secondary { background: var(--green-050); color: var(--navy); }
.ag-proposal .af-formula-main span { display: block; font-size: .75rem; font-weight: 600; }
.ag-proposal .af-formula-main strong { display: block; margin-top: 1.2rem; font-size: clamp(1.6rem, 1.1rem + 1.4vw, 2.4rem); line-height: 1.3; }
.ag-proposal .af-formula-main small { display: block; margin-top: 1rem; font-size: .88rem; line-height: 1.65; }
.ag-proposal .af-moisture { border: 1px solid var(--line); padding: 1.7rem; background: #fff; }
.ag-proposal .af-moisture-title { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .6rem 1rem; font-size: .85rem; color: var(--navy); }
.ag-proposal .af-moisture-title span { color: var(--ink-55); }
.ag-proposal .af-moisture-meter { display: flex; min-height: 72px; margin-top: 1.5rem; border-radius: var(--radius-sm); overflow: hidden; }
.ag-proposal .af-band { display: flex; align-items: center; justify-content: center; text-align: center; padding: .7rem; font-size: .75rem; font-weight: 600; color: #20362B; }
.ag-proposal .af-band.dry { background: #E4D3B9; width: 24%; }
.ag-proposal .af-band.optimum { background: #AFCDA9; width: 57%; }
.ag-proposal .af-band.full { background: #C4DBE0; width: 19%; }
.ag-proposal .af-moisture-notes { display: grid; grid-template-columns: 24fr 57fr 19fr; gap: .5rem; margin-top: .7rem; font-size: .75rem; color: var(--ink-55); line-height: 1.5; }
.ag-proposal .af-moisture-notes > :last-child { text-align: right; }
.ag-proposal :where(.af-four-steps, .af-nft-step, .af-validation-grid, .delivery-band) { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.1rem; }
.ag-proposal :where(.af-four-steps, .af-nft-step, .delivery-band) > div { border-top: 2px solid var(--green-600); padding: 1.4rem; background: var(--green-050); }
.ag-proposal :where(.af-four-steps, .af-nft-step, .delivery-band) span { display: block; font-size: .8rem; color: var(--green-600); margin-bottom: 1rem; }
.ag-proposal :where(.af-four-steps, .af-nft-step) b { display: block; color: var(--navy); font-size: 1rem; }
.ag-proposal :where(.af-four-steps, .delivery-band) p { margin-top: .7rem; font-size: .88rem; }
.ag-proposal .af-nft-step small { display: block; margin-top: .65rem; color: var(--ink-55); font-size: .85rem; line-height: 1.6; }
.ag-proposal .af-featurebox { padding: 1.8rem; border: 1px solid var(--line); background: #fff; }
.ag-proposal .af-featurebox > span { display: block; font-size: .75rem; color: var(--green-600); font-weight: 600; }
.ag-proposal .af-featurebox h3 { margin-block: 1.2rem; }
.ag-proposal .af-featurebox p { font-size: .93rem; }
.ag-proposal .af-featurebox ul { padding-left: 1.2rem; margin-top: 1.2rem; color: var(--ink-70); font-size: .88rem; line-height: 1.9; }
.ag-proposal .af-validation { padding: 1.8rem; background: var(--green-050); }
.ag-proposal .af-validation-grid { margin-top: 1.2rem; }
.ag-proposal .af-validation-grid > div { border-top: 1px solid var(--line-strong); padding-top: .9rem; }
.ag-proposal .af-validation-grid b { display: block; color: var(--navy); font-size: 1rem; }
.ag-proposal .af-validation-grid span { display: block; font-size: .82rem; line-height: 1.6; margin-top: .5rem; color: var(--ink-55); }
.ag-proposal :where(.af-maintenance, .energy-spec) > div { border-top: 2px solid var(--line-strong); padding-top: 1rem; }
.ag-proposal :where(.af-maintenance span, .energy-spec b) { color: var(--green-600); font-size: .75rem; font-weight: 600; }
.ag-proposal .af-maintenance p { font-size: .9rem; margin-top: .7rem; }
.ag-proposal .af-salinity-chart { display: grid; grid-template-columns: .85fr 1.2fr; gap: 1.5rem; padding: 2rem; background: var(--green-050); }
.ag-proposal .af-salinity-left > span { color: var(--green-600); font-size: .75rem; font-weight: 600; }
.ag-proposal .af-salinity-left h3 { margin-block: 1rem; }
.ag-proposal .af-salinity-left p { font-size: .9rem; }
.ag-proposal .af-salinity-right { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; align-items: center; }
.ag-proposal .af-salinity-right > div { position: relative; border: 1px solid var(--line); padding: 1.5rem 1rem; background: #fff; height: 100%; }
.ag-proposal .af-salinity-right b { display: block; color: var(--navy); font-size: .92rem; }
.ag-proposal .af-salinity-right small { display: block; margin-top: 1rem; color: var(--ink-55); font-size: .82rem; line-height: 1.6; }
.ag-proposal .af-salinity-right > div:not(:last-child)::after { content: '›'; position: absolute; right: -.65rem; top: 40%; color: var(--green-600); font-size: 1.6rem; z-index: 1; }
.ag-proposal .wide-photo { position: relative; height: clamp(250px, 35vw, 440px); overflow: hidden; border-radius: var(--radius-sm); }
.ag-proposal :where(.wide-photo, .photo-duo) img { width: 100%; height: 100%; object-fit: cover; }
.ag-proposal .wide-photo::after, .ag-proposal .photo-duo > div::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(14,42,80,.8), transparent 70%); }
.ag-proposal .wide-photo > div { position: absolute; bottom: 1.7rem; left: 1.7rem; right: 1.7rem; z-index: 1; color: #fff; }
.ag-proposal .wide-photo b { display: block; font-size: .75rem; }
.ag-proposal .wide-photo span { display: block; font: 500 1.6rem/1.3 var(--font-display); margin-top: .6rem; }
.ag-proposal .af-nft-foot > div { border-top: 2px solid var(--line-strong); padding-top: 1rem; }
.ag-proposal .af-nft-foot span, .ag-proposal .af-nft-parameters span { font-size: .75rem; color: var(--green-600); font-weight: 600; }
.ag-proposal .af-nft-foot h3 { margin-top: 1rem; }
.ag-proposal :where(.af-nft-foot, .af-nft-parameters) p { font-size: .92rem; margin-top: .7rem; }
.ag-proposal .af-nft-parameters > div { border-bottom: 1px solid var(--line); padding-block: 1rem; }
.ag-proposal .af-nft-parameters b { display: block; color: var(--navy); font-size: 1rem; margin-top: .6rem; }
.ag-proposal .photo-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.ag-proposal .photo-duo > div { position: relative; height: clamp(380px, 41vw, 530px); border-radius: var(--radius-sm); overflow: hidden; }
.ag-proposal .photo-duo > div > div { position: absolute; bottom: 2rem; left: 2rem; right: 2rem; z-index: 1; color: #fff; }
.ag-proposal .photo-duo b { display: block; font: 500 2.5rem/1 var(--font-display); }
.ag-proposal .photo-duo span { display: block; margin-top: 1rem; font-size: .85rem; font-weight: 600; }
.ag-proposal .photo-duo small { display: block; max-width: 44ch; margin-top: .8rem; font-size: .9rem; line-height: 1.65; }
.ag-proposal .balance-band { display: grid; grid-template-columns: 1fr 2rem 1fr; gap: 1rem; align-items: center; }
.ag-proposal .balance-band > div:not(.balance-symbol) { border-top: 1px solid var(--line-strong); padding-top: 1rem; }
.ag-proposal .balance-band span { display: block; font-size: .7rem; color: var(--green-600); margin-bottom: .6rem; }
.ag-proposal .balance-band strong { color: var(--navy); font-size: .95rem; }
.ag-proposal .balance-symbol { font-size: 2rem; text-align: center; color: var(--green-600); }
.ag-proposal .hero-finish { margin-top: 1.6rem; font: 500 1.5rem/1.6 var(--font-display); color: var(--navy); }
.ag-proposal .energy-two > div { border: 1px solid var(--line); padding: 1.8rem; background: #fff; }
.ag-proposal .energy-two span { color: var(--green-600); font-size: .75rem; font-weight: 600; }
.ag-proposal .energy-two h3 { margin-block: 1rem; }
.ag-proposal .energy-two p { font-size: .92rem; }
.ag-proposal .energy-spec span { display: block; color: var(--ink-55); font-size: .9rem; line-height: 1.65; margin-top: .7rem; }
.ag-proposal .pilot-hero { display: grid; grid-template-columns: 1fr 2.5rem 1fr; gap: 1rem; align-items: center; }
.ag-proposal .pilot-hero > div:not(.pilot-plus) { padding: 2rem; background: var(--green-050); height: 100%; }
.ag-proposal .pilot-hero span { display: block; font-size: .75rem; color: var(--green-600); font-weight: 600; }
.ag-proposal .pilot-hero strong { display: block; margin-top: 1rem; color: var(--navy); font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.3; }
.ag-proposal .pilot-hero strong small { font-size: .5em; }
.ag-proposal .pilot-hero p { margin-top: .6rem; font-size: .9rem; }
.ag-proposal .pilot-plus { text-align: center; font-size: 2rem; color: var(--green-600); }
.ag-proposal .kpi-grid > div { padding: 1.3rem; border-bottom: 1px solid var(--line-strong); }
.ag-proposal .kpi-grid b { display: block; color: var(--navy); font-size: 1.2rem; }
.ag-proposal .kpi-grid span { display: block; color: var(--ink-55); margin-top: .5rem; font-size: .85rem; line-height: 1.6; }
.ag-proposal .delivery-band h3 { font-size: 1.55rem; }
.ag-proposal .anchor-split { padding-block: 2rem; border-block: 1px solid var(--line-strong); }
.ag-proposal .big-quote { color: var(--navy); font: 500 2rem/1.45 var(--font-display); }
.ag-proposal .anchor-split p:not(.big-quote) { margin-top: 1rem; font-size: .93rem; }
.ag-proposal .capability-grid > div { color: var(--navy); font-size: .9rem; line-height: 1.6; }
.ag-proposal .risk-table > div { border-bottom: 1px solid var(--line); padding-block: 1.2rem; }
.ag-proposal .risk-table strong { color: var(--navy); font-size: 1.05rem; }
.ag-proposal .risk-table p { font-size: .93rem; margin-top: .7rem; }
.ag-proposal .reg-wrap > div { background: var(--green-050); padding: 1.5rem; }
.ag-proposal .reg-wrap h3 { margin-block: 1rem; font-size: 1.45rem; }
.ag-proposal .reg-wrap p { font-size: .9rem; }
.ag-proposal .roadmap > div { display: grid; grid-template-columns: 3rem .9fr 1.3fr; gap: 1.5rem; align-items: baseline; padding-block: 1.4rem; border-top: 1px solid var(--line-strong); }
.ag-proposal .roadmap > div > span { color: var(--green-600); font: 500 1.8rem var(--font-display); }
.ag-proposal .roadmap h3 { font-size: 1.45rem; }
.ag-proposal .roadmap p { font-size: .92rem; }
.ag-proposal .af-finance h3 { font-size: 2rem; }
.ag-proposal .af-finance p { margin-top: 1rem; }
.ag-proposal .af-finance-chips { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }
.ag-proposal .af-finance-chips span { padding: .75rem 1rem; background: rgba(255,255,255,.1); color: #fff; font-size: .82rem; }
.ag-proposal .af-country-head p { font: 500 1.6rem/1.6 var(--font-display); max-width: 70ch; }
.ag-proposal .closing-cta h3 { font-size: clamp(1.6rem, 1.2rem + 1.1vw, 2.3rem); max-width: 40ch; margin-block: 1rem; }
.ag-proposal .closing-cta p { max-width: 76ch; }
.ag-proposal .proposal-contact { padding-block: 2.5rem; }
.ag-proposal .proposal-related { display: flex; flex-wrap: wrap; gap: 1rem 2rem; padding-bottom: 3rem; font-size: .9rem; color: var(--navy); }
.ag-proposal .proposal-related a { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 1000px) {
  .ag-proposal .proposal-cover-grid { grid-template-columns: 1.1fr 1fr; gap: 2rem; }
  .ag-proposal .cover-image { min-height: 560px; }
  .ag-proposal :where(.water-five, .pipeline, .af-flow) { grid-template-columns: repeat(3, 1fr); }
  .ag-proposal :where(.af-six, .af-country-grid, .energy-spec, .module-row, .kpi-grid, .capability-grid, .reg-wrap) { grid-template-columns: repeat(2, 1fr); }
  .ag-proposal :where(.af-four-steps, .af-nft-step, .af-validation-grid, .delivery-band) { grid-template-columns: repeat(2, 1fr); }
  .ag-proposal .af-salinity-chart { grid-template-columns: 1fr; }
  .ag-proposal .af-methods { gap: .8rem; }
  .ag-proposal .af-method { padding: 1.1rem; }
  .ag-proposal .af-method-number { flex-wrap: wrap; }
  .ag-proposal .af-method h3 { font-size: 1.4rem; }
}
@media (max-width: 700px) {
  .ag-proposal .proposal-cover-grid { display: block; }
  .ag-proposal .cover-main { padding-bottom: 2rem; }
  .ag-proposal .cover-image { min-height: 0; height: 360px; }
  .ag-proposal .cover-image img { object-position: 50% 62%; }
  .ag-proposal .cover-bottom { align-items: start; }
  .ag-proposal .cover-bottom > div { flex-direction: column; }
  .ag-proposal .cover h1 { font-size: clamp(2.65rem, 8.5vw, 3.7rem); }
  .ag-proposal .proposal-nav a { min-height: 52px; font-size: .78rem; }
  .ag-proposal :where(.split-detail, .big-figure-row, .calculation, .energy-two, .af-dual-panel, .af-quad, .af-formula-row, .af-two-columns, .af-nft-foot, .af-nft-parameters, .anchor-split, .risk-table, .af-methods, .photo-duo, .af-maintenance, .reg-wrap, .energy-spec) { grid-template-columns: 1fr; gap: 1.4rem; }
  .ag-proposal :where(.water-five, .pipeline, .af-flow, .af-six, .af-country-grid, .module-row, .capability-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .ag-proposal :where(.water-five, .pipeline, .af-flow) > div { padding: 1rem .8rem; }
  .ag-proposal :where(.water-five, .pipeline, .af-flow) :where(h3, strong, b) { font-size: 1rem; }
  .ag-proposal :where(.af-six, .af-country-grid, .module-row, .capability-grid) > div { padding: 1rem; }
  .ag-proposal :where(.af-four-steps, .af-nft-step, .af-validation-grid, .delivery-band, .kpi-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
  .ag-proposal :where(.af-four-steps, .af-nft-step, .delivery-band) > div { padding: 1.1rem; }
  .ag-proposal .af-method { padding: 1.6rem; }
  .ag-proposal .af-method svg { max-height: 150px; }
  .ag-proposal :where(.af-soil-figure, .af-network-figure, .af-nft-diagram) svg { min-width: 620px; }
  .ag-proposal .solar-diagram svg { min-width: 650px; }
  .ag-proposal .af-moisture { padding: 1.1rem; }
  .ag-proposal .af-band { font-size: .6rem; padding: .3rem; overflow-wrap: anywhere; }
  .ag-proposal .af-moisture-notes { font-size: .65rem; }
  .ag-proposal .af-salinity-chart { padding: 1.3rem; }
  .ag-proposal .af-salinity-right { grid-template-columns: 1fr; }
  .ag-proposal .af-salinity-right > div { padding: 1rem; }
  .ag-proposal .af-salinity-right small { margin-top: .5rem; }
  .ag-proposal .af-salinity-right > div:not(:last-child)::after { content: '⌄'; right: 50%; top: auto; bottom: -.9rem; }
  .ag-proposal .balance-band, .ag-proposal .pilot-hero { grid-template-columns: 1fr; }
  .ag-proposal .pilot-hero > div:not(.pilot-plus) { padding: 1.5rem; }
  .ag-proposal .photo-duo > div { height: 390px; }
  .ag-proposal .photo-duo > div > div { left: 1.5rem; right: 1.5rem; bottom: 1.5rem; }
  .ag-proposal .roadmap > div { grid-template-columns: 2.5rem 1fr; gap: .8rem; }
  .ag-proposal .roadmap p { grid-column: 2; }
}
@media (max-width: 360px) {
  .ag-proposal :where(.water-five, .pipeline, .af-flow, .af-six, .af-country-grid, .module-row, .capability-grid, .af-four-steps, .af-nft-step, .af-validation-grid, .delivery-band, .kpi-grid) { grid-template-columns: 1fr; }
}
@media print {
  .ag-proposal .proposal-nav, .ag-proposal .proposal-actions, .ag-proposal .proposal-contact, .ag-proposal .proposal-related { display: none; }
  .ag-proposal .proposal-section { padding-block: 2rem; break-inside: auto; }
  .ag-proposal :where(.af-method, .statement, .af-formula-main, .closing-cta) { break-inside: avoid; }
}
