:root{
  --rie-primary:#006D5B;
  --rie-secondary:#C98665;

  /* dark */
  --bg-0:#070a0f;
  --bg-1:#0b111a;

  /* light */
  --light-bg:#f6f8fb;
  --light-ink:#0b1220;

  /* glass */
  --glass-dark:rgba(255,255,255,0.10);
  --glass-light:rgba(255,255,255,0.82);
  --border-dark:rgba(255,255,255,0.16);
  --border-light:rgba(15,23,42,0.08);
}

html,body{scroll-behavior:smooth;}
body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background: var(--bg-0);
  color:#eef2f7;
}

/* NAV (dark) */
.nav-glass-dark{
  background: rgba(8,12,18,0.75);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.brand-logo{width:26px;height:26px;opacity:.85;}
.nav-link-dark{color:#fff !important; opacity:.8; font-weight:500;}
.nav-link-dark:hover{opacity:1;}
.navbar-toggler{border-color:rgba(255,255,255,0.2);}
.navbar-toggler-icon{filter: invert(1);}

/* Buttons */
.btn-primary{
  --bs-btn-bg: var(--rie-primary);
  --bs-btn-border-color: var(--rie-primary);
  --bs-btn-hover-bg: #00806a;
  --bs-btn-hover-border-color: #00806a;
  --bs-btn-active-bg: #005a4b;
  --bs-btn-active-border-color: #005a4b;
}
.btn-outline-light{
  --bs-btn-color:#fff;
  --bs-btn-border-color:rgba(255,255,255,0.35);
  --bs-btn-hover-bg:rgba(255,255,255,0.08);
  --bs-btn-hover-border-color:rgba(255,255,255,0.6);
}

/* HERO (dark) */
.section{padding:88px 0;position:relative;}
.hero{min-height:88vh;display:flex;align-items:center;position:relative;overflow:clip;padding-top:110px;margin-top:-64px;}
.hero-bg-dark{background:var(--bg-1);}
.hero-gradient{
  position:absolute;inset:-25%;
  background:
    radial-gradient(60% 60% at 12% 10%, rgba(0,109,91,0.95), transparent 60%),
    radial-gradient(60% 60% at 88% 18%, rgba(201,134,101,0.90), transparent 62%),
    linear-gradient(135deg, var(--rie-primary), var(--rie-secondary));
  filter: blur(55px) saturate(120%);
  z-index:0;opacity:.95;transform:scale(1.05);
}
.hero-noise{
  position:absolute;inset:0;
  background-image: radial-gradient(rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity:.25;mix-blend-mode:soft-light;z-index:0;
}
.hero .container{z-index:1;}
.pill{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.35rem .75rem;border-radius:999px;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.18);
  color:#fff;font-size:.85rem;font-weight:600;
}
.mini-glass-dark{
  background:rgba(255,255,255,0.10);
  border:1px solid var(--border-dark);
  border-radius:14px;
  backdrop-filter: blur(8px);
  transition: all .25s ease;
}
.mini-glass-dark:hover{transform:translateY(-2px);}

/* Scroll cue */
.scroll-cue{
  position:absolute;left:0;right:0;bottom:16px;
  display:flex;justify-content:center;gap:6px;align-items:center;
  opacity:.8;animation:bob 1.6s ease-in-out infinite;
}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* DARK glass card */
.glass-card-dark{
  background: var(--glass-dark);
  border:1px solid var(--border-dark);
  border-radius:18px;
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.05);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hover-glow:hover{
  transform: translateY(-4px);
  border-color: rgba(0,109,91,0.6);
  box-shadow:
    0 18px 60px rgba(0,0,0,0.55),
    0 0 0 1px rgba(0,109,91,0.35),
    0 0 40px rgba(0,109,91,0.25);
}

/* LIGHT ZONE */
.light-zone{
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(0,109,91,0.08), transparent),
    radial-gradient(1200px 600px at 110% 10%, rgba(201,134,101,0.08), transparent),
    var(--light-bg);
  color: var(--light-ink);
}

/* Light sections */
.alt-section-light{
  background: linear-gradient(180deg, rgba(0,109,91,0.04), rgba(201,134,101,0.04));
  border-top:1px solid rgba(15,23,42,0.06);
  border-bottom:1px solid rgba(15,23,42,0.06);
}

/* LIGHT glass card */
.glass-card-light{
  background: var(--glass-light);
  border:1px solid var(--border-light);
  border-radius:18px;
  backdrop-filter: blur(8px);
  box-shadow: 0 6px 24px rgba(15,23,42,0.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.hover-glow-light:hover{
  transform: translateY(-4px);
  border-color: rgba(0,109,91,0.45);
  box-shadow:
    0 12px 36px rgba(15,23,42,0.10),
    0 0 0 1px rgba(0,109,91,0.12),
    0 0 30px rgba(0,109,91,0.16);
}

/* Icons */
.icon-bubble{
  width:46px;height:46px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(0,109,91,0.12);
  color:var(--rie-primary);font-size:1.35rem;
}
.strength-icon{
  width:46px;height:46px;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(201,134,101,0.18);
  color:#9a4f34;font-size:1.3rem;
}

/* About pills style (like screenshot) */
.about-pill{
  background:#fff;
  border:1px solid var(--border-light);
  border-radius:16px;
  box-shadow:0 6px 20px rgba(15,23,42,0.06);
}
.about-icon{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  background:rgba(0,109,91,0.10); color:var(--rie-primary);
}
.about-icon-secondary{
  background:rgba(201,134,101,0.18); color:#8b4d36;
}

/* checklist */
.checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem;}
.checklist li{display:flex;gap:.6rem;align-items:flex-start;color:#fff;}
.checklist i{color:#80e6d6;margin-top:.1rem;}

/* steps */
.step-card-light{
  background: rgba(255,255,255,0.9);
  border:1px dashed rgba(15,23,42,0.16);
  border-radius:18px;
}
.step-num{
  width:40px;height:40px;border-radius:999px;
  display:grid;place-items:center;
  background:var(--rie-primary);color:white;font-weight:800;
}

/* images */
.about-img{object-fit:cover;max-height:420px;}
.saas-img{object-fit:cover;max-height:420px;}

/* footer dark */
.footer-dark{
  border-top:1px solid rgba(255,255,255,0.08);
  background: rgba(8,12,18,0.95);
}

/* legal pages */
.legal-hero{
  padding-top:120px;
  background: var(--bg-1);
  position:relative;
  overflow:clip;
}
.legal-hero .hero-gradient{opacity:.6;}

.ceo-img{
  width: 220px;
  height: 220px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid rgba(0,109,91,0.35);
  box-shadow:
    0 10px 30px rgba(15,23,42,0.12),
    0 0 0 6px rgba(0,109,91,0.06);
}

/* responsive */
@media (max-width:991px){
  .section{padding:70px 0;}
  .hero{min-height:auto;padding-top:90px;}
}
