/* ============================================================
   FRANENSA Dominican Republic — V11 Preview 06
   Downstream visual system only. Hero, header and #platform are frozen.
   ============================================================ */

/* Editorial depth after the approved Country Platform */
#routes .section-heading,#ma .section-heading,#territory .section-heading,#capabilities .section-heading,
#grid .section-heading,#generation .section-heading,#market .section-heading,#regulatory .section-heading,
#partnerships .section-heading{margin-bottom:50px}

#routes.section-film.dark:after{background:linear-gradient(90deg,rgba(4,18,33,.86),rgba(4,18,33,.57) 53%,rgba(4,18,33,.74))}
#routes .film-layer video{opacity:.56;filter:saturate(1.02) contrast(1.04) brightness(.86)}
#routes .route-grid{gap:18px}
#routes .visual-card{min-height:470px;border:1px solid rgba(255,255,255,.12);background-image:linear-gradient(180deg,rgba(6,29,53,.02) 15%,rgba(6,29,53,.22) 48%,rgba(6,29,53,.88) 100%),var(--bg)!important;box-shadow:0 26px 70px rgba(2,16,29,.28);transition:transform .28s ease,box-shadow .28s ease}
#routes .visual-card:hover{transform:translateY(-6px);box-shadow:0 32px 84px rgba(2,16,29,.35)}
#routes .visual-card h3{font-size:2.55rem;text-shadow:0 3px 22px rgba(0,0,0,.34)}
#routes .visual-card p{max-width:30ch}

/* Investment / M&A: asset imagery is the surface, not a tinted placeholder */
#ma.section-film.light:after{background:linear-gradient(90deg,rgba(247,249,251,.88),rgba(247,249,251,.68) 52%,rgba(247,249,251,.82))}
#ma .film-layer video{opacity:.34;filter:saturate(.92) contrast(1.02)}
#ma .maturity-grid{gap:18px}
#ma .maturity-card{min-height:320px;padding:28px;border:1px solid rgba(255,255,255,.44);background-image:linear-gradient(180deg,rgba(5,21,38,.02) 8%,rgba(5,21,38,.18) 46%,rgba(5,21,38,.88) 100%),var(--bg)!important;box-shadow:0 22px 60px rgba(6,29,53,.15)}
#ma .maturity-card b{margin-top:174px;font-size:1.62rem}
#ma .maturity-card span{display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;background:rgba(6,29,53,.70);border:1px solid rgba(255,255,255,.24);color:#ff9a64}
#ma .maturity-detail{background:rgba(255,255,255,.90);backdrop-filter:blur(16px);box-shadow:0 24px 70px rgba(6,29,53,.10)}

