/* ============================================================
   Rei Hosting v4.1 — Design System & Product Archetypes
   Objective: explicit hierarchy, product-specific composition,
   less decorative UI, more information-led design.
   ============================================================ */

:root{
  --rh41-brand:#7868f5;
  --rh41-brand-strong:#907fff;
  --rh41-ink:#f4f6fa;
  --rh41-muted:#929dab;
  --rh41-bg:#06080d;
  --rh41-panel:#0a0e15;
  --rh41-panel-2:#0d121b;
  --rh41-line:rgba(255,255,255,.09);
  --rh41-line-strong:rgba(255,255,255,.15);
  --rh41-tech:#42c7e8;
  --rh41-ok:#52d487;
  --rh41-warn:#e5b75b;
  --rh41-danger:#e56672;
  --rh41-r1:8px;
  --rh41-r2:12px;
  --rh41-r3:18px;
  --rh41-space-1:8px;
  --rh41-space-2:12px;
  --rh41-space-3:18px;
  --rh41-space-4:28px;
  --rh41-space-5:44px;
  --rh41-space-6:72px;
}

/* Core discipline */
body.v41{
  --arch-accent:var(--rh41-brand);
  --arch-soft:rgba(120,104,245,.10);
  background:var(--rh41-bg);
}
body.v41[data-product-archetype="infrastructure"]{
  --arch-accent:var(--rh41-tech);
  --arch-soft:rgba(66,199,232,.08);
}
body.v41[data-product-archetype="hosting"]{
  --arch-accent:var(--rh41-brand);
  --arch-soft:rgba(120,104,245,.08);
}
body.v41[data-product-archetype="gaming"]{
  --arch-accent:#a58af7;
  --arch-soft:rgba(165,138,247,.08);
}
body.v41[data-product-archetype="software"]{
  --arch-accent:var(--rh41-tech);
  --arch-soft:rgba(66,199,232,.07);
}

body.v41 .section-heading h2{
  max-width:820px;
  font-size:clamp(30px,3.3vw,46px);
  line-height:1.06;
}
body.v41 .section-heading .lead{
  max-width:700px;
}
body.v41 .eyebrow{
  color:#aab3c0;
  font-size:11px;
  letter-spacing:.12em;
}
body.v41 .card,
body.v41 .product-sales-plan,
body.v41 .testimonial{
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}

