:root {
  --rose-ink: #281b22;
  --rose-plum: #351a29;
  --rose-wine: #5a2738;
  --rose-wine-dark: #24131e;
  --rose-gold: #c79843;
  --rose-gold-light: #f1d58d;
  --rose-paper: #f5ede1;
  --rose-surface: #fffaf3;
  --rose-muted: #735b5d;
  --rose-line: rgba(93, 55, 48, .2);
  --rose-width: 1120px;
}

* { box-sizing: border-box; }
html { scroll-behavior: auto; }
body {
  margin: 0;
  background: var(--rose-paper);
  color: var(--rose-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
main { overflow: hidden; background: var(--rose-paper); }

.site-header-bidbo { background: var(--rose-plum) !important; border-bottom: 1px solid rgba(241, 213, 141, .36) !important; }
.site-header-bidbo .wrap-bidbo { width: min(var(--rose-width), calc(100% - 40px)); min-height: 74px; }
.site-logo-bidbo { display: inline-flex !important; align-items: center; gap: 10px; color: #fff8ec !important; font-family: Georgia, "Times New Roman", serif; font-size: 19px; font-weight: 700; letter-spacing: .05em; text-decoration: none; }
.site-logo-bidbo img { width: 42px; height: 42px; object-fit: contain; }
.site-nav-bidbo { gap: 22px !important; }
.site-nav-bidbo a { color: #f5e4c1 !important; font-size: 14px; }
.site-nav-bidbo a:hover { color: var(--rose-gold-light) !important; }

.hero-bidbo {
  position: relative;
  overflow: hidden;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(72px, 10vw, 128px) max(24px, 8vw) clamp(66px, 8vw, 104px) !important;
  background: radial-gradient(circle at 85% 18%, rgba(241, 213, 141, .16), transparent 22rem), linear-gradient(125deg, var(--rose-wine-dark), var(--rose-plum) 58%, #633045) !important;
  color: #fffaf0 !important;
  text-align: center;
}
.hero-bidbo::before, .hero-bidbo::after { content: ""; position: absolute; width: 390px; height: 390px; border: 1px solid rgba(241, 213, 141, .36); border-radius: 50%; pointer-events: none; }
.hero-bidbo::before { right: -160px; top: -210px; box-shadow: 0 0 0 22px rgba(241, 213, 141, .06), 0 0 0 46px rgba(241, 213, 141, .035); }
.hero-bidbo::after { left: -230px; bottom: -280px; }
.hero-bidbo > * { position: relative; z-index: 1; }
.hero-bidbo .eyebrow-bidbo, .eyebrow-bidbo { color: var(--rose-gold) !important; letter-spacing: .17em; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.hero-bidbo .eyebrow-bidbo { color: var(--rose-gold-light) !important; }
.hero-bidbo h1 { max-width: 820px; margin: 18px auto 25px !important; color: #fffaf0 !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(47px, 7vw, 82px) !important; line-height: .98 !important; letter-spacing: -.045em; }
.hero-bidbo .intro-bidbo { max-width: 740px !important; margin: 0 auto !important; }
.hero-bidbo .intro-bidbo p { color: #fff7e8 !important; font-size: clamp(17px, 2vw, 21px); line-height: 1.63; }
.hero-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 28px; color: #f5dfb6; font-size: 14px; }
.hero-facts strong { color: var(--rose-gold-light); }
.rose-hero-button { display: inline-flex; align-items: center; gap: 13px; margin-top: 26px; padding: 15px 25px; border-radius: 999px; background: var(--rose-gold-light); color: var(--rose-wine-dark) !important; font-weight: 850; text-decoration: none; box-shadow: 0 14px 30px rgba(0, 0, 0, .2); transition: transform .2s ease, background .2s ease; }
.rose-hero-button:hover { background: #fff0bc; transform: translateY(-2px); }

.site-catfish-bidbo {
  border: 1px solid var(--rose-gold) !important;
  border-radius: 18px !important;
  background: var(--rose-surface) !important;
  color: var(--rose-ink) !important;
  box-shadow: 0 16px 38px rgba(51, 26, 41, .2) !important;
}
.site-catfish-bidbo small { color: var(--rose-muted) !important; opacity: 1 !important; }
.site-catfish-bidbo strong, .site-catfish-bidbo span { color: var(--rose-plum) !important; }
.site-catfish-bidbo a { background: var(--rose-wine) !important; color: #fff8ed !important; border-radius: 12px !important; }
.site-catfish-close-bidbo { background: var(--rose-plum) !important; color: #fff8ed !important; }

.rose-section, .rose-rating-note { width: min(var(--rose-width), calc(100% - 40px)); margin: 34px auto; }
.rose-section { padding: clamp(28px, 4vw, 52px); border: 1px solid var(--rose-line); border-radius: 24px; background: var(--rose-surface); box-shadow: 0 14px 35px rgba(76, 46, 43, .07); }
.rose-section h2 { margin: 10px 0 16px; color: var(--rose-plum); font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -.025em; }
.rose-section h3 { color: var(--rose-plum); }
.rose-section p { max-width: 820px; margin: 0 0 15px; color: var(--rose-muted); font-size: 16px; line-height: 1.75; }
.rose-overview { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); gap: 42px; align-items: center; border-top: 5px solid var(--rose-gold); }
.rose-overview-side { display: grid; gap: 11px; }
.rose-stat { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 1px solid var(--rose-line); border-radius: 14px; background: #fffdf8; }
.rose-stat strong { min-width: 44px; color: var(--rose-wine); font-family: Georgia, "Times New Roman", serif; font-size: 30px; }
.rose-stat span { color: var(--rose-muted); font-size: 14px; }
.rose-rating-note { margin-top: 38px; margin-bottom: -16px; padding: 0 8px; }
.rose-rating-note p { display: inline; margin-left: 18px; color: var(--rose-muted); line-height: 1.7; }

#sister-sites { --rating-accent: var(--rose-gold); --rating-bg: var(--rose-surface); --rating-text: var(--rose-ink); --rating-button-text: #fff8ed; background: transparent !important; }
.sister-rating-bidbo { width: min(var(--rose-width), calc(100% - 40px)) !important; max-width: none !important; margin: 34px auto !important; padding: 28px 0 0 !important; color: var(--rose-ink) !important; }
.sister-rating-bidbo h2 { margin: 0 0 22px !important; color: var(--rose-plum) !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 4vw, 48px) !important; line-height: 1.05; }
.sister-rating-bidbo ol { gap: 18px !important; }
.sister-rating-bidbo .sr-card-bidbo { min-height: 100%; border: 1px solid rgba(90, 39, 56, .2) !important; border-top: 4px solid var(--rose-gold) !important; border-radius: 18px !important; background: var(--rose-surface) !important; color: var(--rose-ink) !important; box-shadow: 0 12px 28px rgba(76, 46, 43, .08); }
.sister-rating-bidbo .sr-name-bidbo, .sister-rating-bidbo .sr-best strong { color: var(--rose-plum) !important; }
.sister-rating-bidbo .sr-logo-bidbo { border: 1px solid rgba(90, 39, 56, .12); background: #fff !important; }
.sister-rating-bidbo dl { background: #f3e9d9 !important; }
.sister-rating-bidbo .sr-cta-bidbo { background: var(--rose-wine) !important; color: #fff8ec !important; }

.rose-family { background: linear-gradient(135deg, #fffaf3, #f4e6d3); }
.rose-card-grid { display: grid; gap: 14px; margin-top: 26px; }
.rose-card-grid.three { grid-template-columns: repeat(3, 1fr); }
.rose-info-card { min-height: 190px; padding: 23px; border: 1px solid var(--rose-line); border-radius: 16px; background: rgba(255, 255, 255, .56); }
.rose-info-card h3 { margin: 11px 0 8px; font-family: Georgia, "Times New Roman", serif; font-size: 23px; }
.rose-info-card p { margin: 0; font-size: 14px; line-height: 1.62; }
.rose-card-number { color: var(--rose-gold); font-size: 13px; font-weight: 900; letter-spacing: .14em; }

.rose-comparison { background: var(--rose-plum); color: #fff8ed; }
.rose-comparison h2 { color: #fff8ed; }
.rose-comparison > p { color: #f3dcc0; }
.rose-table-wrap { overflow-x: auto; border: 1px solid rgba(241, 213, 141, .3); border-radius: 15px; }
.rose-comparison table { width: 100%; min-width: 760px; border-collapse: collapse; }
.rose-comparison th { background: var(--rose-gold); color: var(--rose-wine-dark); text-align: left; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.rose-comparison th, .rose-comparison td { padding: 16px 17px; border-bottom: 1px solid rgba(241, 213, 141, .18); vertical-align: top; line-height: 1.5; }
.rose-comparison tbody tr:nth-child(even) { background: rgba(255, 255, 255, .055); }
.rose-comparison tbody tr:last-child td { border-bottom: 0; }
.rose-comparison td:first-child { color: var(--rose-gold-light); font-weight: 800; }

.rose-route { background: #f9f0e4; }
.rose-route-heading { display: grid; grid-template-columns: .85fr 1.15fr; gap: 28px; align-items: end; }
.rose-route-heading h2 { grid-column: 1; grid-row: 1 / span 2; margin: 10px 0 0; }
.rose-route-heading p { grid-column: 2; grid-row: 1 / span 2; margin: 0; }
.rose-route-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 28px; }
.rose-route-list article { padding: 19px; border-left: 3px solid var(--rose-gold); background: #fffdf8; }
.rose-route-list span { color: var(--rose-gold); font-size: 12px; font-weight: 900; letter-spacing: .1em; }
.rose-route-list h3 { margin: 10px 0 7px; font-family: Georgia, "Times New Roman", serif; font-size: 19px; }
.rose-route-list p { margin: 0; font-size: 14px; line-height: 1.55; }

.rose-scorecard { background: #fffdf8; }
.rose-decision-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; margin-top: 25px; }
.rose-decision { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 20px; border: 1px solid var(--rose-line); border-radius: 14px; background: #f5eadb; }
.rose-decision b { color: var(--rose-wine); font-family: Georgia, "Times New Roman", serif; font-size: 20px; }
.rose-decision span { color: var(--rose-muted); line-height: 1.55; }

.rose-safety { display: grid; grid-template-columns: 1.25fr .75fr; gap: 28px; background: var(--rose-wine-dark); color: #fff8ed; }
.rose-safety h2 { color: #fff8ed; }
.rose-safety p, .rose-safety li { color: #f0dbc0; }
.rose-safety ul { display: grid; gap: 10px; margin: 22px 0 0; padding-left: 20px; line-height: 1.5; }
.rose-safety-note { align-self: center; padding: 28px; border: 1px solid rgba(241, 213, 141, .4); border-radius: 18px; background: rgba(255, 255, 255, .07); }
.rose-safety-note strong { color: var(--rose-gold-light); font-family: Georgia, "Times New Roman", serif; font-size: 42px; }
.rose-safety-note p { margin-top: 12px; }

.rose-faq { background: transparent; border: 0; box-shadow: none; padding-left: 0; padding-right: 0; }
.rose-faq details { margin: 11px 0; padding: 20px 22px; border: 1px solid var(--rose-line); border-radius: 14px; background: var(--rose-surface); }
.rose-faq summary { cursor: pointer; color: var(--rose-plum); font-weight: 800; }
.rose-faq details p { margin: 12px 0 0; max-width: 900px; }

.site-footer-bidbo { margin-top: 54px !important; padding: 58px 24px 24px !important; background: var(--rose-plum) !important; color: #f5dfba !important; }
.site-footer-bidbo .wrap-bidbo { width: min(var(--rose-width), calc(100% - 40px)); max-width: none !important; }
.rose-footer-grid { display: grid; grid-template-columns: 1.35fr .8fr .9fr; gap: 34px; padding-bottom: 34px; border-bottom: 1px solid rgba(241, 213, 141, .28); }
.rose-footer-grid h3 { margin: 0 0 12px; color: #fff8ed; font-family: Georgia, "Times New Roman", serif; font-size: 22px; }
.rose-footer-grid p, .rose-footer-grid a { color: #edd5b2 !important; line-height: 1.65; }
.rose-footer-grid a { display: block; margin: 6px 0; text-decoration: none; }
.rose-footer-grid a:hover { color: var(--rose-gold-light) !important; }
.rose-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; font-size: 13px; }
.org-footer-bidbo { width: min(var(--rose-width), calc(100% - 40px)) !important; max-width: none !important; border-top-color: rgba(241, 213, 141, .28) !important; }

@media (max-width: 820px) {
  .rose-overview, .rose-safety, .rose-route-heading { grid-template-columns: 1fr; }
  .rose-route-heading h2, .rose-route-heading p { grid-column: auto; grid-row: auto; }
  .rose-card-grid.three, .rose-route-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .site-header-bidbo .wrap-bidbo { width: calc(100% - 28px); }
  .site-nav-bidbo { gap: 10px !important; }
  .site-nav-bidbo a { font-size: 12px; }
  .rose-section, .rose-rating-note { width: calc(100% - 24px); }
  .sister-rating-bidbo, .org-footer-bidbo { width: calc(100% - 24px) !important; }
  .hero-bidbo h1 { font-size: clamp(42px, 14vw, 64px) !important; }
  .rose-card-grid.three, .rose-route-list, .rose-decision-grid, .rose-footer-grid { grid-template-columns: 1fr; }
  .rose-decision { grid-template-columns: 1fr; gap: 7px; }
  .rose-footer-bottom { display: grid; }
}
