:root {
  --rhme-blue: #00A0E3;
  --rhme-charcoal: #2B2A29;
  --rhme-paper: #F4F7F9;
  --rhme-mid: #5B6570;
  --rhme-white: #FFFFFF;
  --rhme-line: rgba(43,42,41,.12);
}

.rhme-page { background: #fff; color: var(--rhme-charcoal); overflow: hidden; }
.rhme-page strong { font-weight: 800; }
.rhme-page .rhme-section { padding: clamp(5rem, 8vw, 8.5rem) 0; }
.rhme-kicker {
  display: inline-flex; align-items: center; gap: .65rem;
  color: #7fd7fb; font-size: .76rem; font-weight: 800;
  letter-spacing: .15em; text-transform: uppercase; margin-bottom: 1.25rem;
}
.rhme-kicker::before { content:""; width: 32px; height: 2px; background: currentColor; }
.rhme-kicker.dark { color: var(--rhme-blue); }
.rhme-heading {
  margin: 0; font-size: clamp(2.4rem, 5vw, 5.3rem); line-height: .98;
  letter-spacing: -.055em; font-weight: 300; max-width: 1050px;
}
.rhme-heading strong { color: var(--rhme-blue); }
.rhme-heading.light { color: #fff; }
.rhme-copy { color: var(--rhme-mid); font-size: 1.05rem; line-height: 1.85; }
.rhme-copy.light-copy { color: rgba(255,255,255,.72); max-width: 680px; margin-top: 2rem; }
.rhme-copy-wide { max-width: 900px; margin-top: 2rem; }
.rhme-index { font-size: clamp(4rem, 9vw, 8rem); font-weight: 300; line-height: .8; color: rgba(43,42,41,.10); }

.rhme-hero {
  position: relative; margin-top: 76px; background: var(--rhme-charcoal); color: #fff;
  min-height: 720px; isolation: isolate;
}
.rhme-hero .container-xl { min-height: 720px; }
.rhme-hero-copy {
  padding: clamp(4.5rem, 8vw, 8.5rem) clamp(1rem, 5vw, 5.5rem) clamp(4.5rem, 7vw, 7rem) 0;
  display: flex; flex-direction: column; justify-content: center;
}
.rhme-hero h1 {
  font-size: clamp(3.25rem, 6.7vw, 7.2rem); line-height: .92; letter-spacing: -.06em;
  font-weight: 300; max-width: 1050px; margin: 0;
}
.rhme-hero h1 strong { color: var(--rhme-blue); }
.rhme-lead { max-width: 810px; margin: 2rem 0 0; color: rgba(255,255,255,.72); font-size: clamp(1.05rem, 1.6vw, 1.35rem); line-height: 1.75; }
.btn-rhme-primary {
  --bs-btn-color: #fff; --bs-btn-bg: var(--rhme-blue); --bs-btn-border-color: var(--rhme-blue);
  --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #008dcc; --bs-btn-hover-border-color: #008dcc;
  border-radius: 0; padding: .92rem 1.25rem; font-weight: 700;
}
.btn-rhme-outline {
  color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 0; padding: .92rem 1.25rem; font-weight: 700;
}
.btn-rhme-outline:hover { color: var(--rhme-charcoal); background: #fff; border-color: #fff; }
.rhme-hero-meta {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem 1.4rem;
  max-width: 770px; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.15);
}
.rhme-hero-meta span { display: flex; gap: .6rem; color: rgba(255,255,255,.67); font-size: .85rem; }
.rhme-hero-meta i { color: var(--rhme-blue); font-size: 1rem; }
.rhme-hero-panel {
  min-height: 720px; border-left: 1px solid rgba(255,255,255,.12);
  padding: clamp(3rem, 6vw, 6rem) 0 clamp(3rem, 6vw, 6rem) clamp(2rem, 4vw, 4rem);
  display: flex; flex-direction: column; justify-content: flex-end; position: relative;
}
.rhme-product-mark { white-space: nowrap; font-size: clamp(3.5rem, 7vw, 7rem); font-weight: 800; letter-spacing: -.08em; line-height: 1; }
.rhme-product-rh { color: #fff; }.rhme-product-dot { color: var(--rhme-blue); }.rhme-product-me { color: rgba(255,255,255,.42); }
.rhme-panel-line { width: 100%; height: 1px; background: rgba(255,255,255,.17); margin: 2rem 0; }
.rhme-panel-flow { display: grid; gap: 1rem; }
.rhme-panel-flow div { display: flex; align-items: center; gap: 1rem; font-size: .93rem; color: rgba(255,255,255,.72); }
.rhme-panel-flow span { color: var(--rhme-blue); font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.rhme-orbit { position: absolute; border: 1px solid rgba(0,160,227,.22); border-radius: 50%; z-index: -1; pointer-events:none; }
.rhme-orbit-one { width: 520px; height: 520px; right: -200px; top: -180px; }
.rhme-orbit-two { width: 260px; height: 260px; right: 80px; top: 120px; }

.rhme-problem { background: #fff; }
.rhme-workflow { background: var(--rhme-charcoal); padding: clamp(4rem, 7vw, 7rem) 0; color:#fff; }
.rhme-flow-grid { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }
.rhme-flow-step { min-height: 155px; padding: 1.5rem 1.1rem; position: relative; border-right: 1px solid rgba(255,255,255,.13); display:flex; flex-direction:column; justify-content:space-between; }
.rhme-flow-step:last-child { border-right: 0; }
.rhme-flow-number { color: var(--rhme-blue); font-size: .74rem; font-weight: 800; letter-spacing: .1em; }
.rhme-flow-step strong { font-size: 1.05rem; }
.rhme-flow-step > i { position:absolute; right:-.55rem; top:50%; color:var(--rhme-blue); background:var(--rhme-charcoal); z-index:2; padding:.1rem; }

.rhme-module-card {
  border: 1px solid var(--rhme-line); padding: clamp(1.7rem,3vw,2.5rem); background:#fff;
  display:flex; flex-direction:column; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.rhme-module-card:hover { transform: translateY(-4px); border-color: rgba(0,160,227,.42); box-shadow: 0 20px 60px rgba(43,42,41,.08); }
.rhme-module-icon { width:58px; height:58px; display:grid; place-items:center; background:var(--rhme-paper); color:var(--rhme-blue); font-size:1.45rem; margin-bottom:2rem; }
.rhme-module-card h3 { font-size:1.65rem; letter-spacing:-.03em; margin-bottom:.7rem; }
.rhme-module-card > p { color:var(--rhme-mid); min-height:52px; line-height:1.65; }
.rhme-module-card ul { list-style:none; padding:1.3rem 0 0; margin:1.2rem 0 0; border-top:1px solid var(--rhme-line); display:grid; gap:.8rem; }
.rhme-module-card li { display:flex; gap:.7rem; color:#4f565d; line-height:1.45; font-size:.93rem; }
.rhme-module-card li i { color:var(--rhme-blue); margin-top:.08rem; }

.rhme-calc { background:var(--rhme-paper); }
.rhme-proof-grid { border:1px solid rgba(43,42,41,.13); }
.rhme-proof-card { padding:2.2rem; border-right:1px solid rgba(43,42,41,.13); background:rgba(255,255,255,.4); }
.rhme-proof-grid > div:last-child .rhme-proof-card { border-right:0; }
.rhme-proof-card > i { color:var(--rhme-blue); font-size:1.55rem; display:block; margin-bottom:2.2rem; }
.rhme-proof-card h3 { font-size:1.2rem; font-weight:700; margin-bottom:.8rem; }
.rhme-proof-card p { margin:0; color:var(--rhme-mid); line-height:1.7; font-size:.94rem; }

.rhme-security { background:var(--rhme-charcoal); color:#fff; }
.rhme-security-list { border-top:1px solid rgba(255,255,255,.16); }
.rhme-security-row { display:grid; grid-template-columns:52px 1fr; gap:1rem; padding:1.4rem 0; border-bottom:1px solid rgba(255,255,255,.14); }
.rhme-security-row > span { color:var(--rhme-blue); font-size:.73rem; font-weight:800; letter-spacing:.1em; }
.rhme-security-row strong { display:block; margin-bottom:.35rem; font-size:1.05rem; }
.rhme-security-row p { margin:0; color:rgba(255,255,255,.62); line-height:1.65; font-size:.93rem; }

.rhme-edition { border:1px solid var(--rhme-line); padding:clamp(1.8rem,3.5vw,3rem); display:flex; flex-direction:column; }
.rhme-edition-free { border-top:4px solid var(--rhme-blue); }
.rhme-edition-premium { background:var(--rhme-paper); border-top:4px solid var(--rhme-charcoal); }
.rhme-edition h3 { font-size:clamp(2rem,3vw,3rem); letter-spacing:-.045em; margin:.7rem 0 1rem; }
.rhme-edition .d-flex > i { font-size:2rem; color:var(--rhme-blue); }
.rhme-edition-premium .d-flex > i { color:var(--rhme-charcoal); }
.rhme-edition > p { color:var(--rhme-mid); line-height:1.7; min-height:58px; }
.rhme-edition ul { list-style:none; padding:1.5rem 0; margin:1rem 0 1.7rem; border-top:1px solid var(--rhme-line); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1rem; }
.rhme-edition li { display:flex; gap:.65rem; color:#4e565d; font-size:.92rem; line-height:1.45; }
.rhme-edition li i { color:var(--rhme-blue); }
.rhme-edition-premium li i { color:var(--rhme-mid); }
.rhme-status { display:inline-block; padding:.35rem .55rem; font-size:.68rem; letter-spacing:.12em; font-weight:800; }
.rhme-status.available { color:#006d9b; background:rgba(0,160,227,.12); }
.rhme-status.future { color:#565c62; background:rgba(43,42,41,.08); }

.rhme-principle { padding:clamp(5rem,8vw,8rem) 0; border-top:1px solid var(--rhme-line); border-bottom:1px solid var(--rhme-line); }
.rhme-final-cta { background:#171716; color:#fff; padding:clamp(5rem,8vw,8rem) 0; position:relative; }
.rhme-final-cta::after { content:"RH.Me"; position:absolute; right:-.03em; bottom:-.22em; font-size:clamp(8rem,22vw,22rem); font-weight:800; letter-spacing:-.1em; color:rgba(255,255,255,.025); pointer-events:none; }
.rhme-final-cta h2 { font-size:clamp(2.7rem,5.5vw,6rem); line-height:.95; letter-spacing:-.06em; font-weight:300; max-width:920px; margin:0; }
.rhme-final-cta h2 strong { color:var(--rhme-blue); }
.rhme-final-cta p { color:rgba(255,255,255,.65); max-width:680px; margin:1.5rem 0 0; font-size:1.08rem; line-height:1.75; }
.rhme-final-cta small { color:rgba(255,255,255,.45); }

@media (max-width: 1199.98px) {
  .rhme-proof-card { border-bottom:1px solid rgba(43,42,41,.13); }
  .rhme-proof-grid > div:nth-child(2) .rhme-proof-card { border-right:0; }
  .rhme-proof-grid > div:nth-last-child(-n+2) .rhme-proof-card { border-bottom:0; }
}
@media (max-width: 991.98px) {
  .rhme-hero, .rhme-hero .container-xl { min-height:auto; }
  .rhme-hero-copy { padding-right:0; padding-top:5.5rem; }
  .rhme-hero-panel { min-height:auto; border-left:0; border-top:1px solid rgba(255,255,255,.12); padding:3rem 0 4.5rem; }
  .rhme-product-mark { font-size:clamp(4rem,16vw,7rem); }
  .rhme-flow-grid { grid-template-columns:1fr; }
  .rhme-flow-step { min-height:88px; border-right:0; border-bottom:1px solid rgba(255,255,255,.13); flex-direction:row; align-items:center; justify-content:flex-start; gap:1.2rem; }
  .rhme-flow-step:last-child { border-bottom:0; }
  .rhme-flow-step > i { transform:rotate(90deg); top:auto; right:1rem; bottom:-.6rem; }
  .rhme-edition > p { min-height:auto; }
}
@media (max-width: 767.98px) {
  .rhme-hero { margin-top:68px; }
  .rhme-hero-meta { grid-template-columns:1fr; }
  .rhme-proof-card { border-right:0; border-bottom:1px solid rgba(43,42,41,.13)!important; }
  .rhme-proof-grid > div:last-child .rhme-proof-card { border-bottom:0!important; }
  .rhme-edition ul { grid-template-columns:1fr; }
  .rhme-heading { letter-spacing:-.045em; }
}
@media (prefers-reduced-motion: reduce) {
  .rhme-module-card { transition:none; }
  .rhme-module-card:hover { transform:none; }
}
