/* svc762 camper van solar controller swap section on rv-electrical.html. Namespace .rvan.
   Rules copied from ranch-svc761.css and renamed, slider rules dropped. Loaded by rv-electrical.html only. */
.rvan{--rvan-amber:#f5a524; --rvan-amber-hi:#f7b23a; --rvan-green:#4ade80;
  --rvan-grey:#8a94a6; --rvan-navy:#0d1b2e; --rvan-paper:#f4f6fb;
  --rvan-glass:rgba(255,255,255,.04); --rvan-line:rgba(255,255,255,.12);
  --rvan-ease:cubic-bezier(.22,.61,.36,1);
  position:relative; padding:clamp(3rem,7vw,4rem) 0;
  background:
    radial-gradient(120% 70% at 50% -10%,rgba(245,165,36,.13),rgba(245,165,36,0) 62%),
    linear-gradient(180deg,#0a1526 0,#0d1b2e 100%);
  overflow:hidden;}
.rvan::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,165,36,.4),transparent);}
.rvan__in{width:min(1380px,92vw); margin:0 auto}
.rvan__head{max-width:46rem; margin:0 0 clamp(1.5rem,4vw,32px)}
.rvan__eyebrow{display:inline-flex; align-items:center; gap:.5rem; margin:0 0 .75rem;
  font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rvan-amber-hi);}
.rvan__eyebrow::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--rvan-green);
  box-shadow:0 0 0 4px rgba(74,222,128,.18);}
.rvan__h2{margin:0 0 .75rem; color:#fff; line-height:1.12;
  font-size:clamp(1.375rem,4.6vw,2.25rem); letter-spacing:-.015em;}
