/* Rich In Love 360° — luxury black, chrome and racing red */
:root {
  --ril-black: #08090b;
  --ril-black-soft: #101114;
  --ril-charcoal: #17191d;
  --ril-silver: #c4c7cc;
  --ril-white: #f4f3f1;
  --ril-muted: #b2b3b7;
  --ril-red: #d20d27;
  --ril-red-bright: #ee1736;
  --ril-rule: rgba(255,255,255,.13);
}

html { scroll-behavior: smooth; }
body.ril360-site,
body.ril360-site #page-container,
body.ril360-site #et-main-area { background: var(--ril-black); color: var(--ril-white); }
body.ril360-site { font-family: Inter, "Helvetica Neue", Arial, sans-serif; }
body.ril360-site h1,
body.ril360-site h2,
body.ril360-site h3,
body.ril360-site h4 { color: var(--ril-white); font-family: "Bodoni MT", "Didot", "Iowan Old Style", Georgia, serif; font-weight: 500; letter-spacing: -.025em; }

/* Divi's standard header uses the approved logo and WordPress menu. */
body.ril360-site #main-header,
body.ril360-site #main-header.et-fixed-header {
  background: #08090b !important;
  border-bottom: 1px solid rgba(210,13,39,.68);
  box-shadow: 0 8px 28px rgba(0,0,0,.25);
}
body.ril360-site #logo { max-width: 290px; max-height: 82%; }
body.ril360-site #top-menu > li > a,
body.ril360-site .et_mobile_menu li a { color: #f4f3f1 !important; font-size: 13px; font-weight: 600; letter-spacing: .035em; }
body.ril360-site #top-menu > li > a:hover,
body.ril360-site #top-menu li.current-menu-item > a { color: #ef1736 !important; opacity: 1; }
body.ril360-site #top-menu li.current-menu-ancestor > a { color: #e7e7e8 !important; }
body.ril360-site .nav li ul,
body.ril360-site .et_mobile_menu { background: #111216 !important; border-top: 2px solid var(--ril-red); }
body.ril360-site #et-top-navigation { padding-top: 32px !important; }
body.ril360-site #top-menu > li:last-child > a { padding: 12px 17px !important; border: 1px solid var(--ril-red); background: var(--ril-red); color: #fff !important; }
body.ril360-site #top-menu > li:last-child > a:hover { background: var(--ril-red-bright); }
body.ril360-site #et_mobile_nav_menu .mobile_menu_bar:before { color: var(--ril-white); }
body.ril360-site .et_mobile_menu { border-color: var(--ril-red); }
body.ril360-site #main-content { background: var(--ril-black); }
body.ril360-site .container:before { display: none !important; }
body.ril360-site .et_pb_post,
body.ril360-site .et_pb_section { background-color: transparent; }
body.ril360-site .et_pb_pagebuilder_layout .entry-content { background: var(--ril-black); }
body.ril360-site.page .entry-title,
body.ril360-site.page .et_post_meta_wrapper { display: none !important; }
body.ril360-site .et_pb_row { padding: 0; }
body.ril360-site .et_pb_text { margin-bottom: 0; }
body.ril360-site .et_pb_image { margin-bottom: 0; }
body.ril360-site .et_pb_image img { display: block; }

body.ril360-site .ril-section {
  position: relative;
  overflow: hidden;
  padding: clamp(64px, 8vw, 112px) 0 !important;
  background: var(--ril-black) !important;
}
body.ril360-site .ril-section .et_pb_row { width: min(90%, 1260px) !important; max-width: 1260px !important; }
.ril-section .et_pb_column { margin-bottom: 0; }
.ril-section p { color: #c8c9cc; font-size: 17px; line-height: 1.72; }
.ril-section h1 { max-width: 820px; margin: 0 0 26px; font-size: clamp(48px, 6.4vw, 88px); line-height: .99; }
.ril-section h2 { max-width: 880px; margin: 0 0 26px; font-size: clamp(34px, 4vw, 55px); line-height: 1.06; }
.ril-section h3 { margin: 0 0 13px; font-size: clamp(23px, 2.2vw, 30px); line-height: 1.1; }
.ril-section p + p { margin-top: 18px; }
.ril-section .ril-lead { max-width: 730px; color: #f4f3f1; font-size: clamp(20px, 2vw, 25px); line-height: 1.45; }
.ril-section .ril-eyebrow { margin: 0 0 18px; color: var(--ril-silver); font-size: 11px; font-weight: 700; line-height: 1.4; letter-spacing: .19em; text-transform: uppercase; }
.ril-section .ril-small { color: #a8aaaf; font-size: 13px; line-height: 1.6; }
.ril-section .ril-small a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ril-section ul { padding-left: 22px; color: #d5d6d8; line-height: 1.8; }
.ril-section li { padding: 3px 0 3px 2px; }

body.ril360-site .ril-home-hero {
  min-height: 650px;
  padding-top: clamp(54px, 7vw, 94px) !important;
  padding-bottom: clamp(50px, 7vw, 94px) !important;
  background:
    radial-gradient(ellipse at 83% 42%, rgba(150,8,27,.19), transparent 29%),
    linear-gradient(105deg,#08090b 0%,#0b0c0f 58%,#101114 100%) !important;
}
.ril-home-hero .ril-two-col { display: flex; align-items: center; }
.ril-home-hero .et_pb_column:first-child { width: 55% !important; margin-right: 4% !important; }
.ril-home-hero .et_pb_column:last-child { width: 41% !important; }
.ril-home-hero h1 { max-width: 700px; font-size: clamp(52px, 6vw, 82px); }
.ril-home-hero .ril-image-module { text-align: center; }
.ril-home-hero .ril-image-module img { width: auto; max-width: 100%; height: min(72vh, 760px); object-fit: contain; object-position: center bottom; filter: drop-shadow(0 30px 45px rgba(0,0,0,.35)); }
.ril-home-hero .ril-copy { max-width: 675px; }
.ril-home-hero .ril-lead { max-width: 610px; }

body.ril360-site .ril-page-hero { padding-top: clamp(74px, 9vw, 132px) !important; padding-bottom: clamp(68px, 8vw, 112px) !important; }
.ril-page-hero h1 { font-size: clamp(48px, 6vw, 78px); }
.ril-page-hero .ril-lead { font-size: clamp(20px, 2.15vw, 26px); }
.ril-page-hero .ril-copy { max-width: 880px; }
.ril-candidate-hero .ril-two-col,
.ril-about-hero .ril-two-col,
.ril-home-hero .ril-two-col { display: flex; align-items: center; }
.ril-candidate-hero .et_pb_column:first-child { width: 54% !important; margin-right: 5% !important; }
.ril-candidate-hero .et_pb_column:last-child { width: 41% !important; }
.ril-candidate-hero .ril-image-module img { width: 100%; max-height: 560px; object-fit: cover; object-position: center; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 24px 55px rgba(0,0,0,.4); }
.ril-about-hero .et_pb_column:first-child { width: 55% !important; margin-right: 7% !important; }
.ril-about-hero .et_pb_column:last-child { width: 38% !important; }
.ril-about-hero .ril-image-module img { width: 100%; max-height: 580px; object-fit: cover; object-position: center top; border: 1px solid rgba(255,255,255,.12); }
body.ril360-site .ril-transition-hero { background: linear-gradient(135deg,#101114 0%,#090a0c 66%,#190a0e 100%) !important; }
body.ril360-site .ril-local-hero { background: radial-gradient(ellipse at 82% 40%,rgba(210,13,39,.13),transparent 34%),#090a0c !important; }

.ril-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin: 15px 10px 4px 0;
  padding: 14px 23px;
  border: 1px solid var(--ril-red);
  color: #fff !important;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .105em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.ril-btn-primary { background: var(--ril-red); }
.ril-btn-primary:hover { background: var(--ril-red-bright); border-color: var(--ril-red-bright); transform: translateY(-2px); }
.ril-btn-quiet { background: transparent; border-color: rgba(255,255,255,.4); color: var(--ril-white) !important; }
.ril-btn-quiet:hover { background: rgba(255,255,255,.08); border-color: #fff; }
.ril-text-link { display: inline-block; margin-top: 18px; color: #fff !important; font-size: 13px; font-weight: 750; letter-spacing: .045em; text-decoration: none; }
.ril-text-link span { color: var(--ril-red-bright); }
.ril-text-link:hover { color: #ff334f !important; }

body.ril360-site .ril-entry-points { padding-top: 76px !important; padding-bottom: 94px !important; background: #0b0c0e !important; }
.ril-entry-points .ril-eyebrow { margin-bottom: 30px; }
.ril-card-grid { display: grid; gap: 18px; margin: 34px 0 0; }
.ril-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ril-grid-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ril-card {
  position: relative;
  min-height: 260px;
  padding: clamp(25px, 3vw, 39px);
  border: 1px solid rgba(255,255,255,.16);
  border-top: 2px solid var(--ril-red);
  background: linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow: 0 22px 45px rgba(0,0,0,.12);
}
.ril-card-number { margin: -2px 0 24px !important; color: var(--ril-red-bright) !important; font-family: Georgia,serif; font-size: 46px !important; line-height: 1 !important; }
.ril-card .ril-eyebrow { color: var(--ril-red-bright); }
.ril-card h2 { margin: 0 0 18px; font-size: clamp(28px, 2.75vw, 38px); }
.ril-card h3 { font-size: 25px; }
.ril-card p { font-size: 15px; line-height: 1.65; }
.ril-card-large { min-height: 340px; }

body.ril360-site .ril-proof-strip { padding-top: 35px !important; padding-bottom: 35px !important; background: #121316 !important; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
.ril-proof-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.ril-proof-grid > div { padding: 8px 18px; border-left: 1px solid rgba(210,13,39,.7); }
.ril-proof-grid strong { display: block; color: #f4f3f1; font-family: Georgia,serif; font-size: clamp(22px,2.4vw,32px); font-weight: 500; line-height: 1.1; }
.ril-proof-grid span { display: block; margin-top: 9px; color: #aeb0b4; font-size: 11px; line-height: 1.4; letter-spacing: .1em; text-transform: uppercase; }
body.ril360-site .ril-home-close,
body.ril360-site .ril-match-cta,
body.ril360-site .ril-relationship-close,
body.ril360-site .ril-program-structure,
body.ril360-site .ril-individual-close,
body.ril360-site .ril-about-philosophy,
body.ril360-site .ril-recovery-expertise,
body.ril360-site .ril-mediation-expertise { background: linear-gradient(135deg,#101114,#090a0c) !important; }
.ril-split-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: center; }
.ril-split-copy > div:first-child { max-width: 600px; }
.ril-split-copy > div:last-child { max-width: 600px; }
.ril-promise-panel,.ril-local-panel {
  padding: clamp(28px,4vw,48px);
  border: 1px solid rgba(255,255,255,.18);
  border-left: 3px solid var(--ril-red);
  background: linear-gradient(145deg,#17191d,#0c0d10);
}
body.ril360-site .ril-priority-candidate { background: #101114 !important; }
.ril-priority-panel { display: grid; grid-template-columns: 1.35fr .65fr; gap: 5vw; align-items: center; padding: clamp(27px,4vw,46px); border: 1px solid rgba(255,255,255,.18); border-left: 3px solid var(--ril-red); background: linear-gradient(140deg,#18191d,#0c0d10); }
.ril-priority-panel h2 { margin-bottom: 16px; }
.ril-priority-panel .ril-btn { margin-left: 0; }
.ril-promise-panel h2 { font-size: 38px; }
.ril-promise-panel p,.ril-local-panel p { font-size: 15px; }
body.ril360-site .ril-faq { background: #0c0d10 !important; }
.ril-faq-item { max-width: 900px; padding: 26px 0; border-bottom: 1px solid var(--ril-rule); }
.ril-faq-item h3 { font-family: Inter,Arial,sans-serif; font-size: 18px; font-weight: 700; letter-spacing: 0; }
.ril-faq-item p { margin: 10px 0 0; font-size: 15px; }
.ril-program-value .ril-card,.ril-individual-value .ril-card,.ril-couples-value .ril-card,.ril-recovery-value .ril-card,.ril-dating-after .ril-card { min-height: 220px; }
.ril-relationship-paths .ril-card { min-height: 310px; }
.ril-credentials { margin: 0 !important; padding-left: 20px !important; }
.ril-credentials li { margin-bottom: 8px; color: #d1d2d5; }
body.ril360-site .ril-about-credentials { background: #0b0c0e !important; }
body.ril360-site .ril-application-section,
body.ril360-site .ril-contact-form { background: #0d0e11 !important; }
.ril-form-shell { max-width: 920px; margin-top: 32px; padding: clamp(24px,4vw,44px); border: 1px solid rgba(255,255,255,.16); border-top: 2px solid var(--ril-red); background: #121316; }
.ril-form { color: var(--ril-white); }
.ril-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.ril-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0 0 25px; }
.ril-form label { display: block; color: #e5e5e6; font-size: 13px; font-weight: 650; line-height: 1.45; }
.ril-form label.ril-wide { grid-column: 1 / -1; }
.ril-form input:not([type=checkbox]):not([type=file]),
.ril-form select,.ril-form textarea {
  display: block;
  width: 100%;
  margin-top: 7px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 0;
  background: #090a0c;
  color: #f4f3f1;
  font: inherit;
  font-weight: 400;
}
.ril-form input[type=file] { display: block; width: 100%; margin-top: 9px; color: #d0d0d2; }
.ril-form input:focus,.ril-form select:focus,.ril-form textarea:focus { outline: 2px solid var(--ril-red); outline-offset: 1px; }
.ril-form textarea { resize: vertical; }
.ril-form option { background: #111216; }
.ril-form small { display: block; margin-top: 6px; color: #9ea0a4; font-size: 12px; font-weight: 400; }
.ril-form .ril-consent { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; }
.ril-form .ril-consent input { margin-top: 4px; accent-color: var(--ril-red); }
.ril-form-notice { margin: 0 0 22px; padding: 15px 18px; border-left: 3px solid var(--ril-red); background: #1a1b1f; color: #fff; }
.ril-form-notice.error { border-color: #e15959; }
.ril-booking-widget { margin: 20px 0; }
.ril-contact-hero { padding-bottom: 35px !important; }
.ril-site-footer { position: relative; padding: 50px 5vw 24px; border-top: 1px solid var(--ril-red); background: #060709; color: #aeb0b4; }
.ril-footer-inner { max-width: 1260px; margin: 0 auto; }
.ril-footer-brand { color: #e3e4e6 !important; font-family: Georgia,serif; font-size: 21px; letter-spacing: .08em; text-decoration: none; }
.ril-footer-brand span { color: var(--ril-red-bright); font-style: italic; }
.ril-footer-inner > div:first-child p { margin-top: 7px; color: #8e9095; font-size: 12px; }
.ril-footer-links { display: flex; flex-wrap: wrap; gap: 18px 27px; margin: 24px 0 28px; }
.ril-footer-links a,.ril-footer-bottom a { color: #d8d9dc; font-size: 12px; text-decoration: none; }
.ril-footer-links a:hover,.ril-footer-bottom a:hover { color: #ff334f; }
.ril-footer-note { max-width: 960px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); }
.ril-footer-note p { margin: 0; color: #777a80; font-size: 11px; line-height: 1.65; }
.ril-footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 23px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.08); color: #777a80; font-size: 11px; }
body.ril360-site #main-footer { display: none; }

@media (max-width: 980px) {
  body.ril360-site #logo { max-width: 230px; }
  body.ril360-site #et-top-navigation { padding-top: 28px !important; }
  body.ril360-site .ril-section .et_pb_row { width: min(92%, 760px) !important; }
  body.ril360-site .ril-home-hero { min-height: unset; }
  .ril-home-hero .ril-two-col,.ril-candidate-hero .ril-two-col,.ril-about-hero .ril-two-col { display: block; }
  .ril-home-hero .et_pb_column:first-child,.ril-home-hero .et_pb_column:last-child,
  .ril-candidate-hero .et_pb_column:first-child,.ril-candidate-hero .et_pb_column:last-child,
  .ril-about-hero .et_pb_column:first-child,.ril-about-hero .et_pb_column:last-child { width: 100% !important; margin-right: 0 !important; }
  .ril-home-hero .ril-image-module img { height: min(78vh,680px); margin: 38px auto 0; }
  .ril-candidate-hero .ril-image-module img,.ril-about-hero .ril-image-module img { max-height: 560px; margin-top: 38px; }
}
@media (max-width: 767px) {
  body.ril360-site .ril-section { padding: 58px 0 !important; }
  body.ril360-site .ril-section .et_pb_row { width: 88% !important; }
  .ril-section h1 { font-size: clamp(43px,12vw,64px); }
  .ril-section h2 { font-size: clamp(32px,8vw,45px); }
  .ril-section p { font-size: 16px; }
  body.ril360-site .ril-home-hero { padding-top: 56px !important; padding-bottom: 50px !important; }
  .ril-home-hero .ril-image-module img { height: min(76vh,630px); }
  .ril-grid-three,.ril-grid-two,.ril-proof-grid,.ril-split-copy { grid-template-columns: 1fr; }
  .ril-priority-panel { grid-template-columns: 1fr; gap: 18px; }
  .ril-proof-grid { gap: 15px; }
  .ril-proof-grid > div { padding: 6px 15px; }
  .ril-card { min-height: unset; padding: 27px; }
  .ril-card-number { margin-bottom: 17px !important; font-size: 38px !important; }
  .ril-form-grid { grid-template-columns: 1fr; }
  .ril-form label.ril-wide { grid-column: auto; }
  .ril-footer-links { gap: 13px 19px; }
  .ril-footer-bottom { display: block; }
  .ril-footer-bottom a { display: block; margin-top: 11px; }
}
