/* ============================================================
   RK DERMA — ELEMENTOR WIDGETS STYLESHEET
   Styles all 17 custom widgets rendered via rk-w-* classes.
   Loaded on every page when Elementor is active.
   Version: 1.0.0
   ============================================================ */

/* ── 1. HERO BANNER (rk_hero_banner) ───────────────────────── */
.rk-w-hero {
  background: var(--ink);
  position: relative;
  overflow: hidden;
  padding: clamp(80px, 12vw, 140px) var(--gutter) clamp(60px, 8vw, 100px);
}
.rk-w-hero::before {
  content: '';
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184,146,74,.08) 0%, transparent 65%);
  top: -300px; right: -200px;
  pointer-events: none;
}
.rk-w-hero__inner {
  max-width: var(--max-w);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 6vw, 80px);
  align-items: center;
  position: relative;
  z-index: 1;
}
.rk-w-hero__content { min-width: 0; }
.rk-w-hero__heading {
  font-family: var(--font-serif);
  font-size: clamp(36px, 5.5vw, 68px);
  font-weight: 300;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 20px;
}
.rk-w-hero__heading em { font-style: italic; color: var(--gold2); }
.rk-w-hero__body {
  font-size: clamp(0.95rem, 1.2vw, 1.05rem);
  color: rgba(255,255,255,0.65);
  line-height: 1.75;
  margin-bottom: 32px;
  max-width: 540px;
}
.rk-w-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.rk-w-hero__stats {
  display: flex;
  gap: 28px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(184,146,74,0.15);
  flex-wrap: wrap;
}
.rk-w-hero__stat-val {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 500;
  color: var(--gold2);
  line-height: 1;
}
.rk-w-hero__stat-lbl {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.45);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 4px;
}
.rk-w-hero__visual {
  position: relative;
  border-radius: var(--r24);
  overflow: hidden;
  aspect-ratio: 4/5;
  box-shadow: var(--s4);
}
.rk-w-hero__visual img {
  width: 100%; height: 100%;
  object-fit: cover;
}
@media (max-width: 900px) {
  .rk-w-hero__inner { grid-template-columns: 1fr; }
  .rk-w-hero__visual { display: none; }
}

/* ── 2. TRUST BADGES (rk_trust_badges) ─────────────────────── */
.rk-w-trust {
  background: var(--bg2);
  border-top: 1px solid rgba(184,146,74,0.1);
  border-bottom: 1px solid rgba(184,146,74,0.1);
  padding: 22px var(--gutter);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px 40px;
}
.rk-w-trust__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--ink2);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.rk-w-trust__item svg,
.rk-w-trust__item i { color: var(--gold); width: 16px; height: 16px; font-size: 14px; flex-shrink: 0; }

