:root {
  --bg: #070b14;
  --bg-2: #0b1220;
  --card: #121a2b;
  --card-2: #172033;
  --line: #243049;
  --text: #e8eef7;
  --mute: #93a4bb;
  --body: #c5d0e0;
  --blue: #3d9bff;
  --blue-2: #1d7ae8;
  --cyan: #22d3ee;
  --green: #34d399;
  --red: #f87171;
  --amber: #fbbf24;
  --white: #fff;
  --light: #f4f7fb;
  --light-text: #122033;
  --light-mute: #5b6b80;
  --radius: 16px;
  --shadow: 0 20px 60px rgba(0,0,0,.35);
  --font: "Inter", "Segoe UI", system-ui, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  line-height: 1.55;
  min-height: 100vh;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font-family: inherit; }

.wrap { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.wrap-wide { width: min(1280px, calc(100% - 40px)); margin: 0 auto; }

/* NAV */
.nav {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(16px);
  background: rgba(7,11,20,.82);
  border-bottom: 1px solid var(--line);
}
.nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 72px; gap: 24px;
}
.logo {
  display: flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: .08em;
}
.logo-mark {
  width: 28px; height: 28px; border-radius: 8px;
  background: linear-gradient(135deg, #3d9bff, #7c5cff);
  display: grid; place-items: center; font-size: 13px; color: #fff;
}
.logo span { color: var(--mute); font-weight: 600; letter-spacing: .16em; font-size: 11px; margin-left: 6px; }
.nav-links { display: flex; gap: 22px; align-items: center; font-size: 14px; color: var(--body); }
.nav-links a:hover, .nav-links a.active { color: #fff; }
.nav-cta {
  display: flex; gap: 10px; align-items: center;
}
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 999px; padding: 12px 18px; font-weight: 650; font-size: 14px;
  border: 1px solid transparent; cursor: pointer; transition: .2s ease;
}
.btn-primary { background: linear-gradient(180deg, #4aa6ff, #2b86f0); color: #041226; }
.btn-primary:hover { transform: translateY(-1px); }
.btn-ghost { background: transparent; border-color: var(--line); color: #fff; }
.btn-ghost:hover { border-color: #4a5d7c; }
.btn-dark { background: #122033; color: #fff; }
.lang { font-size: 12px; color: var(--mute); border: 1px solid var(--line); padding: 8px 10px; border-radius: 999px; }

/* HERO */
.hero {
  padding: 72px 0 40px;
  background:
    radial-gradient(900px 420px at 80% 10%, rgba(61,155,255,.18), transparent 60%),
    radial-gradient(700px 400px at 10% 90%, rgba(124,92,255,.12), transparent 60%),
    var(--bg);
}
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 48px; align-items: center; }
.kicker {
  color: var(--cyan); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
}
h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.02; letter-spacing: -.03em; margin: 16px 0 18px; }
.lead { color: var(--body); font-size: 18px; max-width: 560px; }
.hero-actions { display: flex; gap: 12px; margin: 28px 0 18px; flex-wrap: wrap; }
.fine { color: var(--mute); font-size: 13px; }

.console {
  background: #0a101c; border: 1px solid var(--line); border-radius: 18px;
  box-shadow: var(--shadow); overflow: hidden;
}
.console-head {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 16px; border-bottom: 1px solid var(--line); color: var(--mute); font-size: 13px;
}
.dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); display: inline-block; margin-right: 8px; }
.alarm {
  display: grid; grid-template-columns: 84px 1fr 64px; gap: 10px; align-items: center;
  padding: 12px 16px; border-bottom: 1px solid rgba(36,48,73,.7);
}
.alarm:last-child { border-bottom: 0; }
.tag {
  font-size: 10px; font-weight: 800; letter-spacing: .06em; border-radius: 999px;
  padding: 5px 8px; text-align: center;
}
.tag-crit { background: rgba(248,113,113,.15); color: var(--red); }
.tag-high { background: rgba(251,191,36,.14); color: var(--amber); }
.tag-med { background: rgba(34,211,238,.12); color: var(--cyan); }
.alarm strong { display: block; font-size: 13px; }
.alarm small { color: var(--mute); font-size: 12px; }
.time { color: var(--mute); font-size: 12px; text-align: right; }
.console-foot { padding: 12px 16px; color: var(--mute); font-size: 12px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; }

/* SECTIONS */
section { padding: 84px 0; }
.section-head { margin-bottom: 32px; }
h2 { font-size: clamp(28px, 3.4vw, 44px); letter-spacing: -.03em; line-height: 1.1; margin: 10px 0 12px; }
.sub { color: var(--body); max-width: 680px; }

.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.metric {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px;
}
.metric b { display: block; font-size: 32px; letter-spacing: -.03em; margin-bottom: 6px; }
.metric span { color: var(--mute); font-size: 14px; }

.protocols {
  margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px;
}
.chip {
  border: 1px solid var(--line); color: var(--body); border-radius: 999px; padding: 8px 12px; font-size: 12px;
}

.arch { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.card {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px;
}
.num {
  width: 34px; height: 34px; border-radius: 50%; background: var(--blue); color: #041226;
  display: grid; place-items: center; font-weight: 800; margin-bottom: 14px;
}
.card h3 { font-size: 20px; margin-bottom: 8px; }
.card p { color: var(--body); font-size: 14px; }

.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.asset a { color: var(--blue); font-size: 13px; font-weight: 650; display: inline-block; margin-top: 14px; }
.label { color: var(--cyan); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.yes { border-top: 3px solid var(--green); }
.no { border-top: 3px solid var(--red); }
.list { list-style: none; margin-top: 16px; }
.list li { padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--body); font-size: 15px; }
.list li:last-child { border-bottom: 0; }

.price { color: var(--blue); font-weight: 700; margin: 6px 0 14px; }
.muted-box { color: var(--mute); font-size: 13px; margin-top: 18px; }

.case {
  display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; align-items: start;
}
.photo {
  height: 340px; border-radius: 18px; border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(7,11,20,.15), rgba(7,11,20,.55));
}
.photo-sub {
  height: 220px; border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(7,11,20,.1), rgba(7,11,20,.5));
}

.light {
  background: var(--light); color: var(--light-text);
}
.light .sub, .light .card p, .light .list li { color: var(--light-mute); }
.light .card { background: #fff; border-color: #dbe4ef; }
.light h2, .light h3 { color: var(--light-text); }

.faq details {
  background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; margin-bottom: 10px;
}
.faq summary { cursor: pointer; font-weight: 650; }
.faq p { color: var(--body); margin-top: 10px; font-size: 14px; }

form { display: grid; gap: 12px; }
label { font-size: 13px; color: var(--mute); }
input, select, textarea {
  width: 100%; background: #0a101c; border: 1px solid var(--line); color: #fff;
  border-radius: 12px; padding: 12px 14px; font-size: 15px;
}
.light input, .light select, .light textarea { background: #fff; color: #122033; border-color: #d5deea; }

footer {
  border-top: 1px solid var(--line); padding: 48px 0 28px; color: var(--mute); font-size: 13px;
}
.foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 24px; margin-bottom: 28px; }
footer a { color: var(--body); display: block; margin: 6px 0; }
.legal { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--line); padding-top: 16px; }

.page-hero { padding: 56px 0 20px; }
.crumbs { color: var(--mute); font-size: 13px; margin-bottom: 10px; }

@media (max-width: 980px) {
  .hero-grid, .arch, .metrics, .grid-3, .grid-2, .split, .case, .foot-grid { grid-template-columns: 1fr; }
  .nav-links { display: none; }
  h1 { font-size: 38px; }
  .photo { height: 220px; }
}

/* ========================================================================
   INSTITUTIONAL LIGHT SYSTEM
   White enterprise navigation, photographic hero and light content canvas.
   ======================================================================== */
:root {
  --bg: #ffffff;
  --bg-2: #f2f5f7;
  --card: #ffffff;
  --card-2: #eef3f6;
  --line: #d7e0e5;
  --text: #102332;
  --mute: #60717e;
  --body: #435866;
  --blue: #0067a6;
  --blue-2: #004f82;
  --cyan: #007f95;
  --green: #08765b;
  --red: #b33a3a;
  --amber: #9d6500;
  --light: #f4f7f9;
  --light-text: #102332;
  --light-mute: #5a6c78;
  --radius: 4px;
  --shadow: 0 18px 40px rgba(18, 50, 68, .10);
  --font: Arial, "Helvetica Neue", Helvetica, sans-serif;
}

body { background: #fff; color: var(--text); }
main { overflow: hidden; }
.wrap-wide { width: min(1360px, calc(100% - 64px)); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Institutional navigation */
.nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid #dbe3e7;
  backdrop-filter: blur(18px);
}
.nav-inner { height: 82px; gap: 28px; }
.logo { gap: 12px; color: #102332; letter-spacing: .04em; min-width: 188px; }
.logo-lockup {
  min-width: 282px;
  gap: 10px;
  padding: 6px 14px 6px 9px;
  border-radius: 4px;
  background: #050505;
  border: 1px solid #1c1c1c;
}
.logo-brand-mark {
  width: 46px;
  height: 42px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  margin: 0 !important;
}
.logo-brand-mark img { width: 42px; height: auto; display: block; }
.logo-brand-name {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  line-height: 1;
}
.logo-wordmark {
  display: block;
  width: 146px;
  height: auto;
}
.logo-brand-name small {
  color: #fff;
  font-size: 8px;
  font-weight: 500;
  letter-spacing: .015em;
  line-height: 1.15;
  text-transform: none;
  white-space: nowrap;
  opacity: .92;
}
.logo-brand-name small span { margin: 0 !important; color: inherit; font: inherit; letter-spacing: inherit; }
.tagline-en, .tagline-fr { display: none !important; }
html[lang^="en"] .tagline-es { display: none !important; }
html[lang^="en"] .tagline-en { display: inline !important; }
html[lang^="fr"] .tagline-es { display: none !important; }
html[lang^="fr"] .tagline-fr { display: inline !important; }
.logo-symbol {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: #fff !important;
  background: #0067a6;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -.03em !important;
  margin: 0 !important;
}
.logo-name { display: flex; flex-direction: column; gap: 1px; color: #102332 !important; font-size: 18px !important; letter-spacing: .13em !important; margin: 0 !important; }
.logo-name small { color: #6e7f89; font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.nav-links { flex: 1; justify-content: center; gap: clamp(16px, 2.1vw, 34px); color: #213746; font-size: 14px; }
.nav-links a { padding: 31px 0 27px; border-bottom: 3px solid transparent; }
.nav-links a:hover, .nav-links a.active { color: #0067a6; border-bottom-color: #0067a6; }
.nav-cta { gap: 12px; }
.site-search { display: flex; align-items: center; width: 132px; border-bottom: 1px solid #9cabb4; }
.site-search input { width: 100%; border: 0; border-radius: 0; padding: 7px 2px; background: transparent; color: #102332; font-size: 13px; outline: none; }
.site-search button { border: 0; background: transparent; color: #50636f; font-size: 19px; cursor: pointer; padding: 4px; }
.lang { color: #314b5c; border: 0; border-left: 1px solid #d4dde2; border-radius: 0; padding: 6px 2px 6px 14px; font-weight: 700; }
.contact-link { background: #0067a6; color: #fff; font-size: 13px; font-weight: 700; padding: 13px 18px; }
.contact-link:hover { background: #004f82; }

/* Buttons */
.btn { border-radius: 2px; padding: 14px 22px; letter-spacing: .01em; }
.btn-primary { background: #0076b9; color: #fff; box-shadow: none; }
.btn-primary:hover { background: #005f96; transform: none; }
.btn-ghost { border-color: #9bb0bd; color: #163044; }
.btn-dark { background: #123247; color: #fff; }

/* Full-bleed photographic hero */
.hero-enterprise {
  min-height: 650px;
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(5,25,38,.92) 0%, rgba(7,34,49,.78) 42%, rgba(7,34,49,.20) 76%, rgba(7,34,49,.08) 100%);
}
.hero-enterprise::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: rgba(255,255,255,.35); }
.hero-content { position: relative; z-index: 2; padding: 104px 0 126px; }
.hero-content > * { max-width: 720px; }
.eyebrow { color: #74d1e0; font-size: 12px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; margin-bottom: 18px; }
.eyebrow-blue { color: #006c9f; }
.hero h1 { max-width: 850px; font-size: clamp(44px, 5.7vw, 78px); line-height: 1.01; letter-spacing: -.045em; margin: 0 0 24px; }
.hero .lead { color: rgba(255,255,255,.88); font-size: clamp(18px, 2vw, 22px); line-height: 1.55; margin-bottom: 34px; }
.hero-caption { position: absolute; z-index: 2; left: max(32px, calc((100vw - 1360px)/2)); bottom: 28px; color: rgba(255,255,255,.78); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }

/* Utility shortcuts */
.utility-strip { padding: 0; background: #fff; border-bottom: 1px solid #d7e0e5; }
.utility-grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.utility-item { min-height: 128px; padding: 26px 24px; border-right: 1px solid #d7e0e5; display: grid; grid-template-columns: auto 1fr; column-gap: 13px; align-content: center; }
.utility-item:first-child { border-left: 1px solid #d7e0e5; }
.utility-item > span { grid-row: 1 / span 2; color: #0084a1; font-size: 11px; font-weight: 800; padding-top: 3px; }
.utility-item strong { color: #122b3b; font-size: 15px; line-height: 1.25; }
.utility-item small { color: #5f707a; font-size: 12px; margin-top: 5px; line-height: 1.35; }
.utility-item:hover { background: #f1f6f8; }
.utility-contact { background: #eaf3f6; }

/* Corporate offer */
.offer-section, .industries-section { padding: 104px 0; background: #fff; }
.split-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; margin-bottom: 44px; }
.section-head h2, .industries-section h2, .field-copy h2, .institutional-cta h2, .proof-intro h2 { color: #112b3c; font-size: clamp(34px, 4vw, 54px); line-height: 1.08; letter-spacing: -.035em; }
.sub { color: #526873; font-size: 17px; line-height: 1.65; }
.offer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.offer-card { background: #fff; border: 1px solid #d5dfe4; box-shadow: 0 10px 28px rgba(26,61,78,.07); }
.offer-image { height: 260px; background-position: center; background-size: cover; }
.offer-systems .offer-image { background-image: none; }
.offer-solar .offer-image { background-image: none; }
.offer-service .offer-image { background-image: none; }
.offer-body { padding: 30px 28px 32px; }
.offer-body h3 { color: #122b3b; font-size: 26px; line-height: 1.15; margin: 8px 0 12px; }
.offer-body p:not(.label) { min-height: 72px; color: #536873; font-size: 15px; }
.offer-body a, .text-link { display: inline-flex; gap: 10px; margin-top: 20px; color: #0067a6; font-size: 14px; font-weight: 800; }
.label { color: #007f95; }

/* Proof and industries */
.proof-band { padding: 92px 0; background: #edf3f5; }
.proof-intro { display: grid; grid-template-columns: .55fr 1.45fr; gap: 70px; align-items: start; margin-bottom: 48px; }
.proof-intro .eyebrow { color: #006c9f; padding-top: 10px; }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #bfcdd4; border-bottom: 1px solid #bfcdd4; }
.proof-stat { padding: 30px 28px; border-right: 1px solid #bfcdd4; }
.proof-stat:last-child { border-right: 0; }
.proof-stat b { display: block; color: #0067a6; font-size: 25px; margin-bottom: 12px; }
.proof-stat span { color: #4e6470; font-size: 14px; line-height: 1.55; }
.industries-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: start; }
.industry-list { border-top: 1px solid #cdd8de; }
.industry-list a { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 12px; padding: 23px 6px; border-bottom: 1px solid #cdd8de; }
.industry-list span { color: #00819b; font-size: 11px; font-weight: 800; }
.industry-list strong { color: #173344; font-size: 19px; }
.industry-list small { color: #5f707a; font-size: 13px; }
.industry-list a:hover { background: #f4f8f9; padding-left: 14px; padding-right: 14px; }

/* Field story and CTA */
.field-story { padding: 0; background: #f4f7f8; }
.field-grid { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 560px; }
.field-photo { margin-left: calc((1360px - 100vw)/2); background: none; }
.field-copy { padding: 90px 30px 90px 72px; align-self: center; }
.field-copy p:not(.eyebrow) { color: #4e6571; font-size: 17px; line-height: 1.7; margin: 22px 0 30px; }
.field-copy .eyebrow { color: #006c9f; }
.institutional-cta { padding: 76px 0; background: #dfecef; }
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.institutional-cta h2 { max-width: 830px; font-size: clamp(32px, 3.6vw, 48px); }
.institutional-cta .eyebrow { color: #006c9f; margin-bottom: 10px; }

/* Energy balance feature */
.energy-balance-section { padding: 0 0 84px !important; background: #fff; }
.energy-balance {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 76px;
  padding: 48px;
  background: #eaf2f4;
  border-left: 5px solid #007f95;
}
.energy-balance h2 { color: #112b3c; margin-top: 12px; }
.energy-balance-lead { color: #264b5c; font-size: 19px; line-height: 1.6; margin-bottom: 18px; }
.energy-balance > div:last-child > p:not(.energy-balance-lead) { color: #536873; line-height: 1.7; }
.energy-balance-points { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px; margin-top: 26px; }
.energy-balance-points li { position: relative; padding: 12px 0 12px 24px; border-top: 1px solid #c4d3d9; color: #2e4d5b; font-size: 14px; line-height: 1.45; }
.energy-balance-points li::before { content: ""; position: absolute; left: 0; top: 18px; width: 8px; height: 8px; background: #007f95; }

/* Secondary pages on a light enterprise canvas */
section:not(.hero):not(.utility-strip):not(.proof-band):not(.field-story):not(.institutional-cta) { background: #fff; }
.page-hero { background: #eef4f6 !important; padding: 72px 0 48px; }
.page-hero h1 { color: #112b3c; }
.page-hero .lead, .page-hero .sub { color: #526873; }
.crumbs { color: #667a85; }
.card, .metric, .faq details, .console { background: #fff; border-color: #d4dfe5; box-shadow: 0 8px 24px rgba(18,50,68,.06); }
.card h3, .metric b, .faq summary, .console strong { color: #152f40; }
.card p, .list li, .faq p, .alarm small, .sub { color: #536873; }
.chip { border-color: #bdcbd2; color: #38515f; background: #f7f9fa; }
.console-head, .console-foot, .alarm { border-color: #d9e2e6; color: #5f727d; }
input, select, textarea { background: #fff; color: #122b3b; border-color: #bdcbd2; }
label { color: #526873; }

/* Light footer */
footer { background: #fff; border-top: 1px solid #d7e0e5; color: #667984; padding: 58px 0 28px; }
.foot-grid { grid-template-columns: 2fr 1fr 1fr 1.2fr; }
footer strong, footer strong[style] { color: #132d3e !important; }
footer a { color: #4b6270; }
footer a:hover { color: #0067a6; }
.footer-brand p { max-width: 340px; margin-top: 12px; }
.legal { border-color: #d7e0e5; }

@media (max-width: 1280px) {
  .nav-links,
  .site-search { display: none; }
}

@media (max-width: 1120px) {
  .site-search { display: none; }
  .nav-links { display: none; }
  .hero-caption { left: 32px; right: 32px; max-width: calc(100% - 64px); }
  .utility-grid { grid-template-columns: repeat(3, 1fr); }
  .utility-item { border-bottom: 1px solid #d7e0e5; }
  .proof-grid { grid-template-columns: repeat(2, 1fr); }
  .proof-stat:nth-child(2) { border-right: 0; }
  .proof-stat:nth-child(-n+2) { border-bottom: 1px solid #bfcdd4; }
}

@media (max-width: 860px) {
  .wrap-wide { width: min(100% - 36px, 1360px); }
  .nav-inner { height: 70px; }
  .nav-links { display: none; }
  .logo-name small { display: none; }
  .logo-lockup { min-width: 0; padding-right: 10px; }
  .logo-brand-name small { display: none; }
  .contact-link { padding: 11px 13px; }
  .hero-enterprise { min-height: 600px; background-position: 63% center; }
  .hero-enterprise::before { content: ""; position: absolute; inset: 0; background: rgba(5,25,38,.22); }
  .hero-content { padding: 82px 0 120px; }
  .hero h1 { font-size: clamp(40px, 10vw, 60px); }
  .hero-caption { left: 18px; right: 18px; }
  .utility-grid { grid-template-columns: 1fr 1fr; }
  .utility-item { min-height: 105px; }
  .split-heading, .offer-grid, .proof-intro, .industries-layout, .field-grid, .foot-grid { grid-template-columns: 1fr; }
  .energy-balance { grid-template-columns: 1fr; gap: 24px; padding: 34px 28px; }
  .energy-balance-points { grid-template-columns: 1fr; }
  .split-heading, .proof-intro, .industries-layout { gap: 28px; }
  .offer-image { height: 220px; }
  .field-grid { min-height: 0; }
  .field-photo { height: 360px; margin: 0 -18px; }
  .field-copy { padding: 64px 0; }
  .cta-inner { align-items: flex-start; flex-direction: column; gap: 28px; }
}

@media (max-width: 560px) {
  .logo-lockup { padding: 5px 7px; }
  .logo-brand-mark { width: 38px; height: 36px; flex-basis: 38px; }
  .logo-brand-mark img { width: 35px; }
  .logo-brand-name { display: none; }
  .logo-symbol { width: 38px; height: 38px; }
  .logo-name { font-size: 15px !important; }
  .lang { display: none; }
  .utility-grid, .proof-grid { grid-template-columns: 1fr; }
  .utility-item, .utility-item:first-child { border-left: 0; border-right: 0; }
  .proof-stat { border-right: 0; border-bottom: 1px solid #bfcdd4; }
  .industry-list a { grid-template-columns: 42px 1fr; }
  .industry-list small { grid-column: 2; }
}

/* ========================================================================
   RP CONNECT — BLACK / WHITE IDENTITY
   Exact brand lockup, neutral enterprise canvas and restrained blue accents.
   ======================================================================== */
:root {
  --brand-black: #050505;
  --brand-ink: #111315;
  --brand-paper: #ffffff;
  --brand-soft: #f5f6f6;
  --brand-line: #d9dcdf;
  --brand-blue: #0967c9;
  --brand-blue-dark: #064d97;
}

body { color: var(--brand-ink); }
.nav { background: rgba(255,255,255,.98); border-bottom-color: var(--brand-line); }
.nav-links { color: #32383d; }
.nav-links a:hover,
.nav-links a.active { color: var(--brand-black); border-bottom-color: var(--brand-black); }
.contact-link,
.btn-primary { background: var(--brand-black); color: #fff; }
.contact-link:hover,
.btn-primary:hover { background: #24272a; }
.btn-dark { background: var(--brand-black); }
.btn-ghost { background: transparent; border-color: #9da3a8; color: var(--brand-ink); }
.btn-ghost:hover { border-color: var(--brand-black); }
.lang { color: #30353a; border-left-color: var(--brand-line); }

.hero-enterprise {
  min-height: 680px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.80) 44%, rgba(0,0,0,.30) 78%, rgba(0,0,0,.14) 100%);
}
.hero-enterprise .eyebrow,
.hero-caption { color: rgba(255,255,255,.72); }
.hero-enterprise h1 { max-width: 900px; }
.hero-enterprise .lead { max-width: 760px; }

.eyebrow-blue,
.proof-intro .eyebrow,
.field-copy .eyebrow,
.institutional-cta .eyebrow,
.label,
.utility-item > span,
.industry-list span { color: var(--brand-blue); }
.offer-body a,
.text-link,
footer a:hover { color: var(--brand-blue); }

.utility-contact,
.proof-band,
.energy-balance,
.institutional-cta { background: var(--brand-soft); }
.proof-stat b { color: var(--brand-black); }
.energy-balance { border-left-color: var(--brand-black); }
.energy-balance-points li::before { background: var(--brand-blue); }
.page-hero { background: var(--brand-soft) !important; }

.contact-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 28px;
}
.contact-option {
  display: block;
  padding: 22px;
  border: 1px solid var(--brand-line);
  background: #fff;
}
.contact-option strong { display: block; margin-bottom: 6px; color: var(--brand-ink); }
.contact-option span { color: #586169; font-size: 14px; }
.contact-option-active { border-color: var(--brand-black); }
.contact-option-active:hover { background: var(--brand-soft); }
.contact-option-pending { opacity: .68; }
.contact-option-whatsapp { position: relative; padding-right: 106px; }
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef1f3;
  color: #4f5961;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.status-pill::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #9aa1a7; }
.status-pill-live { color: #116b42; background: #e9f7ef; }
.status-pill-live::before { background: #1f9d61; }

.whatsapp-float {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 70;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 52px;
  padding: 0 18px 0 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: #fff;
  background: #111;
  box-shadow: 0 14px 34px rgba(0,0,0,.24);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .01em;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.whatsapp-float:hover {
  color: #111;
  background: var(--brand-amber);
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(0,0,0,.3);
}
.whatsapp-float svg { width: 25px; height: 25px; fill: currentColor; flex: 0 0 auto; }

@media (max-width: 640px) {
  .whatsapp-float { right: 14px; bottom: 14px; width: 52px; padding: 0; justify-content: center; }
  .whatsapp-float span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
.form-note { padding: 14px 16px; background: #f5f6f6; color: #555e65; font-size: 13px; line-height: 1.5; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.success-panel { max-width: 760px; padding: 56px; background: #fff; border: 1px solid var(--brand-line); }

@media (max-width: 860px) {
  .hero-enterprise { min-height: 620px; }
  .contact-options { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .hero-enterprise { min-height: 590px; }
  .success-panel { padding: 32px 24px; }
}
