/* Custom Styles */

/* ==========================================================================
   Ranch University — header / footer chrome & brand utilities
   ========================================================================== */

/* ---------- header ---------- */
#section-header .header { border-bottom: 1px solid #17120E; }
#section-header .header__content--desktop .header__container { padding-top: 6px; padding-bottom: 6px; max-width: 100%; padding-left: 48px; padding-right: 48px; }
#section-header .logo__image { width: auto; height: 30px; }
#section-header a.link-list__link,
#section-header .dropdown__trigger,
#section-header .user__login a,
#section-header .user__trigger {
  font-family: 'Archivo', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 500;
  white-space: nowrap;
}
#section-header .header__content--desktop .header__block { margin: 0 6px !important; }
#section-header .header__block--logo { padding-left: 0; }
#section-header .header__block--cta { padding-right: 0; }
#section-header .header__block--menu .link-list__link { padding-left: 11px; padding-right: 11px; margin: 0; }
#section-header .header__block--dropdown .dropdown__trigger, #section-header .header__block--user .user__login a { padding-left: 11px; padding-right: 11px; }
#section-header .dropdown__icon { font-size: 8px; color: #9A7549; margin-left: 4px; }
#section-header .dropdown__menu { background: #F6F1E7; border: 1px solid #17120E; border-radius: 0; box-shadow: 0 18px 40px rgba(23,18,14,.22); min-width: 225px; padding: 0; }
#section-header .dropdown__item a { display: block; padding: 10px 18px; font-size: 12px; font-weight: 500; color: #17120E; border-bottom: 1px solid rgba(23,18,14,.12); letter-spacing: 0; text-transform: none; }
#section-header .dropdown__item:last-child a { border-bottom: 0; }
#section-header .header__block--cta .btn {
  font-family: 'Archivo', sans-serif;
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 0;
  white-space: nowrap;
}
@media (max-width: 1180px) {
  #section-header .header__content--desktop .header__container { padding-left: 24px; padding-right: 24px; }
  #section-header .header__block--menu .link-list__link { padding-left: 8px; padding-right: 8px; }
}
@media (max-width: 767px) {
  #section-header .header__content--mobile { background: #EDE6DA; }
  #section-header .header__content--mobile a.link-list__link,
  #section-header .header__content--mobile .dropdown__trigger { font-size: 12px !important; letter-spacing: .16em; text-transform: uppercase; }
}

/* ---------- footer ---------- */
#section-footer .footer { padding: 56px 48px 30px; }
#section-footer .footer__container {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 36px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  align-items: start;
}
#section-footer .footer__block { margin: 0; padding: 0; text-align: left; }
#section-footer .footer__block--links .link-list { display: grid; gap: 10px; }
#section-footer .footer__block--links .link-list__links { display: grid; gap: 10px; }
#section-footer .footer__block--links a.link-list__link { display: block; font-family: 'Archivo', sans-serif; font-size: 13px; line-height: 1.4; margin: 0; padding: 0; text-transform: none; letter-spacing: 0; }
#section-footer .footer__block--links a.link-list__link:hover { color: #EDE6DA; }
#section-footer .logo__image { width: auto; height: 28px; }
#section-footer .footer__block--copyright {
  grid-column: 1 / -1;
  margin-top: 8px;
  border-top: 1px solid rgba(237,230,218,.15);
  padding-top: 22px;
  text-align: center;
}
#section-footer .copyright { font-family: 'Archivo', sans-serif; font-size: 12px; letter-spacing: .14px; letter-spacing: .14em; text-transform: uppercase; }
#section-footer .powered-by { text-align: center; padding-top: 10px; }
@media (max-width: 900px) {
  #section-footer .footer { padding: 48px 24px 28px; }
  #section-footer .footer__container { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 560px) {
  #section-footer .footer__container { grid-template-columns: 1fr; }
}