/* ── 3. CONTENT CARDS (rk_content_cards) ───────────────────── */
.rk-w-cards { padding: clamp(64px,9vw,112px) var(--gutter); }
.rk-w-cards--light { background: var(--bg); }
.rk-w-cards--dark  { background: var(--ink); }
.rk-w-cards--mid   { background: var(--bg2); }
.rk-w-cards__inner { max-width: var(--max-w); margin: 0 auto; }
.rk-w-cards__hd { margin-bottom: clamp(36px,5vw,60px); max-width: 600px; }
.rk-w-cards__hd--centered { text-align: center; margin-left: auto; margin-right: auto; }
.rk-w-cards__title {
  font-family: var(--font-serif);
  font-size: clamp(28px,4vw,48px);
  font-weight: 300;
  line-height: 1.1;
  color: var(--ink);
  margin-bottom: 12px;
}
.rk-w-cards--dark .rk-w-cards__title { color: #fff; }
.rk-w-cards__title em { font-style: italic; color: var(--gold2); }
.rk-w-cards__sub { color: var(--body); font-size: 0.95rem; line-height: 1.7; }
.rk-w-cards--dark .rk-w-cards__sub { color: rgba(255,255,255,0.55); }
.rk-w-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(16px,2.5vw,28px);
}
.rk-w-cards__grid[data-cols="2"] { grid-template-columns: repeat(2,1fr); }
.rk-w-cards__grid[data-cols="4"] { grid-template-columns: repeat(4,1fr); }
@media (max-width: 900px)  { .rk-w-cards__grid, .rk-w-cards__grid[data-cols="4"] { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px)  { .rk-w-cards__grid, .rk-w-cards__grid[data-cols="2"], .rk-w-cards__grid[data-cols="4"] { grid-template-columns: 1fr; } }

.rk-w-card {
  background: var(--white);
  border: 1px solid rgba(184,146,74,0.1);
  border-radius: var(--r20);
  padding: clamp(24px,3vw,36px);
  box-shadow: var(--s1);
  transition: transform var(--t-slow), box-shadow var(--t-slow);
}
.rk-w-card:hover { transform: translateY(-4px); box-shadow: var(--s3); }
.rk-w-cards--dark .rk-w-card { background: rgba(255,255,255,0.04); border-color: rgba(184,146,74,0.12); }
.rk-w-card__icon {
  width: 48px; height: 48px;
  background: var(--gp);
  border: 1px solid var(--gb);
  border-radius: var(--r12);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
  color: var(--gold);
}
.rk-w-card__icon svg { width: 22px; height: 22px; }
.rk-w-card__num {
  font-family: var(--font-serif);
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--gold);
  opacity: 0.35;
  line-height: 1;
  margin-bottom: 12px;
}
.rk-w-card__title {
  font-family: var(--font-serif);
  font-size: clamp(1.1rem,1.5vw,1.35rem);
  font-weight: 500;
  color: var(--ink);
  margin-bottom: 10px;
  line-height: 1.25;
}
.rk-w-cards--dark .rk-w-card__title { color: #fff; }
.rk-w-card__body { font-size: 0.88rem; line-height: 1.7; color: var(--body); }
.rk-w-cards--dark .rk-w-card__body { color: rgba(255,255,255,0.55); }
.rk-w-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.rk-w-card__tag {
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 3px 10px; border-radius: var(--rpill);
  background: var(--gp); border: 1px solid var(--gb); color: var(--gold);
}

/* ── 4. CTA SECTION (rk_cta_section) ───────────────────────── */
.rk-w-cta {
  background: var(--ink);
  padding: clamp(64px,9vw,112px) var(--gutter);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.rk-w-cta__orb {
  position: absolute;
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle, rgba(184,146,74,.1) 0%, transparent 65%);
  top: 50%; left: 50%; transform: translate(-50%,-50%);
  pointer-events: none;
}
.rk-w-cta__inner {
  max-width: 700px; margin: 0 auto; position: relative; z-index: 1;
}
.rk-w-cta__eyebrow {
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--gold2);
  margin-bottom: 16px; display: block;
}
.rk-w-cta__title {
  font-family: var(--font-serif);
  font-size: clamp(28px,4.5vw,54px);
  font-weight: 300; line-height: 1.1;
  color: #fff; margin-bottom: 16px;
}
.rk-w-cta__title em { font-style: italic; color: var(--gold2); }
.rk-w-cta__subtitle { color: rgba(255,255,255,0.55); font-size: 0.95rem; line-height: 1.7; margin-bottom: 36px; }
.rk-w-cta__btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── 5. FAQ ACCORDION (rk_faq_accordion) ───────────────────── */
.rk-w-faq { padding: clamp(64px,9vw,112px) var(--gutter); background: var(--bg); }
.rk-w-faq__inner { max-width: 800px; margin: 0 auto; }
.rk-w-faq__hd { margin-bottom: clamp(32px,4vw,52px); }
.rk-w-faq__eyebrow { margin-bottom: 12px; }
.rk-w-faq__title {
  font-family: var(--font-serif);
  font-size: clamp(26px,3.5vw,44px);
  font-weight: 300; line-height: 1.1; color: var(--ink);
  margin-bottom: 10px;
}
.rk-w-faq__title em { font-style: italic; color: var(--gold); }
.rk-w-faq__sub { color: var(--body); font-size: 0.92rem; line-height: 1.7; }
.rk-w-faq__list { display: flex; flex-direction: column; gap: 0; }
.rk-w-faq__item {
  border-bottom: 1px solid rgba(184,146,74,0.12);
}
.rk-w-faq__q {
  width: 100%; display: flex; align-items: center;
  justify-content: space-between; gap: 16px;
  padding: 20px 0; cursor: pointer; background: none; border: none;
  text-align: left; font-family: var(--font-serif);
  font-size: clamp(1rem,1.3vw,1.18rem); font-weight: 500; color: var(--ink);
  transition: color var(--t-fast);
}
.rk-w-faq__q:hover { color: var(--gold); }
.rk-w-faq__icon {
  width: 28px; height: 28px; flex-shrink: 0;
  background: var(--gp); border: 1px solid var(--gb);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: var(--gold); transition: transform var(--t-base), background var(--t-base);
}
.rk-w-faq__icon svg { width: 14px; height: 14px; }
.rk-w-faq__item[open] .rk-w-faq__icon { transform: rotate(45deg); background: var(--gold); color: #fff; border-color: var(--gold); }
.rk-w-faq__a {
  padding: 0 0 20px 0; color: var(--body);
  font-size: 0.9rem; line-height: 1.75;
}

/* ── 6. MARQUEE TESTIMONIALS (rk_marquee_testimonials) ─────── */
.rk-w-marq { padding: clamp(64px,9vw,112px) var(--gutter) 0; background: var(--bg); overflow: hidden; }
.rk-w-marq__hd { max-width: var(--max-w); margin: 0 auto clamp(36px,5vw,56px); }
.rk-w-marq__title {
  font-family: var(--font-serif);
  font-size: clamp(26px,3.5vw,44px);
  font-weight: 300; color: var(--ink); line-height: 1.1; margin-bottom: 10px;
}
.rk-w-marq__title em { font-style: italic; color: var(--gold); }
.rk-w-marq__track-wrap {
  position: relative;
  mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 10%, #000 90%, transparent);
  padding-bottom: clamp(48px,7vw,80px);
}
.rk-w-marq__track {
  display: flex; gap: 20px;
  animation: rkMarquee 40s linear infinite;
  width: max-content;
}
.rk-w-marq__track:hover { animation-play-state: paused; }
@keyframes rkMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.rk-w-marq__card {
  background: var(--white);
  border: 1px solid rgba(184,146,74,0.1);
  border-radius: var(--r20);
  padding: 28px 28px 24px;
  width: 340px; flex-shrink: 0;
  box-shadow: var(--s1);
}
.rk-w-marq__stars { color: var(--gold); font-size: 0.8rem; letter-spacing: 2px; margin-bottom: 12px; }
.rk-w-marq__quote {
  font-size: 0.9rem; line-height: 1.7; color: var(--body);
  margin-bottom: 20px;
  font-style: italic;
}
.rk-w-marq__author { display: flex; gap: 12px; align-items: center; }
.rk-w-marq__avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--gp); border: 1px solid var(--gb);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif); font-size: 0.9rem; color: var(--gold); font-weight: 500;
}
.rk-w-marq__name { font-size: 0.84rem; font-weight: 600; color: var(--ink); }
.rk-w-marq__role { font-size: 0.72rem; color: var(--muted); }
.rk-w-marq__tag {
  margin-top: 14px; padding-top: 14px;
  border-top: 1px solid rgba(184,146,74,0.1);
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--gold);
}

