/* Ricks Brothers Foundation v0.2 Elementor design tokens.
   All content/image/layout source values live in Elementor widgets, not PHP page bodies.
   This is compatibility styling; adjust section controls in Elementor for each breakpoint. */
:root {
  --rbf-blue:#173B70; --rbf-gold:#D4A84F; --rbf-white:#FFFFFF;
  --rbf-sage:#71977B; --rbf-ink:#102A4D; --rbf-soft:#F6F8FB;
  --rbf-muted:#566477; --rbf-container:1140px;
}
body {color:var(--rbf-ink);font-family:Inter,Arial,sans-serif;line-height:1.72;}
.elementor h1,.elementor h2,.elementor h3,.elementor h4 {
  font-family:'Libre Baskerville',Georgia,serif;line-height:1.24;letter-spacing:-.018em;
}
.elementor .rbf-kicker {color:var(--rbf-gold);font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.elementor .rbf-kicker p {margin:0;}
.elementor .rbf-section-title h2 {font-size:clamp(28px,2.5vw,41px);font-weight:700;color:var(--rbf-ink);}
.elementor .rbf-section-inner {max-width:var(--rbf-container);width:100%;margin:0 auto;}
.elementor .rbf-section .rbf-kicker,.elementor .rbf-section .rbf-section-title,.elementor .rbf-section .rbf-intro {text-align:center;}
.elementor .rbf-intro {max-width:650px;margin:0 auto 20px;color:var(--rbf-muted);font-size:15px;}
.elementor .rbf-btn .elementor-button,.elementor .rbf-btn-gold .elementor-button,.elementor .rbf-header-donate .elementor-button,.elementor .rbf-hero-btn .elementor-button {
  background:var(--rbf-gold);color:var(--rbf-ink);font-family:Inter,Arial,sans-serif;
  font-weight:700;font-size:12px;letter-spacing:.025em;padding:13px 27px;border-radius:25px;
}
.elementor .rbf-btn .elementor-button:hover,.elementor .rbf-btn-gold .elementor-button:hover {background:#f0c674;color:#102A4D;}
.elementor .rbf-white,.elementor .rbf-text-white,.elementor .rbf-hero-sub {color:#fff!important;}
.elementor .rbf-white p,.elementor .rbf-text-white p,.elementor .rbf-hero-sub p {color:inherit;}
.elementor .rbf-header {background:var(--rbf-blue);position:relative;z-index:40;}
.elementor .rbf-announcement {font-size:10px;}
.elementor .rbf-mini-top {color:#e8edf3;text-align:center;font-size:10px;letter-spacing:.03em;}
.elementor .rbf-mini-top p {margin:0;}
.elementor .rbf-header-row {max-width:var(--rbf-container);margin:0 auto;width:100%;display:flex;align-items:center;}
.elementor .rbf-header-logo {width:190px;max-width:190px;flex:none;}
.elementor .rbf-header-logo img {width:100%;height:64px;object-fit:contain;background:#fff;border-radius:2px;padding:6px;}
.elementor .rbf-header-menu {flex:1;}
.elementor .rbf-header-menu .elementor-nav-menu--main .elementor-item {color:#fff;font-size:12px;font-weight:700;}
.elementor .rbf-header-menu .elementor-nav-menu--main .elementor-item:hover {color:var(--rbf-gold);}
.elementor .rbf-hero,.elementor .rbf-page-banner {position:relative;isolation:isolate;background-position:center center;background-size:cover;overflow:hidden;}
.elementor .rbf-hero::before,.elementor .rbf-page-banner::before {content:"";position:absolute;inset:0;background:rgba(13,23,34,.57);z-index:0;pointer-events:none;}
.elementor .rbf-hero > *, .elementor .rbf-page-banner > * {position:relative;z-index:1;}
.elementor .rbf-hero-text {width:min(100%,var(--rbf-container));max-width:var(--rbf-container);margin:0 auto;align-items:flex-start;}
.elementor .rbf-hero-title h1 {font-size:clamp(37px,4.2vw,62px);color:#fff;line-height:1.14;max-width:690px;margin:0;}
.elementor .rbf-hero-sub {max-width:470px;color:#f0f2f4;font-size:15px;}
.elementor .rbf-hero .rbf-kicker {color:#fff;}
.elementor .rbf-home-programs {display:flex;gap:0;width:100%;}
.elementor .rbf-program-tile {position:relative;flex:1 1 33.333%;isolation:isolate;overflow:hidden;background-position:center;background-size:cover;align-items:flex-start;justify-content:center;}
.elementor .rbf-program-tile::before {content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.93;}
.elementor .rbf-program-tile > * {position:relative;z-index:1;}
.elementor .rbf-tile-gold::before{background:#D4A84F;}.elementor .rbf-tile-blue::before{background:#173B70;}.elementor .rbf-tile-sage::before{background:#71977B;}
.elementor .rbf-tile-heading h3,.elementor .rbf-tile-subtitle p {color:#fff;}
.elementor .rbf-tile-heading h3{font-size:20px;line-height:1.3;max-width:290px;}
.elementor .rbf-tile-icon{color:#fff;font-size:23px;}
.elementor .rbf-tile-subtitle{font-size:13px;}
.elementor .rbf-tile-link .elementor-button,.elementor .rbf-card-link .elementor-button,.elementor .rbf-footer-link .elementor-button {
  color:inherit;background:transparent;padding:0;font-size:12px;border-radius:0;text-align:left;
}
.elementor .rbf-tile-link .elementor-button{color:#fff;font-weight:700;text-transform:uppercase;font-size:11px;}
.elementor .rbf-about-row,.elementor .rbf-video-content,.elementor .rbf-contact {max-width:var(--rbf-container);margin:0 auto;width:100%;}
.elementor .rbf-about-row > .e-con,.elementor .rbf-video-content > .e-con,.elementor .rbf-contact > .e-con {flex:1 1 0;min-width:0;}
.elementor .rbf-about-photos {position:relative;min-height:410px;}
.elementor .rbf-about-photo-main img {height:305px;width:80%;object-fit:cover;border-radius:4px;}
.elementor .rbf-about-photo-overlap {margin-top:-100px;margin-left:32%!important;z-index:2;width:60%;}
.elementor .rbf-about-photo-overlap img {height:205px;width:100%;object-fit:cover;border:5px solid #fff;}
.elementor .rbf-about-copy .rbf-kicker,.elementor .rbf-about-copy .rbf-section-title{text-align:left;}
.elementor .rbf-about-copy .rbf-section-title h2{font-size:37px;}
.elementor .rbf-cards-3,.elementor .rbf-cards-4,.elementor .rbf-work-row,.elementor .rbf-about-inline {width:100%;max-width:var(--rbf-container);margin:auto;}
.elementor .rbf-cards-3 > .e-con,.elementor .rbf-work-row > .e-con {flex:1 1 calc(33.33% - 26px);min-width:0;}
.elementor .rbf-cards-4 > .e-con {flex:1 1 calc(25% - 18px);min-width:0;}
.elementor .rbf-card,.elementor .rbf-work-card,.elementor .rbf-team-card,.elementor .rbf-news-card {border-radius:5px;background:#fff;overflow:hidden;box-shadow:0 7px 25px rgba(7,37,63,.045);padding:0 0 17px;}
.elementor .rbf-card-photo img {height:200px;width:100%;object-fit:cover;}
.elementor .rbf-card-title h3 {font-size:17px;color:var(--rbf-ink);}
.elementor .rbf-card .rbf-card-title,.elementor .rbf-work-card .rbf-card-title,.elementor .rbf-news-card .rbf-card-title,.elementor .rbf-team-card .rbf-card-title {padding:0 15px;}
.elementor .rbf-card-body,.elementor .rbf-card-link {padding:0 15px;color:var(--rbf-muted);font-size:12px;}
.elementor .rbf-work-row img {height:182px;}
.elementor .rbf-team-card img {height:210px;}
.elementor .rbf-work-row,.elementor .rbf-cards-4 {margin-top:20px;}
.elementor .rbf-video-section {color:#fff;}
.elementor .rbf-video-text .rbf-section-title h2 {color:#fff;font-size:36px;}
.elementor .rbf-video-poster img {height:340px;object-fit:cover;border-radius:5px;}
.elementor .rbf-video-play .elementor-button {background:#fff;color:var(--rbf-ink);border-radius:25px;padding:10px 18px;}
.elementor .rbf-testimonial-inner,.elementor .rbf-partner-inner,.elementor .rbf-cta-inner {max-width:730px;width:100%;margin:auto;text-align:center;}
.elementor .rbf-testimonial-inner .elementor-widget-button,.elementor .rbf-partner-inner .elementor-widget-button,.elementor .rbf-cta-inner .elementor-widget-button {align-self:center;}
.elementor .rbf-testimonial-title h2{font-size:30px;color:#fff;}
.elementor .rbf-testimonial-copy {color:#fff;}
.elementor .rbf-news-card img {height:190px;object-fit:cover;}
.elementor .rbf-contact-left .rbf-section-title h2{text-align:left;}
.elementor .rbf-contact-photo img{width:100%;height:460px;object-fit:cover;border-radius:5px;}
.elementor .rbf-form input,.elementor .rbf-form textarea{background:#F6F6F4;border:1px solid #E9E9E5;border-radius:6px;padding:13px 14px;font-family:Inter,Arial,sans-serif;}
.elementor .rbf-form .elementor-button{background:var(--rbf-gold);color:var(--rbf-ink);border-radius:25px;font-weight:700;}
.elementor .rbf-partner-heading h3 {color:var(--rbf-ink);font-size:27px;}
.elementor .rbf-page-banner .rbf-banner-inner {max-width:var(--rbf-container);width:100%;margin:auto;}
.elementor .rbf-banner-heading h1 {color:#fff;font-size:42px;}
.elementor .rbf-banner-text {color:#fff;}
.elementor .rbf-gallery-grid {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px!important;}
.elementor .rbf-gallery-image img {width:100%;height:240px;object-fit:cover;}
.elementor .rbf-program-grid,.elementor .rbf-work-grid {display:flex;flex-wrap:wrap!important;}
.elementor .rbf-program-grid > .e-con,.elementor .rbf-work-grid > .e-con {flex:1 1 30%;min-width:290px;}
.elementor .rbf-cta-section .rbf-section-title h2{color:#fff;}
.elementor .rbf-footer-top > .e-con,.elementor .rbf-footer-bottom > .e-con {max-width:var(--rbf-container);margin:auto;width:100%;}
.elementor .rbf-footer-top h3,.elementor .rbf-footer-bottom h4{font-size:17px;}
.elementor .rbf-footer-link .elementor-button{color:#fff;}
.elementor .rbf-legal{color:#bfc9d3;text-align:center;font-size:12px;}
@media (max-width:1024px){
  .elementor .rbf-header-row{gap:15px;}.elementor .rbf-header-logo{width:145px;}
  .elementor .rbf-hero-title h1{font-size:44px;}
  .elementor .rbf-cards-4{flex-wrap:wrap;}.elementor .rbf-cards-4 > .e-con{flex-basis:calc(50% - 20px);}
}
@media (max-width:767px){
  .elementor .rbf-hero{min-height:470px!important;padding:88px 20px!important;}
  .elementor .rbf-hero-title h1{font-size:36px;}
  .elementor .rbf-home-programs,.elementor .rbf-about-row,.elementor .rbf-video-content,.elementor .rbf-contact,.elementor .rbf-work-row,.elementor .rbf-cards-3,.elementor .rbf-cards-4,.elementor .rbf-about-inline{flex-direction:column!important;}
  .elementor .rbf-home-programs > .e-con{width:100%;min-height:190px;flex-basis:auto;}
  .elementor .rbf-cards-3 > .e-con,.elementor .rbf-cards-4 > .e-con,.elementor .rbf-work-row > .e-con {width:100%;flex-basis:100%;}
  .elementor .rbf-section{padding:53px 17px!important;}
  .elementor .rbf-about-photos {min-height:310px;}
  .elementor .rbf-about-photo-main img {height:265px;}
  .elementor .rbf-about-photo-overlap img {height:155px;}
  .elementor .rbf-about-copy .rbf-section-title h2 {font-size:29px;}
  .elementor .rbf-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .elementor .rbf-gallery-image img{height:160px;}
  .elementor .rbf-program-grid > .e-con,.elementor .rbf-work-grid > .e-con{min-width:0;width:100%;flex-basis:100%;}
  .elementor .rbf-header-row {flex-wrap:wrap;}
  .elementor .rbf-header-logo{width:125px;}
  .elementor .rbf-header-menu {order:3;width:100%;flex:1 1 100%;}
  .elementor .rbf-header-menu .elementor-menu-toggle {color:#fff;}
  .elementor .rbf-contact-photo img{height:290px;}
}