.rvan__lede{margin:0; color:#c7d0dd; font-size:clamp(1rem,2.4vw,1.125rem); line-height:1.6}
.rvan__chips{display:flex; gap:.5rem; overflow-x:auto; scrollbar-width:none;
  margin:0 0 1rem; padding:4px .15rem 8px; scroll-snap-type:x proximity;}
.rvan__chips::-webkit-scrollbar{display:none}
.rvan__chip{flex:0 0 auto; scroll-snap-align:start;
  display:inline-flex; align-items:center; gap:.5rem;
  min-height:44px; padding:0 .95rem; border-radius:13px;
  background:var(--rvan-glass); border:1px solid var(--rvan-line);
  color:#c7d0dd; font-size:.86rem; font-weight:600; line-height:1;
  cursor:pointer; transition:background .22s var(--rvan-ease),border-color .22s var(--rvan-ease),color .22s var(--rvan-ease),box-shadow .22s var(--rvan-ease);
  -webkit-tap-highlight-color:transparent;}
.rvan__chip:hover{border-color:rgba(245,165,36,.4); color:#fff}
.rvan__chip[aria-selected="true"]{background:linear-gradient(135deg,rgba(245,165,36,.20),rgba(245,165,36,.07));
  border-color:rgba(245,165,36,.65); color:#fff;
  box-shadow:0 10px 26px -14px rgba(245,165,36,.6);}
.rvan__chip-n{display:inline-grid; place-items:center; width:21px; height:21px; border-radius:6px;
  background:rgba(255,255,255,.08); color:var(--rvan-amber-hi);
  font-size:.7rem; font-weight:800; font-variant-numeric:tabular-nums;}
.rvan__chip[aria-selected="true"] .rvan__chip-n{background:var(--rvan-amber); color:#0d1b2e}
.rvan__stage{display:grid; gap:clamp(1rem,3vw,2rem); align-items:center;
  grid-template-columns:1fr;
  background:var(--rvan-glass); border:1px solid var(--rvan-line);
  border-radius:20px; padding:clamp(12px,2.2vw,1rem) clamp(.85rem,2.2vw,1rem);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 24px 60px -30px rgba(0,0,0,.7);}
@media(min-width:820px){
.rvan__stage{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
}
.rvan__panel[hidden]{display:none}
.rvan__panel{display:grid; gap:inherit; grid-template-columns:subgrid; grid-column:1/-1}
@supports not (grid-template-columns:subgrid){
.rvan__panel{display:grid; gap:clamp(1rem,3vw,2rem); grid-column:1/-1}
@media(min-width:820px){
.rvan__panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
}
}
.rvan__shot{position:relative; margin:0; border-radius:14px; overflow:hidden;
  background:#081127; border:1px solid rgba(255,255,255,.08);}
.rvan__shot img{display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover;}
.rvan__tag{position:absolute; left:.6rem; bottom:.6rem;
  display:inline-flex; align-items:center; gap:8px;
  padding:4px .6rem; border-radius:9px;
  background:rgba(8,17,39,.82); backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.14);
  color:#c7d0dd; font-size:.69rem; font-weight:600; letter-spacing:.03em;}
.rvan__body{padding:clamp(8px,1.5vw,1rem) clamp(.4rem,1.5vw,.9rem) clamp(16px,2vw,1rem)}
.rvan__step{margin:0 0 .5rem; font-size:.7rem; font-weight:800; letter-spacing:.14em;
  text-transform:uppercase; color:var(--rvan-grey);}
.rvan__h3{margin:0 0 8px; color:#fff; font-size:clamp(1.125rem,3.1vw,1.375rem); line-height:1.25}
.rvan__p{margin:0 0 16px; color:#c7d0dd; font-size:.96rem; line-height:1.65}
.rvan__p:last-child{margin-bottom:0}
.rvan__note{margin:16px 0 0; padding:12px .85rem; border-radius:11px;
  background:rgba(74,222,128,.07); border:1px solid rgba(74,222,128,.22);
  color:#c7d0dd; font-size:.86rem; line-height:1.55;}
.rvan__note b{color:#7ef2a6; font-weight:700}
.rvan__ctas{display:flex; flex-wrap:wrap; gap:8px; margin:1rem 0 0}
.rvan__cta{display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:48px; padding:0 1rem; border-radius:13px;
  font-size:.94rem; font-weight:700; text-decoration:none; line-height:1;
  transition:transform .2s var(--rvan-ease),box-shadow .2s var(--rvan-ease),background .2s var(--rvan-ease);}
.rvan__cta--solid{background:linear-gradient(135deg,var(--rvan-amber) 0,#e8a91f 100%); color:#0d1b2e;
  box-shadow:0 8px 24px -6px rgba(245,165,36,.45);}
.rvan__cta--ghost{background:rgba(255,255,255,.05); color:#fff; border:1px solid var(--rvan-line);}
.rvan__cta:hover{transform:translateY(-1px)}
.rvan__cta--solid:hover{box-shadow:0 12px 30px -8px rgba(245,165,36,.55)}
.rvan__cta--ghost:hover{border-color:rgba(245,165,36,.5)}
@media(prefers-reduced-motion:reduce){
.rvan__chip,
.rvan__cta{transition:none}
.rvan__cta:hover{transform:none}
}
/* section parts */
.rvan__sub{margin:0 0 .75rem;color:#fff;font-size:clamp(1.05rem,2.8vw,1.25rem);line-height:1.3}
.rvan__finds{display:grid;gap:.5rem}
.rvan__find{border-radius:13px;background:var(--rvan-glass);border:1px solid var(--rvan-line);transition:border-color .2s var(--rvan-ease)}
.rvan__find[open]{border-color:rgba(245,165,36,.45)}
.rvan__find summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:48px;padding:.55rem .9rem;color:#fff;font-weight:700;font-size:.95rem;line-height:1.3}
.rvan__find summary::-webkit-details-marker{display:none}
.rvan__find summary::after{content:"+";flex:0 0 auto;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.08);color:var(--rvan-amber-hi);font-weight:800;font-size:1.05rem;transition:transform .2s var(--rvan-ease)}
.rvan__find[open] summary::after{transform:rotate(45deg)}
.rvan__find summary:focus-visible{outline:2px solid var(--rvan-amber);outline-offset:2px;border-radius:13px}
.rvan__fx{display:grid;gap:.5rem;padding:0 .9rem .9rem}
.rvan__fx p{margin:0;color:#c7d0dd;font-size:.92rem;line-height:1.55}
.rvan__fx b{display:block;margin:0 0 2px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#8a94a6}
.rvan__fx .is-fixed b{color:#7ef2a6}
.rvan__walk{margin:clamp(1.75rem,5vw,3rem) 0 0}
.rvan .rvan__chips{flex-wrap:wrap;overflow:visible}
.rvan .rvan__chip{padding:0 .7rem}
@media(min-width:820px){.rvan .rvan__stage{grid-template-columns:minmax(0,400px) minmax(0,1fr)}
@supports not (grid-template-columns:subgrid){.rvan .rvan__panel{grid-template-columns:minmax(0,400px) minmax(0,1fr)}}}
.rvan__why{margin:1rem 0 0;padding:clamp(1rem,3vw,1.5rem);border-radius:18px;background:linear-gradient(135deg,rgba(245,165,36,.10),rgba(245,165,36,.03));border:1px solid rgba(245,165,36,.35)}
.rvan__why .rvan__p{max-width:44rem}
.rvan__sig{margin:.75rem 0 0;color:#8a94a6;font-size:.86rem}
/* nothing under 12.8px in this section */
.rvan .rvan__eyebrow,.rvan .rvan__step,.rvan .rvan__tag,.rvan .rvan__fx b{font-size:.8rem}
.rvan .rvan__chip-n{font-size:.8rem;width:22px;height:22px}
@media(prefers-reduced-motion:reduce){.rvan__find,.rvan__find summary::after{transition:none}}

.rvan__row{display:grid;gap:clamp(1rem,3vw,2rem);align-items:start;margin:clamp(1.75rem,5vw,3rem) 0 0}
@media(min-width:820px){.rvan__row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.rvan__row .rvan__why{margin:0}
.rvan__walk{margin:0}