/* Territory: real country geometry + georeferenced reference nodes */
#territory.section-film.light:after{background:linear-gradient(90deg,rgba(247,249,251,.87),rgba(247,249,251,.63) 48%,rgba(247,249,251,.82))}
#territory .film-layer video{opacity:.34;filter:saturate(.90) contrast(1.03)}
#territory .territory-layout{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:28px;align-items:stretch}
#territory .rd-map-shell{border-radius:32px;background:#051a2e;box-shadow:0 30px 88px rgba(6,29,53,.20)}
#territory .map-head{height:auto;min-height:82px;padding:18px 22px;background:linear-gradient(135deg,#0b2d4b,#061d35)}
#territory .rd-region-filter-row{padding:13px 18px 14px;background:#061d35}
#territory .rd-region-filter{padding:7px 10px;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.14)}
#territory .map-image-wrap.rd-interactive-map{min-height:610px;background:radial-gradient(circle at 72% 24%,rgba(255,90,10,.10),transparent 24%),linear-gradient(180deg,#092b49 0%,#061c32 100%);display:block}
#territory .rd-country-svg-v5{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:visible}
#territory .rd-map-graticule path{fill:none;stroke:rgba(255,255,255,.035);stroke-width:1}
#territory .rd-country-land{fill:url(#rdLand);stroke:rgba(255,255,255,.16);stroke-width:2.2}
#territory .rd-country-coast{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.1;vector-effect:non-scaling-stroke}
#territory .map-tint{z-index:2;background:radial-gradient(circle at 64% 48%,transparent 0,rgba(3,15,27,.08) 54%,rgba(3,15,27,.22) 100%);pointer-events:none}
#territory .rd-province-nodes{position:relative;z-index:4}
#territory .rd-country-svg-v5 .province-node{position:static;transform-box:fill-box;width:auto;height:auto;background:none;padding:0;outline:none;opacity:1;pointer-events:auto;cursor:pointer;transition:opacity .18s ease}
#territory .rd-country-svg-v5 .province-node.filtered-out{opacity:.12;pointer-events:none}
#territory .rd-country-svg-v5 .province-halo{fill:rgba(255,255,255,.03);stroke:rgba(255,255,255,.11);stroke-width:1;transition:r .18s ease,fill .18s ease,stroke .18s ease}
#territory .rd-country-svg-v5 .province-dot{fill:var(--node-color,#dce8ef);stroke:#fff;stroke-width:2.2;filter:drop-shadow(0 5px 6px rgba(0,0,0,.42));transition:r .18s ease,fill .18s ease}
#territory .rd-country-svg-v5 .province-node:hover .province-halo,
#territory .rd-country-svg-v5 .province-node:focus-visible .province-halo,
#territory .rd-country-svg-v5 .province-node.active .province-halo{r:19;fill:rgba(255,90,10,.16);stroke:rgba(255,146,89,.64)}
#territory .rd-country-svg-v5 .province-node:hover .province-dot,
#territory .rd-country-svg-v5 .province-node:focus-visible .province-dot,
#territory .rd-country-svg-v5 .province-node.active .province-dot{r:8;fill:#ff5a0a}
#territory .rd-country-svg-v5 .province-platform .province-halo{r:18;fill:rgba(255,90,10,.16);stroke:rgba(255,146,89,.55)}
#territory .rd-country-svg-v5 .province-platform .province-dot{r:7;fill:#ff5a0a}
#territory .map-source{padding:11px 18px;background:#04182a;color:#91a8b9;letter-spacing:.015em}
#territory .territory-detail{min-height:100%;background-image:linear-gradient(180deg,rgba(255,255,255,.80),rgba(255,255,255,.95)),var(--bg)!important;background-position:center;background-size:cover;box-shadow:0 28px 78px rgba(6,29,53,.12)}
#territory .province-browser{background:rgba(245,248,251,.90);backdrop-filter:blur(12px)}

/* Capabilities: stronger media split and tangible cards */
#capabilities.section-film.light:after{background:linear-gradient(90deg,rgba(247,249,251,.88),rgba(247,249,251,.70) 50%,rgba(247,249,251,.83))}
#capabilities .film-layer video{opacity:.34}
#capabilities .cap-stats{background:rgba(255,255,255,.78);box-shadow:0 16px 52px rgba(6,29,53,.08)}
#capabilities .cap-tabs button{background:rgba(255,255,255,.76);backdrop-filter:blur(10px);transition:.2s}
#capabilities .cap-tabs button:hover{transform:translateY(-2px);border-color:#f5ad83}
#capabilities .cap-panel{background:rgba(255,255,255,.80);backdrop-filter:blur(14px);box-shadow:0 24px 72px rgba(6,29,53,.10)}
#capabilities .cap-side{min-height:420px;background-image:linear-gradient(180deg,rgba(6,29,53,.20),rgba(6,29,53,.92)),var(--cap-bg)!important;display:flex;flex-direction:column;justify-content:flex-end}
#capabilities .cap-list{gap:12px}
#capabilities .cap-list .cap-visual{min-height:145px;background-image:linear-gradient(180deg,rgba(6,29,53,.07),rgba(6,29,53,.80)),var(--bg)!important;box-shadow:0 14px 36px rgba(6,29,53,.10)}