/* Product hero: stop looking like one generic SaaS dashboard */
body.v41 .v41-product-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px) 0 0/64px 64px,
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px) 0 0/64px 64px,
    #06080d;
}
body.v41 .v41-product-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--arch-accent),transparent);
  opacity:.24;
}
body.v41 .v41-product-hero .product-hero-grid{
  align-items:center;
  gap:clamp(46px,6vw,90px);
}
body.v41 .v41-product-hero .product-sales-copy h1{
  font-size:clamp(44px,5.4vw,72px);
  line-height:.96;
  max-width:780px;
}
body.v41 .v41-product-hero .product-sales-copy>p{
  max-width:690px;
  font-size:17px;
  line-height:1.72;
}
body.v41 .v41-archetype-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:#7d8999;
  font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
}
body.v41 .v41-archetype-kicker span{color:var(--arch-accent)}
body.v41 .v41-archetype-kicker i{width:26px;height:1px;background:var(--rh41-line-strong)}
body.v41 .v41-archetype-kicker small{font:inherit;color:#6e7a8a}
body.v41 .v41-product-hero .trust{
  padding-top:20px;
  margin-top:24px;
  border-top:1px solid var(--rh41-line);
}
body.v41 .v41-product-hero .trust span{
  color:#8c98a8;
  font-size:12px;
}

/* Shared stage */
body.v41 .v41-stage{
  min-width:0;
  min-height:420px;
  padding:26px;
  background:rgba(9,13,20,.94);
  border:1px solid var(--rh41-line-strong);
  border-radius:18px;
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
}
body.v41 .v41-stage::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:var(--arch-accent);
  opacity:.72;
}
body.v41 .v41-stage-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding-bottom:18px;
  border-bottom:1px solid var(--rh41-line);
  font:800 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
}
body.v41 .v41-stage-head span{color:var(--arch-accent)}
body.v41 .v41-stage-head small{color:#697687}
body.v41 .v41-stage-foot{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid var(--rh41-line);
  color:#788596;
  font-size:11px;
}
body.v41 .v41-stage-foot i{
  width:7px;height:7px;border-radius:50%;background:var(--rh41-ok);
}

/* Infrastructure archetype */
body.v41 .v41-infra-name{
  margin:28px 0 18px;
  color:#dfe5ee;
  font-size:14px;
  font-weight:800;
}
body.v41 .v41-spec-matrix{
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--rh41-line);
  border-radius:12px;
  overflow:hidden;
}
body.v41 .v41-spec-matrix>div{
  padding:18px;
  background:#080c12;
  border-right:1px solid var(--rh41-line);
  border-bottom:1px solid var(--rh41-line);
}
body.v41 .v41-spec-matrix>div:nth-child(2n){border-right:0}
body.v41 .v41-spec-matrix>div:nth-last-child(-n+2){border-bottom:0}
body.v41 .v41-spec-matrix small{
  display:block;
  margin-bottom:6px;
  color:#647183;
  font:700 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
}
body.v41 .v41-spec-matrix b{
  color:#f2f5f9;
  font:750 19px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;
}
body.v41 .v41-stage-list{
  display:grid;
  margin-top:18px;
}
body.v41 .v41-stage-list>div{
  display:grid;
  grid-template-columns:24px minmax(70px,.7fr) 1fr;
  align-items:center;
  gap:10px;
  padding:11px 0;
  border-bottom:1px solid var(--rh41-line);
}
body.v41 .v41-stage-list>div:last-child{border-bottom:0}
body.v41 .v41-stage-list>div>span{color:var(--arch-accent)}
body.v41 .v41-stage-list small{color:#6f7b8b;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
body.v41 .v41-stage-list b{color:#cfd6e1;font-size:12px;text-align:right}

/* Hosting archetype */
body.v41 .v41-browser-bar{
  display:flex;align-items:center;gap:7px;
  margin:24px 0 12px;
  height:38px;padding:0 12px;
  border:1px solid var(--rh41-line);
  border-radius:10px 10px 5px 5px;
  background:#080c12;
}
body.v41 .v41-browser-bar i{width:7px;height:7px;border-radius:50%;background:#3b4553}
body.v41 .v41-browser-bar span{
  margin-left:9px;color:#6f7b8c;font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace
}
body.v41 .v41-hosting-board{
  border:1px solid var(--rh41-line);
  border-radius:5px 5px 12px 12px;
  overflow:hidden;
}
body.v41 .v41-hosting-board>div{
  display:grid;
  grid-template-columns:30px 1fr 22px;
  align-items:center;
  gap:12px;
  padding:15px 16px;
  background:#0a0f17;
  border-bottom:1px solid var(--rh41-line);
}
body.v41 .v41-hosting-board>div:last-child{border-bottom:0}
body.v41 .v41-hosting-board>div>span{
  color:#566274;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;
}
body.v41 .v41-hosting-board small{display:block;color:#748092;font-size:10px;text-transform:uppercase}
body.v41 .v41-hosting-board b{display:block;color:#e1e6ee;font-size:13px;margin-top:2px}
body.v41 .v41-hosting-board svg{color:var(--arch-accent)}

/* Gaming archetype — technical, not neon */
body.v41 .v41-stage-gaming{
  background:
    linear-gradient(135deg,rgba(165,138,247,.05),transparent 46%),
    #090d14;
}
body.v41 .v41-game-core{
  position:relative;
  min-height:132px;
  margin:24px 0 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border:1px solid var(--rh41-line);
  background:#080c12;
  text-align:center;
}
body.v41 .v41-game-core small{
  color:#687587;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em
}
body.v41 .v41-game-core strong{margin-top:5px;color:#e8ebf2;font-size:18px}
body.v41 .v41-crosshair{
  position:absolute;width:58px;height:58px;border:1px solid rgba(165,138,247,.18);border-radius:50%
}
body.v41 .v41-crosshair::before,body.v41 .v41-crosshair::after{
  content:"";position:absolute;background:rgba(165,138,247,.22)
}
body.v41 .v41-crosshair::before{width:1px;height:78px;left:28px;top:-11px}
body.v41 .v41-crosshair::after{height:1px;width:78px;top:28px;left:-11px}
body.v41 .v41-game-lines{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rh41-line)
}
body.v41 .v41-game-lines>div{
  min-width:0;padding:14px;background:#0a0e15
}
body.v41 .v41-game-lines span{color:var(--arch-accent)}
body.v41 .v41-game-lines small{display:block;margin-top:8px;color:#697687;font-size:9px;text-transform:uppercase}
body.v41 .v41-game-lines b{display:block;margin-top:3px;color:#d9dfe8;font-size:12px}

/* Software/API archetype */
body.v41 .v41-api-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  align-items:stretch;
  gap:7px;
  margin:28px 0 18px;
}
body.v41 .v41-api-flow>div{
  min-width:0;padding:14px 10px;border:1px solid var(--rh41-line);background:#080c12;border-radius:10px
}
body.v41 .v41-api-flow>div.active{
  border-color:rgba(66,199,232,.34);background:rgba(66,199,232,.06)
}
body.v41 .v41-api-flow>i{align-self:center;color:#4f5d6d;font-style:normal}
body.v41 .v41-api-flow small{
  display:block;color:#667386;font:700 8px ui-monospace,SFMono-Regular,Menlo,monospace
}
body.v41 .v41-api-flow b{display:block;margin-top:7px;color:#e5eaf1;font-size:11px}
body.v41 .v41-api-flow span{display:block;margin-top:3px;color:#6f7c8d;font-size:9px}
body.v41 .v41-webhook-return{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 13px;border:1px dashed rgba(66,199,232,.24);border-radius:9px;
  color:var(--rh41-tech);
  font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace
}
body.v41 .v41-webhook-return small{color:#6f7c8d;font:500 10px system-ui}
body.v41 .v41-software-title{
  margin:28px 0 16px;padding:20px;border-left:2px solid var(--arch-accent);background:#080c12
}
body.v41 .v41-software-title small{display:block;color:#657285;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace}
body.v41 .v41-software-title strong{display:block;margin-top:7px;color:#edf0f5;font-size:20px}

/* Plans: comparison-first, fewer promo badges */
body.v41 .v41-plans{
  border-top:1px solid var(--rh41-line);
  background:#070a10!important;
}
body.v41 .product-sales-plan-grid{
  align-items:stretch;
  gap:14px;
}
body.v41 .product-sales-plan{
  padding:24px!important;
  background:#0a0e15!important;
  border-radius:12px!important;
}
body.v41 .product-sales-plan.featured{
  border-color:rgba(120,104,245,.32)!important;
  background:linear-gradient(180deg,rgba(120,104,245,.055),#0a0e15 26%)!important;
}
body.v41 .product-sales-plan .badge{
  top:12px!important;
  right:12px!important;
  padding:5px 8px!important;
  border-radius:6px!important;
  font-size:9px!important;
  letter-spacing:.07em;
}
body.v41 .product-sales-plan h3{font-size:18px}
body.v41 .product-sales-plan .price{
  margin:16px 0 19px;
  color:#f3f5f8;
  font-size:28px;
}
body.v41 .product-sales-plan ul{
  border-top:1px solid var(--rh41-line);
  padding-top:14px;
}
body.v41 .product-sales-plan li{
  padding:7px 0;
  color:#9ca7b5;
}
body.v41 .product-sales-plan .plan-feature-icon{
  color:#697687;
  background:transparent!important;
  border:0!important;
}
body.v41 .product-sales-plan .btn.full{
  margin-top:22px;
}

/* Use cases: typography-led rows, not 4 identical cards */
body.v41 .v41-use-cases .product-use-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0!important;
  border-top:1px solid var(--rh41-line);
}
body.v41 .v41-use-cases .product-use-grid article{
  display:grid;
  grid-template-columns:34px 1fr;
  column-gap:16px;
  padding:25px 20px 25px 0!important;
  border:0!important;
  border-bottom:1px solid var(--rh41-line)!important;
  background:transparent!important;
}
body.v41 .v41-use-cases .product-use-grid article:nth-child(odd){
  border-right:1px solid var(--rh41-line)!important;
  padding-right:28px!important;
}
body.v41 .v41-use-cases .product-use-grid article:nth-child(even){padding-left:28px!important}
body.v41 .v41-use-cases .product-use-grid article>span{
  grid-row:1/3;
  width:32px;height:32px;
  display:grid;place-items:center;
  color:var(--arch-accent);
  background:transparent!important;
  border:1px solid var(--rh41-line)!important;
}
body.v41 .v41-use-cases .product-use-grid h3{margin:0;font-size:16px}
body.v41 .v41-use-cases .product-use-grid p{margin:6px 0 0}

/* Benefits: spec list instead of icon-card wall */
body.v41 .v41-benefits .product-benefit-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0!important;
  border-top:1px solid var(--rh41-line);
  border-left:1px solid var(--rh41-line);
}
body.v41 .v41-benefits .product-benefit-grid article{
  min-height:132px;
  padding:22px!important;
  border:0!important;
  border-right:1px solid var(--rh41-line)!important;
  border-bottom:1px solid var(--rh41-line)!important;
  background:transparent!important;
}
body.v41 .v41-benefits .product-benefit-grid article>span{
  color:#737f8f;
  background:transparent!important;
  border:0!important;
}
body.v41 .v41-benefits .product-benefit-grid h3{font-size:14px;margin:12px 0 5px}
body.v41 .v41-benefits .product-benefit-grid p{font-size:12px;line-height:1.55}

/* Make data UI behave like data UI */
body.v41 .product-compare-scroll{
  border-radius:10px!important;
  overflow:auto;
}
body.v41 .product-compare th{
  color:#6f7c8d;
  font:750 9px ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.v41 .product-compare td{color:#aab3c0}
body.v41 .product-compare td b{color:#e5e9ef}
body.v41 .product-plan-filter{
  border-radius:10px!important;
  background:#090d14!important;
  border-color:var(--rh41-line)!important;
}

/* Global component discipline */
body.v41 .btn{
  min-height:42px;
  border-radius:8px;
}
body.v41 .btn:not(.ghost){
  background:#eceff4;
  color:#090c11;
  border-color:#eceff4;
}
body.v41 .btn.ghost{
  border-color:var(--rh41-line-strong);
}
body.v41 .btn:focus-visible,
body.v41 a:focus-visible,
body.v41 summary:focus-visible,
body.v41 button:focus-visible{
  outline:2px solid var(--rh41-brand-strong);
  outline-offset:3px;
}
body.v41 .faq details{
  border-color:var(--rh41-line)!important;
}
body.v41 .product-seo-copy{
  color:#8e99a8;
}

/* Remove decorative accents where information should lead */
body.v41 .hero-glow,
body.v41 .product-hero::before,
body.v41 .product-hero::after{
  pointer-events:none;
}
body.v41 .product-sales-console{box-shadow:none!important}
body.v41 .solution-card,
body.v41 .testimonial,
body.v41 .blog-card{transform:none!important}

/* Responsive */
@media(max-width:980px){
  body.v41 .v41-product-hero .product-hero-grid{grid-template-columns:1fr;gap:38px}
  body.v41 .v41-stage{min-height:auto}
  body.v41 .v41-benefits .product-benefit-grid{grid-template-columns:1fr 1fr}
  body.v41 .v41-api-flow{grid-template-columns:1fr}
  body.v41 .v41-api-flow>i{transform:rotate(90deg);justify-self:center}
}
@media(max-width:650px){
  body.v41 .v41-product-hero .product-sales-copy h1{font-size:clamp(38px,12vw,52px)}
  body.v41 .v41-stage{padding:20px;border-radius:14px}
  body.v41 .v41-spec-matrix{grid-template-columns:1fr 1fr}
  body.v41 .v41-stage-list>div{grid-template-columns:22px 1fr}
  body.v41 .v41-stage-list b{grid-column:2;text-align:left}
  body.v41 .v41-game-lines{grid-template-columns:1fr}
  body.v41 .v41-use-cases .product-use-grid{grid-template-columns:1fr}
  body.v41 .v41-use-cases .product-use-grid article:nth-child(odd){
    border-right:0!important;padding-right:0!important
  }
  body.v41 .v41-use-cases .product-use-grid article:nth-child(even){padding-left:0!important}
  body.v41 .v41-benefits .product-benefit-grid{grid-template-columns:1fr}
  body.v41 .product-sales-plan{padding:20px!important}
}
@media(prefers-reduced-motion:reduce){
  body.v41 *,body.v41 *::before,body.v41 *::after{transition:none!important;animation:none!important}
}