/* ---------- accordion (FAQ) ---------- */
.section .block-type--accordion .block { padding: 0 !important; }
.section .accordion { border-bottom: 1px solid rgba(23,18,14,.25); padding: 22px 0; background: transparent !important; }
.section .accordion .accordion-title { padding: 0; }
.section .accordion .accordion-title h5 { font-family: 'EB Garamond', serif; font-size: 22px; font-weight: 400; line-height: 1.3; color: #17120E; }
.section .accordion .accordion-title:after { color: #9A7549; font-size: 16px; }
.section .accordion .accordion-body { padding-top: 14px; }
.section .accordion .accordion-body, .section .accordion .accordion-body p { font-family: 'Archivo', sans-serif; font-size: 15px; line-height: 1.7; color: #3d332a; max-width: 640px; margin: 0; }

/* ---------- rich-text utilities ---------- */
.ru-eyebrow { font-family: 'Archivo', sans-serif; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; color: #9A7549; margin: 0 0 18px; }
.ru-eyebrow--tan { color: #D9B98A; }
.ru-eyebrow--wide { letter-spacing: .26em; margin-bottom: 26px; }
.ru-hero-title { font-family: 'EB Garamond', serif; font-weight: 400; font-size: clamp(42px, 6vw, 86px); line-height: 1.03; margin: 0 0 24px; color: #EDE6DA; text-shadow: 0 2px 30px rgba(23,18,14,.55); }
.ru-hero-body { font-family: 'Archivo', sans-serif; font-size: 18px; line-height: 1.55; max-width: 560px; margin: 0; color: rgba(237,230,218,.92); }
.ru-h2 { font-family: 'EB Garamond', serif; font-weight: 400; font-size: 44px; line-height: 1.1; margin: 0 0 24px; color: #17120E; }
.ru-body { font-family: 'Archivo', sans-serif; font-size: 17px; line-height: 1.7; color: #3d332a; margin: 0 0 20px; }
.ru-body--sm { font-size: 16px; }
.ru-body--light { color: rgba(237,230,218,.85); }
.ru-quote { font-family: 'EB Garamond', serif; font-style: italic; font-size: clamp(24px, 3vw, 34px); line-height: 1.5; max-width: 820px; margin: 0 auto; color: #EDE6DA; }
.ru-price-title { font-family: 'EB Garamond', serif; font-weight: 400; font-size: clamp(36px, 4.5vw, 54px); line-height: 1.08; margin: 0 0 18px; color: #EDE6DA; }
.ru-cta-title { font-family: 'EB Garamond', serif; font-weight: 400; font-size: clamp(34px, 4.5vw, 48px); line-height: 1.1; margin: 0 0 26px; color: #EDE6DA; }
.ru-testimonial { font-family: 'Archivo', sans-serif; font-style: italic; font-size: 15px; line-height: 1.6; color: #3d332a; margin: 0 0 12px; }
.ru-testimonial-name { font-family: 'Archivo', sans-serif; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: #6A452A; margin: 0; }
.ru-hero-tag { font-family: 'Archivo', sans-serif; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: #EDE6DA; margin: 0; }
/* a text block holding .ru-hero-tag pins itself to the top-right corner of its section */
.section .row > [class*="col-"]:has(.ru-hero-tag) { position: absolute; top: 0; right: 48px; width: auto; padding: 0; }
.section .row > [class*="col-"]:has(.ru-hero-tag) .block { overflow: visible; }
@media (max-width: 767px) { .section .row > [class*="col-"]:has(.ru-hero-tag) { right: 24px; } }
.ru-hero-links { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
@media (max-width: 767px) {
  .ru-h2 { font-size: 34px; }
}

/* brand buttons */
.section .btn { font-family: 'Archivo', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; border-radius: 0; padding: 16px 30px; }
.section .btn--large { padding: 18px 40px; }

/* about page */
.ru-eyebrow--brown { color: #6A452A; letter-spacing: .26em; margin-bottom: 20px; }
.ru-about-title { font-family: 'EB Garamond', serif; font-weight: 400; font-size: clamp(40px, 5.4vw, 72px); line-height: 1.06; margin: 0 0 24px; color: #17120E; }
.ru-about-lede { font-family: 'Archivo', sans-serif; font-size: 17px; line-height: 1.75; color: #3d332a; max-width: 620px; margin: 0 auto; }
.ru-h2--story { font-size: 40px; line-height: 1.12; margin-bottom: 22px; }
.ru-h2--who { font-size: 38px; line-height: 1.15; margin-bottom: 22px; }
.ru-body--md { font-size: 16px; line-height: 1.75; margin-bottom: 18px; }
.ru-signature { font-family: 'EB Garamond', serif; font-style: italic; font-size: 20px; color: #6A452A; margin: 0; }
.ru-photo-caption { font-family: 'Archivo', sans-serif; font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: #EDE6DA; text-shadow: 0 1px 10px rgba(23,18,14,.7); margin: 0; }
.ru-learn--dark .ru-learn__body p { font-size: 14px; }
@media (max-width: 767px) { .ru-h2--story, .ru-h2--who { font-size: 32px; } }