/* Grid / generation: infrastructure-first visual hierarchy */
#grid.section-film.dark:after{background:linear-gradient(90deg,rgba(4,18,33,.90),rgba(4,18,33,.58) 54%,rgba(4,18,33,.78))}
#grid .film-layer video{opacity:.60;filter:saturate(.96) contrast(1.06) brightness(.85)}
#grid .grid-visuals{grid-template-columns:1.15fr .85fr .85fr 1.15fr;gap:16px}
#grid .grid-visuals article{min-height:420px;background-image:linear-gradient(180deg,rgba(3,17,30,.02) 8%,rgba(3,17,30,.18) 48%,rgba(3,17,30,.88)),var(--bg)!important;border:1px solid rgba(255,255,255,.12);box-shadow:0 26px 74px rgba(1,11,20,.30)}
#grid .grid-visuals h3{font-size:2rem}
#generation.section-film.light:after{background:linear-gradient(90deg,rgba(247,249,251,.88),rgba(247,249,251,.67) 50%,rgba(247,249,251,.84))}
#generation .film-layer video{opacity:.40;filter:saturate(1.02) contrast(1.03)}
#generation .energy-flow{gap:14px}
#generation .energy-flow article.energy-node{min-height:230px;padding:26px;background-image:linear-gradient(180deg,rgba(4,20,36,.05),rgba(4,20,36,.85)),var(--bg)!important;border:1px solid rgba(255,255,255,.20);box-shadow:0 18px 52px rgba(6,29,53,.15);color:#fff;justify-content:flex-end}
#generation .energy-flow article.energy-node span{color:#dce7ee}
#generation .generation-foot{background:rgba(255,255,255,.88);backdrop-filter:blur(10px);box-shadow:0 22px 70px rgba(6,29,53,.11)}

/* Still-backed editorial sections: less washout, deeper cards */
#market.still-section-bg:before,#procurement.still-section-bg:before,#regulatory.still-section-bg:before,
#partnerships.still-section-bg:before,#charging.still-section-bg:before{background-image:linear-gradient(90deg,rgba(247,249,251,.90) 0%,rgba(247,249,251,.72) 50%,rgba(247,249,251,.80) 100%),var(--section-bg);background-position:center;background-size:cover}
#market .market-grid{grid-template-columns:1.15fr .85fr .85fr 1.15fr;gap:16px}
#market .market-grid article{min-height:410px;background-image:linear-gradient(180deg,rgba(4,20,36,.02),rgba(4,20,36,.82)),var(--bg)!important;box-shadow:0 22px 64px rgba(6,29,53,.16)}
#market .market-grid article:hover,#procurement .procurement-cards article:hover,#partnerships .partner-grid article:hover{transform:translateY(-4px)}
#market .market-grid article,#procurement .procurement-cards article,#partnerships .partner-grid article{transition:transform .24s ease,box-shadow .24s ease}

#procurement .procurement-layout{gap:18px}
#procurement .procurement-copy{position:relative;overflow:hidden;isolation:isolate;background-image:linear-gradient(135deg,rgba(6,29,53,.90),rgba(6,29,53,.75)),url('images/rd-04.webp');background-size:cover;background-position:center;box-shadow:0 26px 78px rgba(6,29,53,.18)}
#procurement .procurement-copy>*{position:relative;z-index:2}
#procurement .procurement-cards{gap:16px}
#procurement .procurement-cards article{min-height:300px;background-image:linear-gradient(180deg,rgba(4,20,36,.02),rgba(4,20,36,.84)),var(--bg)!important;box-shadow:0 18px 54px rgba(6,29,53,.15)}