/* ── 7. TIMELINE (rk_timeline) ──────────────────────────────── */
.rk-w-timeline { padding: clamp(64px,9vw,112px) var(--gutter); background: var(--bg2); }
.rk-w-timeline__inner { max-width: var(--max-w); margin: 0 auto; }
.rk-w-timeline__hd { margin-bottom: clamp(36px,5vw,56px); }
.rk-w-timeline__title {
  font-family: var(--font-serif);
  font-size: clamp(28px,4vw,48px);
  font-weight: 300; color: var(--ink); line-height: 1.1; margin-bottom: 10px;
}
.rk-w-timeline__title em { font-style: italic; color: var(--gold); }
.rk-w-timeline__steps { display: flex; flex-direction: column; gap: 0; position: relative; }
.rk-w-timeline__steps::before {
  content: ''; position: absolute; left: 27px; top: 0; bottom: 0;
  width: 2px; background: linear-gradient(to bottom, var(--gold), transparent);
}
.rk-w-timeline__step {
  display: flex; gap: 28px; padding: 28px 0; position: relative;
}
.rk-w-timeline__num {
  width: 56px; height: 56px; flex-shrink: 0;
  background: var(--ink); border-radius: 50%;
  border: 2px solid rgba(184,146,74,0.25);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-serif); font-size: 1rem; font-weight: 500;
  color: var(--gold2); position: relative; z-index: 1;
}
.rk-w-timeline__body { padding-top: 14px; }
.rk-w-timeline__label {
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 4px;
}
.rk-w-timeline__step-title {
  font-family: var(--font-serif); font-size: clamp(1.1rem,1.5vw,1.3rem);
  font-weight: 500; color: var(--ink); margin-bottom: 8px;
}
.rk-w-timeline__step-body { font-size: 0.9rem; line-height: 1.75; color: var(--body); max-width: 580px; }

