/* Offroad camper imagery and accessible connectivity labels. */
.hero-photo{background:none}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{background:linear-gradient(90deg,#081c2af5 0%,#081c2ad9 25%,#081c2a77 45%,#081c2a00 70%),linear-gradient(0deg,#081c2a 0%,#081c2a00 30%)}
.connection-badges{display:flex;align-items:center;justify-content:center;gap:12px;color:#f5fafb}
.connection-badge{display:flex;align-items:center;gap:12px;padding:15px 20px;background:#102d3cef;border:1px solid #77d6cb80;border-radius:4px;box-shadow:0 8px 28px #04131d22}
.connection-badge svg,.rv-inputs svg{width:32px;height:32px;flex-shrink:0;stroke:#80dfd1;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.connection-badge b{display:block;font-size:16px;font-weight:600;letter-spacing:.02em;line-height:1.3}
.connection-badge small{display:block;font-size:10px;color:#b9d1d9;margin-top:4px;white-space:nowrap}
.connection-or{font-size:10px;letter-spacing:.08em;color:#bcd9de}
.hero-schema{position:absolute;left:6.5%;right:auto;top:auto;bottom:116px;width:max-content;max-width:calc(100% - 64px)}
.hero-caption{bottom:115px}
.camper-visual{margin:0;background:#102b3a;border:1px solid #39606c;border-radius:4px;overflow:hidden;min-width:0}
.camper-visual-image{aspect-ratio:1.55;overflow:hidden;background:#102b3a}
.camper-visual-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center}
.camper-visual .camper-schema{padding:0 18px;margin-top:-26px;position:relative}
.camper-visual .connection-badges{gap:10px}
.camper-visual .connection-badge{padding:12px;gap:9px}
.camper-visual .connection-badge b{font-size:14px}
.camper-visual .connection-badge small{font-size:9px}
.camper-visual figcaption{text-align:center;padding:20px 16px 24px;font-size:18px;color:#f3fafb;line-height:1.5}
.camper-visual figcaption small{display:block;font-size:9px;color:#afc8d2;margin-top:7px}
.rv-inputs svg{display:block;margin:0 auto 8px;width:29px;height:29px}
.rv-inputs>div{display:flex;flex-direction:column;justify-content:center;align-items:center}
@media(min-width:981px) and (max-width:1100px){
  .hero-schema{left:32px}
  .connection-badge{padding:12px;gap:8px}
  .connection-badge b{font-size:14px}
}
@media(max-width:980px){
  .hero{height:auto;min-height:0;display:flex;flex-direction:column}
  .hero-content{order:1;position:relative;padding-top:44px;padding-bottom:32px}
  .hero h1{font-size:clamp(52px,8vw,78px)}
  .hero-photo{order:2;position:relative;inset:auto;z-index:0;width:100%;height:clamp(230px,53vw,450px)}
  .hero-photo img{object-position:right center}
  .hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0d2938 0%,transparent 14%,transparent 80%,#0d2938 100%)}
  .hero-shade,.hero-grid,.hero-caption{display:none}
  .hero-schema{order:3;position:relative;inset:auto;width:min(100%,440px);max-width:none;align-self:center;padding:0 22px 28px;margin-top:-16px;z-index:1}
  .hero-schema .connection-badge{padding:12px;gap:9px}
  .hero-schema .connection-badge b{font-size:14px}
  .hero-bottom{order:4;position:relative;inset:auto}
  .hero-bottom a{font-size:11px;padding:0 16px}
}
@media(max-width:760px){
  .hero-content{padding-top:38px;padding-bottom:22px}
  .hero .eyebrow{font-size:7.5px}
  .hero-actions{gap:20px}
  .hero-bottom{margin-bottom:12px}
  .hero-bottom a{padding:0;font-size:12px}
  .hero-schema{padding:0 18px 25px}
  .connection-badge svg{width:27px;height:27px}
  .connection-badge small{font-size:9px}
  .camper-visual .connection-badges{gap:8px}
  .camper-visual .camper-schema{padding:0 10px}
}
@media(max-width:370px){
  .connection-badges{gap:6px}
  .hero-schema .connection-badge,.camper-visual .connection-badge{padding:10px 8px;gap:6px}
  .connection-badge svg{width:24px;height:24px}
  .hero-schema .connection-badge b,.camper-visual .connection-badge b{font-size:12px}
  .connection-badge small,.camper-visual .connection-badge small{font-size:8px}
  .connection-or{font-size:9px}
}

.camper-schema{color:#f5fafb;min-width:0}
.schema-input-path{height:16px;width:59%;margin:0 auto;border:1px solid #8ad7cd;border-top:0;position:relative}
.schema-input-path:after{content:"";position:absolute;left:50%;top:100%;height:12px;border-left:1px solid #8ad7cd}
.schema-router{display:flex;align-items:center;justify-content:center;gap:10px;max-width:170px;margin:12px auto 0;padding:9px 16px;background:#133a48;border:1px solid #83d9cd;border-radius:3px;font-size:13px}
.schema-router svg{width:31px;height:24px;stroke:#9ceddf;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.schema-wlan{position:relative;margin:17px auto 0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;color:#e1f6f3;background:#102b3aef;border-radius:3px;padding:5px 12px;width:max-content;max-width:100%}
.schema-wlan:before{content:"";position:absolute;left:50%;bottom:100%;height:18px;border-left:1px solid #8ad7cd}
.schema-wlan svg{width:22px;height:22px;stroke:#92e6d6;stroke-width:1.5;stroke-linecap:round}
.schema-note{text-align:center;font-size:9px;margin:8px 0 0;color:#b8cfd8;text-shadow:0 1px 3px #081c2a}

/* Keep the celestial mesh unobstructed; show the full scheme below the photo on smaller screens. */
@media(min-width:981px){.hero-schema>.schema-input-path,.hero-schema>.schema-router,.hero-schema>.schema-wlan,.hero-schema>.schema-note{display:none}}

/* Touring motorhome example in the dedicated travel section. */
.flair-image{aspect-ratio:16/9}
.flair-image img{object-fit:contain;object-position:center}
.rv-flair-figure{margin:0 0 28px;background:#102b3a;border-radius:4px;overflow:hidden}
.rv-flair-figure img{display:block;width:100%;height:auto}
.rv-flair-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:13px 16px;color:#edf7f9;font-size:12px}
.rv-flair-figure figcaption small{font-size:9px;color:#b4cbd4}