#regulatory .asset-core{background-image:linear-gradient(90deg,rgba(6,29,53,.91),rgba(6,29,53,.72)),url('images/rd-22.webp');background-size:cover;background-position:center;box-shadow:0 20px 64px rgba(6,29,53,.15)}
#regulatory .institution-orbit .institution-visual{min-height:150px;background-image:linear-gradient(180deg,rgba(4,20,36,.04),rgba(4,20,36,.82)),var(--bg)!important;box-shadow:0 16px 44px rgba(6,29,53,.10)}
#regulatory .institution-detail{background:rgba(255,255,255,.90);backdrop-filter:blur(12px);box-shadow:0 22px 64px rgba(6,29,53,.10)}

#partnerships .partner-grid{gap:16px}
#partnerships .partner-grid article{min-height:360px;border:1px solid rgba(255,255,255,.38);box-shadow:0 20px 62px rgba(6,29,53,.14)}
#partnerships .partner-grid article>img{height:100%}
#partnerships .partner-grid article:first-child:after{background:linear-gradient(180deg,rgba(6,29,53,.02),rgba(6,29,53,.84))!important}
#partnerships .partner-graphic{background-image:linear-gradient(180deg,rgba(6,29,53,.03),rgba(6,29,53,.86)),var(--bg)!important}
#partnerships .partner-graphic:before,#partnerships .partner-graphic:after{display:none!important}

/* Mobility: real electrical infrastructure; decorative EV graphics are subordinate */
#charging .charging-card{box-shadow:0 28px 82px rgba(6,29,53,.14);background:rgba(255,255,255,.91);backdrop-filter:blur(12px)}
#charging .charging-visual{min-height:540px}
#charging .charging-photo{background-image:linear-gradient(145deg,rgba(8,35,62,.08),rgba(6,29,53,.36)),url('images/rd-05.webp')!important;background-position:center!important}
#charging .charging-grid-lines{opacity:.08}
#charging .charging-symbol{display:none}
#charging .charging-ring{opacity:.38}

/* Contact: full-section infrastructure context, then actionable routes */
#contact.dark-contact{background:#061d35;color:#fff}
#contact.dark-contact:before{background-image:linear-gradient(90deg,rgba(3,16,29,.94),rgba(3,16,29,.68) 54%,rgba(3,16,29,.84)),var(--contact-bg);background-size:cover;background-position:center;opacity:1;mask-image:none}
#contact .contact-shell{background:rgba(5,25,43,.74);backdrop-filter:blur(12px);box-shadow:0 30px 90px rgba(0,0,0,.30)}
#contact .contact-main.contact-visual{background-image:linear-gradient(90deg,rgba(6,29,53,.78),rgba(6,29,53,.60)),var(--bg)!important}
#contact .contact-routes{background:rgba(245,248,251,.94)}
#contact .contact-route-visual{min-height:195px;background-image:linear-gradient(180deg,rgba(4,20,36,.06),rgba(4,20,36,.84)),var(--bg)!important;box-shadow:0 14px 38px rgba(6,29,53,.13)}

/* Responsive QA */
@media(max-width:1180px){
 #territory .territory-layout{grid-template-columns:1fr}
 #territory .territory-detail{min-height:420px}
 #grid .grid-visuals,#market .market-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
 #routes .visual-card,#ma .maturity-card,#grid .grid-visuals article,#market .market-grid article{min-height:360px}
 #ma .maturity-card b{margin-top:130px}
 #territory .map-image-wrap.rd-interactive-map{min-height:520px}
 #territory .map-head{align-items:flex-start;gap:12px;flex-direction:column}
 #territory .rd-region-filter-row{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
 #territory .rd-region-filter{flex:0 0 auto}
 #generation .energy-flow article.energy-node{min-height:190px}
}
@media(max-width:650px){
 #routes .visual-card,#ma .maturity-card,#grid .grid-visuals article,#market .market-grid article,#procurement .procurement-cards article,#partnerships .partner-grid article{min-height:330px}
 #ma .maturity-card b{margin-top:118px}
 #territory .map-image-wrap.rd-interactive-map{min-height:395px}
 #territory .map-head{padding:16px}
 #territory .map-legend{flex-wrap:wrap}
 #territory .rd-country-svg-v5{transform:scale(.98);transform-origin:center}
 #grid .grid-visuals,#market .market-grid{grid-template-columns:1fr}
 #charging .charging-visual{min-height:380px}
 #contact .contact-routes{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 #routes .visual-card,#market .market-grid article,#procurement .procurement-cards article,#partnerships .partner-grid article{transition:none!important}
}