/* ── 8. CONTACT INFO (rk_contact_info) ─────────────────────── */
.rk-w-cinfo { padding: clamp(64px,9vw,112px) var(--gutter); background: var(--bg); }
.rk-w-cinfo__inner { max-width: var(--max-w); margin: 0 auto; }
.rk-w-cinfo__hd { margin-bottom: clamp(32px,4vw,52px); }
.rk-w-cinfo__title {
  font-family: var(--font-serif); font-size: clamp(26px,3.5vw,44px);
  font-weight: 300; color: var(--ink); line-height: 1.1; margin-bottom: 10px;
}
.rk-w-cinfo__title em { font-style: italic; color: var(--gold); }
.rk-w-cinfo__sub { color: var(--body); font-size: 0.92rem; line-height: 1.7; max-width: 580px; }
.rk-w-cinfo__grid {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 20px;
}
@media (max-width: 640px) { .rk-w-cinfo__grid { grid-template-columns: 1fr; } }
.rk-w-cinfo__card {
  background: var(--white); border: 1px solid rgba(184,146,74,0.1);
  border-radius: var(--r20); padding: 28px; box-shadow: var(--s1);
  display: flex; gap: 18px; align-items: flex-start;
  transition: transform var(--t-slow), box-shadow var(--t-slow);
  text-decoration: none; color: inherit;
}
.rk-w-cinfo__card:hover { transform: translateY(-3px); box-shadow: var(--s3); }
.rk-w-cinfo__icon {
  width: 44px; height: 44px; flex-shrink: 0;
  background: var(--gp); border: 1px solid var(--gb); border-radius: var(--r12);
  display: flex; align-items: center; justify-content: center; color: var(--gold);
}
.rk-w-cinfo__icon svg { width: 20px; height: 20px; }
.rk-w-cinfo__label {
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 4px;
}
.rk-w-cinfo__value { font-size: 0.95rem; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.rk-w-cinfo__sub-text { font-size: 0.78rem; color: var(--muted); line-height: 1.5; }

/* ── 9. CONTACT FORM (rk_contact_form) ─────────────────────── */
.rk-w-cf { padding: clamp(64px,9vw,112px) var(--gutter); background: var(--bg2); }
.rk-w-cf__inner { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(32px,5vw,64px); }
@media (max-width: 800px) { .rk-w-cf__inner { grid-template-columns: 1fr; } }
.rk-w-cf__sidebar {}
.rk-w-cf__title {
  font-family: var(--font-serif); font-size: clamp(26px,3.5vw,44px);
  font-weight: 300; color: var(--ink); line-height: 1.1; margin-bottom: 12px;
}
.rk-w-cf__title em { font-style: italic; color: var(--gold); }
.rk-w-cf__sub { color: var(--body); font-size: 0.9rem; line-height: 1.7; margin-bottom: 28px; }
.rk-w-cf__tip {
  background: var(--white); border: 1px solid rgba(184,146,74,0.12);
  border-radius: var(--r16); padding: 24px;
  margin-bottom: 24px;
}
.rk-w-cf__tip-title { font-weight: 700; color: var(--ink); margin-bottom: 8px; font-size: 0.88rem; }
.rk-w-cf__tip-body { font-size: 0.82rem; color: var(--body); line-height: 1.65; }
.rk-w-cf__details { display: flex; flex-direction: column; gap: 10px; }
.rk-w-cf__detail {
  display: flex; gap: 10px; align-items: center;
  font-size: 0.84rem; color: var(--body);
}
.rk-w-cf__detail svg { width: 16px; height: 16px; color: var(--gold); flex-shrink: 0; }
.rk-w-cf__main {
  background: var(--white); border: 1px solid rgba(184,146,74,0.1);
  border-radius: var(--r20); padding: clamp(28px,4vw,44px); box-shadow: var(--s2);
}
/* CF7 form styles */
.rk-w-cf .wpcf7 input:not([type=submit]),
.rk-w-cf .wpcf7 textarea,
.rk-w-cf .wpcf7 select {
  width: 100%; padding: 14px 16px; border: 1.5px solid rgba(184,146,74,0.18);
  border-radius: var(--r8); background: var(--bg); font-family: var(--font-sans);
  font-size: 0.9rem; color: var(--ink);
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
  margin-bottom: 14px; display: block;
}
.rk-w-cf .wpcf7 input:focus,
.rk-w-cf .wpcf7 textarea:focus {
  outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(184,146,74,0.12);
}
.rk-w-cf .wpcf7 textarea { min-height: 120px; resize: vertical; }
.rk-w-cf .wpcf7 input[type=submit] {
  background: var(--gold); color: #fff; border: none; border-radius: var(--rpill);
  padding: 14px 32px; font-size: 0.88rem; font-weight: 600; cursor: pointer;
  transition: background var(--t-base), transform var(--t-base);
}
.rk-w-cf .wpcf7 input[type=submit]:hover { background: var(--gold2); transform: translateY(-2px); }

/* ── 10. POLICY PAGE (rk_policy_page) ──────────────────────── */
.rk-w-policy { background: var(--bg); }
.rk-w-policy__hero {
  background: var(--ink); padding: clamp(64px,9vw,112px) var(--gutter);
  position: relative; overflow: hidden;
}
.rk-w-policy__hero-inner { max-width: var(--max-w); margin: 0 auto; position: relative; z-index: 1; }
.rk-w-policy__eyebrow { margin-bottom: 16px; }
.rk-w-policy__h1 {
  font-family: var(--font-serif); font-size: clamp(32px,5vw,64px);
  font-weight: 300; color: #fff; line-height: 1.05; letter-spacing: -0.02em; margin-bottom: 20px;
}
.rk-w-policy__h1 em { font-style: italic; color: var(--gold2); }
.rk-w-policy__hero-body { color: rgba(255,255,255,0.65); max-width: 560px; font-size: 0.95rem; line-height: 1.75; margin-bottom: 32px; }
.rk-w-policy__hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.rk-w-policy__trust {
  display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 40px;
  padding-top: 32px; border-top: 1px solid rgba(184,146,74,0.15);
}
.rk-w-policy__trust-item {
  font-size: 0.76rem; font-weight: 600; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--gold2);
  display: flex; align-items: center; gap: 6px;
}
.rk-w-policy__trust-item::before { content: '✓'; }
.rk-w-policy__body { max-width: var(--max-w); margin: 0 auto; padding: clamp(48px,7vw,80px) var(--gutter); display: grid; grid-template-columns: 260px 1fr; gap: clamp(32px,5vw,72px); align-items: start; }
@media (max-width: 900px) { .rk-w-policy__body { grid-template-columns: 1fr; } }
.rk-w-policy__nav { position: sticky; top: 96px; }
.rk-w-policy__nav-title { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.rk-w-policy__nav-list { list-style: none; display: flex; flex-direction: column; gap: 2px; }
.rk-w-policy__nav-list a { font-size: 0.84rem; color: var(--body); padding: 6px 10px; border-radius: var(--r8); display: block; transition: color var(--t-fast), background var(--t-fast); text-decoration: none; }
.rk-w-policy__nav-list a:hover { color: var(--gold); background: var(--gp); }
.rk-w-policy__content { display: flex; flex-direction: column; gap: 48px; }
.rk-w-policy__block {}
.rk-w-policy__block-num { font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.rk-w-policy__block-h { font-family: var(--font-serif); font-size: clamp(1.2rem,2vw,1.6rem); font-weight: 400; color: var(--ink); margin-bottom: 14px; }
.rk-w-policy__block-body { font-size: 0.9rem; line-height: 1.8; color: var(--body); }
.rk-w-policy__block-body p { margin-bottom: 14px; }
.rk-w-policy__block-body ul { padding-left: 20px; list-style: disc; }
.rk-w-policy__block-body li { margin-bottom: 8px; }
.tw-policy-card {
  background: var(--gp); border: 1px solid var(--gb); border-radius: var(--r12); padding: 20px 24px; margin: 16px 0;
}
.tw-policy-card__title { font-size: 0.84rem; font-weight: 700; color: var(--gold); margin-bottom: 8px; }
.rk-w-policy__cta { background: var(--ink); padding: clamp(64px,9vw,112px) var(--gutter); text-align: center; }
.rk-w-policy__cta-inner { max-width: 640px; margin: 0 auto; }
.rk-w-policy__cta-title { font-family: var(--font-serif); font-size: clamp(26px,4vw,46px); font-weight: 300; color: #fff; line-height: 1.1; margin-bottom: 12px; }
.rk-w-policy__cta-title em { font-style: italic; color: var(--gold2); }
.rk-w-policy__cta-sub { color: rgba(255,255,255,0.55); font-size: 0.9rem; margin-bottom: 28px; line-height: 1.7; }
.rk-w-policy__cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── 11. LEGAL HUB (rk_legal_hub) ──────────────────────────── */
.rk-w-legal { background: var(--bg); }
.rk-w-legal__hero { background: var(--ink); padding: clamp(64px,9vw,112px) var(--gutter); }
.rk-w-legal__hero-inner { max-width: var(--max-w); margin: 0 auto; }
.rk-w-legal__h1 { font-family: var(--font-serif); font-size: clamp(32px,5vw,64px); font-weight: 300; color: #fff; line-height: 1.05; margin-bottom: 14px; }
.rk-w-legal__h1 em { font-style: italic; color: var(--gold2); }
.rk-w-legal__hero-body { color: rgba(255,255,255,0.65); max-width: 540px; font-size: 0.95rem; line-height: 1.75; }
.rk-w-legal__cards { padding: clamp(48px,7vw,80px) var(--gutter); max-width: var(--max-w); margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
@media (max-width: 800px) { .rk-w-legal__cards { grid-template-columns: 1fr; } }
.rk-w-legal__card {
  background: var(--white); border: 1px solid rgba(184,146,74,0.1);
  border-radius: var(--r20); padding: 32px;
  display: flex; flex-direction: column; box-shadow: var(--s1);
  transition: transform var(--t-slow), box-shadow var(--t-slow);
}
.rk-w-legal__card:hover { transform: translateY(-4px); box-shadow: var(--s3); }
.rk-w-legal__card-icon {
  width: 52px; height: 52px; background: var(--gp); border: 1px solid var(--gb);
  border-radius: var(--r12); display: flex; align-items: center; justify-content: center;
  color: var(--gold); margin-bottom: 20px;
}
.rk-w-legal__card-icon svg { width: 24px; height: 24px; }
.rk-w-legal__card-title { font-family: var(--font-serif); font-size: 1.3rem; font-weight: 500; color: var(--ink); margin-bottom: 10px; }
.rk-w-legal__card-desc { font-size: 0.86rem; line-height: 1.7; color: var(--body); flex: 1; margin-bottom: 24px; }
.rk-w-legal__cta { background: var(--ink); padding: clamp(64px,9vw,112px) var(--gutter); text-align: center; }
.rk-w-legal__cta-inner { max-width: 600px; margin: 0 auto; }
.rk-w-legal__cta-title { font-family: var(--font-serif); font-size: clamp(26px,4vw,46px); font-weight: 300; color: #fff; line-height: 1.1; margin-bottom: 12px; }
.rk-w-legal__cta-title em { font-style: italic; color: var(--gold2); }
.rk-w-legal__cta-sub { color: rgba(255,255,255,0.55); font-size: 0.9rem; margin-bottom: 28px; line-height: 1.7; }

/* ── 12. TABBED SHOWCASE (rk_tabbed_showcase) ──────────────── */
.rk-w-showcase { padding: clamp(64px,9vw,112px) var(--gutter); background: var(--bg); }
.rk-w-showcase__inner { max-width: var(--max-w); margin: 0 auto; }
.rk-w-showcase__tabs { display: flex; gap: 8px; margin-bottom: 40px; flex-wrap: wrap; }
.rk-w-showcase__tab {
  padding: 10px 24px; border-radius: var(--rpill);
  border: 1.5px solid rgba(184,146,74,0.22); background: transparent;
  font-size: 0.86rem; font-weight: 600; color: var(--body); cursor: pointer;
  transition: all var(--t-base);
}
.rk-w-showcase__tab--active, .rk-w-showcase__tab:hover {
  background: var(--gold); border-color: var(--gold); color: #fff;
}
.rk-w-showcase__panel { display: none; }
.rk-w-showcase__panel--active { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,5vw,64px); align-items: start; }
@media (max-width: 800px) { .rk-w-showcase__panel--active { grid-template-columns: 1fr; } }
.rk-w-showcase__img { border-radius: var(--r20); overflow: hidden; aspect-ratio: 4/5; background: var(--bg2); }
.rk-w-showcase__img img { width: 100%; height: 100%; object-fit: cover; }
.rk-w-showcase__badge { margin-bottom: 14px; display: inline-block; padding: 4px 14px; border-radius: var(--rpill); background: var(--gp); border: 1px solid var(--gb); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); }
.rk-w-showcase__name { font-family: var(--font-serif); font-size: clamp(1.6rem,2.5vw,2.4rem); font-weight: 300; color: var(--ink); margin-bottom: 10px; line-height: 1.1; }
.rk-w-showcase__sub { font-size: 0.9rem; color: var(--body); line-height: 1.7; margin-bottom: 24px; }
.rk-w-showcase__benefits { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.rk-w-showcase__benefit {
  display: flex; gap: 10px; align-items: flex-start; font-size: 0.88rem; color: var(--body); line-height: 1.5;
}
.rk-w-showcase__benefit::before { content: '✓'; color: var(--gold); font-weight: 700; margin-top: 1px; flex-shrink: 0; }
.rk-w-showcase__price { font-family: var(--font-serif); font-size: 1.8rem; font-weight: 500; color: var(--gold); margin-bottom: 16px; }
