/* Solar Rent Pro — enterprise energy and macroeconomic vision. */
.sr-vision { --vision-navy:#052b50; --vision-deep:#021b35; --vision-orange:#f57006; --vision-cream:#f5f6f2; --vision-ink:#092946; --vision-line:rgba(7,42,74,.15); min-height:100vh; color:var(--vision-ink); background:var(--vision-cream); }
.sr-vision *, .sr-vision *::before, .sr-vision *::after { box-sizing:border-box; }
.sr-vision-inner { width:min(1210px,calc(100% - 48px)); margin-inline:auto; }
.sr-vision-header { position:relative; z-index:10; min-height:66px; display:grid; grid-template-columns:180px minmax(0,1fr) 200px; align-items:center; width:100%; padding-inline:max(24px,calc((100% - 1210px)/2)); background:rgba(3,39,73,.98); border-bottom:1px solid rgba(255,255,255,.12); box-shadow:0 7px 24px rgba(1,22,43,.14); }
.sr-vision-logo { justify-self:start; display:block; text-decoration:none; }
.sr-vision-logo img { display:block; width:154px; height:auto; }
.sr-vision-nav { display:flex; align-items:center; justify-content:center; gap:clamp(1px,.35vw,5px); min-width:0; }
.sr-vision-nav a { padding:8px 9px; border-radius:6px; color:#f4f8fc; font-size:12px; font-weight:700; line-height:1; text-decoration:none; white-space:nowrap; transition:background .18s ease,color .18s ease; }
.sr-vision-nav a:hover,.sr-vision-nav a.is-active { color:#fff; background:rgba(255,255,255,.16); }
.sr-vision-nav a[href="/comparateur"] { display:inline-flex; align-items:center; min-height:37px; margin-left:5px; padding-inline:12px; border:1px solid rgba(255,255,255,.35); border-radius:7px; }
.sr-vision-cta { justify-self:end; display:inline-flex; align-items:center; justify-content:center; min-width:174px; min-height:42px; padding:0 15px; border-radius:7px; color:#fff; background:var(--vision-orange); box-shadow:0 8px 18px rgba(0,0,0,.17); font-size:12px; font-weight:800; line-height:1; text-align:center; text-decoration:none; white-space:nowrap; transition:transform .16s cubic-bezier(.23,1,.32,1),background .18s ease; }
.sr-vision-cta:hover,.sr-vision-button:hover { background:#ff841f; }
.sr-vision-cta:active,.sr-vision-button:active { transform:scale(.975); }

.sr-vision-hero { position:relative; overflow:hidden; min-height:600px; isolation:isolate; color:#fff; background:linear-gradient(90deg,rgba(2,25,47,.98) 0%,rgba(3,39,73,.93) 45%,rgba(3,39,73,.72) 100%),url("/manus-storage/solar-rent-pro-hero_fc7a52a2.jpg") center/cover; }
.sr-vision-hero::after { content:""; position:absolute; z-index:-1; inset:0; opacity:.26; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:66px 66px; mask-image:linear-gradient(90deg,#000,transparent 77%); }
.sr-vision-hero-grid { position:absolute; inset:auto 0 0 0; height:165px; opacity:.2; background:linear-gradient(transparent,rgba(0,0,0,.4)); pointer-events:none; }
.sr-vision-hero-inner { position:relative; z-index:1; padding:104px 0 100px; }
.sr-vision-kicker,.sr-vision-eyebrow { margin:0; color:#f6b178; font-size:12px; font-weight:800; letter-spacing:.12em; line-height:1.2; text-transform:uppercase; }
.sr-vision-kicker::before,.sr-vision-eyebrow::before { content:""; display:inline-block; width:30px; height:2px; margin:0 11px 4px 0; background:var(--vision-orange); vertical-align:middle; }
.sr-vision-hero h1 { max-width:790px; margin:19px 0 18px; font-size:clamp(54px,6.35vw,92px); font-weight:800; letter-spacing:-.065em; line-height:.98; }
.sr-vision-hero h1 span,.sr-vision h2 span { color:var(--vision-orange); }
.sr-vision-hero-lede { max-width:595px; margin:0; color:#e7eff6; font-size:19px; line-height:1.5; }
.sr-vision-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:31px; }
.sr-vision-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 19px; border:1px solid transparent; border-radius:8px; color:#fff; background:var(--vision-orange); box-shadow:0 8px 18px rgba(0,0,0,.13); font-size:14px; font-weight:800; text-decoration:none; transition:transform .16s cubic-bezier(.23,1,.32,1),background .18s ease,border-color .18s ease; }
.sr-vision-button span { margin-left:10px; }
.sr-vision-button.ghost { border-color:rgba(255,255,255,.42); background:transparent; box-shadow:none; }
.sr-vision-button.ghost:hover { background:rgba(255,255,255,.12); }
.sr-vision-hero-card { position:absolute; right:max(24px,calc((100% - 1210px)/2)); bottom:0; width:270px; padding:24px; border:1px solid rgba(255,255,255,.28); border-bottom:0; background:rgba(2,29,53,.76); backdrop-filter:blur(10px); }
.sr-vision-hero-card span { display:block; color:#f4b57c; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.sr-vision-hero-card strong { display:block; margin:9px 0 11px; font-size:25px; letter-spacing:-.04em; line-height:1.04; }
.sr-vision-hero-card small { display:block; color:#c9d8e4; font-size:12px; line-height:1.45; }

.sr-vision-section { padding:112px 0; }
.sr-vision-section-heading { display:grid; grid-template-columns:minmax(0,.9fr) minmax(310px,.75fr); gap:100px; align-items:end; margin-bottom:51px; }
.sr-vision-section-heading h2,.sr-vision-system h2,.sr-vision-manifesto h2,.sr-vision-final h2 { margin:16px 0 0; color:var(--vision-ink); font-size:clamp(42px,4.45vw,68px); font-weight:800; letter-spacing:-.062em; line-height:.99; }
.sr-vision-section-heading > p { max-width:480px; margin:0 0 6px; color:#50687d; font-size:18px; line-height:1.57; }
.sr-vision-energy { background:#fff; }
.sr-vision-energy-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--vision-line); border-left:1px solid var(--vision-line); }
.sr-vision-principle { display:grid; grid-template-columns:54px 1fr; gap:18px; min-height:238px; padding:30px 28px; border-right:1px solid var(--vision-line); border-bottom:1px solid var(--vision-line); }
.sr-vision-index { color:var(--vision-orange); font-size:13px; font-weight:800; letter-spacing:.07em; }
.sr-vision-principle h3 { margin:0 0 12px; color:var(--vision-ink); font-size:23px; letter-spacing:-.045em; line-height:1.05; }
.sr-vision-principle p { margin:0; color:#516b80; font-size:14px; line-height:1.58; }

.sr-vision-system { overflow:hidden; color:#fff; background:var(--vision-deep); }
.sr-vision-system-layout { display:grid; grid-template-columns:minmax(330px,.83fr) minmax(470px,1.17fr); gap:90px; align-items:center; }
.sr-vision-system h2 { color:#fff; }
.sr-vision-system-lede { max-width:485px; margin:22px 0 0; color:#c9d8e5; font-size:17px; line-height:1.6; }
.sr-vision-diagram { position:relative; min-height:420px; border:1px solid rgba(255,255,255,.18); background:radial-gradient(circle at 50% 50%,rgba(37,103,147,.22),transparent 55%),linear-gradient(135deg,rgba(255,255,255,.05),transparent); }
.sr-vision-diagram::before { content:""; position:absolute; inset:16px; border:1px solid rgba(255,255,255,.06); }
.sr-vision-diagram-core,.sr-vision-diagram-node { position:absolute; z-index:1; display:flex; flex-direction:column; justify-content:center; border:1px solid rgba(255,255,255,.26); background:rgba(5,43,80,.9); box-shadow:0 15px 30px rgba(0,0,0,.12); }
.sr-vision-diagram-core { top:50%; left:50%; width:205px; height:135px; padding:22px; transform:translate(-50%,-50%); text-align:center; }
.sr-vision-diagram-node { width:145px; min-height:96px; padding:15px; }
.sr-vision-diagram-node.solar { top:43px; left:42px; }.sr-vision-diagram-node.battery { right:40px; bottom:42px; }.sr-vision-diagram-node.control { top:52px; right:41px; }
.sr-vision-diagram span { color:#f4b57c; font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }.sr-vision-diagram strong { margin:6px 0 4px; color:#fff; font-size:21px; letter-spacing:-.04em; }.sr-vision-diagram small { color:#c7d7e4; font-size:11px; }
.sr-vision-diagram-core strong { font-size:27px; }.sr-vision-diagram-line { position:absolute; z-index:0; height:1px; background:linear-gradient(90deg,transparent,rgba(245,112,6,.9),transparent); transform-origin:left center; }.line-a { top:136px; left:145px; width:170px; transform:rotate(38deg); }.line-b { top:145px; left:318px; width:146px; transform:rotate(-32deg); }.line-c { top:264px; left:296px; width:148px; transform:rotate(30deg); }

.sr-vision-macro { background:var(--vision-cream); }
.sr-vision-macro-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.sr-vision-macro-card { min-height:270px; padding:28px 24px; border:1px solid #d9e1e5; background:#fff; box-shadow:0 10px 22px rgba(3,40,73,.04); }
.sr-vision-macro-icon { display:flex; align-items:center; justify-content:center; width:38px; height:38px; margin-bottom:42px; border-radius:50%; color:#fff; background:var(--vision-navy); font-size:22px; font-weight:700; }
.sr-vision-macro-card h3 { margin:0 0 10px; color:var(--vision-ink); font-size:21px; letter-spacing:-.04em; }.sr-vision-macro-card p { margin:0; color:#526b7e; font-size:13px; line-height:1.58; }

.sr-vision-manifesto { color:#fff; background:linear-gradient(115deg,#063457,#092342); }.sr-vision-manifesto-layout { display:grid; grid-template-columns:210px 1fr; gap:80px; }.sr-vision-manifesto h2 { max-width:820px; color:#fff; }.sr-vision-manifesto p:not(.sr-vision-eyebrow) { max-width:690px; margin:30px 0 0; color:#d3e0e9; font-size:18px; line-height:1.64; }
.sr-vision-final { padding:110px 0; color:#fff; background:linear-gradient(100deg,rgba(2,27,53,.96),rgba(5,43,80,.89)),url("/manus-storage/solar-rent-pro-hero_fc7a52a2.jpg") center/cover; }.sr-vision-final h2 { color:#fff; }.sr-vision-final p:not(.sr-vision-eyebrow) { max-width:610px; margin:23px 0 0; color:#d1e0ea; font-size:18px; line-height:1.57; }.sr-vision-final .sr-vision-actions { margin-top:30px; }
.sr-vision-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:90px; padding:22px max(24px,calc((100% - 1210px)/2)); color:#b9c9d6; background:#021b35; }.sr-vision-footer a { color:#fff; font-size:18px; font-weight:800; text-decoration:none; }.sr-vision-footer a span { color:var(--vision-orange); }.sr-vision-footer p { margin:0; font-size:12px; }

@media (max-width:1100px) { .sr-vision-header { grid-template-columns:154px minmax(0,1fr) 162px; }.sr-vision-logo img { width:142px; }.sr-vision-nav a { padding:7px 6px; font-size:11px; }.sr-vision-nav a[href="/comparateur"] { padding-inline:8px; }.sr-vision-cta { min-width:156px; padding-inline:10px; font-size:11px; }.sr-vision-system-layout { gap:45px; }.sr-vision-section-heading { gap:48px; }.sr-vision-hero-card { right:24px; }.sr-vision-macro-grid { grid-template-columns:repeat(2,1fr); }.sr-vision-macro-card { min-height:220px; }.sr-vision-macro-icon { margin-bottom:28px; } }
@media (max-width:790px) { .sr-vision-inner { width:calc(100% - 32px); }.sr-vision-header { min-height:63px; grid-template-columns:1fr auto; padding-inline:16px; }.sr-vision-logo img { width:139px; }.sr-vision-nav,.sr-vision-cta { display:none; }.sr-vision-hero { min-height:auto; }.sr-vision-hero-inner { padding:80px 0 185px; }.sr-vision-hero h1 { font-size:clamp(46px,13.3vw,67px); }.sr-vision-hero-lede { font-size:17px; }.sr-vision-hero-card { right:16px; bottom:0; width:min(264px,calc(100% - 32px)); padding:18px; }.sr-vision-hero-card strong { font-size:21px; }.sr-vision-section { padding:75px 0; }.sr-vision-section-heading,.sr-vision-system-layout,.sr-vision-manifesto-layout { display:block; }.sr-vision-section-heading > p { margin:24px 0 0; font-size:16px; }.sr-vision-section-heading h2,.sr-vision-system h2,.sr-vision-manifesto h2,.sr-vision-final h2 { font-size:clamp(41px,11vw,60px); }.sr-vision-energy-grid { grid-template-columns:1fr; }.sr-vision-principle { min-height:auto; padding:25px 18px; }.sr-vision-system-lede { font-size:16px; }.sr-vision-diagram { min-height:390px; margin-top:40px; }.sr-vision-diagram-node.solar { top:30px; left:18px; }.sr-vision-diagram-node.control { top:32px; right:18px; }.sr-vision-diagram-node.battery { right:50%; bottom:25px; transform:translateX(50%); }.sr-vision-diagram-core { width:180px; height:120px; }.line-a { top:115px; left:110px; width:140px; }.line-b { top:118px; left:222px; width:126px; }.line-c { top:234px; left:167px; width:130px; transform:rotate(60deg); }.sr-vision-macro-grid { grid-template-columns:1fr; }.sr-vision-macro-card { min-height:0; padding:24px; }.sr-vision-manifesto p:not(.sr-vision-eyebrow) { font-size:16px; }.sr-vision-footer { display:block; padding:28px 16px; }.sr-vision-footer p { margin-top:10px; }.sr-vision-actions { gap:10px; }.sr-vision-button { width:100%; }.sr-vision-button.ghost { width:100%; } }
@media (prefers-reduced-motion:no-preference) { .sr-vision-principle,.sr-vision-macro-card { transition:transform .2s cubic-bezier(.23,1,.32,1),box-shadow .2s ease; }.sr-vision-principle:hover,.sr-vision-macro-card:hover { transform:translateY(-4px); box-shadow:0 14px 26px rgba(3,40,73,.09); } }

/* Mobile energy-system diagram: explicit reading order without intersecting nodes. */
@media (max-width:790px) {
  .sr-vision-diagram {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "solar control"
      "core core"
      "battery battery";
    gap:14px;
    min-height:0;
    padding:22px 20px;
  }
  .sr-vision-diagram-core,
  .sr-vision-diagram-node {
    position:relative;
    inset:auto;
    width:auto;
    min-height:104px;
    height:auto;
    padding:16px;
    transform:none;
  }
  .sr-vision-diagram-core {
    grid-area:core;
    min-height:126px;
  }
  .sr-vision-diagram-node.solar { grid-area:solar; }
  .sr-vision-diagram-node.control { grid-area:control; }
  .sr-vision-diagram-node.battery { grid-area:battery; }
  .sr-vision-diagram-line { display:none; }
  .sr-vision-diagram-core strong { font-size:26px; }
  .sr-vision-diagram-node strong { font-size:20px; }
}
@media (max-width:360px) {
  .sr-vision-diagram { padding-inline:16px; gap:10px; }
  .sr-vision-diagram-core,
  .sr-vision-diagram-node { padding:14px 12px; }
  .sr-vision-diagram-node strong { font-size:18px; }
}