/* ============================================================
   V6 targeted fixes — map interaction parity + capability copy visibility
   ============================================================ */
#territory .map-head b{font-size:1rem;letter-spacing:.01em}
#territory .map-head small{font-size:.78rem;color:#b9ccda}
#territory .rd-region-filter-row{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
#territory .rd-region-filter{color:#d9e7f0}
#territory .rd-region-filter.active{background:#fff;color:#07213b;border-color:#fff}
#territory .rd-country-svg-v5{z-index:3}
#territory .rd-country-svg-v5 .province-hit{fill:transparent;pointer-events:all}
#territory .rd-country-svg-v5 .province-node{outline:none}
#territory .rd-country-svg-v5 .province-node .province-halo{pointer-events:none}
#territory .rd-country-svg-v5 .province-node .province-dot{pointer-events:none}
#territory .rd-map-tooltip{position:absolute;left:22px;bottom:18px;z-index:5;display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border-radius:999px;background:rgba(3,16,29,.82);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.02em;backdrop-filter:blur(6px);opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}
#territory .rd-map-tooltip.visible{opacity:1;transform:translateY(0)}
#territory .territory-detail h3{font-size:2.5rem;line-height:.96}
#territory .territory-public b{font-size:1.08rem;line-height:1.25;color:#07213b}
#territory .province-browser{padding:26px 24px}
#territory .province-row button{font-size:10.5px;padding:8px 12px}
#territory .province-row button.active{background:#fff4ed;color:#bd4207;box-shadow:0 6px 18px rgba(255,90,10,.10)}

#capabilities .section-heading p{max-width:39rem;color:#5a7081}
#capabilities .cap-tabs button b{font-size:.95rem}
#capabilities .cap-side p{color:#d7e4ec}
#capabilities .cap-list{align-content:start}
#capabilities .cap-list .cap-visual{display:flex;flex-direction:column;justify-content:space-between}
#capabilities .cap-list .cap-visual .cap-item-toggle{position:relative;z-index:2;padding:18px 18px 10px 18px;grid-template-columns:32px 1fr 24px;align-items:start}
#capabilities .cap-list .cap-visual .cap-item-toggle b{font-size:1rem;color:#fff!important;line-height:1.25;text-shadow:0 1px 10px rgba(0,0,0,.24)}
#capabilities .cap-list .cap-visual .cap-item-toggle i{font-weight:900}
#capabilities .cap-list .cap-visual .cap-item-detail{display:block;max-height:0;overflow:hidden;padding:0 18px 0 58px;transition:max-height .22s ease,padding .22s ease;position:relative;z-index:2}
#capabilities .cap-list .cap-visual.open .cap-item-detail{max-height:180px;padding:0 18px 18px 58px}
#capabilities .cap-list .cap-visual .cap-item-detail p{color:#e8f1f6!important;line-height:1.55}
#capabilities .cap-list .cap-visual.open{box-shadow:0 18px 40px rgba(6,29,53,.16)}

@media(max-width:900px){
  #territory .rd-map-tooltip{left:16px;bottom:14px}
  #territory .province-browser{padding:22px 18px}
}
@media(max-width:650px){
  #territory .territory-detail h3{font-size:2.2rem}
  #capabilities .cap-list .cap-visual.open .cap-item-detail{max-height:220px}
}
