/*
 * Özel Rüzgargülü / V61 visual contract
 *
 * This file is the stable visual layer for the public site.  The older
 * rg-ultimate and rg-theme-contract files remain loaded for backwards
 * compatible modules, while this file owns the final component geometry,
 * colour tokens and responsive behaviour.
 */
:root {
  --rg-v61-navy: #0d3b66;
  --rg-v61-navy-deep: #082f52;
  --rg-v61-teal: #138a9a;
  --rg-v61-teal-soft: #e8f7f7;
  --rg-v61-cyan: #dff3f7;
  --rg-v61-coral: #ff5b67;
  --rg-v61-coral-dark: #e94759;
  --rg-v61-gold: #f4b642;
  --rg-v61-purple: #7a62d8;
  --rg-v61-ink: #173f5f;
  --rg-v61-muted: #668398;
  --rg-v61-bg: #f4fafc;
  --rg-v61-surface: #ffffff;
  --rg-v61-border: #dcecf1;
  --rg-v61-shadow: 0 16px 42px rgba(13, 59, 102, .09);
  --rg-v61-shadow-sm: 0 7px 20px rgba(13, 59, 102, .07);
  --rg-v61-radius: 18px;
  --rg-v61-radius-sm: 12px;
  --rg-v61-max: 1200px;
}

html { scroll-behavior: smooth; }
body {
  background: var(--rg-v61-bg) !important;
  color: var(--rg-v61-ink);
  font-family: 'Nunito Sans', 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  overflow-x: hidden;
}
body.rg-layout-boxed { background: var(--rg-v61-bg) !important; }
.container { width: min(100% - 32px, var(--rg-v61-max)); max-width: var(--rg-v61-max); }
.rg-skip-link { background: var(--rg-v61-navy) !important; color: #fff !important; }
a { color: var(--rg-v61-navy); text-decoration: none; }
a:hover { color: var(--rg-v61-coral-dark); }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(19, 138, 154, .45) !important; outline-offset: 3px; }

/* Header */
.rg-header {
  position: sticky !important;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid rgba(220,236,241,.9);
  box-shadow: 0 5px 18px rgba(13,59,102,.06) !important;
  backdrop-filter: blur(14px);
}
.rg-header > .container { max-width: 1320px; }
.rg-announcement-bar {
  width: 100%;
  color: #fff;
  background: linear-gradient(100deg, var(--rg-v61-navy-deep) 0%, var(--rg-v61-teal) 58%, #1aa6a6 100%);
  border-bottom: 1px solid rgba(255,255,255,.24);
}
.rg-announcement-inner {
  position: relative;
  width: min(100% - 32px, 1320px);
  min-height: 40px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 7px 42px 7px 0;
  text-align: center;
  line-height: 1.3;
}
.rg-announcement-bar[hidden] { display: none !important; }
.rg-announcement-title {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .01em;
  white-space: nowrap;
}
.rg-announcement-title i { color: #ffd36b; font-size: 13px; }
.rg-announcement-text { color: rgba(255,255,255,.92); font-size: 12px; font-weight: 700; }
.rg-announcement-close {
  position: absolute;
  top: 50%;
  right: 0;
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 50%;
  color: #fff;
  background: rgba(255,255,255,.12);
  font-family: inherit;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease;
}
.rg-announcement-close:hover,
.rg-announcement-close:focus-visible { color: #fff; background: rgba(255,255,255,.24); transform: translateY(-50%) scale(1.05); }
.rg-announcement-close { transform: translateY(-50%); }
@media (max-width: 760px) {
  .rg-announcement-inner { min-height: 48px; flex-direction: column; gap: 1px; padding: 7px 30px 8px 0; }
  .rg-announcement-title { font-size: 11px; }
  .rg-announcement-text { max-width: 100%; font-size: 10px; }
  .rg-announcement-close { right: -1px; width: 25px; height: 25px; }
}

/* Keep the section reached from the approach teaser visible below the sticky header. */
.rg-page-home #rg-home-about-section,
.rg-page-home #rg-home-reasons-section { scroll-margin-top: 120px; }
.rg-programs-section-heading { display: flex !important; align-items: end !important; }
.rg-programs-section-heading .rg-section-title { min-width: 0; }
.rg-programs-section-heading .rg-subtitle { max-width: 660px !important; margin: 10px 0 0 !important; padding: 0; color: var(--rg-v61-muted); font-size: 15px; line-height: 1.65; }
@media (max-width: 760px) {
  .rg-programs-section-heading { align-items: start !important; }
  .rg-programs-section-heading .rg-subtitle { max-width: 100% !important; margin-top: 8px !important; font-size: 14px; }
}
.rg-topbar { min-height: 30px; color: var(--rg-v61-muted); font-size: 12px; border-bottom: 1px solid var(--rg-v61-border); }
.rg-topbar a { color: var(--rg-v61-muted); }
.rg-mini-list { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.rg-social { display: flex; align-items: center; gap: 7px; }
.rg-social a { display: inline-grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--rg-v61-cyan); color: var(--rg-v61-teal); }
.rg-header-shell { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
.rg-nav-row { min-height: 82px; display: flex; align-items: center; gap: 16px; }
.rg-brand { flex: 0 0 180px; display: inline-flex; align-items: center; }
.rg-logo-wordmark-header { width: 177px; height: auto; max-height: 60px; object-fit: contain; }
.rg-main-nav { flex: 1 1 auto; min-width: 0; }
.rg-main-nav > ul { display: flex; align-items: stretch; justify-content: center; gap: 3px; margin: 0; padding: 0; list-style: none; }
.rg-main-nav li { position: relative; }
.rg-nav-entry { display: flex; align-items: center; }
.rg-nav-link { display: inline-flex; align-items: center; min-height: 42px; padding: 0 10px; border-radius: 9px; color: var(--rg-v61-navy); font-size: 13px; font-weight: 800; white-space: nowrap; }
.rg-nav-link:hover, .rg-main-nav li.active > .rg-nav-entry .rg-nav-link { color: var(--rg-v61-teal); background: var(--rg-v61-teal-soft); }
.rg-submenu-toggle { display: inline-grid; place-items: center; width: 23px; height: 30px; margin-left: -8px; border: 0; background: transparent; color: var(--rg-v61-muted); font-size: 10px; }
.rg-main-nav .submenu { position: absolute; left: 0; top: calc(100% + 7px); min-width: 210px; padding: 9px; border: 1px solid var(--rg-v61-border); border-radius: 12px; background: #fff; box-shadow: var(--rg-v61-shadow); opacity: 0; visibility: hidden; transform: translateY(-5px); transition: .18s ease; z-index: 20; }
.rg-main-nav li:hover > .submenu, .rg-main-nav li:focus-within > .submenu, .rg-main-nav li.is-open > .submenu { opacity: 1; visibility: visible; transform: translateY(0); }
.rg-main-nav .submenu a { display: block; padding: 9px 11px; border-radius: 8px; color: var(--rg-v61-ink); font-size: 13px; font-weight: 700; }
.rg-main-nav .submenu a:hover { background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
.rg-header-search { display: inline-grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; background: var(--rg-v61-cyan); color: var(--rg-v61-teal); }
.rg-header-contact { display: inline-flex; align-items: center; gap: 8px; min-width: 114px; color: var(--rg-v61-navy); }
.rg-header-contact-icon { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
.rg-header-contact-text { display: grid; line-height: 1.1; }
.rg-header-contact-text strong { font-size: 12px; }
.rg-header-contact-text small { margin-top: 3px; color: var(--rg-v61-muted); font-size: 10px; }
.rg-nav-cta .rg-btn { min-height: 40px; padding: 0 16px; border-radius: 10px; }
.rg-nav-toggle { display: none; }

/* Shared building blocks */
.rg-main { padding-bottom: 0; }
.rg-section { padding: 30px 0; }
.rg-section-title { max-width: 710px; }
.rg-kicker { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 7px; color: var(--rg-v61-teal); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.rg-kicker::before { content: ''; width: 23px; height: 3px; border-radius: 4px; background: linear-gradient(90deg, var(--rg-v61-coral) 0 48%, var(--rg-v61-teal) 48%); }
.rg-title-md, .rg-page-title, .rg-title-sm { color: var(--rg-v61-navy); font-family: 'Plus Jakarta Sans', 'Nunito Sans', Arial, sans-serif; font-weight: 800; letter-spacing: -.035em; }
.rg-title-md { margin: 0; font-size: clamp(24px, 2.3vw, 31px); line-height: 1.15; }
.rg-title-sm { font-size: 17px; line-height: 1.25; }
.rg-lead { color: var(--rg-v61-muted); font-size: 15px; line-height: 1.65; }
.rg-btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 1px solid transparent; border-radius: 999px; font-size: 13px; font-weight: 900; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.rg-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(13,59,102,.12); }
.rg-btn-primary { background: var(--rg-v61-coral) !important; color: #fff !important; }
.rg-btn-primary:hover { background: var(--rg-v61-coral-dark) !important; }
.rg-btn-outline { background: #fff !important; border-color: var(--rg-v61-border) !important; color: var(--rg-v61-navy) !important; }
.rg-btn-outline:hover { border-color: var(--rg-v61-teal) !important; color: var(--rg-v61-teal) !important; background: var(--rg-v61-teal-soft) !important; }
.rg-btn-dark { background: var(--rg-v61-navy) !important; color: #fff !important; }
.rg-btn-success { background: #27a88d !important; color: #fff !important; }
.rg-btn-sm { min-height: 35px; padding: 0 14px; font-size: 12px; }
.rg-panel, .rg-pastel-card { background: var(--rg-v61-surface); border: 1px solid var(--rg-v61-border); border-radius: var(--rg-v61-radius); box-shadow: var(--rg-v61-shadow-sm); }
.rg-flex-between { gap: 18px; }

/* Homepage hero */
.rg-page-home .rg-main { background: linear-gradient(180deg, #f5fbfd 0%, #f4fafc 65%, #f9fcfd 100%); }
.rg-home-hero { padding: 20px 0 10px; }
.rg-reference-hero-grid { min-height: 355px; display: grid; grid-template-columns: minmax(0, 43%) minmax(0, 57%); overflow: hidden; }
.rg-home-carousel-slide { display: none; }
.rg-home-carousel-slide.is-active { display: block; }
.rg-slide-panel { min-height: 355px; }
.rg-reference-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; padding: 39px 37px 39px 43px; background: linear-gradient(135deg, #fff 0%, #edf9fb 100%); }
.rg-reference-copy .rg-kicker { margin-bottom: 10px; }
.rg-reference-copy .rg-page-title { max-width: 450px; margin: 0 0 13px; font-size: clamp(30px, 3.5vw, 50px); line-height: 1.04; }
.rg-reference-copy .rg-page-title em { color: var(--rg-v61-teal); font-style: normal; }
.rg-reference-copy .rg-lead { max-width: 410px; margin: 0 0 19px; }
.rg-hero-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.rg-slide-eyebrow { order: -1; align-self: flex-end; margin: 0 0 11px; color: var(--rg-v61-muted); font-size: 11px; font-weight: 900; }
.rg-slide-eyebrow span { color: var(--rg-v61-coral); margin: 0 3px; }
.rg-reference-media { position: relative; min-height: 355px; overflow: hidden; background: var(--rg-v61-cyan); }
.rg-reference-media .rg-photo-frame, .rg-reference-media img { width: 100%; height: 100%; min-height: 355px; display: block; }
.rg-reference-media img { object-fit: cover; }
.rg-reference-media::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(237,249,251,.23), transparent 35%); }
.rg-home-hero-badge { position: absolute; z-index: 3; top: 17px; right: 18px; display: grid; grid-template-columns: 32px auto; grid-template-rows: auto auto; column-gap: 8px; align-items: center; padding: 9px 13px 9px 9px; border: 1px solid rgba(220,236,241,.85); border-radius: 13px; background: rgba(255,255,255,.93); box-shadow: var(--rg-v61-shadow-sm); color: var(--rg-v61-navy); }
.rg-home-hero-badge i { grid-row: 1 / span 2; display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
.rg-home-hero-badge strong { font-size: 16px; line-height: 1; }
.rg-home-hero-badge small { color: var(--rg-v61-muted); font-size: 9px; line-height: 1; }
.rg-editorial-speech { position: absolute; z-index: 2; right: 19px; bottom: 18px; max-width: 205px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.75); border-radius: 14px; background: rgba(255,255,255,.92); box-shadow: var(--rg-v61-shadow-sm); color: var(--rg-v61-navy); font-size: 12px; font-weight: 800; }
.rg-carousel-controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 10px; }
.rg-carousel-controls button { display: inline-grid; place-items: center; width: 33px; height: 33px; border: 1px solid var(--rg-v61-border); border-radius: 50%; background: #fff; color: var(--rg-v61-navy); }
.rg-carousel-dots { display: flex; gap: 6px; }
.rg-carousel-dot { width: 8px !important; height: 8px !important; min-height: 8px; padding: 0 !important; border: 0 !important; background: #bad8df !important; }
.rg-carousel-dot.is-active { background: var(--rg-v61-coral) !important; transform: scale(1.35); }

/* Shortcut, programme and stat bands */
.rg-home-shortcuts-section { padding: 4px 0 23px; }
.rg-home-paths { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.rg-home-paths > a { min-height: 67px; display: grid; grid-template-columns: 36px 1fr 12px; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--rg-v61-border); border-radius: 12px; background: #fff; box-shadow: 0 5px 14px rgba(13,59,102,.045); }
.rg-path-symbol { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
.rg-home-paths strong, .rg-home-paths small { display: block; }
.rg-home-paths strong { color: var(--rg-v61-navy); font-size: 11px; line-height: 1.15; }
.rg-home-paths small { margin-top: 2px; color: var(--rg-v61-muted); font-size: 10px; line-height: 1.2; }
.rg-home-paths > a > .fas { color: var(--rg-v61-coral); font-size: 10px; }
.rg-home-programs-section { padding-top: 12px !important; }
.rg-program-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.rg-program-card { min-width: 0; overflow: hidden; padding: 0 0 13px; }
.rg-program-card-heading { display: flex; align-items: flex-start; gap: 8px; min-height: 76px; padding: 13px 12px 7px; }
.rg-program-card-heading h3 { margin: 0; font-size: 14px; line-height: 1.25; }
.rg-program-card-heading h3 a { color: var(--rg-v61-navy); }
.rg-icon-badge { flex: 0 0 31px; display: inline-grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #fff0f0; color: var(--rg-v61-coral); }
.rg-icon-badge.teal { background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
.rg-icon-badge.gold { background: #fff5df; color: #d28c16; }
.rg-icon-badge.purple { background: #f0edff; color: var(--rg-v61-purple); }
.rg-icon-badge.blue { background: #e8f2ff; color: #4383c0; }
.rg-card-thumb { overflow: hidden; background: var(--rg-v61-cyan); }
.rg-program-card .rg-card-thumb { height: 105px; }
.rg-card-thumb img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .3s ease; }
.rg-pastel-card:hover .rg-card-thumb img { transform: scale(1.04); }
.rg-v38-program-summary { min-height: 42px; margin: 9px 12px 6px; color: var(--rg-v61-muted); font-size: 11px; line-height: 1.45; }
.rg-member-cta { display: inline-flex; align-items: center; gap: 6px; margin: 0 12px; color: var(--rg-v61-teal); font-size: 11px; font-weight: 900; }
.rg-member-cta:hover { color: var(--rg-v61-coral-dark); }
.rg-member-arrow { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--rg-v61-teal-soft); font-size: 9px; }
.rg-home-trust-section { padding-top: 0 !important; }
.rg-icon-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.rg-icon-row-item { display: flex; align-items: center; gap: 10px; min-height: 64px; padding: 10px 12px; border: 1px solid var(--rg-v61-border); border-radius: 12px; background: #fff; }
.rg-icon-row-item h4 { margin: 0; color: var(--rg-v61-navy); font-size: 12px; line-height: 1.2; }
.rg-icon-row-item p { margin: 3px 0 0; color: var(--rg-v61-muted); font-size: 10px; line-height: 1.25; }

/* About, why and team */
.rg-home-about { display: grid; grid-template-columns: minmax(240px, 1.05fr) minmax(240px, 1fr) minmax(210px, .95fr); gap: 22px; align-items: stretch; padding: 22px; border: 1px solid var(--rg-v61-border); border-radius: var(--rg-v61-radius); background: #fff; box-shadow: var(--rg-v61-shadow-sm); }
.rg-home-about-photo { min-height: 242px; overflow: hidden; border-radius: 14px; }
.rg-home-about-copy { align-self: center; }
.rg-home-about-copy .rg-lead { margin: 12px 0 0; }
.rg-reference-why-teaser, .rg-reference-review-teaser { align-self: stretch; padding: 19px; border-radius: 14px; background: var(--rg-v61-teal-soft); }
.rg-reference-why-teaser ul { margin: 8px 0 15px; padding: 0; list-style: none; }
.rg-reference-why-teaser li { display: flex; align-items: center; gap: 8px; padding: 6px 0; color: var(--rg-v61-ink); font-size: 12px; font-weight: 800; }
.rg-reference-why-teaser li i { color: var(--rg-v61-teal); }
.rg-reference-why-teaser a, .rg-reference-review-teaser a { color: var(--rg-v61-teal); font-size: 11px; font-weight: 900; }
.rg-reference-review-teaser { background: #fff8ed; }
.rg-reference-review-teaser blockquote { margin: 11px 0; color: var(--rg-v61-ink); font-size: 14px; font-weight: 700; line-height: 1.45; }
.rg-reference-review-teaser strong { display: block; margin-bottom: 10px; color: var(--rg-v61-navy); font-size: 12px; }
.rg-home-why-heading { max-width: 620px; }
.rg-home-why-layout { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr); gap: 18px; }
.rg-home-why-photo { position: relative; min-height: 345px; margin: 0; overflow: hidden; border-radius: var(--rg-v61-radius); background: var(--rg-v61-cyan); }
.rg-home-why-photo > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rg-home-why-photo figcaption { position: absolute; right: 13px; bottom: 13px; left: 13px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.92); box-shadow: var(--rg-v61-shadow-sm); }
.rg-home-why-photo-icon { display: inline-grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; background: var(--rg-v61-coral); color: #fff; }
.rg-home-why-photo figcaption strong, .rg-home-why-photo figcaption small { display: block; }
.rg-home-why-photo figcaption strong { color: var(--rg-v61-navy); font-size: 12px; }
.rg-home-why-photo figcaption small { color: var(--rg-v61-muted); font-size: 10px; }
.rg-home-why-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.rg-home-why-card { display: flex; gap: 12px; padding: 17px; border: 1px solid var(--rg-v61-border); border-radius: 14px; background: #fff; }
.rg-home-why-card-icon { flex: 0 0 38px; display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
.rg-home-why-number { color: var(--rg-v61-coral); font-size: 10px; font-weight: 900; }
.rg-home-why-card h3 { margin: 2px 0 5px; color: var(--rg-v61-navy); font-size: 14px; line-height: 1.25; }
.rg-home-why-card p { margin: 0; color: var(--rg-v61-muted); font-size: 11px; line-height: 1.4; }
.rg-team-reference-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.rg-team-member-card { overflow: hidden; padding-bottom: 14px; text-align: center; }
.rg-team-member-card .rg-card-thumb { height: 216px; }
.rg-team-member-card h3 { margin: 12px 12px 3px; font-size: 15px; }
.rg-team-member-card p { color: var(--rg-v61-muted); font-size: 11px; }
.rg-team-member-card .rg-member-cta { justify-content: center; }

/* Remaining content cards */
.rg-testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.rg-testimonial-card { position: relative; min-height: 160px; padding: 23px 20px 17px; border: 1px solid var(--rg-v61-border); border-radius: 14px; background: #fff; box-shadow: var(--rg-v61-shadow-sm); }
.rg-quote-mark { position: absolute; top: 17px; right: 18px; color: var(--rg-v61-coral); opacity: .45; }
.rg-testimonial-card p { margin: 0 0 15px; color: var(--rg-v61-ink); font-size: 13px; line-height: 1.55; }
.rg-testimonial-card strong { color: var(--rg-v61-navy); font-size: 12px; }
.rg-home-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.rg-home-blog-item { overflow: hidden; padding-bottom: 14px; }
.rg-home-blog-item > .rg-card-thumb { display: block; height: 160px; }
.rg-home-blog-item .rg-meta, .rg-home-blog-item h3, .rg-home-blog-item p { margin-left: 14px; margin-right: 14px; }
.rg-home-blog-item .rg-meta { margin-top: 12px; color: var(--rg-v61-teal); font-size: 10px; font-weight: 800; }
.rg-home-blog-item h3 { margin-top: 6px; margin-bottom: 5px; }
.rg-home-blog-item p { min-height: 43px; color: var(--rg-v61-muted); font-size: 11px; }
.rg-home-services-compact { display: grid; grid-template-columns: 1fr 2fr auto; gap: 18px; align-items: center; padding: 20px; }
.rg-service-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.rg-service-chips a { padding: 7px 10px; border-radius: 999px; background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); font-size: 11px; font-weight: 800; }
.rg-home-media-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.rg-home-media-tile { position: relative; min-height: 152px; overflow: hidden; display: flex; align-items: flex-end; border: 1px solid var(--rg-v61-border); border-radius: 14px; background: var(--rg-v61-cyan); }
.rg-home-media-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rg-home-media-label, .rg-home-media-link-copy { position: relative; z-index: 1; width: 100%; padding: 33px 13px 12px; background: linear-gradient(transparent, rgba(8,47,82,.85)); color: #fff; }
.rg-home-media-label small, .rg-home-media-label strong, .rg-home-media-link-copy small, .rg-home-media-link-copy strong { display: block; }
.rg-home-media-label small, .rg-home-media-link-copy small { font-size: 10px; opacity: .85; }
.rg-home-media-label strong, .rg-home-media-link-copy strong { margin-top: 4px; font-size: 13px; line-height: 1.25; }
.rg-home-media-link { background: linear-gradient(135deg, var(--rg-v61-navy), var(--rg-v61-teal)); }
.rg-home-media-symbol { position: absolute; top: 17px; left: 17px; display: inline-grid; place-items: center; width: 37px; height: 37px; border-radius: 11px; background: rgba(255,255,255,.2); color: #fff; font-size: 17px; }
.rg-home-media-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.rg-home-media-links a { padding: 7px 11px; border-radius: 999px; background: #fff; border: 1px solid var(--rg-v61-border); color: var(--rg-v61-teal); font-size: 11px; font-weight: 800; }
.rg-home-media-section .rg-flex-between > .rg-btn { white-space: nowrap; }
.rg-home-media-event { grid-column: span 2; min-height: 132px; }
.rg-home-media-event.has-image::after { content: ''; position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgba(8,47,82,.9) 0%, rgba(8,47,82,.62) 52%, rgba(8,47,82,.16) 100%); pointer-events: none; }
.rg-home-media-event.has-image .rg-home-media-symbol,
.rg-home-media-event.has-image .rg-home-media-link-copy { z-index: 1; }
.rg-home-media-event .rg-home-media-link-copy { max-width: 76%; }
.rg-home-media-event .rg-home-media-link-copy small { letter-spacing: .02em; }
.rg-empty-state { display: grid; justify-items: center; gap: 9px; max-width: 720px; margin: 0 auto; padding: clamp(30px, 5vw, 54px); text-align: center; }
.rg-empty-state-icon { display: inline-grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: var(--rg-v61-cyan); color: var(--rg-v61-teal); font-size: 24px; }
.rg-empty-state .rg-title-md { margin: 2px 0 0; }
.rg-empty-state p { max-width: 530px; margin: 0; color: var(--rg-v61-muted); line-height: 1.65; }
@media (min-width: 641px) {
  .rg-home-media-grid--count-1 { grid-template-columns: minmax(0, 1fr); }
  .rg-home-media-grid--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg-home-media-grid--count-3,
  .rg-home-media-grid--count-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rg-home-media-event { grid-column: 1 / -1; }
  .rg-home-media-event .rg-home-media-link-copy { max-width: 82%; }
}

/* V61.27 — bring the homepage media wall to life without changing its
   content source. Photos stay authentic while the colour treatment adds the
   coral, teal and purple accents used across the rest of the theme. */
.rg-home-media-section {
  position: relative;
  padding-top: clamp(22px, 3vw, 42px) !important;
  padding-bottom: clamp(24px, 3vw, 42px);
  overflow: hidden;
  background: linear-gradient(135deg, #f0fbff 0%, #ffffff 48%, #fff4f1 100%);
}
.rg-home-media-section::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--rg-v61-teal), #55cbd1 38%, var(--rg-v61-coral) 72%, var(--rg-v61-gold));
  opacity: .95;
}
.rg-home-media-section .container { position: relative; z-index: 1; }
.rg-home-media-section .rg-section-title { position: relative; }
.rg-home-media-section .rg-section-title::after {
  content: '';
  display: block;
  width: 48px;
  height: 4px;
  margin-top: 10px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--rg-v61-coral), var(--rg-v61-gold));
}
.rg-home-media-section .rg-kicker { color: var(--rg-v61-teal); letter-spacing: .13em; }
.rg-home-media-section .rg-title-md { color: var(--rg-v61-navy-deep); }
.rg-home-media-grid { gap: 15px; }
.rg-home-media-tile {
  min-height: 164px;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(13,59,102,.14);
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.rg-home-media-tile::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(145deg, rgba(19,138,154,.10), rgba(122,98,216,.04) 42%, rgba(255,91,103,.28));
  pointer-events: none;
}
.rg-home-media-tile:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 38px rgba(13,59,102,.22);
  filter: saturate(1.1);
}
.rg-home-media-tile img { filter: saturate(1.12) contrast(1.04) brightness(1.04); transition: transform .45s ease, filter .3s ease; }
.rg-home-media-tile:hover img { transform: scale(1.06); filter: saturate(1.2) contrast(1.06) brightness(1.08); }
.rg-home-media-label, .rg-home-media-link-copy {
  padding: 42px 16px 15px;
  background: linear-gradient(0deg, rgba(5,35,64,.76) 0%, rgba(8,47,82,.42) 52%, rgba(8,47,82,0) 100%);
  text-shadow: 0 1px 12px rgba(0,0,0,.22);
}
.rg-home-media-label small, .rg-home-media-link-copy small { color: #c8f7f2; font-weight: 900; opacity: 1; }
.rg-home-media-label strong, .rg-home-media-link-copy strong { font-size: 14px; }
.rg-home-media-symbol {
  top: 15px;
  left: 15px;
  width: 43px;
  height: 43px;
  border: 2px solid rgba(255,255,255,.75);
  border-radius: 14px;
  background: linear-gradient(135deg, var(--rg-v61-coral), #ff9b69);
  box-shadow: 0 7px 16px rgba(255,91,103,.32);
  font-size: 19px;
}
.rg-home-media-video { background: linear-gradient(135deg, #765fe0, #20a9ae) !important; }
.rg-home-media-video::before { background: linear-gradient(135deg, rgba(122,98,216,.38), rgba(19,138,154,.08) 52%, rgba(255,91,103,.16)); }
.rg-home-media-video.has-poster img { filter: saturate(1.24) contrast(1.02) brightness(1.34); }
.rg-home-media-video .rg-home-media-symbol { background: linear-gradient(135deg, #ffffff, #dff3f7); color: var(--rg-v61-purple); border-color: rgba(255,255,255,.95); }
.rg-home-media-event { min-height: 148px; border: 2px solid rgba(255,255,255,.7); background: linear-gradient(135deg, #0d3b66, #138a9a) !important; }
.rg-home-media-event.has-image img { filter: saturate(1.22) contrast(1.02) brightness(1.3); }
.rg-home-media-event.has-image::after { background: linear-gradient(90deg, rgba(5,35,64,.34) 0%, rgba(8,47,82,.2) 48%, rgba(19,138,154,.06) 100%); }
.rg-home-media-event .rg-home-media-link-copy { max-width: 78%; }
.rg-home-media-links { gap: 10px; margin-top: 15px; }
.rg-home-media-links a { padding: 9px 13px; border: 1px solid rgba(19,138,154,.22); box-shadow: 0 6px 15px rgba(13,59,102,.08); color: var(--rg-v61-navy); transition: transform .2s ease, color .2s ease, background .2s ease; }
.rg-home-media-links a:hover { transform: translateY(-2px); background: var(--rg-v61-coral); color: #fff; }
@media (max-width: 640px) {
  .rg-home-media-section { padding-top: 20px !important; }
  .rg-home-media-tile { min-height: 158px; border-radius: 16px; }
  .rg-home-media-label, .rg-home-media-link-copy { padding: 39px 13px 13px; }
  .rg-home-media-event { min-height: 172px; }
  .rg-home-media-links a { font-size: 10px; }
}

/* Interior pages and footer */
.rg-page-interior .rg-main { min-height: 65vh; }
.rg-page-interior .rg-page { padding-top: 24px; }
.rg-page-interior .rg-page-header, .rg-page-interior .rg-interior-hero { border: 1px solid var(--rg-v61-border); border-radius: var(--rg-v61-radius); background: #fff; box-shadow: var(--rg-v61-shadow-sm); }
.rg-page-interior .rg-page-title { font-size: clamp(28px, 4vw, 44px); }
.rg-page-interior .rg-card, .rg-page-interior .rg-content-card, .rg-page-interior .rg-panel { border-color: var(--rg-v61-border); border-radius: var(--rg-v61-radius); box-shadow: var(--rg-v61-shadow-sm); }
.rg-footer { margin-top: 36px; padding: 36px 0 18px; background: #fff; border-top: 1px solid var(--rg-v61-border); }
.rg-reference-contact { padding: 30px; border-radius: var(--rg-v61-radius); background: linear-gradient(135deg, var(--rg-v61-navy), #126e82) !important; color: #fff; }
.rg-reference-contact .rg-title-md, .rg-reference-contact p { color: #fff; }
.rg-reference-contact .rg-kicker { color: #bceced; }
.rg-map-card { overflow: hidden; min-height: 250px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; background: rgba(255,255,255,.1); }
.rg-footer-map-frame { width: 100%; height: 145px; display: block; border: 0; }
.rg-map-content { padding: 15px 17px; }
.rg-map-content strong, .rg-map-content p { color: #fff; }
.rg-map-content p { font-size: 12px; opacity: .82; }
.rg-footer-shell { padding-top: 25px; }
.rg-footer-brand .rg-logo-wordmark { width: 175px; max-height: 65px; object-fit: contain; }
.rg-footer-about-col p { max-width: 290px; margin-top: 13px; color: var(--rg-v61-muted); font-size: 12px; }
.rg-footer-column-title { margin: 0 0 11px; color: var(--rg-v61-navy); font-size: 14px; font-weight: 900; }
.rg-footer-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 18px; }
.rg-footer-nav a { color: var(--rg-v61-muted); font-size: 12px; }
.rg-footer-nav a:hover { color: var(--rg-v61-teal); }
.rg-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-top: 23px; padding-top: 14px; border-top: 1px solid var(--rg-v61-border); color: var(--rg-v61-muted); font-size: 11px; }
.rg-footer-bottom a { color: var(--rg-v61-teal); font-weight: 800; }
.rg-mobile-contact { display: none; }

/* Responsive contract */
@media (max-width: 1120px) {
  .rg-nav-row { gap: 10px; }
  .rg-brand { flex-basis: 158px; }
  .rg-logo-wordmark-header { width: 155px; }
  .rg-nav-link { padding: 0 7px; font-size: 12px; }
  .rg-header-contact { min-width: 90px; }
  .rg-header-contact-text { display: none; }
  .rg-home-paths { grid-template-columns: repeat(3, 1fr); }
  .rg-program-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .rg-topbar { display: none; }
  .rg-nav-row { min-height: 70px; }
  .rg-nav-toggle { display: inline-grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; margin-left: auto; border: 1px solid var(--rg-v61-border); border-radius: 10px; background: #fff; color: var(--rg-v61-navy); }
  .rg-main-nav { position: absolute; top: calc(100% + 1px); right: 16px; left: 16px; display: none; padding: 9px; border: 1px solid var(--rg-v61-border); border-radius: 14px; background: #fff; box-shadow: var(--rg-v61-shadow); }
  .rg-main-nav.is-open { display: block; }
  .rg-main-nav > ul { display: block; }
  .rg-main-nav li { border-bottom: 1px solid var(--rg-v61-border); }
  .rg-main-nav li:last-child { border-bottom: 0; }
  .rg-nav-entry { justify-content: space-between; }
  .rg-nav-link { width: 100%; min-height: 43px; }
  .rg-main-nav .submenu { position: static; display: none; opacity: 1; visibility: visible; transform: none; min-width: 0; padding: 0 0 6px 10px; border: 0; box-shadow: none; }
  .rg-main-nav li.is-open > .submenu { display: block; }
  .rg-header-search { margin-left: 0; }
  .rg-header-contact, .rg-nav-cta { display: none; }
  .rg-reference-hero-grid { grid-template-columns: 1fr; }
  .rg-reference-copy { min-height: 290px; padding: 32px; }
  .rg-reference-media, .rg-reference-media .rg-photo-frame, .rg-reference-media img { min-height: 280px; height: 280px; }
  .rg-home-about { grid-template-columns: 1fr 1fr; }
  .rg-home-about-photo { grid-row: span 2; }
  .rg-reference-why-teaser, .rg-reference-review-teaser { min-height: 0; }
  .rg-home-why-layout { grid-template-columns: 1fr; }
  .rg-home-why-photo { min-height: 260px; }
  .rg-team-reference-grid { grid-template-columns: repeat(2, 1fr); }
  .rg-home-services-compact { grid-template-columns: 1fr; }
  .rg-home-media-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .container { width: min(100% - 22px, var(--rg-v61-max)); }
  .rg-section { padding: 23px 0; }
  .rg-nav-row { min-height: 64px; }
  .rg-brand { flex-basis: 144px; }
  .rg-logo-wordmark-header { width: 140px; }
  .rg-header-search { width: 36px; height: 36px; flex-basis: 36px; }
  .rg-reference-copy { min-height: 265px; padding: 26px 22px; }
  .rg-reference-copy .rg-page-title { font-size: 31px; }
  .rg-reference-copy .rg-lead { font-size: 13px; }
  .rg-reference-media, .rg-reference-media .rg-photo-frame, .rg-reference-media img { min-height: 220px; height: 220px; }
  .rg-home-paths { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .rg-home-paths > a { min-height: 62px; }
  .rg-program-grid { grid-template-columns: repeat(2, 1fr); gap: 9px; }
  .rg-program-card-heading { min-height: 70px; padding: 10px 9px 6px; }
  .rg-program-card-heading h3 { font-size: 12px; }
  .rg-program-card .rg-card-thumb { height: 84px; }
  .rg-v38-program-summary { margin-left: 9px; margin-right: 9px; font-size: 10px; }
  .rg-member-cta { margin-left: 9px; margin-right: 9px; font-size: 10px; }
  .rg-icon-row { grid-template-columns: repeat(2, 1fr); }
  .rg-icon-row-item { padding: 9px; }
  .rg-icon-row-item p { display: none; }
  .rg-home-about { grid-template-columns: 1fr; padding: 13px; gap: 13px; }
  .rg-home-about-photo { grid-row: auto; min-height: 180px; }
  .rg-home-why-grid { grid-template-columns: 1fr; }
  .rg-home-why-photo { min-height: 220px; }
  .rg-team-reference-grid, .rg-testimonials-grid, .rg-home-blog-grid { grid-template-columns: 1fr; }
  .rg-team-member-card .rg-card-thumb { height: 230px; }
  .rg-home-media-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .rg-home-media-tile { min-height: 125px; }
  .rg-footer { padding-bottom: 75px; }
  .rg-footer-bottom { flex-direction: column; align-items: flex-start; }
  .rg-mobile-contact { position: fixed; z-index: 1200; right: 10px; bottom: 10px; left: 10px; display: grid; grid-template-columns: 1fr 1.35fr; gap: 7px; padding: 6px; border: 1px solid var(--rg-v61-border); border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: var(--rg-v61-shadow); backdrop-filter: blur(10px); }
  .rg-mobile-contact a { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 7px; border-radius: 10px; font-size: 12px; font-weight: 900; }
  .rg-mobile-contact-call { background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
  .rg-mobile-contact-book { background: var(--rg-v61-coral); color: #fff !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* V61 reference alignment refinements */
body::before, body::after,
.rg-page .container::before, .rg-page .container::after { display: none !important; }
.rg-page-home .rg-home-carousel { position: relative; }
.rg-page-home .rg-reference-hero-grid { grid-template-columns: minmax(0, 34%) minmax(0, 66%) !important; min-height: 320px; }
.rg-page-home .rg-slide-panel,
.rg-page-home .rg-reference-media,
.rg-page-home .rg-reference-media .rg-photo-frame,
.rg-page-home .rg-reference-media img { min-height: 320px; height: 320px; }
.rg-page-home .rg-reference-copy { padding: 34px 28px 40px 40px; }
.rg-page-home .rg-reference-copy .rg-page-title { max-width: 350px; font-size: clamp(27px, 3.15vw, 44px); line-height: 1.02; }
.rg-page-home .rg-reference-copy .rg-page-title span { color: var(--rg-v61-navy); }
.rg-page-home .rg-reference-copy .rg-page-title em { color: var(--rg-v61-teal); }
body.rg-page-home .rg-v38-home .rg-slide-eyebrow { position: absolute !important; top: auto !important; right: auto !important; left: 40px !important; bottom: 9px !important; align-self: auto; margin: 0; }
.rg-page-home .rg-carousel-controls { position: static; margin: 0; }
.rg-page-home .rg-carousel-controls .rg-carousel-prev,
.rg-page-home .rg-carousel-controls .rg-carousel-next { position: absolute; z-index: 7; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; background: #fff; box-shadow: 0 5px 16px rgba(13,59,102,.12); }
.rg-page-home .rg-carousel-controls .rg-carousel-prev { left: 10px; }
.rg-page-home .rg-carousel-controls .rg-carousel-next { right: 10px; }
.rg-page-home .rg-carousel-controls .rg-carousel-prev i,
.rg-page-home .rg-carousel-controls .rg-carousel-next i { color: var(--rg-v61-navy) !important; opacity: 1; }
.rg-page-home .rg-carousel-controls .rg-carousel-dots { position: absolute; left: 86px; bottom: 10px; z-index: 8; }
.rg-page-home .rg-home-trust-section { padding-top: 0 !important; padding-bottom: 23px !important; }
.rg-page-home .rg-home-stats { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 8px; }
.rg-page-home .rg-home-stats .rg-icon-row-item { min-height: 61px; display: grid; grid-template-columns: 31px minmax(0,1fr); gap: 8px; padding: 9px 10px; }
.rg-page-home .rg-home-stats .rg-icon-row-item h4 { margin-top: 2px; font-size: 10px; white-space: nowrap; }
.rg-page-home .rg-home-stats .rg-icon-row-item p { display: block; margin-top: 1px; font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rg-page-home .rg-home-stat-value { display: block; color: var(--rg-v61-navy); font-size: 16px; line-height: 1; font-weight: 900; }
body.rg-page-home .rg-v38-home .rg-home-about { grid-template-columns: minmax(0,1fr) minmax(0,1.02fr) minmax(0,.9fr) !important; gap: 18px !important; padding: 18px !important; }
body.rg-page-home .rg-v38-home .rg-home-about-copy { grid-column: 1 !important; grid-row: 1 !important; padding: 0 !important; }
body.rg-page-home .rg-v38-home .rg-home-about-photo { grid-column: 2 !important; grid-row: 1 !important; min-height: 236px !important; max-height: 280px !important; }
body.rg-page-home .rg-v38-home .rg-reference-why-teaser { grid-column: 3 !important; grid-row: 1 !important; }
body.rg-page-home .rg-v38-home .rg-reference-review-teaser { display: none !important; }
.rg-page-home .rg-home-reasons-section { display: none !important; }
.rg-page-home .rg-home-team-section { padding-top: 21px !important; }
.rg-page-home .rg-home-team-grid { grid-template-columns: repeat(6, minmax(0,1fr)) !important; gap: 10px; }
.rg-page-home .rg-team-member-card .rg-card-thumb { height: 175px; }
.rg-page-home .rg-team-member-card h3 { font-size: 12px; }
.rg-page-home .rg-testimonials-layout { display: grid; grid-template-columns: minmax(0, 3fr) minmax(205px, 1fr); gap: 13px; align-items: stretch; }
.rg-page-home .rg-testimonials-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.rg-page-home .rg-testimonial-card { min-height: 147px; padding: 18px 15px 13px; }
.rg-page-home .rg-testimonial-card p { font-size: 11px; line-height: 1.45; }
.rg-page-home .rg-testimonial-family { position: relative; min-height: 147px; margin: 0; overflow: hidden; border-radius: 14px; background: var(--rg-v61-cyan); }
.rg-page-home .rg-testimonial-family img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rg-page-home .rg-testimonial-family::after { display: none; }
.rg-page-home .rg-testimonial-family figcaption { position: absolute; z-index: 1; left: 15px; bottom: 14px; display: flex; width: 106px; height: 106px; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border-radius: 50%; background: rgba(255,255,255,.95); color: var(--rg-v61-teal); text-align: center; }
.rg-page-home .rg-testimonial-family figcaption i { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #fff0ed; color: var(--rg-v61-coral); }
.rg-page-home .rg-testimonial-family figcaption strong {font-size: 9px;line-height: 1.2;}

/* Five-column footer composition from the reference footer. */
.rg-reference-footer-shell { position: relative; overflow: hidden; }
.rg-reference-footer-shell > .row { display: grid; grid-template-columns: 1.45fr repeat(4, minmax(0, 1fr)); gap: 28px; align-items: start; }
.rg-reference-footer-shell > .row > [class*="col-"] { width: auto; max-width: none; flex: none; margin: 0 !important; padding: 0; }
.rg-footer-social-inline { display: flex; gap: 9px; margin-top: 16px; }
.rg-footer-social-inline a { display: inline-grid; place-items: center; width: 25px; height: 25px; border-radius: 7px; background: #f0f8f7; color: var(--rg-v61-teal); font-size: 12px; }
.rg-footer-simple-nav { display: grid; gap: 7px; }
.rg-footer-simple-nav a, .rg-footer-contact-list a { color: var(--rg-v61-muted); font-size: 11px; line-height: 1.35; }
.rg-footer-simple-nav a:hover, .rg-footer-contact-list a:hover { color: var(--rg-v61-teal); }
.rg-footer-contact-list { display: grid; gap: 10px; }
.rg-footer-contact-list a { display: flex; align-items: flex-start; gap: 8px; }
.rg-footer-contact-list i { flex: 0 0 14px; margin-top: 2px; color: var(--rg-v61-teal); }
.rg-reference-footer-shell::before { z-index: 0; }
.rg-reference-footer-shell::after { content: ''; position: absolute; right: -28px; bottom: -46px; width: 160px; height: 100px; border-radius: 55% 45% 50% 50%; background: radial-gradient(circle at 22% 35%, rgba(247,177,194,.33) 0 13%, transparent 14%), radial-gradient(circle at 57% 60%, rgba(120,209,204,.25) 0 15%, transparent 16%), radial-gradient(circle at 78% 30%, rgba(246,207,115,.25) 0 12%, transparent 13%); transform: rotate(-18deg); pointer-events: none; }
@media (max-width: 1100px) { .rg-reference-footer-shell > .row { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rg-reference-footer-shell > .row > .rg-footer-about-col { grid-column: 1 / -1; } }
@media (max-width: 640px) { .rg-reference-footer-shell > .row { grid-template-columns: 1fr 1fr; gap: 20px 15px; } .rg-reference-footer-shell > .row > .rg-footer-about-col { grid-column: 1 / -1; } .rg-reference-footer-shell > .row > .rg-footer-contact-col { grid-column: 1 / -1; } }
.rg-page-home .rg-home-lower-wrap { padding: 0 0 24px; }
.rg-page-home .rg-home-lower-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .95fr); grid-template-areas: 'blog media' 'services services'; gap: 18px; align-items: start; }
.rg-page-home .rg-home-lower-grid > .rg-home-blog-section { grid-area: blog; }
.rg-page-home .rg-home-lower-grid > .rg-home-media-section { grid-area: media; }
.rg-page-home .rg-home-lower-grid > .rg-home-services-section { grid-area: services; }
.rg-page-home .rg-home-lower-grid > .rg-home-blog-section,
.rg-page-home .rg-home-lower-grid > .rg-home-media-section { padding: 0 !important; }
.rg-page-home .rg-home-lower-grid > .rg-home-services-section { grid-column: 1 / -1; padding: 0 !important; }
.rg-page-home .rg-home-lower-grid .rg-home-blog-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; }
.rg-page-home .rg-home-lower-grid .rg-home-blog-item > .rg-card-thumb { height: 126px; }
.rg-page-home .rg-home-lower-grid .rg-home-blog-item p { font-size: 10px; }
.rg-page-home .rg-home-lower-grid .rg-home-media-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.rg-page-home .rg-home-lower-grid .rg-home-media-tile { min-height: 118px; }

/* The reference contact block is a light three-column contact panel. */
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact,
body.rg-page-home .rg-v38-home + .rg-reference-contact,
body.rg-page-home .rg-v38-home .rg-reference-contact { border: 1px solid var(--rg-v61-border) !important; background: #fff !important; color: var(--rg-v61-ink) !important; box-shadow: var(--rg-v61-shadow-sm) !important; }
.rg-reference-contact > .row { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr) minmax(290px,1.15fr); gap: 24px; align-items: center; }
.rg-reference-contact > .row > div:first-child { display: contents; }
.rg-reference-contact > .row > div:last-child { grid-column: 3; width: auto; }
.rg-reference-contact .rg-kicker { grid-column: 1; color: var(--rg-v61-teal) !important; }
.rg-reference-contact h2, .rg-reference-contact p { grid-column: 1; color: var(--rg-v61-navy) !important; }
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact h2,
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact p,
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-title-md { color: var(--rg-v61-navy) !important; }
.rg-reference-contact h2 { margin-bottom: 5px !important; }
.rg-reference-contact p { margin-bottom: 9px !important; color: var(--rg-v61-muted) !important; font-size: 12px; }
.rg-reference-contact .rg-contact-inline { grid-column: 2; display: grid; gap: 9px; align-content: center; }
.rg-reference-contact .rg-contact-inline .item { color: var(--rg-v61-ink); font-size: 12px; }
.rg-reference-contact .rg-contact-inline .item i { background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-inline .item { color: var(--rg-v61-ink) !important; }
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-inline .item i { background: var(--rg-v61-teal-soft) !important; color: var(--rg-v61-teal) !important; }
.rg-reference-contact .rg-footer-whatsapp { grid-column: 2; justify-self: start; margin-top: 0 !important; }
.rg-reference-contact .rg-map-card { min-height: 240px; border: 1px solid var(--rg-v61-border); background: #fff; box-shadow: none; }
.rg-reference-contact .rg-map-content { color: var(--rg-v61-ink); }
.rg-reference-contact .rg-map-content strong { color: var(--rg-v61-navy); }
.rg-reference-contact .rg-map-content p { grid-column: auto; color: var(--rg-v61-muted) !important; }
.rg-reference-contact .rg-footer-directions { border-color: var(--rg-v61-border) !important; color: var(--rg-v61-navy) !important; }

@media (max-width: 1120px) {
  .rg-page-home .rg-home-stats { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
  .rg-page-home .rg-home-team-grid { grid-template-columns: repeat(4, minmax(0,1fr)) !important; }
}
@media (max-width: 900px) {
  body.rg-page-home .rg-v38-home .rg-slide-eyebrow { display: none !important; }
  .rg-page-home .rg-reference-hero-grid { grid-template-columns: 1fr !important; }
  .rg-page-home .rg-slide-panel { height: auto !important; min-height: 0 !important; }
  .rg-page-home .rg-reference-copy { padding: 30px 30px 40px; }
  .rg-page-home .rg-reference-copy .rg-page-title { max-width: 470px; }
  .rg-page-home .rg-slide-eyebrow { left: 30px; }
  body.rg-page-home .rg-v38-home .rg-home-about { grid-template-columns: 1fr 1fr !important; }
  body.rg-page-home .rg-v38-home .rg-home-about-copy { grid-column: 1 !important; }
  body.rg-page-home .rg-v38-home .rg-home-about-photo { grid-column: 2 !important; }
  body.rg-page-home .rg-v38-home .rg-reference-why-teaser { grid-column: 1 / -1 !important; }
  .rg-page-home .rg-home-team-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .rg-page-home .rg-testimonials-layout { grid-template-columns: 1fr; }
  .rg-page-home .rg-testimonial-family { min-height: 185px; }
  .rg-page-home .rg-home-lower-grid { grid-template-columns: 1fr; grid-template-areas: 'blog' 'media' 'services'; gap: 22px; }
  .rg-reference-contact > .row { grid-template-columns: 1fr 1fr; gap: 14px; }
  .rg-reference-contact > .row > div:last-child { grid-column: 1 / -1; }
  .rg-reference-contact .rg-map-card { min-height: 220px; }
}
@media (max-width: 640px) {
  .rg-page-home .rg-reference-media,
  .rg-page-home .rg-reference-media .rg-photo-frame,
  .rg-page-home .rg-reference-media img { min-height: 225px; height: 225px; }
  .rg-page-home .rg-home-stats { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .rg-page-home .rg-home-stats .rg-icon-row-item h4 { white-space: normal; line-height: 1.2; }
  body.rg-page-home .rg-v38-home .rg-home-about { grid-template-columns: 1fr !important; }
  body.rg-page-home .rg-v38-home .rg-home-about-copy,
  body.rg-page-home .rg-v38-home .rg-home-about-photo,
  body.rg-page-home .rg-v38-home .rg-reference-why-teaser,
  body.rg-page-home .rg-v38-home .rg-reference-why-art { grid-column: 1 !important; grid-row: auto !important; }
  body.rg-page-home .rg-v38-home .rg-home-about-copy { order: 1 !important; }
  body.rg-page-home .rg-v38-home .rg-home-about-photo { order: 2 !important; min-height: 190px !important; }
  body.rg-page-home .rg-v38-home .rg-reference-why-teaser { order: 3 !important; }
  body.rg-page-home .rg-v38-home .rg-reference-why-art { order: 4 !important; min-height: 230px !important; height: 230px !important; }
  body.rg-page-home .rg-v38-home .rg-reference-why-teaser { padding: 14px !important; }
  body.rg-page-home .rg-v38-home .rg-reference-why-teaser ul { margin: 8px 0 10px; }
  body.rg-page-home .rg-v38-home .rg-reference-why-teaser li { padding: 4px 0; font-size: 11px; }
  .rg-page-home .rg-testimonials-grid { grid-template-columns: 1fr; }
  body.rg-page-home .rg-v38-home .rg-program-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 9px; }
  body.rg-page-home .rg-v38-home .rg-program-card .rg-card-thumb { height: 100px; }
  body.rg-page-home .rg-v38-home .rg-program-card-heading { min-height: 66px; }
  .rg-page-home .rg-home-lower-grid .rg-home-blog-grid { grid-template-columns: 1fr !important; gap: 12px; }
  .rg-page-home .rg-home-lower-grid .rg-home-blog-item > .rg-card-thumb { height: 170px; }
  .rg-reference-contact > .row { grid-template-columns: 1fr; }
  .rg-reference-contact > .row > div:last-child { grid-column: 1; }
  .rg-reference-contact .rg-kicker, .rg-reference-contact h2, .rg-reference-contact p, .rg-reference-contact .rg-contact-inline, .rg-reference-contact .rg-footer-whatsapp { grid-column: 1; }
}

/* Contact call-to-action: explicit columns avoid Bootstrap row collisions. */
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact {
  border: 0 !important;
  background: linear-gradient(115deg, #173b51 0%, #176071 58%, #278d85 100%) !important;
  color: #fff !important;
  box-shadow: 0 20px 48px rgba(17,58,72,.17) !important;
  padding: clamp(24px, 3.2vw, 46px) !important;
}
.rg-reference-contact .rg-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, .9fr) minmax(300px, 1.15fr);
  gap: clamp(18px, 2.2vw, 34px);
  align-items: center;
}
.rg-reference-contact .rg-contact-intro,
.rg-reference-contact .rg-contact-details,
.rg-reference-contact .rg-contact-map { min-width: 0; }
.rg-reference-contact .rg-contact-intro .rg-kicker { color: #bde8de !important; }
.rg-reference-contact .rg-contact-intro h2 { max-width: 22ch; margin: 0 0 10px !important; color: #fff !important; font-size: clamp(1.55rem, 2.2vw, 2.55rem); line-height: 1.16; }
.rg-reference-contact .rg-contact-intro p { max-width: 52ch; margin: 0 !important; color: #e3f0f1 !important; font-size: .9rem; line-height: 1.6; }
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-intro h2 { color: #fff !important; }
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-intro p { color: #e3f0f1 !important; }
.rg-reference-contact .rg-contact-details { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.rg-reference-contact .rg-contact-inline { display: flex; flex-direction: column; width: 100%; gap: 9px; margin: 0 !important; }
.rg-reference-contact .rg-contact-inline .item { width: 100%; min-width: 0; max-width: 100%; display: inline-flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; background: rgba(255,255,255,.11); color: #fff !important; font-size: .78rem; overflow-wrap: anywhere; }
.rg-reference-contact .rg-contact-inline .item i { flex: 0 0 28px; display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: rgba(255,255,255,.16) !important; color: #d9f2ed !important; }
.rg-reference-contact .rg-footer-whatsapp { margin: 0 !important; background: #128866 !important; border: 0 !important; color: #fff !important; }
.rg-reference-contact .rg-contact-map .rg-map-card { min-height: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.4); border-radius: 16px; background: #fff; box-shadow: 0 13px 35px rgba(9,32,48,.2); }
.rg-reference-contact .rg-contact-map .rg-footer-map-frame { display: block; width: 100%; height: clamp(160px, 14vw, 220px); min-height: 0; border: 0; }
.rg-reference-contact .rg-contact-map .rg-map-content { padding: 14px 16px; color: #123b52; }
.rg-reference-contact .rg-contact-map .rg-map-content strong { color: #123b52; font-size: .82rem; line-height: 1.45; }
.rg-reference-contact .rg-contact-map .rg-map-content p { margin: 0 0 11px !important; color: #547080 !important; font-size: .76rem; line-height: 1.45; }
.rg-reference-contact .rg-contact-map .rg-footer-directions { border-color: #dce8eb !important; color: #123b52 !important; }
@media (max-width: 900px) {
  .rg-reference-contact .rg-contact-grid { grid-template-columns: minmax(0, 1fr) minmax(220px, .9fr); gap: 18px; }
  .rg-reference-contact .rg-contact-map { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .rg-reference-contact .rg-contact-grid { grid-template-columns: 1fr; gap: 18px; }
  .rg-reference-contact .rg-contact-map { grid-column: auto; }
}

/* Reference image parity: the contact section is a light three-column panel. */
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact {
  border: 1px solid var(--rg-v61-border) !important;
  background: #fff !important;
  color: var(--rg-v61-ink) !important;
  box-shadow: var(--rg-v61-shadow-sm) !important;
  padding: clamp(22px, 2.6vw, 36px) !important;
}
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-intro h2 { color: var(--rg-v61-navy) !important; }
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-intro p { color: var(--rg-v61-muted) !important; }
body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-intro .rg-kicker { color: var(--rg-v61-teal) !important; }
.rg-reference-contact .rg-contact-details { gap: 10px; }
.rg-reference-contact .rg-contact-inline .item { background: #fff !important; border-color: var(--rg-v61-border) !important; color: var(--rg-v61-ink) !important; box-shadow: 0 4px 14px rgba(14,61,82,.04); }
.rg-reference-contact .rg-contact-inline .item i { background: var(--rg-v61-teal-soft) !important; color: var(--rg-v61-teal) !important; }
.rg-reference-contact .rg-footer-whatsapp { background: var(--rg-v61-coral) !important; color: #fff !important; }
.rg-reference-contact .rg-contact-map .rg-map-card { border-color: var(--rg-v61-border); box-shadow: 0 8px 24px rgba(14,61,82,.08); }
.rg-reference-contact .rg-contact-map .rg-footer-map-frame { height: 150px !important; }
.rg-reference-contact .rg-footer-appointment { margin: 0 !important; background: var(--rg-v61-coral) !important; color: #fff !important; border: 0 !important; }

/* Desktop reference uses six compact cards in both rows. */
@media (min-width: 1121px) {
  body.rg-page-home .rg-v38-home .rg-home-paths { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
  body.rg-page-home .rg-v38-home .rg-program-grid { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 10px !important; }
}
@media (min-width: 641px) and (max-width: 1120px) {
  body.rg-page-home .rg-v38-home .rg-home-paths { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  body.rg-page-home .rg-v38-home .rg-program-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* Testimonials match the reference card hierarchy: stars, quote, then a compact author row. */
.rg-page-home .rg-testimonial-card { position: relative; display: flex; flex-direction: column; }
.rg-page-home .rg-testimonial-stars { margin-bottom: 8px; color: #f4b400; font-size: 13px; letter-spacing: 2px; line-height: 1; }
.rg-page-home .rg-testimonial-card .rg-quote-mark { position: absolute; top: 17px; right: 15px; color: #c8d1d8; font-size: 16px; }
.rg-page-home .rg-testimonial-card p { flex: 1; margin-bottom: 12px; }
.rg-page-home .rg-testimonial-author { display: flex; align-items: center; gap: 8px; margin-top: auto; }
.rg-page-home .rg-testimonial-avatar { display: inline-grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #e8f3f1; color: var(--rg-v61-teal); font-size: 11px; font-weight: 900; }
.rg-page-home .rg-testimonial-author span:last-child { display: grid; gap: 1px; }
.rg-page-home .rg-testimonial-author strong { color: var(--rg-v61-navy); font-size: 11px; line-height: 1.1; }
.rg-page-home .rg-testimonial-author small { color: var(--rg-v61-muted); font-size: 9px; line-height: 1.1; }

/* The reference about panel has a fourth decorative illustration column. */
@media (min-width: 901px) {
  body.rg-page-home .rg-v38-home .rg-home-about { grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr) minmax(0, .95fr) minmax(180px, .9fr) !important; }
  body.rg-page-home .rg-v38-home .rg-home-about-copy { grid-column: 1 !important; }
  body.rg-page-home .rg-v38-home .rg-home-about-photo { grid-column: 2 !important; }
  body.rg-page-home .rg-v38-home .rg-reference-why-teaser { grid-column: 3 !important; }
  body.rg-page-home .rg-v38-home .rg-reference-why-art { grid-column: 4 !important; }
}
.rg-page-home .rg-reference-why-art { position: relative; min-width: 0; min-height: 236px; display: grid; place-items: center; overflow: hidden; background: linear-gradient(145deg, #f8ffff, #fff); border-radius: 16px; }
.rg-page-home .rg-reference-why-art-cloud { position: relative; z-index: 1; width: 78%; min-height: 140px; display: grid; place-items: center; padding: 28px 14px 18px; border: 3px solid #b7e7ee; border-radius: 48% 48% 44% 44%; color: #087b91; text-align: center; font-size: 15px; line-height: 1.35; }
.rg-page-home .rg-reference-why-art-cloud::before, .rg-page-home .rg-reference-why-art-cloud::after { content: ''; position: absolute; bottom: -14px; width: 34px; height: 34px; border: 3px solid #b7e7ee; border-top: 0; border-left: 0; background: #fff; transform: rotate(45deg); }
.rg-page-home .rg-reference-why-art-cloud::before { left: 22%; }
.rg-page-home .rg-reference-why-art-cloud::after { right: 22%; }
.rg-page-home .rg-reference-why-art-sun { position: absolute; top: 8px; right: 14px; color: #f4b400; font-size: 29px; }
.rg-page-home .rg-reference-why-art-fan { position: absolute; right: 17px; bottom: 16px; color: #f18b72; font-size: 48px; transform: rotate(18deg); }
.rg-page-home .rg-reference-why-art-windmill { position: absolute; right: 22px; bottom: 17px; z-index: 2; width: 64px; height: 64px; display: block; }
.rg-page-home .rg-reference-why-art-windmill::before { content: ''; position: absolute; left: 31px; top: 28px; width: 4px; height: 39px; border-radius: 4px; background: #68b89e; transform: rotate(18deg); transform-origin: top center; }
.rg-page-home .rg-reference-why-art-windmill i { position: absolute; left: 26px; top: 26px; display: block; width: 23px; height: 32px; border-radius: 100% 0 100% 0; transform-origin: 50% 100%; }
.rg-page-home .rg-reference-why-art-windmill i:nth-child(1) { background: #ef6e73; transform: rotate(0deg) translateY(-17px); }
.rg-page-home .rg-reference-why-art-windmill i:nth-child(2) { background: #f3bf61; transform: rotate(90deg) translateY(-17px); }
.rg-page-home .rg-reference-why-art-windmill i:nth-child(3) { background: #5eb9d2; transform: rotate(180deg) translateY(-17px); }
.rg-page-home .rg-reference-why-art-windmill i:nth-child(4) { background: #a987d8; transform: rotate(270deg) translateY(-17px); }
.rg-page-home .rg-reference-why-art-windmill b { position: absolute; left: 27px; top: 27px; z-index: 2; width: 12px; height: 12px; border-radius: 50%; background: #ff836f; box-shadow: 0 0 0 4px rgba(255,255,255,.8); }
.rg-page-home .rg-home-about-photo { position: relative; }
.rg-page-home .rg-home-about-play { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #fff; color: var(--rg-v61-coral); box-shadow: 0 8px 20px rgba(14,61,82,.18); transform: translate(-50%, -50%); }
.rg-page-home .rg-home-about-caption { position: absolute; z-index: 2; right: 10px; bottom: 10px; left: 10px; display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 10px; background: rgba(255,255,255,.94); color: var(--rg-v61-navy); }
.rg-page-home .rg-home-about-caption > i { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #fff0ed; color: var(--rg-v61-coral); font-size: 11px; }
.rg-page-home .rg-home-about-caption span { display: grid; gap: 1px; }
.rg-page-home .rg-home-about-caption strong { font-size: 11px; line-height: 1.15; }
.rg-page-home .rg-home-about-caption small { color: var(--rg-v61-muted); font-size: 9px; line-height: 1.15; }
@media (max-width: 900px) { .rg-page-home .rg-reference-why-art { grid-column: 1 / -1 !important; min-height: 190px; } }
@media (max-width: 640px) { .rg-page-home .rg-reference-why-art { grid-column: 1 !important; } }

/* Pastel windmill petals used by the reference artwork around the lower panels. */
.rg-reference-contact,
.rg-reference-footer-shell { position: relative; isolation: isolate; }
.rg-reference-contact > .rg-contact-grid,
.rg-reference-footer-shell > .row,
.rg-reference-footer-shell > .rg-footer-bottom { position: relative; z-index: 2; }
.rg-reference-petals { position: absolute; width: 122px; height: 178px; pointer-events: none; z-index: 1; }
.rg-reference-petals span { position: absolute; display: block; width: 53px; height: 94px; border-radius: 100% 0 100% 0; opacity: .38; transform-origin: 100% 100%; filter: saturate(.9); }
.rg-reference-petals-contact { left: -84px; bottom: -19px; transform: rotate(-12deg); }
.rg-reference-petals-contact span:nth-child(1) { left: 56px; top: 12px; background: #f3c0b3; transform: rotate(-40deg); }
.rg-reference-petals-contact span:nth-child(2) { left: 34px; top: 43px; background: #f5d185; transform: rotate(-5deg); }
.rg-reference-petals-contact span:nth-child(3) { left: 48px; top: 69px; background: #a9dfcf; transform: rotate(38deg); }
.rg-reference-petals-contact span:nth-child(4) { left: 64px; top: 77px; background: #a8c9f3; transform: rotate(79deg); }
.rg-reference-petals-contact span:nth-child(5) { left: 17px; top: 29px; background: #f4a9bb; transform: rotate(-74deg); }
.rg-reference-petals-footer { right: -100px; bottom: 8px; transform: rotate(17deg) scale(.92); }
.rg-reference-petals-footer span:nth-child(1) { left: 54px; top: 7px; background: #b7cdf5; transform: rotate(-44deg); }
.rg-reference-petals-footer span:nth-child(2) { left: 35px; top: 38px; background: #f3a9bf; transform: rotate(-9deg); }
.rg-reference-petals-footer span:nth-child(3) { left: 45px; top: 69px; background: #f2d184; transform: rotate(32deg); }
.rg-reference-petals-footer span:nth-child(4) { left: 65px; top: 77px; background: #a9decf; transform: rotate(75deg); }
.rg-reference-petals-footer span:nth-child(5) { left: 17px; top: 26px; background: #b8c9ef; transform: rotate(-78deg); }
@media (min-width: 901px) {
  .rg-reference-footer-shell { overflow: visible; }
}
@media (max-width: 900px) {
  .rg-reference-petals { opacity: .42; transform: scale(.72); }
  .rg-reference-petals-contact { left: -54px; bottom: -34px; }
  .rg-reference-petals-footer { right: -60px; bottom: -18px; }
}

/* Brand decoration: use a recognisable Özel Rüzgargülü pinwheel instead of
   abstract leaf clusters in the lower contact/footer surfaces. */
.rg-reference-windmill {
  position: absolute;
  z-index: 1;
  width: 116px;
  height: 142px;
  pointer-events: none;
  opacity: .56;
}
.rg-reference-windmill .rg-deco-windmill-stem {
  position: absolute;
  left: 56px;
  top: 53px;
  width: 5px;
  height: 80px;
  border-radius: 99px;
  background: linear-gradient(180deg, #53a99a, #83c9af);
  transform: rotate(12deg);
  transform-origin: top center;
}
.rg-reference-windmill .rg-deco-windmill-stem::after {
  content: '';
  position: absolute;
  left: -17px;
  bottom: -3px;
  width: 38px;
  height: 7px;
  border-radius: 99px;
  background: #7cbca9;
  transform: rotate(-12deg);
}
.rg-reference-windmill .rg-deco-windmill-rotor {
  position: absolute;
  z-index: 2;
  left: 56px;
  top: 53px;
  width: 50px;
  height: 50px;
  transform: translate(-50%, -50%);
  animation: rg-reference-windmill-spin 8s linear infinite;
}
.rg-reference-windmill .rg-deco-windmill-rotor i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 15px;
  height: 34px;
  border-radius: 100% 0 100% 0;
  transform-origin: 50% 100%;
}
.rg-reference-windmill .rg-deco-windmill-rotor i:nth-child(1) { background: #ef6e73; transform: translate(-50%, -100%) rotate(0deg) translateY(-3px); }
.rg-reference-windmill .rg-deco-windmill-rotor i:nth-child(2) { background: #f2be5c; transform: translate(-50%, -100%) rotate(90deg) translateY(-3px); }
.rg-reference-windmill .rg-deco-windmill-rotor i:nth-child(3) { background: #5cb8d0; transform: translate(-50%, -100%) rotate(180deg) translateY(-3px); }
.rg-reference-windmill .rg-deco-windmill-rotor i:nth-child(4) { background: #a989dc; transform: translate(-50%, -100%) rotate(270deg) translateY(-3px); }
.rg-reference-windmill > b {
  position: absolute;
  z-index: 3;
  left: 56px;
  top: 53px;
  width: 14px;
  height: 14px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #ff836f;
  box-shadow: 0 0 0 1px rgba(25,93,116,.1);
  transform: translate(-50%, -50%);
}
.rg-reference-windmill-contact { left: -46px; bottom: -18px; transform: rotate(-8deg) scale(.86); }
.rg-reference-windmill-footer { right: -48px; bottom: -20px; transform: rotate(13deg) scale(.82); opacity: .42; }
@keyframes rg-reference-windmill-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@media (max-width: 900px) {
  .rg-reference-windmill { opacity: .35; transform: scale(.7); }
  .rg-reference-windmill-contact { left: -35px; bottom: -37px; }
  .rg-reference-windmill-footer { right: -28px; bottom: -34px; }
}

/* Let the lower panels use the same wide desktop canvas as the header. */
@media (min-width: 901px) {
  .rg-footer > .container { width: min(100% - 32px, 1320px); max-width: 1320px; }
}

/* Keep the program catalogue in one deliberate, horizontally scrollable row. */
.rg-category-row { flex-wrap: nowrap !important; gap: 8px !important; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; }
.rg-category-pill { flex: 0 0 auto; white-space: nowrap; padding: 10px 13px; }

/* Use the same light contact surface on interior pages as on the homepage. */
.rg-footer .rg-reference-contact {
  border: 1px solid var(--rg-v61-border) !important;
  background: #fff !important;
  color: var(--rg-v61-ink) !important;
  box-shadow: var(--rg-v61-shadow-sm) !important;
  padding: clamp(22px, 2.6vw, 36px) !important;
}
.rg-footer .rg-reference-contact .rg-contact-intro h2 { color: var(--rg-v61-navy) !important; }
.rg-footer .rg-reference-contact .rg-contact-intro p { color: var(--rg-v61-muted) !important; }
.rg-footer .rg-reference-contact .rg-contact-intro .rg-kicker { color: var(--rg-v61-teal) !important; }
@media (min-width: 901px) {
  .rg-footer .rg-reference-contact { padding: 18px 28px !important; }
  .rg-footer .rg-reference-contact .rg-contact-grid { grid-template-columns: minmax(0, 1.05fr) minmax(300px, 1.05fr) minmax(380px, 1.2fr) !important; gap: 22px !important; }
  .rg-footer .rg-reference-contact .rg-contact-details { gap: 7px !important; }
  .rg-footer .rg-reference-contact .rg-contact-inline { gap: 6px !important; }
  .rg-footer .rg-reference-contact .rg-contact-inline .item { padding: 8px 10px !important; }
  .rg-footer .rg-reference-contact .rg-contact-map .rg-map-card { padding: 8px !important; }
  .rg-footer .rg-reference-contact .rg-contact-map .rg-footer-map-frame { height: 125px !important; }
  .rg-footer .rg-reference-contact .rg-contact-map .rg-map-content { padding: 9px 12px !important; }
}

/* Align the programme section description with the section heading on wide screens. */
@media (min-width: 992px) {
  body.rg-page-interior .rg-section > .container > .rg-flex-between { align-items: flex-start !important; }
  body.rg-page-interior .rg-section > .container > .rg-flex-between > .rg-subtitle { margin-top: 24px !important; }
}

/* Keep legal links clear of the fixed help control in the desktop footer. */
.rg-footer-legal { display: inline-flex; align-items: center; gap: 8px; margin-right: 230px; white-space: nowrap; position: relative; z-index: 2; }
@media (max-width: 900px) {
  .rg-footer-bottom { padding-bottom: 78px !important; position: relative; }
  .rg-footer-legal { margin-right: 0; white-space: normal; flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .rg-footer-bottom { padding-bottom: 86px !important; }
  .rg-footer-legal { width: 100%; gap: 7px; }
}

/* Contact/footer parity: keep the desktop call-to-action compact like the reference. */
@media (min-width: 901px) {
  body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact {
    padding: 18px 28px !important;
  }
  body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, 1.05fr) minmax(380px, 1.2fr) !important;
    gap: 22px !important;
  }
  body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-details {
    gap: 7px !important;
  }
  body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-inline {
    gap: 6px !important;
  }
  body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-inline .item {
    padding: 8px 10px !important;
  }
  body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-map .rg-map-card {
    padding: 8px !important;
  }
  body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-map .rg-footer-map-frame {
    height: 125px !important;
  }
  body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-map .rg-map-content {
    padding: 9px 12px !important;
  }
  body.rg-page-home .rg-v38-home ~ .rg-footer .rg-reference-contact .rg-contact-map .rg-map-content p {
    margin-bottom: 7px !important;
  }
}

/* Programme catalogue: keep six desktop cards compact, balanced and readable. */
@media (min-width: 1121px) {
  body.rg-page-interior .rg-program-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  body.rg-page-interior .rg-program-grid .rg-program-card {
    min-height: 0 !important;
    padding: 12px 10px 9px !important;
    border-radius: 16px !important;
  }
  body.rg-page-interior .rg-program-grid .rg-program-card-heading {
    min-height: 68px !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
  }
  body.rg-page-interior .rg-program-grid .rg-program-card-heading .rg-icon-badge {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    border-radius: 12px !important;
  }
  body.rg-page-interior .rg-program-grid .rg-program-card-heading h3 {
    font-size: .83rem !important;
    line-height: 1.15 !important;
  }
  body.rg-page-interior .rg-program-grid .rg-program-card .rg-card-thumb {
    height: 106px !important;
    margin-bottom: 10px !important;
    border-radius: 12px !important;
  }
  body.rg-page-interior .rg-program-grid .rg-program-card > p {
    /* min-height: 140px !important; */
    /* max-height: 48px !important; */
    overflow: hidden !important;
    margin: 0 0 8px !important;
    font-size: 0.72rem !important;
    line-height: 1.42 !important;
  }
  body.rg-page-interior .rg-program-grid .rg-program-card .rg-check-list {
    min-height: 92px !important;
    max-height: 92px !important;
    overflow: hidden !important;
    gap: 4px !important;
    margin: 0 0 8px !important;
    padding-left: 0 !important;
  }
  body.rg-page-interior .rg-program-grid .rg-program-card .rg-check-list li {
    font-size: .68rem !important;
    line-height: 1.25 !important;
  }
  body.rg-page-interior .rg-program-grid .rg-program-card > .rg-btn {
    min-height: 32px !important;
    margin-top: auto !important;
    padding: 7px !important;
    font-size: .69rem !important;
  }
}

@media (min-width: 641px) and (max-width: 1120px) {
  body.rg-page-interior .rg-program-grid .rg-program-card .rg-card-thumb { height: 160px !important; }
}

@media (max-width: 640px) {
  body.rg-page-interior .rg-program-grid .rg-program-card .rg-card-thumb { height: 190px !important; }
  body.rg-page-interior .rg-program-grid .rg-program-card > p { min-height: 0 !important; max-height: none !important; }
  body.rg-page-interior .rg-program-grid .rg-program-card .rg-check-list { min-height: 0 !important; max-height: none !important; }
}

/* Institution hub: give the Bizden page a clear corporate entry point and a useful card grid. */
.rg-institution-hero { padding-top: 30px; }
.rg-institution-hero-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .92fr); min-height: 390px; overflow: hidden; }
.rg-institution-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(26px, 4vw, 58px); }
.rg-institution-hero-copy .rg-page-title { margin: 10px 0 14px; }
.rg-institution-hero-copy .rg-lead { max-width: 570px; }
.rg-institution-hero-media { position: relative; min-height: 390px; overflow: hidden; }
.rg-institution-hero-media .rg-photo-frame { height: 100%; min-height: 390px; border-radius: 0; }
.rg-institution-hero-media .rg-photo-frame img { width: 100%; height: 100%; object-fit: cover; }
.rg-institution-hero-badge { position: absolute; right: 22px; bottom: 22px; display: grid; grid-template-columns: 38px 1fr; column-gap: 10px; align-items: center; max-width: 260px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.65); border-radius: 14px; background: rgba(255,255,255,.94); color: var(--rg-v61-navy); box-shadow: 0 10px 26px rgba(14,61,82,.16); }
.rg-institution-hero-badge > i { grid-row: 1 / span 2; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
.rg-institution-hero-badge strong { font-size: .86rem; line-height: 1.15; }
.rg-institution-hero-badge small { margin-top: 3px; color: var(--rg-v61-muted); font-size: .68rem; line-height: 1.25; }
.rg-institution-intro-section { padding-top: 24px; }
.rg-institution-intro-card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 32px; align-items: center; padding: 24px 28px; border: 1px solid var(--rg-v61-border); border-radius: 18px; background: #fff; box-shadow: var(--rg-v61-shadow-sm); }
.rg-institution-intro-card h2 { margin: 7px 0 0; }
.rg-institution-intro-card p { margin: 0; color: var(--rg-v61-muted); font-size: .92rem; line-height: 1.65; }
.rg-institution-stat-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.rg-institution-stat-strip > div { display: flex; align-items: center; gap: 10px; min-height: 66px; padding: 10px 14px; border: 1px solid var(--rg-v61-border); border-radius: 14px; background: #fff; }
.rg-institution-stat-strip strong, .rg-institution-stat-strip small { display: block; }
.rg-institution-stat-strip strong { color: var(--rg-v61-navy); font-size: .8rem; }
.rg-institution-stat-strip small { margin-top: 2px; color: var(--rg-v61-muted); font-size: .68rem; }
.rg-institution-links-section { padding-top: 26px; }
.rg-institution-links-section .rg-section-title { position: relative; }
.rg-institution-links-section .rg-subtitle { position: absolute; right: 0; bottom: 3px; margin: 0; }
.rg-institution-links-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.rg-institution-link-card { display: flex; align-items: flex-start; gap: 14px; min-height: 148px; padding: 20px; border: 1px solid var(--rg-v61-border); border-top: 3px solid currentColor; border-radius: 16px; background: #fff; box-shadow: var(--rg-v61-shadow-sm); color: var(--rg-v61-ink); transition: transform .2s ease, box-shadow .2s ease; }
.rg-institution-link-card:hover { transform: translateY(-3px); box-shadow: var(--rg-v61-shadow-md); color: var(--rg-v61-ink); }
.rg-institution-link-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; }
.rg-institution-link-copy strong { color: var(--rg-v61-navy); font-size: 1rem; line-height: 1.2; }
.rg-institution-link-copy small { margin-top: 8px; color: var(--rg-v61-muted); font-size: .76rem; line-height: 1.5; }
.rg-institution-link-copy .rg-member-cta { margin-top: auto; padding-top: 12px; color: currentColor; font-size: .72rem; font-weight: 800; }
@media (max-width: 900px) {
  .rg-institution-hero-shell { grid-template-columns: 1fr; }
  .rg-institution-hero-media, .rg-institution-hero-media .rg-photo-frame { min-height: 300px; height: 300px; }
  .rg-institution-intro-card { grid-template-columns: 1fr; gap: 14px; }
  .rg-institution-links-section .rg-subtitle { position: static; margin-top: 8px; }
  .rg-institution-links-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .rg-institution-hero { padding-top: 14px; }
  .rg-institution-hero-copy { padding: 24px 20px 28px; }
  .rg-institution-hero-copy .rg-page-title { font-size: clamp(2rem, 11vw, 3rem); }
  .rg-institution-hero-media, .rg-institution-hero-media .rg-photo-frame { min-height: 230px; height: 230px; }
  .rg-institution-stat-strip, .rg-institution-links-grid { grid-template-columns: 1fr; }
  .rg-institution-intro-card { padding: 20px; }
  .rg-institution-link-card { min-height: 126px; }
}

/* Carousel indicators: keep the counter, dots and arrows on one stable baseline. */
.rg-page-home .rg-home-carousel .rg-carousel-controls {
  position: absolute !important;
  z-index: 8;
  right: 20px !important;
  bottom: 18px !important;
  left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 6px 9px !important;
  gap: 8px !important;
  border: 1px solid rgba(255,255,255,.86) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 8px 22px rgba(16,50,65,.16) !important;
}
.rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-prev,
.rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-next {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  min-height: 30px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #edf6f7 !important;
  color: var(--rg-v61-navy) !important;
}
.rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-dots {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 10px !important;
  gap: 6px !important;
  margin: 0 2px !important;
}
.rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-dot {
  display: block !important;
  flex: 0 0 8px !important;
  width: 8px !important;
  height: 8px !important;
  min-height: 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #b9d4dc !important;
  transform: none !important;
  transition: flex-basis .2s ease, background-color .2s ease !important;
}
.rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-dot.is-active {
  flex-basis: 20px !important;
  width: 20px !important;
  background: var(--rg-v61-coral) !important;
}
.rg-page-home .rg-v38-home .rg-slide-eyebrow {
  top: auto !important;
  right: auto !important;
  bottom: 17px !important;
  left: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 16px !important;
  margin: 0 !important;
  line-height: 1 !important;
  z-index: 7;
}
@media (max-width: 900px) {
  .rg-page-home .rg-home-carousel .rg-carousel-controls {
    right: 50% !important;
    bottom: 62px !important;
    transform: translateX(50%) !important;
    padding: 5px 8px !important;
    gap: 6px !important;
  }
  .rg-page-home .rg-v38-home .rg-slide-eyebrow { display: none !important; }
}

/* Brand mark: increase visibility while keeping the navigation row stable. */
@media (min-width: 1121px) {
  .rg-header .rg-brand { flex: 0 0 200px !important; max-width: 200px !important; }
  .rg-header .rg-brand .rg-logo-wordmark-header { width: 190px !important; max-width: 190px !important; max-height: 68px !important; }
}
@media (min-width: 641px) and (max-width: 1120px) {
  .rg-header .rg-brand { flex: 0 0 176px !important; max-width: 176px !important; }
  .rg-header .rg-brand .rg-logo-wordmark-header { width: 168px !important; max-width: 168px !important; max-height: 62px !important; }
}

/* Mobile editorial carousel: keep the slide hierarchy clear and controls thumb-friendly. */
.rg-page-home .rg-home-carousel {
  isolation: isolate;
  touch-action: pan-y;
}
.rg-page-home .rg-home-carousel-slide.is-active {
  animation: rg-home-slide-in .42s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes rg-home-slide-in {
  from { opacity: .35; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.rg-page-home .rg-carousel-controls button:focus-visible {
  outline: 3px solid rgba(25,143,157,.38);
  outline-offset: 2px;
}
@media (max-width: 640px) {
  .rg-page-home .rg-reference-copy {
    min-height: 0 !important;
    padding: 24px 20px 28px !important;
  }
  .rg-page-home .rg-reference-copy .rg-page-title {
    max-width: 100%;
    margin-bottom: 10px;
    font-size: clamp(27px, 8.3vw, 34px) !important;
    line-height: 1.04;
  }
  .rg-page-home .rg-reference-copy .rg-lead {
    margin-bottom: 14px;
    font-size: 13px;
    line-height: 1.45;
  }
  .rg-page-home .rg-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .rg-page-home .rg-hero-actions .rg-btn {
    width: 100%;
    min-height: 40px;
    justify-content: center;
  }
  .rg-page-home .rg-home-carousel .rg-carousel-controls {
    right: 50% !important;
    bottom: 62px !important;
    padding: 6px 8px !important;
    gap: 7px !important;
    border-color: rgba(255,255,255,.95) !important;
    background: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(8px);
  }
  .rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-prev,
  .rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-next {
    flex-basis: 32px !important;
    width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }
  .rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-prev i,
  .rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-next i {
    font-size: 11px;
  }
  .rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-dot {
    flex-basis: 7px !important;
    width: 7px !important;
    height: 7px !important;
  }
  .rg-page-home .rg-home-carousel .rg-carousel-controls .rg-carousel-dot.is-active {
    flex-basis: 22px !important;
    width: 22px !important;
  }
  body.rg-page-home .rg-v38-home .rg-slide-eyebrow {
    position: static !important;
    align-self: flex-start !important;
    display: inline-flex !important;
    height: auto !important;
    margin: 0 0 12px !important;
    line-height: 1 !important;
  }
  .rg-page-home .rg-program-card-heading h3 {
    font-size: 13px !important;
    line-height: 1.18;
  }
  .rg-page-home .rg-program-card .rg-v38-program-summary {
    font-size: 11px !important;
    line-height: 1.4;
  }
  .rg-page-home .rg-program-card .rg-member-cta {
    font-size: 11px !important;
  }
  .rg-page-home .rg-home-paths > a {
    min-height: 68px;
    padding: 10px 9px;
  }
  .rg-page-home .rg-home-paths > a strong { font-size: 11px; }
  .rg-page-home .rg-home-paths > a small { font-size: 10px; line-height: 1.25; }
  .rg-page-home .rg-home-stats .rg-icon-row-item { min-height: 74px; padding: 10px 11px; }
  .rg-page-home .rg-home-stat-value { font-size: 18px; }
  body.rg-page-home { padding-bottom: 70px; }
}
@media (prefers-reduced-motion: reduce) {
  .rg-page-home .rg-home-carousel-slide.is-active { animation: none !important; }
}
@media (max-width: 640px) {
  /* The source artwork includes a small subtitle below the wordmark. On a
     narrow header that subtitle creates a second visual row, so the mobile
     lockup shows the primary horizontal mark as one compact unit. */
  .rg-header .rg-brand { flex: 0 0 154px !important; max-width: 154px !important; }
  .rg-header .rg-brand picture {
    display: block;
    width: 148px;
    height: 35px;
    overflow: hidden;
  }
  .rg-header .rg-brand .rg-logo-wordmark-header {
    display: block;
    width: 148px !important;
    max-width: 148px !important;
    height: 35px !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center top !important;
  }
}

/* Editorial about illustration: use the same cloud, sun and windmill composition as the reference. */
.rg-page-home .rg-reference-why-art {
  padding: 0 !important;
  background: #fbffff !important;
}
.rg-page-home .rg-reference-why-art > img,
.rg-page-home .rg-reference-why-art > svg {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: fill;
  object-position: center;
}

/* Keep testimonials readable inside a stable card height on every viewport. */
.rg-page-home .rg-testimonial-card { overflow: hidden; }
.rg-page-home .rg-testimonial-card p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  min-height: 0;
  max-height: calc(1.45em * 5);
  text-overflow: ellipsis;
}
@media (max-width: 900px) {
  .rg-page-home .rg-testimonial-card p {
    -webkit-line-clamp: 6;
    max-height: calc(1.45em * 6);
  }
}

/* FAQ accordions: answers should grow with their content instead of becoming an inner scroll box. */
.rg-page-interior .rg-grid-2 { align-items: start; }
.rg-page-interior .rg-slim-accordion { gap: 12px; }
.rg-page-interior .rg-slim-accordion { align-content: start; grid-auto-rows: max-content; }
.rg-page-interior .rg-slim-accordion .rg-accordion-item {
  overflow: hidden;
  border: 1px solid var(--rg-v61-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--rg-v61-shadow-sm);
}
.rg-page-interior .rg-slim-accordion .rg-accordion-item.is-open {
  border-color: rgba(22,123,146,.28);
  box-shadow: 0 14px 30px rgba(22,80,102,.10);
}
.rg-page-interior .rg-slim-accordion .rg-accordion-button {
  min-height: 62px;
  padding: 17px 19px;
  outline: 0;
  color: var(--rg-v61-navy);
  font-size: 14px;
  line-height: 1.35;
}
.rg-page-interior .rg-slim-accordion .rg-accordion-button:focus-visible {
  outline: 3px solid var(--rg-v61-teal);
  outline-offset: -3px;
}
.rg-page-interior .rg-slim-accordion .rg-accordion-button i {
  flex: 0 0 auto;
  color: var(--rg-v61-teal);
}
.rg-page-interior .rg-slim-accordion .rg-accordion-content {
  max-height: none !important;
  overflow: visible !important;
  overscroll-behavior: auto !important;
  padding: 0 19px 19px;
  color: var(--rg-v61-ink);
  font-size: 14px;
  line-height: 1.72;
}
.rg-page-interior .rg-slim-accordion .rg-accordion-content > :first-child { margin-top: 0; }
.rg-page-interior .rg-slim-accordion .rg-accordion-content > :last-child { margin-bottom: 0; }
@media (max-width: 640px) {
  .rg-page-interior .rg-slim-accordion .rg-accordion-button { min-height: 58px; padding: 15px 16px; font-size: 13px; }
  .rg-page-interior .rg-slim-accordion .rg-accordion-content { padding: 0 16px 17px; font-size: 13px; line-height: 1.65; }
}

/* Interior-page consistency: uploaded editorial artwork is shown in full and
   mobile content clears the fixed contact actions before the footer. */
.rg-page-interior .rg-reference-media .rg-editorial-frame--poster img,
.rg-page-interior .rg-v27-hero .rg-editorial-frame--poster img,
.rg-page-interior .rg-v28-program-hero .rg-editorial-frame--poster img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: linear-gradient(140deg, #e5f3f5, #f3effb 55%, #fff1e8) !important;
}

/* Staff portraits use a tall source ratio. Keep the complete portrait inside
   the same theme-sized media card instead of enlarging and cutting the face. */
body.rg-page-interior .rg-v27-hero .rg-staff-portrait-frame,
body.rg-page-interior .rg-v27-hero .rg-staff-portrait-frame img,
body.rg-page-interior .rg-person-summary .rg-staff-detail-photo,
body.rg-page-interior .rg-person-summary .rg-staff-detail-photo img,
body.rg-page-interior .rg-staff-related-photo {
  background: linear-gradient(145deg, #eef8f8 0%, #f4f0fb 55%, #fff4ee 100%) !important;
}
body.rg-page-interior .rg-v27-hero .rg-staff-portrait-frame img,
body.rg-page-interior .rg-person-summary .rg-staff-detail-photo img,
body.rg-page-interior .rg-staff-related-photo img,
body.rg-page-interior .rg-v29-team .rg-staff-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
body.rg-page-interior .rg-person-summary .rg-staff-detail-photo,
body.rg-page-interior .rg-staff-related-photo,
body.rg-page-interior .rg-v29-team .rg-staff-photo {
  overflow: hidden;
}
body.rg-page-interior .rg-person-summary--no-photo {
  display: block !important;
  max-width: 860px;
}
body.rg-page-interior .rg-person-summary--no-photo .rg-person-detail-copy {
  min-width: 0;
  max-width: 760px;
}

/* Staff detail profile: a complete, welcoming content card remains useful even
   when the optional biography field is empty in the management panel. */
body.rg-page-interior .rg-staff-profile-card {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--rg-v61-border);
  border-radius: var(--rg-v61-radius);
  background: linear-gradient(145deg, #fff 0%, #f7fcfd 58%, #fff7f2 100%);
  box-shadow: var(--rg-v61-shadow);
}
body.rg-page-interior .rg-staff-profile-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--rg-v61-purple), var(--rg-v61-coral), var(--rg-v61-gold), #39b98d);
}
body.rg-page-interior .rg-staff-profile-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(220,236,241,.9);
}
body.rg-page-interior .rg-staff-profile-icon,
body.rg-page-interior .rg-staff-profile-cta-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: linear-gradient(145deg, var(--rg-v61-teal), var(--rg-v61-navy));
  color: #fff;
  font-size: 22px;
  box-shadow: 0 10px 22px rgba(13,59,102,.16);
}
body.rg-page-interior .rg-staff-profile-heading .rg-kicker { margin-bottom: 5px; }
body.rg-page-interior .rg-staff-profile-role { margin: 6px 0 0; color: var(--rg-v61-muted); font-size: 14px; font-weight: 800; }
body.rg-page-interior .rg-staff-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: stretch;
  padding-top: 26px;
}
body.rg-page-interior .rg-staff-profile-copy { min-width: 0; }
body.rg-page-interior .rg-staff-profile-copy .rg-richtext,
body.rg-page-interior .rg-staff-profile-lead,
body.rg-page-interior .rg-staff-profile-note { max-width: 690px; }
body.rg-page-interior .rg-staff-profile-lead { margin: 0; color: var(--rg-v61-ink); font-size: 17px; line-height: 1.75; font-weight: 700; }
body.rg-page-interior .rg-staff-profile-note { margin: 12px 0 0; color: var(--rg-v61-muted); line-height: 1.75; }
body.rg-page-interior .rg-staff-profile-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
body.rg-page-interior .rg-staff-profile-tags span { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 0 11px; border: 1px solid var(--rg-v61-border); border-radius: 999px; background: rgba(255,255,255,.78); color: var(--rg-v61-ink); font-size: 11px; font-weight: 800; }
body.rg-page-interior .rg-staff-profile-tags i { color: #2da984; }
body.rg-page-interior .rg-staff-profile-cta { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 22px; border: 1px solid rgba(19,138,154,.16); border-radius: var(--rg-v61-radius-sm); background: linear-gradient(145deg, var(--rg-v61-teal-soft), #fff); }
body.rg-page-interior .rg-staff-profile-cta-icon { width: 42px; height: 42px; border-radius: 13px; font-size: 16px; box-shadow: none; }
body.rg-page-interior .rg-staff-profile-cta strong { display: block; color: var(--rg-v61-navy); font-size: 18px; }
body.rg-page-interior .rg-staff-profile-cta p { margin: 5px 0 0; color: var(--rg-v61-muted); font-size: 13px; line-height: 1.6; }
body.rg-page-interior .rg-staff-profile-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
body.rg-page-interior .rg-staff-profile-actions .rg-btn { min-height: 39px; padding-inline: 14px; font-size: 12px; }
@media (max-width: 760px) {
  body.rg-page-interior .rg-staff-profile-grid { grid-template-columns: 1fr; gap: 20px; }
  body.rg-page-interior .rg-staff-profile-heading { align-items: flex-start; }
  body.rg-page-interior .rg-staff-profile-icon { width: 50px; height: 50px; border-radius: 15px; }
}
@media (max-width: 420px) {
  body.rg-page-interior .rg-staff-profile-card { padding: 22px 18px; }
  body.rg-page-interior .rg-staff-profile-heading { gap: 12px; }
  body.rg-page-interior .rg-staff-profile-heading .rg-title-md { font-size: 23px; }
  body.rg-page-interior .rg-staff-profile-actions { flex-direction: column; }
  body.rg-page-interior .rg-staff-profile-actions .rg-btn { width: 100%; }
}
body.rg-page-interior .rg-v27-hero .rg-v27-hero-art--portrait {
  min-height: clamp(325px, 29vw, 445px) !important;
  height: clamp(325px, 29vw, 445px) !important;
  aspect-ratio: auto !important;
  align-self: stretch !important;
}
body.rg-page-interior .rg-v27-hero .rg-v27-hero-art--portrait .rg-staff-portrait-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}
@media (max-width: 640px) {
  body.rg-page-interior .rg-v27-hero .rg-v27-hero-art--portrait {
    min-height: clamp(240px, 67vw, 335px) !important;
    height: clamp(240px, 67vw, 335px) !important;
  }
}
@media (max-width: 640px) {
  body.rg-page-interior { padding-bottom: 70px; }
  .rg-page-interior .rg-section { scroll-margin-top: 78px; }
  .rg-page-interior .rg-v27-guestbook .rg-v27-section,
  .rg-page-interior .rg-v27-gallery .rg-v27-section,
  .rg-page-interior .rg-v27-media-hub .rg-v27-section { padding-inline: 0; }
}

/* Staff photography: a calm, branded frame gives every portrait a finished
   presentation while keeping the original image ratio and focal point. */
.rg-team-member-card .rg-card-thumb,
.rg-v29-team .rg-staff-photo,
.rg-staff-related-photo,
.rg-v27-hero .rg-staff-portrait-frame,
.rg-person-summary .rg-staff-detail-photo {
  --rg-staff-accent: var(--rg-v61-teal);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(19,138,154,.18);
  border: 1px solid color-mix(in srgb, var(--rg-staff-accent) 18%, var(--rg-v61-border));
  background: linear-gradient(145deg, #eef9fa 0%, #f5f0fd 56%, #fff4ed 100%) !important;
  background:
    radial-gradient(circle at 16% 18%, color-mix(in srgb, var(--rg-staff-accent) 15%, transparent) 0 13%, transparent 14%),
    radial-gradient(circle at 88% 86%, color-mix(in srgb, var(--rg-v61-coral) 13%, transparent) 0 17%, transparent 18%),
    linear-gradient(145deg, #eef9fa 0%, #f5f0fd 56%, #fff4ed 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.72), 0 12px 24px rgba(13,59,102,.08);
}
.rg-team-member-card .rg-card-thumb::before,
.rg-v29-team .rg-staff-photo::before,
.rg-staff-related-photo::before,
.rg-v27-hero .rg-staff-portrait-frame::before,
.rg-person-summary .rg-staff-detail-photo::before {
  position: absolute;
  z-index: -1;
  right: -12%;
  bottom: -28%;
  width: 66%;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--rg-staff-accent) 22%, transparent);
  border-radius: 50%;
  box-shadow: 0 0 0 14px color-mix(in srgb, var(--rg-staff-accent) 6%, transparent), 0 0 0 28px color-mix(in srgb, var(--rg-staff-accent) 4%, transparent);
  content: '';
  pointer-events: none;
}
.rg-team-member-card .rg-card-thumb::after,
.rg-v29-team .rg-staff-photo::after,
.rg-staff-related-photo::after,
.rg-v27-hero .rg-staff-portrait-frame::after,
.rg-person-summary .rg-staff-detail-photo::after {
  position: absolute;
  z-index: 2;
  inset: 9px;
  border: 1px solid rgba(255,255,255,.78);
  border-radius: 13px;
  content: '';
  pointer-events: none;
}
.rg-team-member-card .rg-card-thumb img,
.rg-v29-team .rg-staff-photo img,
.rg-staff-related-photo img,
.rg-v27-hero .rg-staff-portrait-frame img,
.rg-person-summary .rg-staff-detail-photo img {
  position: relative;
  z-index: 1;
  border: 7px solid rgba(255,255,255,.82);
  border-radius: 15px;
  box-shadow: 0 9px 20px rgba(13,59,102,.14);
  filter: saturate(.98) contrast(1.01);
}
.rg-team-member-card:nth-child(4n + 2) .rg-card-thumb,
.rg-v29-team-grid .rg-v29-member-card:nth-child(4n + 2) .rg-staff-photo { --rg-staff-accent: var(--rg-v61-purple); }
.rg-team-member-card:nth-child(4n + 3) .rg-card-thumb,
.rg-v29-team-grid .rg-v29-member-card:nth-child(4n + 3) .rg-staff-photo { --rg-staff-accent: var(--rg-v61-gold); }
.rg-team-member-card:nth-child(4n + 4) .rg-card-thumb,
.rg-v29-team-grid .rg-v29-member-card:nth-child(4n + 4) .rg-staff-photo { --rg-staff-accent: var(--rg-v61-coral); }
.rg-team-member-card:hover .rg-card-thumb,
.rg-v29-member-card:hover .rg-staff-photo,
.rg-staff-related-photo:hover { border-color: color-mix(in srgb, var(--rg-staff-accent) 42%, var(--rg-v61-border)); }
.rg-team-member-card:hover .rg-card-thumb img,
.rg-v29-member-card:hover .rg-staff-photo img,
.rg-staff-related-photo:hover img { box-shadow: 0 12px 25px rgba(13,59,102,.18); }
@media (max-width: 640px) {
  .rg-team-member-card .rg-card-thumb img,
  .rg-v29-team .rg-staff-photo img,
  .rg-staff-related-photo img,
  .rg-v27-hero .rg-staff-portrait-frame img,
  .rg-person-summary .rg-staff-detail-photo img { border-width: 5px; border-radius: 12px; }
  .rg-team-member-card .rg-card-thumb::after,
  .rg-v29-team .rg-staff-photo::after,
  .rg-staff-related-photo::after,
  .rg-v27-hero .rg-staff-portrait-frame::after,
  .rg-person-summary .rg-staff-detail-photo::after { inset: 7px; border-radius: 10px; }
}

/* Mobile home slider: keep the image and editorial copy on one composed
   surface instead of rendering them as two stacked cards. */
@media (max-width: 640px) {
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-hero-grid {
    position: relative;
    display: block !important;
    height: clamp(450px, 122vw, 540px) !important;
    min-height: 450px !important;
    overflow: hidden;
    border: 1px solid rgba(220,236,241,.95);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(13,59,102,.1);
    background: var(--rg-v61-cyan);
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    min-height: 100% !important;
    height: 100% !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media .rg-photo-frame,
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media img {
    width: 100%;
    min-height: 100% !important;
    height: 100% !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media img {
    object-fit: cover;
    object-position: center center;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media::after {
    background: linear-gradient(180deg, rgba(13,59,102,.03) 0%, rgba(13,59,102,.02) 44%, rgba(13,59,102,.18) 100%);
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 2;
    display: flex;
    min-height: 0 !important;
    justify-content: flex-start;
    padding: 17px 16px 15px !important;
    border: 1px solid rgba(255,255,255,.86);
    border-radius: 17px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 12px 28px rgba(13,59,102,.14);
    backdrop-filter: blur(14px) saturate(1.06);
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy::before {
    position: absolute;
    top: 0;
    right: 19px;
    left: 19px;
    height: 3px;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(90deg, var(--rg-v61-coral), var(--rg-v61-gold), #42b98d);
    content: '';
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-kicker { margin-bottom: 8px; }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-page-title {
    max-width: 100% !important;
    margin-bottom: 9px;
    font-size: clamp(25px, 8vw, 33px) !important;
    line-height: 1.04;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-lead {
    max-width: 100%;
    margin-bottom: 12px;
    font-size: 13px;
    line-height: 1.45;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions .rg-btn {
    width: 100%;
    min-height: 40px;
    padding-inline: 9px;
    font-size: 11px;
    white-space: nowrap;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-home-hero-badge {
    top: 14px;
    right: auto;
    left: 14px;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-editorial-speech { display: none; }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls {
    top: 14px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }
}

/* Google Business Profile reviews: compact, source-linked and responsive. */
.rg-google-reviews-section { position: relative; }
.rg-google-reviews-head { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: end; gap: 18px; margin-bottom: 18px; }
.rg-google-reviews-head .rg-section-title { min-width: 0; }
.rg-google-reviews-head .rg-lead { max-width: 640px; margin: 8px 0 0; }
.rg-google-rating { display: inline-flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px 14px; border: 1px solid rgba(25,93,116,.14); border-radius: 16px; background: linear-gradient(145deg,#fff,#f5fbfc); white-space: nowrap; }
.rg-google-rating-mark { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: #fff; color: #4285f4; font-size: 17px; box-shadow: 0 3px 12px rgba(25,93,116,.09); }
.rg-google-rating > span:last-child { display: grid; grid-template-columns: auto auto; column-gap: 7px; align-items: center; }
.rg-google-rating strong { color: var(--rg-v61-navy); font-size: 18px; line-height: 1; }
.rg-google-stars, .rg-google-review-stars { color: #f5b400; letter-spacing: 1px; font-size: 12px; }
.rg-google-rating small { grid-column: 1 / -1; color: var(--rg-v61-muted); font-size: 10px; }
.rg-google-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 13px; }
.rg-google-review-card { min-width: 0; padding: 18px 18px 16px; border: 1px solid var(--rg-v61-border); border-radius: 15px; background: #fff; box-shadow: var(--rg-v61-shadow-sm); }
.rg-google-review-top { display: flex; align-items: center; gap: 9px; min-width: 0; }
.rg-google-review-avatar { display: inline-grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: #e8f3f1; color: var(--rg-v61-teal); font-size: 12px; font-weight: 900; }
.rg-google-review-top > span:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
.rg-google-review-top strong { color: var(--rg-v61-navy); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rg-google-review-top small { color: var(--rg-v61-muted); font-size: 9px; white-space: nowrap; }
.rg-google-review-stars { margin-left: auto; flex: 0 0 auto; }
.rg-google-review-card p { margin: 14px 0 0; color: var(--rg-v61-ink); font-size: 12px; line-height: 1.65; overflow-wrap: anywhere; }
.rg-google-reviews-note { margin: 12px 0 0; color: var(--rg-v61-muted); font-size: 10px; }
.rg-google-reviews-note i { margin-right: 5px; color: var(--rg-v61-teal); }
.rg-google-profile-link { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding-top: 15px; border-top: 1px solid rgba(25,93,116,.13); color: var(--rg-v61-navy); text-decoration: none; }
.rg-google-profile-link > i:first-child { display: inline-grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; background: #fff; color: #4285f4; box-shadow: 0 3px 10px rgba(25,93,116,.08); }
.rg-google-profile-link span { display: grid; min-width: 0; gap: 2px; flex: 1; }
.rg-google-profile-link strong { font-size: 11px; }
.rg-google-profile-link small { color: var(--rg-v61-muted); font-size: 9px; }
.rg-google-profile-link > i:last-child { color: var(--rg-v61-teal); font-size: 11px; }
@media (max-width: 900px) {
  .rg-google-reviews-head { grid-template-columns: minmax(0,1fr) auto; align-items: start; }
  .rg-google-reviews-head > .rg-btn { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 640px) {
  .rg-google-reviews-head { grid-template-columns: 1fr; gap: 12px; }
  .rg-google-rating { justify-self: start; }
  .rg-google-reviews-head > .rg-btn { width: 100%; justify-content: center; }
  .rg-google-review-grid { grid-template-columns: 1fr; gap: 10px; }
  .rg-google-review-card { padding: 16px; }
}

/* Institutional hub uses the same V61 hero, spacing and content-card tokens as
   the home page while keeping its navigation useful on smaller screens. */
.rg-institution-highlights { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rg-institution-highlights .rg-icon-row-item { min-height: 72px; }
.rg-institution-overview { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 14px; }
.rg-institution-overview > .rg-card { min-width: 0; padding: clamp(22px, 3vw, 42px); }
.rg-institution-overview-copy { background: linear-gradient(145deg, #fff, #f5fbfc); }
.rg-institution-overview-copy .rg-title-md { max-width: 18ch; margin-bottom: 14px; }
.rg-institution-overview-copy .rg-lead { max-width: 58ch; margin-bottom: 12px; }
.rg-institution-overview-copy > p:not(.rg-lead) { max-width: 62ch; color: var(--rg-v61-muted); line-height: 1.7; }
.rg-institution-overview-side { background: linear-gradient(145deg, #fff, #fcf7ff); }
.rg-institution-overview-side .rg-title-sm { margin: 9px 0 18px; color: var(--rg-v61-navy); }
.rg-institution-overview-side .rg-check-list { margin: 0; }
.rg-institution-overview-side .rg-check-list li { padding: 9px 0; }
.rg-v27-institution-hub .rg-v27-hero-copy .rg-page-title { max-width: 12ch; }
@media (max-width: 900px) {
  .rg-institution-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg-institution-overview { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .rg-institution-highlights { grid-template-columns: minmax(0, 1fr); }
  .rg-institution-highlights .rg-icon-row-item { min-height: 62px; }
  .rg-institution-overview > .rg-card { padding: 21px; }
  .rg-v27-institution-hub .rg-v27-hero-copy .rg-page-title { max-width: 100%; }
}

/* Page-specific grids: catalogue cards stay compact, while editorial pages
   keep their content readable instead of inheriting the six-column catalogue. */
@media (min-width: 1121px) {
  body.rg-page-interior .rg-v27-event-grid,
  body.rg-page-interior .rg-v27-quote-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}
@media (min-width: 641px) and (max-width: 1120px) {
  body.rg-page-interior .rg-v27-event-grid,
  body.rg-page-interior .rg-v27-quote-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
}
@media (max-width: 640px) {
  body.rg-page-interior .rg-v27-event-grid,
  body.rg-page-interior .rg-v27-quote-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
}

/* Editorial programme artwork must remain fully visible inside the hero.
   The source files use portrait-friendly ratios, so the frame provides a
   soft background instead of cutting off faces, hands or printed material. */
body.rg-page-interior .rg-v28-program-hero .rg-reference-media,
body.rg-page-interior .rg-reference-media:has(.rg-editorial-frame--poster) {
  background: linear-gradient(140deg, #e5f3f5, #f3effb 55%, #fff1e8) !important;
}
body.rg-page-interior .rg-v28-program-hero .rg-editorial-frame--poster,
body.rg-page-interior .rg-reference-media .rg-editorial-frame--poster {
  display: grid !important;
  place-items: center !important;
}
body.rg-page-interior .rg-v28-program-hero .rg-editorial-frame--poster img,
body.rg-page-interior .rg-reference-media .rg-editorial-frame--poster img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Match the programme hero panel to the editorial source ratio. This removes
   the side bands while keeping the complete artwork visible. */
body.rg-page-interior .rg-v28-program-hero .rg-reference-media {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
}
@media (max-width: 640px) {
  body.rg-page-interior .rg-v28-program-hero .rg-reference-media {
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
}

/* Every interior hero follows its loaded source ratio.  The previous rule
   covered only programme details; this shared class also reaches About,
   catalogue, media, contact, blog, team and other editorial banners. Keeping
   the frame at the natural ratio means the complete image remains visible on
   desktop and on the stacked mobile layout. */
body.rg-page-interior .rg-reference-media.rg-hero-ratio-synced {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: var(--rg-hero-ratio) !important;
  align-self: start !important;
  overflow: hidden !important;
}
body.rg-page-interior .rg-reference-media.rg-hero-ratio-synced .rg-photo-frame {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
}
body.rg-page-interior .rg-reference-media.rg-hero-ratio-synced .rg-photo-frame img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  background: transparent !important;
}
@media (max-width: 767.98px) {
  body.rg-page-interior .rg-reference-media.rg-hero-ratio-synced {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Homepage introduction video. The preview remains lightweight; the full
   motion piece opens only on intent so it never slows the first paint. */
.rg-page-home .rg-home-about-play {
  appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font: inherit;
}
.rg-page-home .rg-home-about-play:focus-visible {
  outline: 3px solid rgba(37,151,158,.62);
  outline-offset: 4px;
}
.rg-page-home .rg-home-about-play:hover { transform: translate(-50%, -50%) scale(1.08); }
.rg-intro-video-dialog {
  width: min(1040px, calc(100vw - 28px));
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 24px;
  overflow: visible;
  background: transparent;
  color: #fff;
}
.rg-intro-video-dialog::backdrop { background: rgba(7, 27, 38, .86); backdrop-filter: blur(4px); }
.rg-intro-video-shell { position: relative; padding: 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 24px; background: #0b2c3d; box-shadow: 0 30px 90px rgba(3,24,36,.4); }
.rg-intro-video-player { position: relative; overflow: hidden; border-radius: 17px; background: #071d29; }
.rg-intro-video-player video { display: block; width: 100%; max-height: min(72vh, 620px); aspect-ratio: 16 / 9; object-fit: contain; background: #071d29; }
.rg-intro-video-close { position: absolute; z-index: 2; top: -17px; right: -17px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: #fff; color: #15485d; font-size: 27px; line-height: 1; cursor: pointer; box-shadow: 0 8px 20px rgba(0,0,0,.22); }
.rg-intro-video-close:focus-visible { outline: 3px solid #ff7180; outline-offset: 3px; }
@media (max-width: 640px) {
  .rg-intro-video-dialog { width: calc(100vw - 18px); }
  .rg-intro-video-shell { padding: 6px; border-radius: 19px; }
  .rg-intro-video-player { border-radius: 14px; }
  .rg-intro-video-close { top: -13px; right: -5px; width: 36px; height: 36px; font-size: 23px; }
}

/* Shared contract additions for legacy form data rendered inside the V27 shell. */
.rg-extra-page .rg-form-section-title {
  grid-column: 1 / -1;
  margin: 18px 0 0;
  padding: 14px 0 10px;
  border-bottom: 1px solid rgba(25,93,116,.14);
  color: var(--rg-heading, #123e55);
  font-family: 'Plus Jakarta Sans','Nunito Sans',Arial,sans-serif;
  font-size: clamp(1.15rem, 1.7vw, 1.45rem);
  font-weight: 850;
}
.rg-extra-page .rg-v27-submit {
  width: 100%;
  justify-content: center;
  min-height: 52px;
  border: 0;
}
.rg-extra-page .rg-search-panel { max-width: 850px; margin-inline: auto; }

/* Theme-consistent navigation feedback. The short overlay gives internal
   page changes a clear handoff while keeping the first render lightweight. */
.rg-page-transition {
  position: fixed;
  z-index: 10050;
  inset: 0;
  display: grid;
  place-items: center;
  gap: 10px;
  align-content: center;
  background: rgba(244, 250, 251, .96);
  color: #14536a;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility 0s linear .18s;
}
.rg-page-transition.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.rg-page-transition::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #8059ef 0%, #e45bb0 33%, #ff7866 66%, #50bc83 100%);
  transform: scaleX(0);
  transform-origin: left center;
}
.rg-page-transition.is-active::before { animation: rg-page-progress .32s ease-out forwards; }
.rg-page-transition-mark {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border: 1px solid rgba(25, 93, 116, .14);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(25, 93, 116, .13);
  color: #25979e;
  font-size: 22px;
  animation: rg-page-breathe 1s ease-in-out infinite;
}
.rg-page-transition-mark.rg-windmill-loader { position: relative; overflow: visible; }
.rg-windmill-loader::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 51%;
  width: 3px;
  height: 25px;
  border-radius: 99px;
  background: #2c9e91;
  transform: translateX(-50%) rotate(18deg);
  transform-origin: top center;
}
.rg-windmill-rotor {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translate(-50%, -50%);
  animation: rg-windmill-spin 1.15s linear infinite;
}
.rg-windmill-rotor i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 21px;
  border-radius: 100% 0 100% 0;
  transform-origin: 50% 100%;
}
.rg-windmill-rotor i:nth-child(1) { background: #ef6e73; transform: translate(-50%, -100%) rotate(0deg) translateY(-2px); }
.rg-windmill-rotor i:nth-child(2) { background: #f3bf61; transform: translate(-50%, -100%) rotate(90deg) translateY(-2px); }
.rg-windmill-rotor i:nth-child(3) { background: #5eb9d2; transform: translate(-50%, -100%) rotate(180deg) translateY(-2px); }
.rg-windmill-rotor i:nth-child(4) { background: #a987d8; transform: translate(-50%, -100%) rotate(270deg) translateY(-2px); }
.rg-windmill-loader > b {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #ff836f;
  box-shadow: 0 0 0 1px rgba(25,93,116,.08);
  transform: translate(-50%, -50%);
}
@keyframes rg-windmill-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
.rg-page-transition-label { font-size: 12px; font-weight: 800; letter-spacing: .02em; }
body.rg-page-ready #rg-main-content { animation: rg-page-enter .42s cubic-bezier(.2,.75,.25,1) both; }
@keyframes rg-page-progress { to { transform: scaleX(1); } }
@keyframes rg-page-breathe { 50% { transform: translateY(-3px) scale(1.04); box-shadow: 0 18px 36px rgba(25, 93, 116, .18); } }
@keyframes rg-page-enter { from { opacity: .88; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .rg-page-transition, .rg-page-transition::before, .rg-page-transition-mark, body.rg-page-ready #rg-main-content { animation: none !important; transition: none !important; }
}

/* ========================================================================
   V61.1 · ANA SAYFA RESPONSIVE SON KATMANI
   Bu blok, önceki tema sürümlerinden kalan kırılım çakışmalarını sonlandırır.
   Kart içerikleri dar ekranlarda okunabilir kalır; tema, veri ve sıralama
   değişmez. 640px altı tek sütun kararı özellikle program metinleri için
   bilinçlidir: iki dar kart yerine tek, rahat okunabilen kart kullanılır.
   ======================================================================== */
body.rg-page-home,
body.rg-page-home #rg-main-content,
body.rg-page-home .rg-main,
body.rg-page-home .rg-v38-home {
  min-width: 0;
  max-width: 100%;
}
body.rg-page-home .rg-v38-home :is(.rg-section, .rg-panel, .rg-card, .rg-slide-panel,
  .rg-reference-copy, .rg-reference-media, .rg-home-paths, .rg-program-grid,
  .rg-home-about, .rg-home-team-grid, .rg-home-blog-grid, .rg-home-media-grid,
  .rg-testimonials-grid, .rg-home-stats, .rg-icon-row) {
  min-width: 0;
  max-width: 100%;
}
body.rg-page-home .rg-v38-home :is(h1,h2,h3,h4,p,a,strong,small,span) {
  overflow-wrap: anywhere;
}
body.rg-page-home .rg-v38-home img,
body.rg-page-home .rg-v38-home video,
body.rg-page-home .rg-v38-home iframe {
  max-width: 100%;
}
body.rg-page-home .rg-v38-home .rg-home-media-tile img,
body.rg-page-home .rg-v38-home .rg-card-thumb img,
body.rg-page-home .rg-v38-home .rg-reference-media img {
  display: block;
}
body.rg-page-home .rg-v38-home .rg-reference-media iframe,
body.rg-page-home .rg-v38-home .rg-footer-map-frame,
body.rg-page-home .rg-v38-home .rg-footer-map-frame iframe {
  width: 100%;
  max-width: 100%;
}

@media (min-width: 641px) and (max-width: 991.98px) {
  body.rg-page-home .rg-v38-home .rg-home-paths {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.rg-page-home .rg-v38-home .rg-program-grid,
  body.rg-page-home .rg-v38-home .rg-home-team-grid,
  body.rg-page-home .rg-v38-home .rg-home-reasons,
  body.rg-page-home .rg-v38-home .rg-testimonials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.rg-page-home .rg-v38-home .rg-home-paths {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  body.rg-page-home .rg-v38-home .rg-program-grid,
  body.rg-page-home .rg-v38-home .rg-home-blog-grid,
  body.rg-page-home .rg-v38-home .rg-testimonials-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-team-grid,
  body.rg-page-home .rg-v38-home .rg-home-reasons,
  body.rg-page-home .rg-v38-home .rg-home-media-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body.rg-page-home .rg-v38-home .rg-program-card {
    width: 100%;
  }
  body.rg-page-home .rg-v38-home .rg-program-card .rg-card-thumb {
    aspect-ratio: 1.7 / 1;
    height: auto !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-about {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.rg-page-home .rg-v38-home .rg-hero-actions {
    width: 100%;
  }
  body.rg-page-home .rg-v38-home .rg-hero-actions .rg-btn {
    max-width: 100%;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls {
    max-width: calc(100% - 24px);
  }
  body.rg-page-home .rg-v38-home .rg-reference-footer-shell,
  body.rg-page-home .rg-v38-home .rg-footer-shell {
    overflow: hidden;
  }
}

@media (max-width: 390px) {
  body.rg-page-home .rg-v38-home .rg-home-paths,
  body.rg-page-home .rg-v38-home .rg-home-team-grid,
  body.rg-page-home .rg-v38-home .rg-home-reasons,
  body.rg-page-home .rg-v38-home .rg-home-media-grid,
  body.rg-page-home .rg-v38-home .rg-icon-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-paths > a {
    min-height: 66px;
  }
}

/* V61.20 — when the media area contains two photos and one video, the video
   is the final item in the grid. Let it use the complete row so the section
   does not end with an unexplained empty half-column. */
.rg-page-home .rg-home-media-grid > .rg-home-media-video:last-child {
  grid-column: 1 / -1;
  min-height: 142px;
}
.rg-page-home .rg-home-media-grid > .rg-home-media-video:last-child .rg-home-media-link-copy {
  padding-right: 24px;
}

/* V61.21 — the video action is a distinct play control. Keep the copy clear
   of the control even when the tile is rendered in the compact two-column
   layout. */
.rg-page-home .rg-home-media-video .rg-home-media-symbol {
  top: 14px;
  left: 16px;
  width: 42px;
  height: 42px;
  border: 3px solid rgba(255,255,255,.78);
  border-radius: 50%;
  background: #fff !important;
  color: var(--rg-v61-navy) !important;
  box-shadow: 0 8px 18px rgba(5,34,58,.28);
  font-size: 18px;
}
.rg-page-home .rg-home-media-video .rg-home-media-link-copy {
  padding-left: 70px;
}

/* Eğitimler sayfası: aynı V27 iç sayfa diliyle hizalanan kategori bandı.
   Masaüstünde tüm başlıklar düzenli biçimde sarılır; mobilde tek satır,
   parmakla kaydırılabilen bir navigasyon olarak kalır. */
.rg-programs-hero .rg-v27-hero-copy .rg-page-title em {
  color: var(--rg-v61-teal);
  font-style: normal;
}
.rg-programs-hero .rg-category-row {
  min-width: 0;
  max-width: 100%;
  align-items: center;
  justify-content: center;
  overflow: visible;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.rg-programs-hero .rg-category-pill {
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
  padding: 10px 13px;
}
@media (max-width: 900px) {
  .rg-programs-hero .rg-category-row {
    justify-content: flex-start;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }
  .rg-programs-hero .rg-category-row::-webkit-scrollbar { display: none; }
  .rg-programs-hero .rg-category-pill { flex: 0 0 auto; }
}

/* Category bands use the same responsive contract on programmes and blog. */
.rg-category-row {
  min-width: 0;
  max-width: 100%;
  justify-content: center;
  overflow: visible;
  flex-wrap: wrap !important;
}
@media (max-width: 900px) {
  .rg-category-row {
    justify-content: flex-start;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }
  .rg-category-row::-webkit-scrollbar { display: none; }
  .rg-category-row .rg-category-pill { flex: 0 0 auto; }
}

/* One-time homepage popup */
body.rg-popup-open { overflow: hidden; }
.rg-site-popup[hidden] { display: none !important; }
.rg-site-popup { position: fixed; inset: 0; z-index: 1200; display: grid; place-items: center; padding: 22px; opacity: 0; visibility: hidden; transition: opacity .2s ease, visibility .2s ease; }
.rg-site-popup.is-visible { opacity: 1; visibility: visible; }
.rg-site-popup-backdrop { position: absolute; inset: 0; background: rgba(9,37,51,.72); backdrop-filter: blur(4px); }
.rg-site-popup-dialog { position: relative; z-index: 1; width: min(720px, 100%); max-height: min(88vh, 780px); overflow: auto; padding: 30px; border: 1px solid rgba(255,255,255,.8); border-radius: 24px; background: linear-gradient(145deg, #fff, #f6fcfc); box-shadow: 0 24px 80px rgba(5,31,45,.3); }
.rg-site-popup-close { position: absolute; top: 13px; right: 13px; z-index: 2; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #d8e9ea; border-radius: 50%; color: var(--rg-v61-navy, #123e55); background: #fff; cursor: pointer; font-size: 15px; }
.rg-site-popup-close:hover { color: #fff; background: var(--rg-v61-coral, #ff6e70); border-color: var(--rg-v61-coral, #ff6e70); }
.rg-site-popup-head { padding-right: 44px; margin-bottom: 18px; }
.rg-site-popup-head .rg-kicker { display: inline-flex; align-items: center; gap: 7px; color: #168d99; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.rg-site-popup-head h2 { margin: 7px 0 0; color: var(--rg-v61-navy, #123e55); font-size: clamp(22px, 4vw, 32px); line-height: 1.15; font-weight: 900; }
.rg-site-popup-media { display: grid; gap: 15px; }
.rg-site-popup-image, .rg-site-popup-video iframe, .rg-site-popup-video video { display: block; width: 100%; max-height: 54vh; border: 0; border-radius: 14px; object-fit: contain; background: #edf6f7; }
.rg-site-popup-video:empty { display: none; }
.rg-site-popup-video iframe { aspect-ratio: 16 / 9; }
.rg-site-popup-video video { aspect-ratio: 16 / 9; }
.rg-site-popup-video-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 9px; color: #fff; background: var(--rg-v61-coral, #ff6e70); font-weight: 800; text-decoration: none; }
.rg-site-popup-announcement { padding: clamp(22px, 5vw, 42px); border: 1px solid #d9eaeb; border-radius: 18px; background: linear-gradient(145deg, #f3fbfb 0%, #fff 100%); }
.rg-site-popup-announcement h3 { margin: 0 0 12px; color: var(--rg-v61-navy, #123e55); font-size: clamp(22px, 4vw, 31px); line-height: 1.2; font-weight: 900; }
.rg-site-popup-announcement p { margin: 0; color: var(--rg-v61-muted, #66808b); font-size: 15px; line-height: 1.75; white-space: normal; overflow-wrap: anywhere; }
.rg-site-popup-announcement-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 22px; padding: 10px 16px; border-radius: 11px; color: #fff; background: var(--rg-v61-coral, #ff6e70); font-weight: 800; text-decoration: none; box-shadow: 0 8px 18px rgba(255,110,112,.2); }
.rg-site-popup-announcement-link:hover { color: #fff; transform: translateY(-1px); }
.rg-appointment-slot-status { margin: -2px 0 14px; padding: 9px 12px; border: 1px solid #d9e6e9; border-radius: 9px; color: #59727d; background: #f7fafb; font-size: 12px; font-weight: 700; line-height: 1.45; }
.rg-appointment-slot-status.is-checking { border-color: #d8dff2; color: #5c61a7; background: #f5f6ff; }
.rg-appointment-slot-status.is-available { border-color: #b9e4d2; color: #147653; background: #effbf5; }
.rg-appointment-slot-status.is-full { border-color: #f0c8c4; color: #a74239; background: #fff3f1; }
.rg-form-card button:disabled { opacity: .6; cursor: not-allowed; transform: none !important; }
.rg-site-popup-note { margin: 16px 0 0; color: var(--rg-v61-muted, #66808b); font-size: 11px; text-align: center; }
@media (max-width: 560px) {
  .rg-site-popup { padding: 12px; }
  .rg-site-popup-dialog { max-height: 92vh; padding: 21px 15px 17px; border-radius: 18px; }
  .rg-site-popup-close { top: 9px; right: 9px; width: 34px; height: 34px; }
  .rg-site-popup-head { padding-right: 36px; }
}

/* Staff detail hero: give the portrait a deliberate editorial frame instead
   of letting its tall source ratio create a very wide pastel field. The image
   remains fully visible; only the staff hero geometry is tightened. */
@media (min-width: 1100px) {
  body.rg-page-interior .rg-v27-hero--staff .rg-v27-hero-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr) !important;
  }
  body.rg-page-interior .rg-v27-hero--staff .rg-v27-hero-art--portrait {
    min-height: clamp(360px, 31vw, 480px) !important;
    height: clamp(360px, 31vw, 480px) !important;
    background: linear-gradient(145deg, #edf8f9 0%, #f3f1fb 56%, #fff5ed 100%) !important;
  }
  body.rg-page-interior .rg-v27-hero--staff .rg-v27-hero-art--portrait .rg-staff-portrait-frame {
    inset: 14px auto 14px 50% !important;
    width: 92% !important;
    height: auto !important;
    transform: translateX(-50%);
    border-radius: 22px !important;
  }
  body.rg-page-interior .rg-v27-hero--staff .rg-v27-hero-art--portrait .rg-v27-art-label {
    left: 16px;
    right: 16px;
    bottom: 16px;
  }
}

/* Full-width footer finish: the lower navigation follows the same edge-to-edge
   canvas as the header while its columns stay comfortably readable. */
.rg-footer {
  padding-inline: 0 !important;
}
.rg-footer .rg-footer-shell {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
}
.rg-footer .rg-reference-footer-shell > .row,
.rg-footer .rg-reference-footer-shell > .rg-footer-bottom {
  width: min(100%, 1320px);
  margin-inline: auto;
}

/* The pinwheel is a recognisable brand cue; keep it visible without letting it
   compete with the contact and legal content. */
.rg-reference-windmill-contact { transform: rotate(-8deg) scale(1.08); opacity: .62; }
.rg-reference-windmill-footer { transform: rotate(13deg) scale(1.04); opacity: .48; }
@media (max-width: 900px) {
  .rg-reference-windmill-contact { transform: rotate(-8deg) scale(.82); opacity: .4; }
  .rg-reference-windmill-footer { transform: rotate(13deg) scale(.78); opacity: .34; }
  .rg-footer .rg-reference-footer-shell > .row,
  .rg-footer .rg-reference-footer-shell > .rg-footer-bottom { width: 100%; }
}

/* V61.1 — use the supplied brand pinwheel in lower-page decorations. */
.rg-reference-windmill {
  width: 168px;
  height: 176px;
  opacity: .48;
  transform: none;
  overflow: visible;
}
.rg-reference-windmill::before {
  content: '';
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 43%;
  width: 8px;
  height: 92px;
  border-radius: 99px;
  background: linear-gradient(180deg, #a86a39 0%, #d5975a 52%, #7b4c2f 100%);
  box-shadow: 1px 0 0 rgba(255,255,255,.22) inset;
  transform: translateX(-50%) rotate(17deg);
  transform-origin: top center;
}
.rg-reference-windmill .rg-deco-windmill-image {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 8px 10px rgba(24,55,72,.12));
  transform-origin: 50% 50%;
  animation: rg-brand-pinwheel-spin 18s linear infinite;
}
.rg-reference-windmill-contact { left: -14px; bottom: -24px; }
.rg-reference-windmill-footer { right: -32px; bottom: -30px; opacity: .4; }
@keyframes rg-brand-pinwheel-spin { to { transform: rotate(360deg); } }
@media (max-width: 900px) {
  .rg-reference-windmill { width: 138px; height: 148px; opacity: .42; }
  .rg-reference-windmill-contact { left: -10px; bottom: -30px; }
  .rg-reference-windmill-footer { right: -22px; bottom: -30px; opacity: .34; }
}
@media (prefers-reduced-motion: reduce) {
  .rg-reference-windmill .rg-deco-windmill-image { animation: none; }
}

/* V61.2 — keep the decorative pinwheels as quiet brand accents. They sit
   behind the content instead of being clipped at the contact/footer edges or
   competing with the primary wordmark. */
.rg-reference-contact .rg-reference-windmill-contact {
  left: 31%;
  right: auto;
  top: auto;
  bottom: 14px;
  width: 124px;
  height: 130px;
  opacity: .18;
  transform: rotate(-10deg) scale(.9);
  z-index: 0;
  pointer-events: none;
}
.rg-reference-contact > .rg-contact-grid { position: relative; z-index: 1; }
.rg-reference-footer-shell .rg-reference-windmill-footer {
  right: 18px;
  left: auto;
  top: -34px;
  bottom: auto;
  width: 118px;
  height: 124px;
  opacity: .16;
  transform: rotate(12deg) scale(.92);
  z-index: 0;
  pointer-events: none;
}
.rg-reference-footer-shell > .row,
.rg-reference-footer-shell > .rg-footer-bottom { position: relative; z-index: 1; }
@media (max-width: 640px) {
  .rg-reference-contact .rg-reference-windmill-contact {
    left: auto;
    right: 12px;
    bottom: 10px;
    width: 96px;
    height: 102px;
    opacity: .15;
    transform: rotate(-8deg) scale(.86);
  }
  .rg-reference-footer-shell .rg-reference-windmill-footer {
    right: 8px;
    top: -25px;
    width: 94px;
    height: 98px;
    opacity: .13;
  }
}

/* V61.3 — edge-cropped brand pinwheels.
   The lower panels use the supplied pinwheel as a quiet, recognisable brand
   detail.  Its centre sits on the panel edge so only the intentional half
   shape is visible; the content remains on a higher layer and stays readable. */
.rg-reference-contact,
.rg-reference-footer-shell { overflow: hidden !important; }
.rg-reference-windmill {
  width: 270px;
  height: 270px;
  opacity: .17;
  transform: none;
  z-index: 0;
}
.rg-reference-windmill .rg-deco-windmill-image {
  animation-duration: 28s;
  filter: drop-shadow(0 12px 18px rgba(24,55,72,.10));
}
.rg-reference-contact .rg-reference-windmill-contact {
  left: -135px;
  right: auto;
  top: 50%;
  bottom: auto;
  width: 270px;
  height: 270px;
  opacity: .18;
  transform: translateY(-43%) rotate(-14deg);
}
.rg-reference-footer-shell .rg-reference-windmill-footer {
  right: -142px;
  left: auto;
  top: 50%;
  bottom: auto;
  width: 285px;
  height: 285px;
  opacity: .14;
  transform: translateY(-48%) rotate(12deg);
}
.rg-reference-contact > .rg-contact-grid,
.rg-reference-footer-shell > .row,
.rg-reference-footer-shell > .rg-footer-bottom { position: relative; z-index: 1; }
@media (max-width: 900px) {
  .rg-reference-windmill { width: 215px; height: 215px; }
  .rg-reference-contact .rg-reference-windmill-contact {
    left: -108px;
    width: 215px;
    height: 215px;
    opacity: .16;
  }
  .rg-reference-footer-shell .rg-reference-windmill-footer {
    right: -108px;
    width: 220px;
    height: 220px;
    opacity: .13;
  }
}
@media (max-width: 640px) {
  .rg-reference-windmill { width: 176px; height: 176px; }
  .rg-reference-contact .rg-reference-windmill-contact {
    left: -88px;
    top: auto;
    bottom: -58px;
    width: 176px;
    height: 176px;
    opacity: .14;
    transform: rotate(-12deg);
  }
  .rg-reference-footer-shell .rg-reference-windmill-footer {
    right: -90px;
    top: auto;
    bottom: -70px;
    width: 180px;
    height: 180px;
    opacity: .12;
    transform: rotate(10deg);
  }
}

/* The event tile sits on a photographic background.  Keep every line of its
   copy white and give the copy its own lower contrast veil so event titles and
   the action remain legible on bright images as well as dark ones. */
.rg-home-media-event.has-image::after {
  background: linear-gradient(90deg, rgba(5,34,58,.94) 0%, rgba(5,34,58,.78) 58%, rgba(5,34,58,.28) 100%), linear-gradient(180deg, transparent 18%, rgba(5,34,58,.68) 100%);
}
.rg-home-media-event.has-image .rg-home-media-link-copy {
  max-width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
  padding: 52px 18px 16px;
  background: linear-gradient(180deg, transparent 15%, rgba(5,34,58,.84) 100%);
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.24);
}
.rg-home-media-event.has-image .rg-home-media-link-copy small,
.rg-home-media-event.has-image .rg-home-media-link-copy strong,
.rg-home-media-event.has-image .rg-home-media-link-copy > span {
  color: #fff !important;
}
.rg-home-media-event.has-image .rg-home-media-link-copy small { opacity: .94; font-weight: 800; }
.rg-home-media-event.has-image .rg-home-media-link-copy strong { margin-top: 0; font-size: clamp(14px, 1.35vw, 18px); line-height: 1.25; }
.rg-home-media-event.has-image .rg-home-media-link-copy > span { font-size: .82rem; font-weight: 850; opacity: .96; }
@media (max-width: 640px) {
  .rg-home-media-event.has-image .rg-home-media-link-copy { padding: 48px 15px 14px; }
  .rg-home-media-event.has-image .rg-home-media-link-copy strong { font-size: 15px; }
}

/* V61.4 — decorative brand pinwheels stay with the sections they explain. */
.rg-home-team-section,
.rg-home-blog-section { position: relative; isolation: isolate; overflow: hidden; }
.rg-home-team-section > .container,
.rg-home-blog-section > .container { position: relative; z-index: 1; }
.rg-section-windmill {
  position: absolute;
  z-index: 0;
  width: 210px;
  height: 210px;
  pointer-events: none;
  opacity: .11;
}
.rg-section-windmill .rg-deco-windmill-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(24,55,72,.10));
  animation: rg-brand-pinwheel-spin 28s linear infinite;
}
.rg-section-windmill-team {
  top: 8px;
  right: 16px;
  transform: rotate(8deg);
  opacity: .11;
}
.rg-section-windmill-info {
  top: -34px;
  left: -94px;
  transform: rotate(-12deg);
  opacity: .10;
}
@media (max-width: 900px) {
  .rg-section-windmill { width: 170px; height: 170px; }
  .rg-section-windmill-team { top: 4px; right: 10px; }
  .rg-section-windmill-info { top: -28px; left: -76px; }
}
@media (max-width: 640px) {
  .rg-section-windmill { width: 140px; height: 140px; }
  .rg-section-windmill-team { top: 2px; right: 6px; opacity: .10; }
  .rg-section-windmill-info { top: -20px; left: -62px; opacity: .09; }
}
@media (prefers-reduced-motion: reduce) {
  .rg-section-windmill .rg-deco-windmill-image { animation: none; }
}

/* Kurum tanıtım alanındaki temel vaatleri video ile aynı hiyerarşide tut. */
.rg-home-about-support {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  color: var(--rg-heading, #183748);
  font-size: .93rem;
  font-weight: 800;
}
.rg-home-about-support span {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rg-home-about-support i { color: var(--rg-success, #29b77a); }

/* The current logo frames are a wide transparent lockup. Let the whole mark
   fill the header row without cropping the subtitle on mobile. */
.rg-header .rg-brand {
  flex: 0 0 230px !important;
  max-width: 230px !important;
}
.rg-header .rg-brand picture {
  display: block;
  width: 220px;
  height: 74px;
}
.rg-header .rg-brand .rg-logo-wordmark-header {
  display: block;
  width: 220px !important;
  max-width: 220px !important;
  height: 74px !important;
  max-height: 74px !important;
  object-fit: contain !important;
  object-position: center;
}
.rg-footer .rg-footer-brand .rg-logo-wordmark {
  width: 220px !important;
  max-width: 220px !important;
  height: 74px !important;
  max-height: 74px !important;
  object-fit: contain !important;
}
@media (min-width: 641px) and (max-width: 1120px) {
  .rg-header .rg-brand {
    flex-basis: 198px !important;
    max-width: 198px !important;
  }
  .rg-header .rg-brand picture,
  .rg-header .rg-brand .rg-logo-wordmark-header {
    width: 190px !important;
    height: 64px !important;
    max-width: 190px !important;
    max-height: 64px !important;
  }
}
@media (max-width: 640px) {
  .rg-header .rg-brand {
    flex-basis: 166px !important;
    max-width: 166px !important;
  }
  .rg-header .rg-brand picture,
  .rg-header .rg-brand .rg-logo-wordmark-header {
    width: 160px !important;
    height: 54px !important;
    max-width: 160px !important;
    max-height: 54px !important;
    object-fit: contain !important;
  }
  .rg-footer .rg-footer-brand .rg-logo-wordmark {
    width: 200px !important;
    max-width: 200px !important;
    height: 67px !important;
    max-height: 67px !important;
  }
}
@media (max-width: 390px) {
  .rg-header .rg-brand {
    flex-basis: 156px !important;
    max-width: 156px !important;
  }
  .rg-header .rg-brand picture,
  .rg-header .rg-brand .rg-logo-wordmark-header {
    width: 150px !important;
    height: 50px !important;
    max-width: 150px !important;
    max-height: 50px !important;
  }
}
/* Social media preview cards keep the external profiles visible without
   depending on third-party embeds or their changing feed markup. */
.rg-footer-social-featured { position: relative; z-index: 2; margin-top: 26px; padding: 18px 0 22px; border-top: 1px solid var(--rg-v61-border); border-bottom: 1px solid var(--rg-v61-border); }
.rg-footer-social-featured-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:14px; }
.rg-footer-social-featured-head h2 { margin:3px 0 0; color:var(--rg-v61-navy); font-size:18px; font-weight:900; }
.rg-footer-social-featured-head p { max-width:430px; margin:0; color:var(--rg-v61-muted); font-size:12px; line-height:1.55; text-align:right; }
.rg-footer-social-featured-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.rg-footer-social-featured-card { position:relative; display:block; min-height:118px; overflow:hidden; border-radius:14px; background:#dfeef0; box-shadow:0 8px 20px rgba(22,74,93,.08); }
.rg-footer-social-featured-card img { display:block; width:100%; height:118px; object-fit:cover; transition:transform .35s ease; }
.rg-footer-social-featured-card:hover img { transform:scale(1.04); }
.rg-footer-social-featured-overlay { position:absolute; inset:auto 0 0; display:flex; align-items:center; gap:9px; padding:12px 14px; color:#fff; background:linear-gradient(180deg,transparent,rgba(10,42,58,.86)); }
.rg-footer-social-featured-overlay i { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:rgba(255,255,255,.2); font-size:15px; }
.rg-footer-social-featured-overlay strong { display:block; font-size:13px; font-weight:900; }
.rg-footer-social-featured-overlay small { display:block; margin-left:auto; font-size:10px; opacity:.9; }
@media (max-width:640px) {
  .rg-footer-social-featured-head { display:block; }
  .rg-footer-social-featured-head p { margin-top:8px; text-align:left; }
  .rg-footer-social-featured-grid { grid-template-columns:1fr; }
  .rg-footer-social-featured-card, .rg-footer-social-featured-card img { min-height:108px; height:108px; }
  .rg-footer-social-featured-overlay small { font-size:9px; }
}

/* V61 assistant: use the same compact surfaces, colours and rounded geometry
   as the rest of the public interface. The character is an animated,
   transparent SVG so the helper remains recognisable on every background. */
.rg-floating-tools { right:28px; bottom:28px; gap:12px; }
.rg-assistant-launch {
  width:auto;
  min-width:196px;
  height:100px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:2px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
  transition:transform .2s ease, box-shadow .2s ease;
}
.rg-assistant-launch:hover,
.rg-assistant-launch:focus-visible {
  transform:translateY(-3px) scale(1.04);
}
.rg-assistant-launch-bubble {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 17px;
  border:1px solid rgba(13,59,102,.08);
  border-radius:18px 18px 6px 18px;
  background:#fff;
  color:var(--rg-v61-navy);
  box-shadow:0 12px 26px rgba(13,59,102,.16);
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.01em;
  white-space:nowrap;
}
.rg-assistant-launch-bubble::after {
  content:"";
  position:absolute;
  right:8px;
  bottom:-12px;
  width:22px;
  height:17px;
  background:#fff;
  clip-path:polygon(0 0,100% 0,70% 100%);
  filter:drop-shadow(2px 2px 1px rgba(13,59,102,.08));
}
.rg-assistant-launch-character {
  width:88px;
  height:110px;
  display:block;
  object-fit:contain;
  transform:translateY(8px) rotate(-1deg);
  transform-origin:50% 88%;
  filter:drop-shadow(0 9px 8px rgba(13,59,102,.2));
  animation:rgChildFloat 4.8s ease-in-out infinite;
}
@keyframes rgChildFloat {
  0%,100% { transform:translateY(8px) rotate(-1deg); }
  50% { transform:translateY(1px) rotate(1.2deg); }
}
.rg-assistant-avatar { width:44px; height:44px; flex:0 0 44px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.15); }
.rg-assistant-character { display:block; width:42px; height:54px; object-fit:contain; transform:translateY(5px); filter:drop-shadow(0 3px 3px rgba(13,59,102,.18)); }
.rg-assistant-panel {
  width:min(394px,calc(100vw - 32px));
  max-height:min(600px,calc(100dvh - 136px));
  border:1px solid var(--rg-v61-border);
  border-radius:var(--rg-v61-radius);
  background:var(--rg-v61-surface);
  box-shadow:0 24px 70px rgba(13,59,102,.2);
}
.rg-assistant-head { padding:15px 16px; background:linear-gradient(135deg,var(--rg-v61-navy-deep),var(--rg-v61-teal)); }
.rg-assistant-head strong { font-size:.94rem; letter-spacing:.01em; }
.rg-assistant-head small { font-size:.73rem; }
.rg-assistant-close { width:32px; height:32px; background:rgba(255,255,255,.12); font-size:1.35rem; }
.rg-assistant-messages { min-height:112px; padding:16px 15px 10px; background:var(--rg-v61-bg); }
.rg-assistant-message { padding:11px 13px; border-radius:14px; font-size:.86rem; }
.rg-assistant-message.is-bot { border:1px solid var(--rg-v61-border); border-bottom-left-radius:5px; background:var(--rg-v61-surface); color:var(--rg-v61-ink); }
.rg-assistant-message.is-user { border-bottom-right-radius:5px; background:var(--rg-v61-teal-soft); color:var(--rg-v61-navy); }
.rg-assistant-message a { background:var(--rg-v61-surface); color:var(--rg-v61-teal); }
.rg-assistant-quick { gap:7px; padding:8px 14px 13px; background:var(--rg-v61-surface); }
.rg-assistant-quick button { border-color:var(--rg-v61-border); color:var(--rg-v61-navy); font-weight:850; }
.rg-assistant-quick button:hover { border-color:var(--rg-v61-teal); background:var(--rg-v61-teal-soft); }
.rg-assistant-form { padding:11px 13px; border-top:1px solid var(--rg-v61-border); background:var(--rg-v61-surface); }
.rg-assistant-form input { height:43px; border-color:var(--rg-v61-border); border-radius:var(--rg-v61-radius-sm); background:#fbfdfe; color:var(--rg-v61-ink); }
.rg-assistant-form button { width:43px; height:43px; flex-basis:43px; border-radius:var(--rg-v61-radius-sm); background:var(--rg-v61-teal); }
.rg-assistant-note { margin:0; padding:0 15px 13px; background:var(--rg-v61-surface); color:var(--rg-v61-muted); }
@media (max-width:640px) {
  .rg-floating-tools { right:14px; bottom:calc(76px + env(safe-area-inset-bottom)); gap:8px; }
  .rg-assistant-launch { min-width:174px; height:92px; }
  .rg-assistant-launch .rg-assistant-launch-bubble { position:relative; width:auto; height:auto; min-height:42px; padding:0 13px; margin:0; overflow:visible; clip:auto; clip-path:none; font-size:.74rem; white-space:nowrap; }
  .rg-assistant-launch-character { width:76px; height:96px; }
  .rg-assistant-panel { right:0; bottom:68px; width:min(394px,calc(100vw - 24px)); max-height:min(600px,calc(100dvh - 151px)); border-radius:var(--rg-v61-radius); }
}
@media (prefers-reduced-motion:reduce) {
  .rg-assistant-launch-character { animation:none; }
}

/* V61.5 — final homepage cascade guard.
   A few legacy component rules still set intrinsic widths on cards. Keep the
   homepage grid children shrinkable at every breakpoint so long Turkish copy
   cannot push a column or create a horizontal scroll. */
body.rg-page-home .rg-v38-home {
  min-width: 0;
  max-width: 100%;
  overflow-x: clip;
}
body.rg-page-home .rg-v38-home > .rg-section,
body.rg-page-home .rg-v38-home > .rg-home-lower-wrap,
body.rg-page-home .rg-v38-home .rg-home-lower-grid,
body.rg-page-home .rg-v38-home .rg-home-lower-grid > * {
  min-width: 0;
  max-width: 100%;
}
body.rg-page-home .rg-v38-home :is(
  .rg-home-paths > a,
  .rg-program-card,
  .rg-team-member-card,
  .rg-home-blog-item,
  .rg-home-media-tile,
  .rg-testimonial-card,
  .rg-icon-row-item
) {
  min-width: 0;
  max-width: 100%;
}
body.rg-page-home .rg-v38-home :is(
  .rg-program-card-heading h3,
  .rg-team-member-card h3,
  .rg-home-blog-item h3,
  .rg-home-media-link-copy strong
) {
  overflow-wrap: anywhere;
}

/* Events can be created without a photo from the management panel. Give that
   state the same contrast contract as photo-backed events. */
.rg-home-media-event:not(.has-image) {
  background: linear-gradient(145deg, #123f55, #167b87);
}
.rg-home-media-event:not(.has-image) .rg-home-media-link-copy,
.rg-home-media-event:not(.has-image) .rg-home-media-link-copy small,
.rg-home-media-event:not(.has-image) .rg-home-media-link-copy strong,
.rg-home-media-event:not(.has-image) .rg-home-media-link-copy > span {
  color: #fff !important;
}

/* The helper remains visible on phones without covering a whole content card. */
@media (max-width: 640px) {
  .rg-floating-tools {
    right: 10px;
    bottom: calc(84px + env(safe-area-inset-bottom));
  }
  .rg-assistant-launch {
    min-width: 150px;
    height: 82px;
  }
  .rg-assistant-launch-bubble {
    min-height: 39px;
    padding-inline: 12px;
    border-radius: 16px 16px 6px 16px;
    font-size: .70rem;
  }
  .rg-assistant-launch-character {
    width: 68px;
    height: 86px;
    transform: translateY(4px) rotate(-1deg);
  }
}
@media (max-width: 390px) {
  .rg-assistant-launch { min-width: 138px; height: 76px; }
  .rg-assistant-launch-bubble { min-height: 36px; padding-inline: 10px; font-size: .66rem; }
  .rg-assistant-launch-character { width: 62px; height: 78px; }
}

/* V61.6 — converge the tablet-width layout with the mobile contract.
   At 641–760px the old tablet rules left the hero as two stacked blocks and
   kept desktop footer/contact columns too narrow. Use the same composed hero
   and single-column contact rhythm as phones while retaining two comfortable
   cards where the content benefits from a grid. */
@media (max-width: 760px) {
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-hero-grid {
    position: relative;
    display: block !important;
    height: clamp(500px, 108vw, 560px) !important;
    min-height: 500px !important;
    overflow: hidden;
    border: 1px solid rgba(220,236,241,.95);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(13,59,102,.1);
    background: var(--rg-v61-cyan);
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    min-height: 100% !important;
    height: 100% !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media .rg-photo-frame,
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media img {
    width: 100%;
    min-height: 100% !important;
    height: 100% !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media img {
    object-fit: cover;
    object-position: center center;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media::after {
    background: linear-gradient(180deg, rgba(13,59,102,.02) 0%, rgba(13,59,102,.08) 45%, rgba(13,59,102,.22) 100%);
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 2;
    display: flex;
    min-height: 0 !important;
    justify-content: flex-start;
    padding: 17px 16px 15px !important;
    border: 1px solid rgba(255,255,255,.86);
    border-radius: 17px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 12px 28px rgba(13,59,102,.14);
    backdrop-filter: blur(14px) saturate(1.06);
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy::before {
    position: absolute;
    top: 0;
    right: 19px;
    left: 19px;
    height: 3px;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(90deg, var(--rg-v61-coral), var(--rg-v61-gold), #42b98d);
    content: '';
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-slide-eyebrow {
    position: static !important;
    align-self: flex-start !important;
    display: inline-flex !important;
    height: auto !important;
    margin: 0 0 12px !important;
    line-height: 1 !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-page-title {
    max-width: 100% !important;
    margin-bottom: 9px;
    font-size: clamp(27px, 7vw, 34px) !important;
    line-height: 1.04;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-lead {
    max-width: 100%;
    margin-bottom: 12px;
    font-size: 13px;
    line-height: 1.45;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions .rg-btn {
    width: 100%;
    min-height: 40px;
    padding-inline: 9px;
    font-size: 11px;
    white-space: nowrap;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-home-hero-badge {
    top: 14px;
    right: auto;
    left: 14px;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-editorial-speech { display: none; }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls {
    top: 14px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }

  body.rg-page-home .rg-v38-home .rg-home-paths,
  body.rg-page-home .rg-v38-home .rg-program-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.rg-page-home .rg-v38-home .rg-home-paths { gap: 9px !important; }
  body.rg-page-home .rg-v38-home .rg-program-grid { gap: 9px !important; }
  body.rg-page-home .rg-v38-home .rg-program-card .rg-card-thumb { height: 100px !important; }

  .rg-reference-footer-shell > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 15px; }
  .rg-reference-footer-shell > .row > .rg-footer-about-col,
  .rg-reference-footer-shell > .row > .rg-footer-contact-col { grid-column: 1 / -1; }
  .rg-reference-contact .rg-contact-grid { grid-template-columns: 1fr; gap: 16px; }
  .rg-reference-contact .rg-contact-map { grid-column: auto; }
  .rg-reference-contact .rg-contact-intro h2 { max-width: 25ch; font-size: clamp(1.45rem, 5vw, 2rem); }
  .rg-reference-contact .rg-contact-inline .item { font-size: .76rem; }
  .rg-footer-bottom { flex-direction: column; align-items: flex-start; padding-bottom: 86px !important; }
  .rg-footer-legal { width: 100%; gap: 7px; flex-wrap: wrap; white-space: normal; }
  .rg-mobile-contact { position: fixed; z-index: 1200; right: 10px; bottom: 10px; left: 10px; display: grid; grid-template-columns: 1fr 1.35fr; gap: 7px; padding: 6px; border: 1px solid var(--rg-v61-border); border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: var(--rg-v61-shadow); backdrop-filter: blur(10px); }
  .rg-mobile-contact a { min-height: 40px; display: flex; align-items: center; justify-content: center; gap: 7px; border-radius: 10px; font-size: 12px; font-weight: 900; }
  .rg-mobile-contact-call { background: var(--rg-v61-teal-soft); color: var(--rg-v61-teal); }
  .rg-mobile-contact-book { background: var(--rg-v61-coral); color: #fff !important; }
  .rg-floating-tools { right: 10px; bottom: calc(84px + env(safe-area-inset-bottom)); gap: 8px; }
  .rg-assistant-launch { min-width: 150px; height: 82px; }
  .rg-assistant-launch-bubble { min-height: 39px; padding-inline: 12px; border-radius: 16px 16px 6px 16px; font-size: .70rem; }
  .rg-assistant-launch-character { width: 68px; height: 86px; transform: translateY(4px) rotate(-1deg); }
  .rg-assistant-panel { right: 0; bottom: 68px; width: min(394px, calc(100vw - 24px)); max-height: min(600px, calc(100dvh - 136px)); border-radius: var(--rg-v61-radius); }
}
@media (min-width: 641px) and (max-width: 760px) {
  .rg-footer-social-featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* A video-only tile has no poster image, so it needs its own full-surface
   contrast treatment instead of inheriting the pale empty-tile background. */
.rg-home-media-video {
  isolation: isolate;
  min-height: 152px;
  background: linear-gradient(145deg, #123f55 0%, #167b87 58%, #2b9b92 100%) !important;
}
.rg-home-media-video .rg-home-media-symbol { z-index: 2; background: rgba(255,255,255,.18); }
.rg-home-media-video .rg-home-media-link-copy {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  max-width: none !important;
  padding: 48px 16px 15px;
  background: linear-gradient(180deg, rgba(18,63,85,.06) 0%, rgba(8,47,82,.88) 100%);
  color: #fff !important;
}
.rg-home-media-video .rg-home-media-link-copy small,
.rg-home-media-video .rg-home-media-link-copy strong,
.rg-home-media-video .rg-home-media-link-copy > span { color: #fff !important; }
.rg-home-media-video .rg-home-media-link-copy small { opacity: .88; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rg-home-media-video .rg-home-media-link-copy strong { margin-top: 6px; font-size: clamp(14px, 1.5vw, 18px); line-height: 1.25; }
.rg-home-media-video .rg-home-media-link-copy > span { margin-top: 8px; font-size: .82rem; font-weight: 850; opacity: .96; }
.rg-home-media-video.has-poster::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(8,47,82,.9) 0%, rgba(8,47,82,.68) 55%, rgba(8,47,82,.28) 100%), linear-gradient(180deg, transparent 22%, rgba(8,47,82,.78) 100%);
  content: '';
  pointer-events: none;
}
.rg-home-media-video.has-poster > img { z-index: 0; object-position: center; }
.rg-home-media-video.has-poster .rg-home-media-symbol,
.rg-home-media-video.has-poster .rg-home-media-link-copy { z-index: 1; }
@media (max-width: 760px) {
  .rg-home-media-video { min-height: 142px; }
  .rg-home-media-video .rg-home-media-link-copy { padding: 46px 14px 14px; }
  .rg-home-media-video .rg-home-media-link-copy strong { font-size: 15px; }
}

/* V61.24 — make video actions discoverable without turning the cards into
   distracting animated decorations. The reduced-motion override below keeps
   the controls completely still for users who request less motion. */
@keyframes rg-video-icon-bob {
  0%, 100% { transform: scale(1) rotate(0deg); }
  50% { transform: scale(1.12) rotate(-3deg); }
}
@keyframes rg-video-icon-ring {
  0% { opacity: .58; transform: scale(.86); }
  70%, 100% { opacity: 0; transform: scale(1.34); }
}
.rg-page-home .rg-home-media-video .rg-home-media-symbol::after,
.rg-page-home .rg-home-about-play::before {
  content: '';
  position: absolute;
  inset: -6px;
  border: 2px solid currentColor;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  animation: rg-video-icon-ring 2.2s ease-out infinite;
}
.rg-page-home .rg-home-media-video .rg-home-media-symbol i,
.rg-page-home .rg-home-about-play i {
  display: inline-block;
  transform-origin: center;
  animation: rg-video-icon-bob 1.8s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .rg-page-home .rg-home-media-video .rg-home-media-symbol::after,
  .rg-page-home .rg-home-about-play::before,
  .rg-page-home .rg-home-media-video .rg-home-media-symbol i,
  .rg-page-home .rg-home-about-play i { animation: none !important; }
}

/* V61.7 — give the lower navigation a deliberate hierarchy.  The footer
   remains content-first, but no longer stretches as an unstructured white
   strip or lets fixed contact tools sit over its last content row. */
.rg-footer {
  padding-top: clamp(26px, 3vw, 46px) !important;
  padding-bottom: 0 !important;
  background: linear-gradient(180deg, #f4fafb 0%, #fff 32%) !important;
}
.rg-footer .rg-footer-shell {
  width: min(calc(100% - 32px), 1320px) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: clamp(24px, 2.6vw, 38px) clamp(22px, 3vw, 48px) 0 !important;
  border: 1px solid rgba(31, 102, 122, .12) !important;
  border-radius: 24px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 16px 42px rgba(23, 67, 85, .08) !important;
}
.rg-footer .rg-reference-footer-shell > .row {
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: minmax(230px, 1.35fr) repeat(4, minmax(125px, 1fr));
  gap: clamp(20px, 3vw, 46px);
  align-items: start;
}
.rg-footer-about-col { padding-right: 10px !important; }
.rg-footer .rg-footer-brand .rg-logo-wordmark {
  width: min(210px, 100%) !important;
  height: 70px !important;
  max-width: 210px !important;
  max-height: 70px !important;
}
.rg-footer-about-col p {
  max-width: 285px;
  margin-top: 10px;
  line-height: 1.65;
}
.rg-footer-column-title {
  margin-bottom: 14px;
  font-size: 13px;
  letter-spacing: .01em;
}
.rg-footer-nav,
.rg-footer-simple-nav { gap: 9px 18px; }
.rg-footer-nav a,
.rg-footer-simple-nav a,
.rg-footer-contact-list a { font-size: 11px; line-height: 1.45; }
.rg-footer-contact-list { gap: 11px; }
.rg-footer-social-featured {
  margin-top: 28px;
  padding: 19px 0 20px;
}
.rg-footer-social-featured-head {
  align-items: flex-start;
  margin-bottom: 12px;
}
.rg-footer-social-featured-head h2 { font-size: 16px; }
.rg-footer-social-featured-head p {
  max-width: 390px;
  padding-top: 4px;
  font-size: 11px;
}
.rg-footer-social-featured-grid { gap: 12px; }
.rg-footer-social-featured-card,
.rg-footer-social-featured-card img {
  min-height: 96px;
  height: 96px;
}
.rg-footer-social-featured-overlay { padding: 10px 13px; }
.rg-footer-social-featured-overlay strong { font-size: 12px; }
.rg-footer-social-featured-overlay small { font-size: 9px; }
.rg-footer .rg-footer-bottom {
  width: 100% !important;
  margin-top: 0;
  padding: 16px 0 18px;
}
@media (min-width: 761px) {
  .rg-footer { padding-bottom: 112px !important; }
}
@media (max-width: 1100px) {
  .rg-footer .rg-reference-footer-shell > .row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 22px;
  }
  .rg-footer .rg-reference-footer-shell > .row > .rg-footer-about-col {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  .rg-footer {
    padding-top: 22px !important;
    padding-bottom: 0 !important;
  }
  .rg-footer .rg-footer-shell {
    width: calc(100% - 20px) !important;
    padding: 22px 16px 0 !important;
    border-radius: 20px !important;
  }
  .rg-footer .rg-reference-footer-shell > .row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 16px;
  }
  .rg-footer .rg-footer-about-col,
  .rg-footer .rg-footer-contact-col { grid-column: 1 / -1 !important; }
  .rg-footer .rg-footer-brand .rg-logo-wordmark {
    width: min(200px, 100%) !important;
    height: 67px !important;
    max-width: 200px !important;
    max-height: 67px !important;
  }
  .rg-footer-social-featured { margin-top: 24px; }
  .rg-footer-social-featured-head { display: block; }
  .rg-footer-social-featured-head p {
    max-width: 100%;
    margin-top: 7px;
    padding-top: 0;
    text-align: left;
  }
  .rg-footer-social-featured-card,
  .rg-footer-social-featured-card img {
    min-height: 106px;
    height: 106px;
  }
  .rg-footer .rg-footer-bottom {
    padding-bottom: 86px !important;
  }
}

/* V61.8 — reserve a clean action rail for the fixed help character.
   Footer content ends before that rail, so the contact column and social
   previews remain readable while the helper stays available. */
@media (min-width: 1101px) {
  .rg-footer .rg-reference-footer-shell > .row {
    padding-right: 250px;
    grid-template-columns: minmax(205px, 1.35fr) repeat(4, minmax(110px, 1fr));
    gap: 26px;
  }
  .rg-footer .rg-footer-social-featured,
  .rg-footer .rg-footer-bottom {
    padding-right: 250px;
  }
}

/* V61.9 — honor the admin "Sayfa genişliği" setting.  Fluid mode uses the
   viewport for the page canvas while retaining readable gutters; boxed mode
   keeps the centered content rail used by the compact theme. */
body.rg-layout-fluid .rg-header > .container,
body.rg-layout-fluid .rg-main .container,
body.rg-layout-fluid .rg-footer > .container {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: clamp(18px, 3.1vw, 68px) !important;
}

body.rg-layout-fluid .rg-footer > .container {
  padding-inline: 0 !important;
}

body.rg-layout-fluid .rg-footer .rg-footer-shell {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
}

body.rg-layout-fluid .rg-footer .rg-reference-footer-shell > .row,
body.rg-layout-fluid .rg-footer .rg-reference-footer-shell > .rg-footer-bottom,
body.rg-layout-fluid .rg-footer .rg-footer-social-featured {
  width: min(100%, 1432px) !important;
  margin-inline: auto !important;
}

body.rg-layout-boxed .rg-header > .container,
body.rg-layout-boxed .rg-main .container,
body.rg-layout-boxed .rg-footer > .container {
  width: 100% !important;
  max-width: 1432px !important;
  margin-inline: auto !important;
  padding-inline: clamp(18px, 2.65vw, 40px) !important;
}

body.rg-layout-boxed .rg-footer .rg-footer-shell {
  width: min(calc(100% - 32px), 1320px) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  border: 1px solid rgba(31, 102, 122, .12) !important;
  border-radius: 24px !important;
}

/* V61.10 — keep the homepage appointment block on the same content rail as
   the sections above it.  It used to be a full-bleed footer child, which made
   its edge and visual weight differ from the hero and media cards. */
body.rg-layout-fluid .rg-footer > .rg-reference-contact {
  width: calc(100% - (2 * clamp(18px, 3.1vw, 68px))) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

body.rg-layout-boxed .rg-footer > .rg-reference-contact {
  width: calc(100% - (2 * clamp(18px, 2.65vw, 40px))) !important;
  max-width: 1432px !important;
  margin-inline: auto !important;
}

@media (max-width: 640px) {
  body.rg-layout-fluid .rg-footer > .rg-reference-contact,
  body.rg-layout-boxed .rg-footer > .rg-reference-contact {
    width: calc(100% - 36px) !important;
  }
}

/* V61.11 — mobile footer copy follows a single left edge.  The compact
   footer previously inherited centered text from the legacy mobile rules. */
@media (max-width: 760px) {
  .rg-footer .rg-footer-about-col p,
  .rg-footer .rg-footer-column-title,
  .rg-footer .rg-footer-nav,
  .rg-footer .rg-footer-nav a,
  .rg-footer .rg-footer-simple-nav,
  .rg-footer .rg-footer-simple-nav a,
  .rg-footer .rg-footer-contact-list,
  .rg-footer .rg-footer-contact-list a,
  .rg-footer .rg-footer-social-featured-head,
  .rg-footer .rg-footer-social-featured-head p,
  .rg-footer .rg-footer-bottom,
  .rg-footer .rg-footer-legal {
    text-align: left !important;
  }
  .rg-footer .rg-footer-about-col p {
    margin-left: 0;
    margin-right: auto;
  }
  .rg-footer .rg-footer-contact-list a {
    justify-content: flex-start;
  }
  .rg-footer .rg-footer-bottom {
    align-items: flex-start !important;
  }
  .rg-footer .rg-footer-legal {
    justify-content: flex-start;
  }
}

/* V61.12 — replace the large assistant reservation under the footer with a
   compact institutional compliance line. */
.rg-footer-compliance {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin-top: 16px;
  padding: 12px 0 13px;
  border-top: 1px solid var(--rg-v61-border);
  color: var(--rg-v61-navy);
}
.rg-footer-compliance img {
  width: 116px;
  height: 44px;
  display: block;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.rg-footer-compliance p {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 0;
  font-size: 11px;
  line-height: 1.35;
}
.rg-footer-compliance strong { font-size: 12px; font-weight: 900; }
.rg-footer-compliance span { color: var(--rg-v61-muted); }

/* The assistant floats over the footer intentionally; it no longer needs a
   blank vertical rail reserved below the legal row. */
@media (min-width: 761px) {
  .rg-footer { padding-bottom: 18px !important; }
}
@media (max-width: 760px) {
  .rg-footer { padding-bottom: 0 !important; }
  .rg-footer .rg-footer-bottom { padding-bottom: 18px !important; }
  .rg-footer-compliance {
    justify-content: flex-start;
    text-align: left;
  }
  .rg-footer-compliance img { width: 96px; height: 36px; }
}

/* V61.13 — final responsive polish for the public page and dashboard-era
   content rails.  Keep this contract block last so it wins over the legacy
   mobile overrides above. */
/* The header action is shared by the homepage and interior pages.  Keep it
   hidden only in the compact mobile header where the menu toggle owns the
   available space. */
@media (min-width: 901px) {
  .rg-page-home .rg-nav-cta { display: inline-flex; }
}
.rg-page-home .rg-home-hero-badge {
  top: 20px !important;
  right: 22px !important;
  background: rgba(255,255,255,.98);
  border-color: #fff;
  box-shadow: 0 12px 28px rgba(12,48,68,.22), 0 0 0 4px rgba(255,255,255,.28);
  backdrop-filter: blur(10px);
}
.rg-page-home .rg-v38-home .rg-program-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 14px !important;
}
.rg-page-home .rg-program-card,
.rg-page-home .rg-team-member-card,
.rg-page-home .rg-home-blog-item,
.rg-page-home .rg-testimonial-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.rg-page-home .rg-program-card .rg-v38-program-summary,
.rg-page-home .rg-home-blog-item > p,
.rg-page-home .rg-testimonial-card > p { flex: 1 1 auto; }
.rg-page-home .rg-program-card .rg-member-cta,
.rg-page-home .rg-home-blog-item .rg-member-cta,
.rg-page-home .rg-team-member-card .rg-member-cta { margin-top: auto; }
.rg-page-home .rg-home-team-grid .rg-team-member-card .rg-card-thumb {
  aspect-ratio: 1 / 1;
  height: auto !important;
  min-height: 0;
  overflow: hidden;
}
.rg-page-home .rg-home-team-grid .rg-team-member-card .rg-card-thumb img {
  width: 100%; height: 100%; object-fit: cover;
}
.rg-page-home .rg-home-blog-item > .rg-card-thumb {
  aspect-ratio: 1.66 / 1;
  height: auto !important;
  flex: 0 0 auto;
}
.rg-page-home .rg-home-blog-item .rg-meta { margin-top: 14px; margin-bottom: 8px !important; line-height: 1.25; }
.rg-page-home .rg-home-blog-item h3 { margin-top: 0; margin-bottom: 10px; line-height: 1.25; }
.rg-page-home .rg-testimonial-card > p { font-style: italic; line-height: 1.65; }
.rg-footer .rg-footer-social-featured {
  margin-top: 34px;
  padding-top: 24px;
  padding-bottom: 28px;
  border-top: 1px solid var(--rg-v61-border);
  border-bottom: 1px solid var(--rg-v61-border);
}
.rg-footer .rg-footer-compliance { margin-top: 22px; padding-top: 16px; padding-bottom: 17px; }
.rg-footer .rg-footer-bottom { margin-top: 36px; padding-top: 18px; }

@media (min-width: 761px) and (max-width: 1120px) {
  .rg-page-home .rg-v38-home .rg-program-grid {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .rg-page-home .rg-home-hero-badge {
    top: 14px !important;
    right: 94px !important;
    left: auto !important;
    max-width: calc(100% - 180px);
  }
  .rg-page-home .rg-v38-home .rg-program-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .rg-footer .rg-footer-social-featured {
    margin-top: 26px;
    padding-top: 20px;
    padding-bottom: 22px;
  }
  .rg-footer .rg-footer-compliance { margin-top: 18px; padding-top: 13px; padding-bottom: 14px; }
  .rg-footer .rg-footer-bottom { margin-top: 32px; padding-top: 14px; }
}

/* V61.19 — bounded programme copy.  Database descriptions vary in length;
   the card must keep a predictable rhythm while the detail page retains the
   complete text. */
.rg-page-home .rg-program-card .rg-v38-program-summary {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: calc(3 * 1.45em);
  max-height: calc(3 * 1.45em);
  overflow-wrap: anywhere;
}
@media (max-width: 640px) {
  .rg-page-home .rg-program-card .rg-v38-program-summary {
    -webkit-line-clamp: 2;
    min-height: calc(2 * 1.45em);
    max-height: calc(2 * 1.45em);
  }
}
@media (max-width: 420px) {
  .rg-page-home .rg-v38-home .rg-program-grid { grid-template-columns: 1fr !important; }
}

/* V61.14 — balance the footer social follow-up block.  The copy owns a
   readable one-third rail while the visual links use the wider two-thirds
   rail, with both sides centered on the same vertical axis. */
.rg-footer .rg-footer-social-featured {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr);
  align-items: center;
  column-gap: 28px;
}
.rg-footer .rg-footer-social-featured-head {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  margin: 0;
}
.rg-footer .rg-footer-social-featured-head > div:first-child { width: 100%; }
.rg-footer .rg-footer-social-featured-head p {
  max-width: 330px;
  margin: 0;
  text-align: left;
}
.rg-footer .rg-footer-social-featured-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
.rg-footer .rg-footer-social-featured-links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid var(--rg-v61-border);
  border-radius: 999px;
  background: #fff;
  color: var(--rg-v61-teal);
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.rg-footer .rg-footer-social-featured-links a:hover,
.rg-footer .rg-footer-social-featured-links a:focus-visible {
  border-color: #9ccfcb;
  background: #f0f8f7;
  transform: translateY(-1px);
  outline: none;
}
.rg-footer .rg-footer-social-featured-grid {
  grid-column: 2;
  min-width: 0;
  width: 100%;
}
@media (max-width: 760px) {
  .rg-footer .rg-footer-social-featured {
    display: block;
  }
  .rg-footer .rg-footer-social-featured-head {
    display: flex;
    gap: 9px;
    margin-bottom: 14px;
  }
  .rg-footer .rg-footer-social-featured-head p { max-width: none; }
  .rg-footer .rg-footer-social-featured-grid { width: 100%; }
}

/* V61.15 — give the social strip a single, predictable vertical rhythm.
   The compliance line remains inside the footer without adding a second
   margin, while the legal row keeps its own readable separation. */
.rg-footer .rg-footer-social-featured { margin: 32px 0; }
.rg-footer .rg-footer-compliance { margin-top: 0; }
.rg-footer .rg-footer-bottom { margin-top: 32px; }
@media (max-width: 760px) {
  .rg-footer .rg-footer-social-featured { margin: 32px 0; }
  .rg-footer .rg-footer-compliance { margin-top: 0; }
  .rg-footer .rg-footer-bottom { margin-top: 32px; }
}

/* V61.16 — hard spacing contract for the footer follow-up area.  These
   blocks stay in normal flow and receive explicit separation on every
   viewport, so the helper overlay cannot collapse their layout. */
.rg-footer .rg-footer-social-featured,
.rg-footer .rg-footer-compliance,
.rg-footer .rg-footer-bottom {
  position: relative;
  z-index: 2;
  clear: both;
}
.rg-footer .rg-footer-social-featured { margin-top: 40px; margin-bottom: 32px; }
.rg-footer .rg-footer-compliance { margin-top: 0; margin-bottom: 0; }
.rg-footer .rg-footer-bottom { margin-top: 32px; }
@media (max-width: 760px) {
  .rg-footer .rg-footer-social-featured { margin-top: 40px; margin-bottom: 32px; }
  .rg-footer .rg-footer-compliance { margin-top: 0; margin-bottom: 0; }
  .rg-footer .rg-footer-bottom { margin-top: 32px; }
}

/* V61.17 — conversion actions and the family review flow.  Keep the contact
   shortcuts in a compact vertical rail so they never visually merge with the
   help assistant at the opposite corner. */
.rg-conversion-actions {
  position: fixed;
  z-index: 1180;
  left: clamp(18px, 4vw, 56px);
  right: auto;
  bottom: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}
.rg-conversion-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(13,59,102,.10);
  border-radius: 999px;
  background: #fff;
  color: var(--rg-v61-navy);
  box-shadow: 0 10px 24px rgba(13,59,102,.14);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.rg-conversion-action:hover,
.rg-conversion-action:focus-visible { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(13,59,102,.19); outline: none; }
.rg-conversion-action--appointment { background: var(--rg-v61-coral); border-color: transparent; color: #fff; }
.rg-conversion-action--call { color: var(--rg-v61-teal); }
.rg-conversion-action--whatsapp { background: #168b68; border-color: transparent; color: #fff; animation: rgWhatsAppPulse 2.8s ease-in-out infinite; }
.rg-conversion-action--whatsapp i { font-size: 17px; }
@keyframes rgWhatsAppPulse {
  0%, 70%, 100% { box-shadow: 0 10px 24px rgba(13,59,102,.14), 0 0 0 0 rgba(22,139,104,.28); }
  82% { box-shadow: 0 12px 26px rgba(13,59,102,.17), 0 0 0 8px rgba(22,139,104,0); }
}

.rg-review-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.rg-review-notice { margin: -6px 0 16px; padding: 11px 14px; border: 1px solid #bfe1dc; border-radius: 12px; background: #effaf8; color: #146c68; font-size: 12px; font-weight: 800; }
.rg-toast {
  position: fixed; top: 22px; right: 22px; z-index: 1600;
  display: flex; align-items: flex-start; gap: 10px;
  width: min(390px, calc(100vw - 32px)); min-height: 58px;
  padding: 13px 14px; border: 1px solid var(--rg-v61-border);
  border-radius: 14px; background: #fff; color: var(--rg-v61-navy);
  box-shadow: 0 18px 45px rgba(8,37,53,.18); opacity: 0;
  transform: translateY(-10px) scale(.98); pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.rg-toast.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.rg-toast-icon { flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #eaf8f1; color: #168b68; }
.rg-toast--error { border-color: #f4c7c4; }
.rg-toast--error .rg-toast-icon { background: #fff0ef; color: #c2413c; }
.rg-toast-copy { flex: 1; font-size: 12px; font-weight: 800; line-height: 1.45; }
.rg-toast-close { flex: 0 0 24px; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--rg-v61-muted); cursor: pointer; }
.rg-toast-close:hover, .rg-toast-close:focus-visible { background: var(--rg-v61-surface); color: var(--rg-v61-navy); outline: none; }
.rg-footer-credit { margin: 5px 0 0; color: var(--rg-v61-muted); font-size: .68rem; letter-spacing: .02em; opacity: .82; }
.rg-footer-credit strong { color: var(--rg-v61-navy); font-weight: 800; }
.rg-testimonial-empty { display: grid; min-height: 170px; place-items: center; align-content: center; gap: 10px; text-align: center; color: var(--rg-v61-muted); }
.rg-testimonial-empty i { color: var(--rg-v61-teal); font-size: 24px; }
.rg-testimonial-empty p { max-width: 260px; margin: 0; font-size: 12px; line-height: 1.55; }
body.rg-review-modal-open { overflow: hidden; }
body.rg-review-modal-open .rg-floating-tools,
body.rg-review-modal-open .rg-conversion-actions,
body.rg-review-modal-open .rg-mobile-contact { visibility: hidden; pointer-events: none; }
.rg-review-modal[hidden] { display: none; }
.rg-review-modal { position: fixed; inset: 0; z-index: 1400; display: grid; place-items: center; padding: 20px; }
.rg-review-modal-backdrop { position: absolute; inset: 0; background: rgba(8,37,53,.62); backdrop-filter: blur(5px); opacity: 0; transition: opacity .18s ease; }
.rg-review-modal-dialog { position: relative; z-index: 1; width: min(520px, 100%); max-height: min(720px, calc(100dvh - 36px)); overflow: auto; border: 1px solid var(--rg-v61-border); border-radius: 20px; background: #fff; box-shadow: 0 28px 80px rgba(5,35,52,.30); opacity: 0; transform: translateY(14px) scale(.98); transition: opacity .18s ease, transform .18s ease; }
.rg-review-modal.is-visible .rg-review-modal-backdrop { opacity: 1; }
.rg-review-modal.is-visible .rg-review-modal-dialog { opacity: 1; transform: none; }
.rg-review-modal-close { position: absolute; top: 14px; right: 14px; z-index: 2; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: rgba(255,255,255,.16); color: #fff; cursor: pointer; }
.rg-review-modal-head { padding: 26px 26px 20px; background: linear-gradient(135deg, var(--rg-v61-navy-deep), var(--rg-v61-teal)); color: #fff; }
.rg-review-modal-head .rg-kicker { color: rgba(255,255,255,.78); }
.rg-review-modal-head h2 { margin: 7px 36px 5px 0; color: #fff !important; font-size: 23px; font-weight: 900; line-height: 1.2; }
.rg-review-modal-head p { max-width: 420px; margin: 0; color: rgba(255,255,255,.82); font-size: 12px; line-height: 1.55; }
.rg-review-form { display: grid; gap: 15px; padding: 22px 26px 26px; }
.rg-review-form > label, .rg-review-form fieldset { display: grid; gap: 7px; margin: 0; color: var(--rg-v61-navy); font-size: 12px; font-weight: 900; }
.rg-review-form input[type="text"], .rg-review-form textarea { width: 100%; border: 1px solid var(--rg-v61-border); border-radius: 11px; background: #fbfdfe; color: var(--rg-v61-ink); padding: 11px 12px; font: inherit; font-weight: 600; }
.rg-review-form textarea { min-height: 110px; resize: vertical; line-height: 1.55; }
.rg-review-form input:focus, .rg-review-form textarea:focus { border-color: var(--rg-v61-teal); outline: 3px solid rgba(31,148,145,.14); }
.rg-review-form fieldset { border: 0; padding: 0; }
.rg-review-form legend { margin: 0; padding: 0; color: var(--rg-v61-navy); font-size: 12px; font-weight: 900; }
.rg-review-rating { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 8px; }
.rg-review-rating label { display: inline-flex; align-items: center; gap: 3px; cursor: pointer; color: #e5a91c; font-size: 22px; }
.rg-review-rating input { position: absolute; opacity: 0; pointer-events: none; }
.rg-review-rating label b { color: var(--rg-v61-muted); font-size: 10px; font-weight: 800; }
.rg-review-rating label:has(input:checked) span,
.rg-review-rating label:has(input:checked) ~ label span,
.rg-review-rating label:hover span,
.rg-review-rating label:hover ~ label span { color: #f5b400; }
.rg-review-rating label:focus-within { outline: 3px solid rgba(31,148,145,.18); outline-offset: 3px; border-radius: 5px; }
.rg-review-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.rg-review-form > .rg-btn { justify-self: start; }
@media (max-width: 760px) {
  /* The mobile contact bar already provides call and appointment actions.
     Leave WhatsApp as a compact, separate shortcut on the opposite side of
     the assistant so the floating controls never stack into one cluster. */
  .rg-conversion-actions { left: 14px; right: auto; bottom: calc(84px + env(safe-area-inset-bottom)); }
  .rg-conversion-action--appointment, .rg-conversion-action--call { display: none; }
  .rg-conversion-action--whatsapp { min-width: 46px; width: 46px; height: 46px; padding: 0; border-radius: 50%; }
  .rg-conversion-action--whatsapp span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .rg-review-actions { width: 100%; justify-content: flex-start; }
  .rg-review-actions .rg-btn { flex: 1 1 auto; }
  .rg-review-modal { padding: 12px; }
  .rg-review-modal-dialog { max-height: calc(100dvh - 24px); border-radius: 16px; }
  .rg-review-modal-head { padding: 22px 20px 17px; }
  .rg-review-form { padding: 18px 20px 20px; }
  .rg-toast { top: 12px; right: 12px; width: calc(100vw - 24px); }
  .rg-footer-credit { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .rg-conversion-action--whatsapp { animation: none; }
  .rg-review-modal-backdrop, .rg-review-modal-dialog { transition: none; }
}

/* V61.18 — the footer owns the full viewport width.  The assistant remains a
   floating layer and no longer reserves a right or bottom rail in the flow. */
.rg-footer .rg-reference-footer-shell {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  border-right: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
}
.rg-footer .rg-reference-footer-shell > .row,
.rg-footer .rg-reference-footer-shell > .rg-footer-social-featured,
.rg-footer .rg-reference-footer-shell > .rg-footer-compliance,
.rg-footer .rg-reference-footer-shell > .rg-footer-bottom {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-left: clamp(18px, 3.1vw, 68px) !important;
  padding-right: clamp(18px, 3.1vw, 68px) !important;
}
@media (min-width: 1101px) {
  .rg-footer .rg-reference-footer-shell > .row,
  .rg-footer .rg-reference-footer-shell > .rg-footer-social-featured,
  .rg-footer .rg-reference-footer-shell > .rg-footer-bottom { padding-right: clamp(18px, 3.1vw, 68px) !important; }
}
@media (max-width: 760px) {
  .rg-footer .rg-reference-footer-shell > .row,
  .rg-footer .rg-reference-footer-shell > .rg-footer-social-featured,
  .rg-footer .rg-reference-footer-shell > .rg-footer-compliance,
  .rg-footer .rg-reference-footer-shell > .rg-footer-bottom { padding-inline: 18px !important; }
}

/* V61.22 — replace the oversized social-image strip with a clear
   institutional trust panel.  Social links remain available in the footer
   identity block; this area now gives the MEB affiliation the visual weight
   that belongs to the institution. */
.rg-footer .rg-footer-institution-featured {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .75fr);
  align-items: center;
  gap: clamp(22px, 4vw, 58px);
  width: 100%;
  margin: 36px 0 32px;
  padding: clamp(24px, 3vw, 34px) clamp(22px, 3.4vw, 48px);
  border: 1px solid #d8e9e9;
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 8%, rgba(241, 184, 72, .15), transparent 30%),
    linear-gradient(135deg, #f5fbfb 0%, #eef8f7 58%, #f8fbfd 100%);
  box-shadow: 0 16px 36px rgba(16, 75, 91, .09);
  overflow: hidden;
}
.rg-footer .rg-footer-institution-featured::after {
  content: '';
  position: absolute;
  right: -44px;
  bottom: -70px;
  width: 210px;
  height: 150px;
  border-radius: 50%;
  border: 1px solid rgba(31, 148, 145, .12);
  pointer-events: none;
}
.rg-footer-institution-copy,
.rg-footer-institution-mark { position: relative; z-index: 1; min-width: 0; }
.rg-footer-institution-copy .rg-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--rg-v61-teal);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}
.rg-footer-institution-copy .rg-kicker i { color: #29a475; font-size: 11px; }
.rg-footer-institution-copy h2 {
  margin: 8px 0 8px;
  color: var(--rg-v61-navy);
  font-size: clamp(20px, 2.3vw, 28px);
  font-weight: 900;
  line-height: 1.16;
}
.rg-footer-institution-copy p {
  max-width: 650px;
  margin: 0;
  color: var(--rg-v61-muted);
  font-size: 12px;
  line-height: 1.65;
}
.rg-footer-institution-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.rg-footer-institution-badges span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(31, 148, 145, .15);
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  color: var(--rg-v61-navy);
  font-size: 10px;
  font-weight: 800;
}
.rg-footer-institution-badges i { color: #1e9d72; font-size: 11px; }
.rg-footer-institution-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 178px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .95);
  border-radius: 18px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 10px 24px rgba(20, 67, 80, .08);
}
.rg-footer-institution-logo-wrap {
  display: grid;
  flex: 0 0 154px;
  place-items: center;
  width: 154px;
  height: 154px;
  padding: 0;
  border: 1px solid #e3eeee;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(20, 67, 80, .07);
}
.rg-footer-institution-logo-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
}
.rg-footer-institution-mark p {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  color: var(--rg-v61-muted);
  font-size: 11px;
  line-height: 1.45;
}
.rg-footer-institution-mark strong {
  color: var(--rg-v61-navy);
  font-size: 13px;
  font-weight: 900;
}
.rg-footer-institution-mark span { max-width: 180px; }
@media (max-width: 760px) {
  .rg-footer .rg-footer-institution-featured {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 28px;
    margin-bottom: 26px;
    padding: 22px 18px;
    border-radius: 20px;
  }
  .rg-footer-institution-copy h2 { font-size: 22px; }
  .rg-footer-institution-copy p { font-size: 11px; line-height: 1.6; }
  .rg-footer-institution-badges { margin-top: 13px; }
  .rg-footer-institution-mark { justify-content: flex-start; min-height: 148px; padding: 12px; gap: 14px; }
  .rg-footer-institution-logo-wrap { flex-basis: 126px; width: 126px; height: 126px; border-radius: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .rg-footer .rg-footer-institution-featured::after { display: none; }
}

/* V61.23 — the editable announcement follows the same calm, aligned rail as
   the navigation.  The title becomes a small status pill, while the message
   keeps a clear reading line and the dismiss control remains easy to find. */
.rg-header .rg-announcement-bar {
  position: relative;
  background: linear-gradient(100deg, var(--rg-v61-navy-deep) 0%, #0b5b73 52%, var(--rg-v61-teal) 100%);
  border-bottom: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 4px 14px rgba(8,47,82,.12);
  overflow: hidden;
}
.rg-header .rg-announcement-bar::before {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, var(--rg-v61-coral), var(--rg-v61-gold), rgba(255,255,255,.2), var(--rg-v61-teal));
  opacity: .9;
}
.rg-header .rg-announcement-inner {
  width: min(100% - 48px, 1320px);
  min-height: 46px;
  justify-content: flex-start;
  gap: 12px;
  padding: 7px 44px 7px 0;
  text-align: left;
}
.rg-header .rg-announcement-title {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 5px 12px 5px 8px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14);
  font-size: 11px;
  letter-spacing: .015em;
}
.rg-header .rg-announcement-title i {
  display: inline-grid;
  place-items: center;
  width: 21px;
  height: 21px;
  border-radius: 50%;
  background: rgba(244,182,66,.16);
  color: #ffd66f;
  font-size: 11px;
}
.rg-header .rg-announcement-text {
  min-width: 0;
  max-width: 760px;
  color: rgba(255,255,255,.9);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
}
.rg-header .rg-announcement-close {
  right: 0;
  width: 30px;
  height: 30px;
  border-color: rgba(255,255,255,.3);
  background: rgba(255,255,255,.1);
  box-shadow: 0 4px 12px rgba(5,35,52,.12);
}
.rg-header .rg-announcement-close:hover,
.rg-header .rg-announcement-close:focus-visible { background: var(--rg-v61-coral); border-color: var(--rg-v61-coral); }
@media (max-width: 760px) {
  .rg-header .rg-announcement-inner {
    width: calc(100% - 24px);
    min-height: 64px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    padding: 8px 38px 9px 0;
  }
  .rg-header .rg-announcement-title {
    min-height: 26px;
    padding: 3px 9px 3px 6px;
    font-size: 10px;
    white-space: normal;
    line-height: 1.25;
  }
  .rg-header .rg-announcement-title i { width: 18px; height: 18px; font-size: 9px; }
  .rg-header .rg-announcement-text { max-width: 100%; font-size: 10px; line-height: 1.35; }
  .rg-header .rg-announcement-close { right: 0; top: 50%; width: 28px; height: 28px; }
}

/* V61.24 — give the family story image a quiet editorial motion treatment.
   The photo breathes, the light passes across the card and the message bubble
   floats a few pixels so the section feels alive without becoming distracting. */
.rg-page-home .rg-testimonial-family {
  isolation: isolate;
  box-shadow: 0 14px 28px rgba(13, 59, 102, .1);
}
.rg-page-home .rg-testimonial-family::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: -35% -55%;
  background: linear-gradient(112deg, transparent 36%, rgba(255,255,255,.35) 49%, transparent 62%);
  transform: translateX(-45%);
  opacity: .42;
  pointer-events: none;
  animation: rg-testimonial-light-sweep 11s ease-in-out infinite;
}
.rg-page-home .rg-testimonial-family::after {
  display: block;
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(13,59,102,0) 42%, rgba(13,59,102,.14) 100%);
  pointer-events: none;
}
.rg-page-home .rg-testimonial-family img {
  position: relative;
  z-index: 0;
  transform: scale(1.035);
  transform-origin: 52% 48%;
  animation: rg-testimonial-photo-breathe 10s ease-in-out infinite;
}
.rg-page-home .rg-testimonial-family figcaption {
  box-shadow: 0 10px 24px rgba(13,59,102,.16), 0 0 0 5px rgba(255,255,255,.22);
  animation: rg-testimonial-bubble-float 5.5s ease-in-out infinite;
}
.rg-page-home .rg-testimonial-family figcaption i {
  animation: rg-testimonial-heart-pulse 3.4s ease-in-out infinite;
}
@keyframes rg-testimonial-photo-breathe {
  0%, 100% { transform: scale(1.035) translate3d(0, 0, 0); }
  50% { transform: scale(1.085) translate3d(-.7%, -1%, 0); }
}
@keyframes rg-testimonial-light-sweep {
  0%, 55% { transform: translateX(-45%); opacity: 0; }
  68% { opacity: .42; }
  84%, 100% { transform: translateX(45%); opacity: 0; }
}
@keyframes rg-testimonial-bubble-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@keyframes rg-testimonial-heart-pulse {
  0%, 62%, 100% { transform: scale(1); }
  70% { transform: scale(1.14); }
  78% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .rg-page-home .rg-testimonial-family::before,
  .rg-page-home .rg-testimonial-family img,
  .rg-page-home .rg-testimonial-family figcaption,
  .rg-page-home .rg-testimonial-family figcaption i { animation: none; }
}

/* V61.28 — the announcement bar follows the site's navy, teal, coral and violet palette. */
.rg-header .rg-announcement-bar {
  position: relative;
  overflow: hidden;
  min-height: 46px;
  background: linear-gradient(105deg, #0b3558 0%, #126c83 39%, #159b9e 68%, #5b43c6 100%);
  border-bottom: 1px solid rgba(255,255,255,.34);
  box-shadow: 0 8px 22px rgba(13,59,102,.16);
}
.rg-header .rg-announcement-bar::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 76% 20%, rgba(255,255,255,.17), transparent 23%), linear-gradient(90deg, transparent 0 64%, rgba(255,113,95,.12) 100%);
}
.rg-header .rg-announcement-inner {
  position: relative;
  z-index: 1;
  min-height: 46px;
  align-items: center;
  gap: 14px;
  padding: 8px 52px 8px 20px;
}
.rg-header .rg-announcement-title {
  padding: 7px 13px 7px 9px;
  border-color: rgba(255,255,255,.45);
  background: linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.08));
  box-shadow: 0 4px 12px rgba(8,47,82,.16);
  color: #fff;
}
.rg-header .rg-announcement-title i {
  background: var(--rg-v61-coral);
  color: #fff;
  box-shadow: 0 3px 8px rgba(255,113,95,.28);
}
.rg-header .rg-announcement-text {
  color: rgba(255,255,255,.98);
  letter-spacing: .01em;
  text-shadow: 0 1px 1px rgba(8,47,82,.12);
}
.rg-header .rg-announcement-close {
  z-index: 2;
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.56);
  box-shadow: 0 3px 9px rgba(8,47,82,.14);
}
.rg-header .rg-announcement-close:hover,
.rg-header .rg-announcement-close:focus-visible {
  background: var(--rg-v61-coral);
  border-color: var(--rg-v61-coral);
  transform: translateY(-1px);
}
@media (max-width:760px) {
  .rg-header .rg-announcement-inner { min-height: 58px; gap: 3px; padding: 8px 38px 8px 10px; }
  .rg-header .rg-announcement-title { padding: 5px 10px 5px 8px; }
  .rg-header .rg-announcement-text { line-height: 1.35; }
}

/* V61.29 — mission benefits use a polished, compact feature-card treatment. */
.rg-about-mission .rg-mission-benefits {
  gap: 11px;
  margin: 2px 0 23px;
}
.rg-about-mission .rg-mission-benefits li {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 11px 13px 11px 42px;
  border: 1px solid rgba(25,93,116,.12);
  border-left: 3px solid #29b77a;
  border-radius: 15px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(233,250,246,.94));
  box-shadow: 0 7px 18px rgba(25,93,116,.07);
  color: #214b5d;
  font-size: clamp(.82rem,.9vw,.96rem);
  line-height: 1.35;
  font-weight: 800;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.rg-about-mission .rg-mission-benefits li:nth-child(even) {
  border-color: rgba(255,113,95,.18);
  border-left-color: #ff715f;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,241,237,.95));
  color: #714b50;
}
.rg-about-mission .rg-mission-benefits li:nth-child(3) {
  border-color: rgba(125,92,255,.16);
  border-left-color: #7d5cff;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(243,240,255,.95));
  color: #4f4b73;
}
.rg-about-mission .rg-mission-benefits li::before {
  top: 50%;
  left: 13px;
  width: 21px;
  height: 21px;
  transform: translateY(-50%);
  background: linear-gradient(145deg, #29b77a, #159b9e);
  box-shadow: 0 4px 9px rgba(41,183,122,.22);
}
.rg-about-mission .rg-mission-benefits li:nth-child(even)::before {
  background: linear-gradient(145deg, #ff8877, #ef5e67);
  box-shadow: 0 4px 9px rgba(255,113,95,.22);
}
.rg-about-mission .rg-mission-benefits li:nth-child(3)::before {
  background: linear-gradient(145deg, #8a70ff, #5b43c6);
  box-shadow: 0 4px 9px rgba(125,92,255,.22);
}
.rg-about-mission .rg-mission-benefits li:hover {
  transform: translateY(-2px);
  border-color: rgba(25,93,116,.25);
  box-shadow: 0 11px 22px rgba(25,93,116,.12);
}
@media (prefers-reduced-motion: reduce) {
  .rg-about-mission .rg-mission-benefits li { transition: none; }
}

/* V61.30 — contact hero trust row: separate, colourful cards with a clear visual rhythm. */
.rg-page-interior .rg-contact-hero .rg-icon-row {
  position: relative;
  z-index: 2;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item {
  position: relative;
  min-height: 86px;
  padding: 16px 14px;
  gap: 11px;
  overflow: hidden;
  border: 1px solid rgba(25,93,116,.12);
  border-radius: 18px;
  background: linear-gradient(145deg, #fff 0%, #eefafa 100%);
  box-shadow: 0 10px 23px rgba(25,93,116,.08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, #29b77a, #159b9e);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item:nth-child(2) {
  background: linear-gradient(145deg, #fff 0%, #fff2ef 100%);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item:nth-child(2)::before {
  background: linear-gradient(90deg, #ff715f, #f3b63f);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item:nth-child(3) {
  background: linear-gradient(145deg, #fff 0%, #f1efff 100%);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item:nth-child(3)::before {
  background: linear-gradient(90deg, #7d5cff, #5b43c6);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item:nth-child(4) {
  background: linear-gradient(145deg, #fff 0%, #edf9f4 100%);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item:hover {
  transform: translateY(-3px);
  border-color: rgba(25,93,116,.23);
  box-shadow: 0 15px 28px rgba(25,93,116,.13);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item .rg-icon-badge {
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  border-radius: 14px;
  color: #138c91;
  background: rgba(21,155,158,.12);
  box-shadow: inset 0 0 0 1px rgba(21,155,158,.08);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item:nth-child(2) .rg-icon-badge {
  color: #f16b65;
  background: rgba(255,113,95,.13);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item:nth-child(3) .rg-icon-badge {
  color: #7055d6;
  background: rgba(125,92,255,.13);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item:nth-child(4) .rg-icon-badge {
  color: #229a7d;
  background: rgba(41,183,122,.13);
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item h4 {
  margin-bottom: 4px;
  color: #153b52;
  font-size: .86rem;
  font-weight: 900;
}
.rg-page-interior .rg-contact-hero .rg-icon-row-item p {
  margin: 0;
  color: #617783;
  font-size: .72rem;
  line-height: 1.35;
}
@media (max-width: 760px) {
  .rg-page-interior .rg-contact-hero .rg-icon-row { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
  .rg-page-interior .rg-contact-hero .rg-icon-row-item { min-height: 78px; padding: 13px 11px; gap: 8px; }
  .rg-page-interior .rg-contact-hero .rg-icon-row-item .rg-icon-badge { flex-basis: 36px; width: 36px; height: 36px; border-radius: 11px; }
  .rg-page-interior .rg-contact-hero .rg-icon-row-item h4 { font-size: .78rem; }
  .rg-page-interior .rg-contact-hero .rg-icon-row-item p { display: block; font-size: .66rem; }
}
@media (max-width: 460px) {
  .rg-page-interior .rg-contact-hero .rg-icon-row { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .rg-page-interior .rg-contact-hero .rg-icon-row-item { transition: none; }
}

/* V61.25 — the MEB affiliation mark receives the same restrained motion
   language as the family story card, keeping the institutional panel calm and
   credible while giving the highlighted area a little life. */
.rg-footer .rg-footer-institution-mark {
  position: relative;
  overflow: hidden;
  animation: rg-meb-mark-float 7s ease-in-out infinite;
}
.rg-footer .rg-footer-institution-mark::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: -55% -35%;
  background: linear-gradient(112deg, transparent 40%, rgba(255,255,255,.54) 50%, transparent 60%);
  transform: translateX(-48%);
  pointer-events: none;
  animation: rg-meb-mark-sheen 10s ease-in-out infinite;
}
.rg-footer .rg-footer-institution-mark > * { position: relative; z-index: 1; }
.rg-footer .rg-footer-institution-logo-wrap {
  animation: rg-meb-logo-glow 5.5s ease-in-out infinite;
}
@keyframes rg-meb-mark-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}
@keyframes rg-meb-mark-sheen {
  0%, 58% { transform: translateX(-48%); opacity: 0; }
  70% { opacity: .44; }
  86%, 100% { transform: translateX(48%); opacity: 0; }
}
@keyframes rg-meb-logo-glow {
  0%, 100% { box-shadow: 0 8px 22px rgba(20,67,80,.07); }
  50% { box-shadow: 0 10px 25px rgba(20,67,80,.12), 0 0 0 4px rgba(31,148,145,.06); }
}
@media (prefers-reduced-motion: reduce) {
  .rg-footer .rg-footer-institution-mark,
  .rg-footer .rg-footer-institution-mark::before,
  .rg-footer .rg-footer-institution-logo-wrap { animation: none; }
}

/* V61.26 — show the public team directory in the same reporting hierarchy
   used by the centre: management, specialists, then operational support. */
.rg-v29-team .rg-team-hierarchy { display:grid; gap:clamp(18px,2vw,28px); }
.rg-v29-team .rg-team-hierarchy-group { padding:clamp(17px,2vw,27px); border:1px solid rgba(36,88,109,.12); border-radius:24px; background:linear-gradient(135deg,#fff 0%,#f7fcfc 100%); box-shadow:0 12px 30px rgba(25,65,87,.055); }
.rg-v29-team .rg-team-hierarchy-group[hidden] { display:none!important; }
.rg-v29-team .rg-team-hierarchy-head { display:flex; align-items:center; gap:15px; margin-bottom:clamp(14px,1.6vw,22px); min-width:0; }
.rg-v29-team .rg-team-hierarchy-number { display:grid; place-items:center; flex:0 0 47px; width:47px; height:47px; border-radius:15px; color:#fff; background:linear-gradient(145deg,var(--rg-primary),var(--rg-secondary)); font-size:.86rem; font-weight:900; letter-spacing:.04em; box-shadow:0 8px 18px rgba(28,128,133,.18); }
.rg-v29-team .rg-team-hierarchy-copy { min-width:0; flex:1; }
.rg-v29-team .rg-team-hierarchy-copy .rg-kicker { display:block; margin-bottom:3px; }
.rg-v29-team .rg-team-hierarchy-copy h3 { margin:0 0 5px; color:var(--rg-heading); font-family:'Plus Jakarta Sans','Nunito Sans',Arial,sans-serif; font-size:clamp(1.1rem,1.5vw,1.45rem); line-height:1.25; font-weight:850; }
.rg-v29-team .rg-team-hierarchy-copy p { margin:0; color:var(--rg-muted); font-size:.84rem; line-height:1.55; }
.rg-v29-team .rg-team-hierarchy-count { flex:0 0 auto; padding:7px 11px; border:1px solid rgba(28,128,133,.15); border-radius:999px; color:var(--rg-secondary); background:rgba(28,128,133,.07); font-size:.76rem; font-weight:850; white-space:nowrap; }
.rg-v29-team .rg-team-hierarchy-grid { margin:0; }
.rg-v29-team .rg-team-hierarchy-group--management .rg-team-hierarchy-grid { grid-template-columns:minmax(245px,320px); justify-content:center; }
@media(max-width:639.98px){.rg-v29-team .rg-team-hierarchy-head{align-items:flex-start;flex-wrap:wrap}.rg-v29-team .rg-team-hierarchy-count{margin-left:62px;margin-top:-4px}.rg-v29-team .rg-team-hierarchy-copy{flex-basis:calc(100% - 62px)}}
@media(max-width:639.98px){.rg-v29-team .rg-team-hierarchy-group--management .rg-team-hierarchy-grid{grid-template-columns:minmax(0,1fr)}}

/* V61.32 — mobil ana sayfa sonlandırılmış responsive katman. */
/* ========================================================================
   V61.31 · MOBİL ANA SAYFA SON KONTRATI
   Bu katman yalnızca 640px ve altındaki ana sayfayı düzenler. Önceki tema
   sürümlerinde aynı bileşen için biriken mobil kuralların son ve okunabilir
   davranışını burada toplar; masaüstü yerleşimine dokunmaz.
   ======================================================================== */
@media (max-width: 640px) {
  html, body { max-width: 100%; overflow-x: clip; }
  body.rg-page-home { padding-bottom: 0; }

  /* Announcement: two compact reading lines instead of a tall stacked block. */
  .rg-header .rg-announcement-bar { min-height: 66px; }
  .rg-header .rg-announcement-inner {
    width: calc(100% - 20px);
    min-height: 66px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: center;
    align-items: center;
    gap: 3px 7px;
    padding: 7px 36px 7px 0;
  }
  .rg-header .rg-announcement-title {
    flex: 0 1 auto;
    max-width: calc(100% - 5px);
    min-height: 25px;
    padding: 4px 9px 4px 6px;
    font-size: 10px;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .rg-header .rg-announcement-title i { width: 17px; height: 17px; font-size: 8px; }
  .rg-header .rg-announcement-text {
    flex: 0 0 100%;
    max-width: 100%;
    padding-left: 2px;
    font-size: 9.5px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .rg-header .rg-announcement-close { right: 0; width: 27px; height: 27px; font-size: 12px; }

  /* Header: logo, search and menu are one predictable horizontal rhythm. */
  .rg-header .rg-nav-row {
    min-height: 62px;
    gap: 8px;
    padding-inline: 1px;
  }
  .rg-header .rg-brand {
    flex: 1 1 auto !important;
    min-width: 0;
    max-width: none !important;
  }
  .rg-header .rg-brand picture { width: clamp(128px, 39vw, 158px); height: 52px; }
  .rg-header .rg-brand .rg-logo-wordmark-header {
    width: clamp(128px, 39vw, 158px) !important;
    max-width: 100% !important;
    height: 52px !important;
    max-height: 52px !important;
  }
  .rg-header .rg-nav-toggle {
    display: inline-grid !important;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    margin-left: 0;
    border-radius: 13px;
    color: var(--rg-v61-navy);
    background: #fff;
    box-shadow: 0 5px 14px rgba(13,59,102,.08);
  }
  .rg-header .rg-header-search {
    order: 2;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-left: auto;
  }
  .rg-header .rg-nav-toggle { order: 3; }
  .rg-header .rg-main-nav { order: 4; }

  /* The composed hero keeps the photo visible and reserves a calm copy card
     at its foot. This reduces the first viewport height and avoids controls
     sitting over the title. */
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-hero-grid {
    position: relative;
    display: block !important;
    height: clamp(390px, 105vw, 448px) !important;
    min-height: 390px !important;
    overflow: hidden;
    border: 1px solid rgba(220,236,241,.95);
    border-radius: 22px;
    background: #eaf6f6;
    box-shadow: 0 14px 32px rgba(13,59,102,.11);
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    min-height: 100% !important;
    height: 100% !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media .rg-photo-frame,
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media img {
    width: 100%;
    min-height: 100% !important;
    height: 100% !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media img {
    object-fit: cover;
    object-position: center 36%;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-media::after {
    background: linear-gradient(180deg, rgba(8,47,82,0) 19%, rgba(8,47,82,.05) 42%, rgba(8,47,82,.48) 100%);
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy {
    position: absolute;
    right: 10px;
    bottom: 10px;
    left: 10px;
    z-index: 2;
    display: flex;
    min-height: 0 !important;
    justify-content: flex-start;
    padding: 13px 13px 12px !important;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 17px;
    background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(249,253,253,.91));
    box-shadow: 0 10px 25px rgba(13,59,102,.16);
    backdrop-filter: blur(10px) saturate(1.04);
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy::before {
    top: 0;
    right: 20px;
    left: 20px;
    height: 3px;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-kicker {
    margin-bottom: 6px;
    font-size: 9px;
    letter-spacing: .11em;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-slide-eyebrow {
    position: static !important;
    align-self: flex-start !important;
    display: inline-flex !important;
    height: auto !important;
    margin: 0 0 7px !important;
    font-size: 9px;
    line-height: 1 !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-page-title {
    max-width: 100% !important;
    margin-bottom: 7px;
    color: var(--rg-v61-navy) !important;
    font-size: clamp(24px, 7.7vw, 31px) !important;
    line-height: .99;
    letter-spacing: -.045em;
    text-wrap: balance;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-lead {
    max-width: 100%;
    margin-bottom: 10px;
    color: #486875;
    font-size: 11.5px;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: 7px;
    width: 100%;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions .rg-btn {
    width: 100%;
    min-height: 38px;
    padding-inline: 7px;
    border-radius: 11px;
    font-size: 10.5px;
    white-space: nowrap;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions .rg-btn-primary { box-shadow: 0 7px 16px rgba(255,113,95,.22); }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-home-hero-badge {
    top: 11px;
    right: auto;
    left: 11px;
    transform: scale(.78);
    transform-origin: top left;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-editorial-speech { display: none; }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls {
    top: 11px !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 6;
    gap: 4px;
    padding: 4px 5px;
    border: 1px solid rgba(220,236,241,.85);
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 8px 18px rgba(13,59,102,.12);
    transform: none !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls button {
    width: 27px;
    height: 27px;
    border: 0;
    background: #eff8f8;
    box-shadow: none;
    font-size: 10px;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls .rg-carousel-dots { gap: 4px; }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls .rg-carousel-dot { width: 7px !important; height: 7px !important; min-height: 7px; }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls .rg-carousel-dot.is-active { transform: scale(1.25); }

  /* Quick paths: a consistent two-column card system at all requested phone
     widths, including 360px, without forcing a narrow single column. */
  body.rg-page-home .rg-v38-home .rg-home-shortcuts-section { padding-top: 13px; padding-bottom: 13px; }
  body.rg-page-home .rg-v38-home .rg-home-paths {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 0;
  }
  body.rg-page-home .rg-v38-home .rg-home-paths > a {
    min-height: 76px;
    grid-template-columns: 34px minmax(0, 1fr) 16px;
    gap: 7px;
    padding: 10px 8px;
    border-radius: 15px;
    box-shadow: 0 7px 18px rgba(13,59,102,.07);
  }
  body.rg-page-home .rg-v38-home .rg-home-paths .rg-path-symbol { width: 34px; height: 34px; border-radius: 11px; font-size: 13px; }
  body.rg-page-home .rg-v38-home .rg-home-paths strong { font-size: 10.5px; line-height: 1.18; }
  body.rg-page-home .rg-v38-home .rg-home-paths small { margin-top: 3px; font-size: 9px; line-height: 1.2; }
  body.rg-page-home .rg-v38-home .rg-home-paths > a > .fas { font-size: 9px; }

  /* Quick stats use the same spacing and card geometry as the paths. */
  body.rg-page-home .rg-v38-home .rg-home-stats { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 8px; }
  body.rg-page-home .rg-v38-home .rg-home-stats .rg-icon-row-item {
    min-height: 78px;
    gap: 8px;
    padding: 10px;
    border-radius: 15px;
  }
  body.rg-page-home .rg-v38-home .rg-home-stats .rg-icon-badge { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 11px; font-size: 12px; }
  body.rg-page-home .rg-v38-home .rg-home-stats .rg-home-stat-value { display: block; margin-bottom: 2px; font-size: 14px; line-height: 1; }
  body.rg-page-home .rg-v38-home .rg-home-stats h4 { margin: 0; font-size: 10px; line-height: 1.2; }
  body.rg-page-home .rg-v38-home .rg-home-stats p { display: -webkit-box; margin: 3px 0 0; font-size: 9px; line-height: 1.2; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

  /* Keep the persistent contact bar readable while separating WhatsApp and
     assistant actions into opposite visual layers. */
  .rg-mobile-contact {
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    left: 8px;
    gap: 6px;
    padding: 5px;
    border-radius: 15px;
  }
  .rg-mobile-contact a { min-height: 40px; border-radius: 10px; font-size: 11px; }
  .rg-conversion-actions { left: 10px; bottom: calc(72px + env(safe-area-inset-bottom)); }
  .rg-conversion-action--whatsapp { width: 43px; height: 43px; min-width: 43px; }
  .rg-floating-tools {
    right: 9px;
    bottom: calc(72px + env(safe-area-inset-bottom));
    gap: 5px;
    z-index: 1300;
  }
  .rg-assistant-launch {
    position: relative;
    width: 54px;
    min-width: 54px;
    height: 62px;
    justify-content: center;
  }
  .rg-assistant-launch-bubble {
    display: none;
    position: absolute;
    right: 35px;
    bottom: 14px;
    min-height: 35px;
    padding: 0 10px;
    border-radius: 14px 14px 5px 14px;
    font-size: .68rem;
  }
  .rg-assistant-launch[aria-expanded="true"] .rg-assistant-launch-bubble { display: inline-flex; }
  .rg-assistant-launch-character { width: 54px; height: 68px; transform: translateY(4px) rotate(-1deg); }
  .rg-assistant-panel { right: 0; bottom: 59px; width: min(390px, calc(100vw - 18px)); max-height: min(570px, calc(100dvh - 126px)); border-radius: 18px; }
}

@media (max-width: 370px) {
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy { padding-inline: 11px !important; }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy .rg-page-title { font-size: 24px !important; }
  body.rg-page-home .rg-v38-home .rg-home-paths > a { grid-template-columns: 30px minmax(0,1fr) 13px; padding-inline: 7px; }
  body.rg-page-home .rg-v38-home .rg-home-paths .rg-path-symbol { width: 30px; height: 30px; }
  .rg-mobile-contact a { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .rg-page-home .rg-home-carousel-slide.is-active .rg-reference-media img,
  .rg-assistant-launch-character { animation: none !important; transform: none !important; }
}

/* V61.33 — final mobile width guard.  Some legacy flex children kept their
   intrinsic desktop width even after the composed mobile layout was applied. */
@media (max-width: 640px) {
  .rg-header > .container,
  body.rg-page-home .rg-v38-home > .container,
  body.rg-page-home .rg-v38-home .rg-home-carousel,
  body.rg-page-home .rg-v38-home .rg-home-carousel-track,
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide,
  body.rg-page-home .rg-v38-home .rg-reference-hero-grid,
  body.rg-page-home .rg-v38-home .rg-home-shortcuts-section .container,
  body.rg-page-home .rg-v38-home .rg-home-paths { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }

  .rg-header .rg-nav-row {
    position: relative;
    display: flex;
    padding-right: 94px;
  }
  .rg-header .rg-brand { flex: 1 1 auto !important; width: 100%; }
  .rg-header .rg-header-search,
  .rg-header .rg-nav-toggle {
    position: absolute;
    top: 50%;
    z-index: 10;
    margin: 0 !important;
    transform: translateY(-50%);
  }
  .rg-header .rg-header-search { right: 50px; }
  .rg-header .rg-nav-toggle { right: 0; }
  .rg-header .rg-main-nav { width: auto; max-width: none; }

  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls {
    width: max-content !important;
    max-width: calc(100% - 20px) !important;
    box-sizing: border-box;
    overflow: hidden;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy,
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions,
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions .rg-btn { min-width: 0; max-width: 100%; box-sizing: border-box; }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-reference-copy {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions .rg-btn { overflow: hidden; text-overflow: ellipsis; }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-hero-actions .rg-btn-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body.rg-page-home .rg-v38-home .rg-home-paths > a { width: 100%; min-width: 0; box-sizing: border-box; }
  .rg-mobile-contact:empty { display: none !important; }
  .rg-assistant-launch-character { width: 50px; height: 62px; }
}

/* V61.34 — separate the hero badge from the carousel controls at phone and
   tablet widths so neither the +500 indicator nor the CTA row is obscured. */
@media (max-width: 640px) {
  .rg-header .rg-announcement-inner {
    justify-content: center;
    align-items: center;
    padding-right: 34px;
    text-align: center;
  }
  .rg-header .rg-announcement-title { margin-inline: auto; }
  .rg-header .rg-announcement-text { padding-left: 0; text-align: center; }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-home-hero-badge {
    top: 11px !important;
    right: auto !important;
    left: 11px !important;
    transform: none !important;
    padding: 6px 8px 6px 6px;
    grid-template-columns: 26px auto;
    column-gap: 6px;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-home-hero-badge i { width: 26px; height: 26px; border-radius: 8px; font-size: 11px; }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-home-hero-badge strong { font-size: 13px; }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-home-hero-badge small { font-size: 8.5px; }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls {
    top: 68px !important;
    right: 10px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .rg-header .rg-announcement-inner { justify-content: center; text-align: center; }
  .rg-header .rg-announcement-title { margin-inline: auto; }
  .rg-header .rg-announcement-text { text-align: center; }
  body.rg-page-home .rg-v38-home .rg-home-carousel-slide.is-active .rg-home-hero-badge {
    top: 18px !important;
    right: auto !important;
    left: 18px !important;
  }
  body.rg-page-home .rg-v38-home .rg-home-carousel .rg-carousel-controls {
    top: 74px !important;
    right: 18px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }
}

/* V61.35 — the assistant is a compact edge control on tablet and phone.
   Its speech bubble appears only after the user opens it, so the helper does
   not sit on top of the first content row. */
@media (max-width: 900px) {
  .rg-assistant-launch-bubble { display: none !important; }
  .rg-assistant-launch[aria-expanded="true"] .rg-assistant-launch-bubble {
    display: inline-flex !important;
    right: 40px;
    bottom: 6px;
    min-height: 34px;
    padding-inline: 10px;
    font-size: .68rem;
  }
  .rg-assistant-launch {
    width: 50px;
    min-width: 50px;
    height: 56px;
    justify-content: center;
  }
  .rg-assistant-launch-character { width: 48px; height: 60px; }
}
@media (max-width: 640px) {
  .rg-assistant-launch { width: 50px; min-width: 50px; height: 58px; }
  .rg-assistant-launch-character { width: 47px; height: 58px; }
  body.rg-page-home:not(:has(.rg-mobile-contact a)) .rg-floating-tools { bottom: calc(12px + env(safe-area-inset-bottom)); }
  body.rg-page-home:not(:has(.rg-mobile-contact a)) .rg-conversion-actions { bottom: calc(12px + env(safe-area-inset-bottom)); }
}
