/*
Theme Name: Rubiano Fitness
Theme URI: https://www.rubianofitness.com
Description: Rediseño 2026 de Rubiano Fitness. Tema hijo de Hello Elementor. Home de una sola página: Hero, Marquee, 40/60/80, Pillars, Programs, Retreat, Coach, Contact, Footer.
Author: Humana Comunicación
Version: 1.1.0
Template: hello-elementor
Text Domain: rubiano-fitness
*/

:root{
  --rf-black:#0d0d0d;
  --rf-black-2:#151515;
  --rf-black-3:#141414;
  --rf-lime:#ccff33;
  --rf-white:#efefea;
  --rf-text-2:#c9c9c1;
  --rf-text-3:#b9b9b1;
  --rf-text-4:#b0b0a8;
  --rf-text-5:#a5a59d;
  --rf-text-6:#9a9a92;
  --rf-muted:#8e8e86;
  --rf-muted-2:#7d7d76;
  --rf-line:rgba(239,239,234,.12);
  --rf-line-2:rgba(239,239,234,.16);
  --rf-line-3:rgba(239,239,234,.28);
  --rf-line-4:rgba(239,239,234,.4);
  --rf-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --rf-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --rf-container:1240px;
  --rf-gutter:40px;
}

/* ---------- base ---------- */
.rf-page,
.rf-page *,
.rf-page *::before,
.rf-page *::after{ box-sizing:border-box; }

body.rf-body{
  margin:0;
  background:var(--rf-black);
  color:var(--rf-white);
  font-family:var(--rf-font);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
:where(body.rf-body) a{ color:inherit; text-decoration:none; }
:where(body.rf-body) img{ max-width:100%; height:auto; display:block; }
:where(body.rf-body) ::selection{ background:var(--rf-lime); color:var(--rf-black); }
html{ scroll-behavior:smooth; scroll-padding-top:90px; }
.rf-page section[id],.rf-page div[id]{ scroll-margin-top:90px; }
:where(.rf-page) h1,:where(.rf-page) h2,:where(.rf-page) h3,:where(.rf-page) p{ margin:0; }
.rf-page button{ font:inherit; }

.rf-wrap{ max-width:var(--rf-container); margin:0 auto; padding-left:var(--rf-gutter); padding-right:var(--rf-gutter); }

/* ---------- keyframes ---------- */
@keyframes rf-marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
@keyframes rf-glow{ 0%,100%{opacity:.4; transform:scale(1);} 50%{opacity:.85; transform:scale(1.15);} }
@keyframes rf-zoom{ 0%,100%{transform:scale(1.04);} 50%{transform:scale(1.12);} }
@keyframes rf-rise{ from{opacity:0; transform:translateY(26px);} to{opacity:1; transform:none;} }

[data-reveal]{ opacity:0; }
[data-reveal].rf-in{ animation:rf-rise .9s cubic-bezier(.2,.8,.2,1) both; }
.rf-no-js [data-reveal]{ opacity:1; }

/* ---------- logo ---------- */
.rf-logo{ display:flex; align-items:center; gap:12px; }
.rf-logo-r{ position:relative; display:inline-block; font-weight:800; font-size:30px; line-height:1; }
.rf-logo-r i{ position:absolute; right:0; bottom:1px; width:13px; height:9px; background:var(--rf-lime); transform:skewX(-20deg); }
.rf-logo-word{ display:flex; flex-direction:column; line-height:1; }
.rf-logo-word b{ font-weight:800; font-size:16px; letter-spacing:.02em; }
.rf-logo-word span{ font-weight:600; font-size:9px; letter-spacing:.42em; color:var(--rf-lime); margin-top:3px; }

/* ---------- buttons ---------- */
.rf-btn{
  display:inline-block; background:var(--rf-lime); color:var(--rf-black);
  font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase;
  padding:18px 30px; white-space:nowrap; border:0; cursor:pointer;
  transition:transform .25s ease, background .25s ease;
}
.rf-btn:hover{ background:var(--rf-white); transform:translateY(-3px); }
.rf-btn--sm{ padding:13px 22px; font-size:12px; }
.rf-btn--ghost{
  background:none; border:1px solid var(--rf-line-4); color:var(--rf-white); font-weight:600;
  transition:border-color .25s ease, color .25s ease, transform .25s ease;
}
.rf-btn--ghost:hover{ background:none; border-color:var(--rf-lime); color:var(--rf-lime); }

.rf-eyebrow{ font-family:var(--rf-mono); font-size:12px; letter-spacing:.24em; text-transform:uppercase; color:var(--rf-lime); }
.rf-h2{ font-weight:800; font-size:52px; line-height:.95; letter-spacing:-.035em; text-transform:uppercase; }

/* ---------- nav ---------- */
.rf-nav{ position:sticky; top:0; z-index:60; background:rgba(13,13,13,.92); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid var(--rf-line); }
.rf-nav-in{ max-width:var(--rf-container); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px var(--rf-gutter); }
.rf-nav-links{ display:flex; gap:30px; flex-wrap:wrap; justify-content:center; font-weight:600; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--rf-text-3); white-space:nowrap; }
.rf-nav-links a{ transition:color .25s ease; }
.rf-nav-links a:hover{ color:var(--rf-lime); }
.rf-burger{ display:none; background:none; border:0; padding:6px; cursor:pointer; flex-direction:column; gap:5px; }
.rf-burger span{ display:block; width:24px; height:2px; background:var(--rf-white); transition:transform .3s ease, opacity .3s ease, width .3s ease; }
.rf-burger span:nth-child(2){ width:16px; background:var(--rf-lime); }
.rf-menu{ position:fixed; inset:0; z-index:70; background:var(--rf-black); display:none; flex-direction:column; padding:26px 20px 40px; }
.rf-menu.rf-open{ display:flex; }
.rf-menu-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:40px; }
.rf-menu-close{ background:none; border:0; color:var(--rf-white); font-size:30px; line-height:1; cursor:pointer; padding:0 6px; }
.rf-menu a.rf-menu-link{ font-weight:800; font-size:34px; line-height:1.25; letter-spacing:-.03em; text-transform:uppercase; border-bottom:1px solid var(--rf-line); padding:14px 0; }
.rf-menu a.rf-menu-link:hover{ color:var(--rf-lime); }
.rf-menu .rf-btn{ margin-top:28px; text-align:center; }
body.rf-menu-open{ overflow:hidden; }

/* ---------- hero ---------- */
.rf-hero{ position:relative; min-height:calc(100vh - 78px); display:flex; align-items:flex-end; overflow:hidden; }
.rf-hero-img{ position:absolute; inset:0; background-color:var(--rf-black-2); background-size:cover; background-position:center 28%; background-repeat:no-repeat; animation:rf-zoom 28s ease-in-out infinite; filter:grayscale(.3) contrast(1.05); }
.rf-hero-fade{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,13,13,.6) 0%, rgba(13,13,13,.2) 40%, #0d0d0d 100%); }
.rf-hero-glow{ position:absolute; inset:0; background:radial-gradient(50% 45% at 82% 22%, rgba(204,255,51,.18), transparent 70%); animation:rf-glow 10s ease-in-out infinite; }
.rf-hero-in{ position:relative; width:100%; max-width:var(--rf-container); margin:0 auto; padding:120px var(--rf-gutter) 60px; }
.rf-hero .rf-eyebrow{ display:block; margin-bottom:22px; }
.rf-hero h1{ font-weight:800; font-size:clamp(64px, 8.5vw, 124px); line-height:.9; letter-spacing:-.035em; text-transform:uppercase; margin:0 0 28px; }
.rf-hero h1 em{ color:var(--rf-lime); font-style:normal; }
.rf-hero-row{ display:flex; align-items:flex-end; justify-content:space-between; gap:44px; flex-wrap:wrap; }
.rf-hero-row p{ max-width:52ch; font-size:18px; line-height:1.65; color:var(--rf-text-2); }
.rf-hero-cta{ display:flex; gap:12px; flex-wrap:wrap; }

/* ---------- marquee ---------- */
.rf-marquee{ background:var(--rf-lime); color:var(--rf-black); padding:12px 0; overflow:hidden; }
.rf-marquee-track{ display:flex; width:max-content; animation:rf-marquee 26s linear infinite; font-weight:700; font-size:13px; letter-spacing:.2em; text-transform:uppercase; }
.rf-marquee-track > span{ display:flex; gap:38px; padding-right:38px; }

/* ---------- stats 40/60/80 ---------- */
.rf-stats{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:1px; background:rgba(239,239,234,.14); }
.rf-stat{ background:var(--rf-black); padding:48px 34px 52px; transition:background .35s ease; }
.rf-stat:hover{ background:var(--rf-black-2); }
.rf-stat-n{ font-weight:800; font-size:92px; line-height:.85; letter-spacing:-.05em; color:var(--rf-lime); }
.rf-stat-t{ font-weight:700; font-size:20px; letter-spacing:.04em; text-transform:uppercase; margin:18px 0 8px; }
.rf-stat p{ font-size:15px; line-height:1.6; color:var(--rf-muted); }

/* ---------- pillars ---------- */
.rf-pillars{ padding-top:96px; padding-bottom:40px; }
.rf-sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap; margin-bottom:36px; }
.rf-sec-head p{ font-size:16px; line-height:1.6; color:var(--rf-muted); max-width:46ch; }
.rf-cards-3{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:18px; }
.rf-pillar{ border:1px solid var(--rf-line-2); border-top:4px solid var(--rf-lime); padding:30px 28px 36px; transition:transform .35s ease, background .35s ease; }
.rf-pillar:hover{ transform:translateY(-6px); background:var(--rf-black-3); }
.rf-pillar h3{ font-weight:700; font-size:24px; letter-spacing:-.01em; text-transform:uppercase; margin:0 0 10px; }
.rf-pillar p{ font-size:16px; color:var(--rf-text-6); }
.rf-swipe{ display:none; }

/* ---------- programs ---------- */
.rf-programs{ padding-top:56px; padding-bottom:96px; }
.rf-programs .rf-sec-head{ align-items:flex-end; gap:30px; margin-bottom:30px; }
.rf-programs .rf-h2{ margin-bottom:10px; }
.rf-programs .rf-sub{ font-size:15px; color:var(--rf-muted); }
.rf-chips{ display:flex; gap:8px; flex-wrap:wrap; }
.rf-chip{ padding:9px 16px; font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; border:1px solid rgba(239,239,234,.3); color:var(--rf-text-3); background:none; cursor:pointer; transition:background .25s ease, color .25s ease, border-color .25s ease; }
.rf-chip:hover{ border-color:var(--rf-lime); color:var(--rf-lime); }
.rf-chip.rf-active{ background:var(--rf-lime); color:var(--rf-black); border-color:var(--rf-lime); font-weight:700; }
.rf-plans{ display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:18px; align-items:stretch; }
.rf-plan{ border:1px solid var(--rf-line-2); padding:30px 28px; display:flex; flex-direction:column; gap:20px; transition:transform .35s ease, border-color .35s ease; }
.rf-plan:hover{ transform:translateY(-6px); border-color:rgba(204,255,51,.6); }
.rf-plan-head{ display:flex; flex-direction:column; gap:12px; }
.rf-plan-label{ font-weight:600; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--rf-muted-2); }
.rf-plan-price{ font-weight:800; font-size:40px; line-height:1; letter-spacing:-.04em; }
.rf-plan-rule{ height:1px; background:var(--rf-line-2); }
.rf-plan-list{ display:flex; flex-direction:column; gap:9px; font-size:15px; color:var(--rf-text-5); }
.rf-plan .rf-btn{ margin-top:auto; text-align:center; padding:14px; font-size:12px; letter-spacing:.14em; }
.rf-plan--ghost .rf-btn{ background:none; border:1px solid var(--rf-line-4); color:var(--rf-white); font-weight:700; }
.rf-plan--ghost .rf-btn:hover{ background:var(--rf-white); color:var(--rf-black); border-color:var(--rf-white); transform:none; }
.rf-plan--lime{ background:var(--rf-lime); color:var(--rf-black); border-color:var(--rf-lime); }
.rf-plan--lime:hover{ border-color:var(--rf-lime); }
.rf-plan--lime .rf-plan-label{ color:var(--rf-black); font-weight:700; }
.rf-plan--lime .rf-plan-rule{ background:rgba(13,13,13,.25); }
.rf-plan--lime .rf-plan-list{ color:var(--rf-black); font-weight:500; }
.rf-plan--lime .rf-btn{ background:var(--rf-black); color:var(--rf-lime); }
.rf-plan--lime .rf-btn:hover{ background:var(--rf-white); color:var(--rf-black); transform:none; }
.rf-plan[hidden]{ display:none; }

/* ---------- retreat ---------- */
.rf-retreat{ position:relative; overflow:hidden; min-height:560px; display:flex; align-items:center; }
.rf-retreat-img{ position:absolute; inset:0; background-color:#151a13; background-size:cover; background-position:center; background-repeat:no-repeat; animation:rf-zoom 30s ease-in-out infinite; }
.rf-retreat-fade{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(13,13,13,.95), rgba(13,13,13,.35)); }
.rf-retreat-glow{ position:absolute; inset:0; background:radial-gradient(45% 45% at 20% 40%, rgba(204,255,51,.14), transparent 70%); animation:rf-glow 11s ease-in-out infinite; }
.rf-retreat-in{ position:relative; width:100%; max-width:var(--rf-container); margin:0 auto; padding:80px var(--rf-gutter); }
.rf-retreat-box{ max-width:640px; }
.rf-retreat .rf-eyebrow{ display:block; margin-bottom:18px; }
.rf-retreat h2{ font-weight:800; font-size:clamp(44px, 5vw, 64px); line-height:.96; letter-spacing:-.035em; text-transform:uppercase; margin:0 0 18px; }
.rf-retreat p{ font-size:19px; line-height:1.6; color:var(--rf-text-2); margin:0 0 30px; }

/* ---------- coach ---------- */
.rf-coach{ padding-top:96px; padding-bottom:96px; }
.rf-coach-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:56px; align-items:center; }
.rf-coach-img{ aspect-ratio:4/5; background-color:var(--rf-black-2); background-size:cover; background-position:center; background-repeat:no-repeat; filter:grayscale(.2); }
.rf-coach .rf-eyebrow{ display:block; margin-bottom:18px; }
.rf-coach h2{ font-weight:800; font-size:48px; line-height:.98; letter-spacing:-.035em; text-transform:uppercase; margin:0 0 22px; }
.rf-coach-copy{ display:flex; flex-direction:column; gap:15px; font-size:17px; line-height:1.7; color:var(--rf-text-4); max-width:56ch; }
.rf-coach-avatar{ display:none; }
.rf-coach-name{ display:block; }

/* ---------- contact ---------- */
.rf-contact{ border-top:1px solid var(--rf-line); }
.rf-contact-in{ max-width:var(--rf-container); margin:0 auto; padding:96px var(--rf-gutter); display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:56px; }
.rf-contact h2{ font-weight:800; font-size:44px; line-height:.98; letter-spacing:-.03em; text-transform:uppercase; margin:0 0 14px; }
.rf-contact-lead{ font-size:16px; line-height:1.65; color:var(--rf-muted); margin:0 0 28px; max-width:44ch; }
.rf-social{ display:flex; gap:22px; flex-wrap:wrap; font-weight:600; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--rf-text-3); }
.rf-social a{ transition:color .25s ease; }
.rf-social a:hover{ color:var(--rf-lime); }
.rf-form{ display:flex; flex-direction:column; gap:12px; }
.rf-form input, .rf-form textarea{
  background:none; border:0; border-bottom:1px solid var(--rf-line-3); border-radius:0;
  padding:14px 2px; font-family:var(--rf-font); font-size:15px; color:var(--rf-white);
  width:100%; outline:none; transition:border-color .25s ease;
}
.rf-form textarea{ resize:vertical; min-height:96px; }
.rf-form input::placeholder, .rf-form textarea::placeholder{ color:var(--rf-muted-2); opacity:1; }
.rf-form input:focus, .rf-form textarea:focus{ border-bottom-color:var(--rf-lime); }
.rf-form .rf-btn{ align-self:flex-start; padding:16px 34px; font-size:12px; letter-spacing:.14em; }
.rf-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.rf-form-msg{ font-family:var(--rf-mono); font-size:12px; letter-spacing:.06em; margin-top:4px; }
.rf-form-msg.rf-ok{ color:var(--rf-lime); }
.rf-form-msg.rf-err{ color:#ff6b5e; }

/* ---------- footer ---------- */
.rf-footer{ border-top:1px solid rgba(239,239,234,.14); }
.rf-footer-in{ max-width:var(--rf-container); margin:0 auto; padding:28px var(--rf-gutter); display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.rf-footer .rf-logo-r{ font-size:22px; }
.rf-footer .rf-logo-r i{ width:9px; height:7px; }
.rf-footer-mark{ display:flex; align-items:center; gap:10px; font-weight:800; font-size:13px; letter-spacing:.02em; }
.rf-footer-tag{ font-weight:600; font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--rf-muted-2); }
.rf-footer-meta{ font-family:var(--rf-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--rf-muted-2); white-space:nowrap; }
.rf-footer-social{ display:none; }

/* ---------- mobile sticky CTA ---------- */
.rf-cta-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:55; display:none; gap:10px; align-items:center;
  background:rgba(13,13,13,.96); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border-top:1px solid var(--rf-line); padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  transform:translateY(110%); transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.rf-cta-bar.rf-show{ transform:none; }
.rf-cta-bar .rf-btn{ flex:1; text-align:center; padding:16px; font-size:12px; }
.rf-cta-bar .rf-btn:hover{ transform:none; }
.rf-wa{ width:52px; height:52px; flex:none; display:flex; align-items:center; justify-content:center; border:1px solid var(--rf-line-4); }
.rf-wa svg{ width:22px; height:22px; fill:var(--rf-lime); }

/* ---------- responsive ---------- */
@media (max-width:1023px){
  .rf-h2{ font-size:40px; }
  .rf-coach h2{ font-size:40px; }
  .rf-contact h2{ font-size:36px; }
  .rf-coach-grid{ gap:36px; }
  .rf-pillars{ padding-top:72px; }
  .rf-programs{ padding-bottom:72px; }
  .rf-coach{ padding-top:72px; padding-bottom:72px; }
  .rf-contact-in{ padding-top:72px; padding-bottom:72px; gap:36px; }
}

@media (max-width:860px){
  .rf-nav-links{ display:none; }
  .rf-nav .rf-btn--sm{ display:none; }
  .rf-burger{ display:flex; }
}

@media (max-width:639px){
  :root{ --rf-gutter:20px; }
  .rf-h2{ font-size:28px; letter-spacing:-.03em; }
  .rf-eyebrow{ font-size:10px; letter-spacing:.22em; }
  .rf-nav-in{ padding:12px var(--rf-gutter); }
  .rf-logo-r{ font-size:26px; }
  .rf-logo-r i{ width:11px; height:8px; }
  .rf-logo-word b{ font-size:14px; }
  .rf-logo-word span{ font-size:8px; letter-spacing:.4em; }

  .rf-hero{ min-height:0; height:430px; }
  .rf-hero-in{ padding:0 var(--rf-gutter) 26px; }
  .rf-hero .rf-eyebrow{ margin-bottom:12px; }
  .rf-hero h1{ font-size:46px; line-height:.92; margin:0 0 14px; }
  .rf-hero-row{ gap:18px; }
  .rf-hero-row p{ font-size:14px; line-height:1.55; }
  .rf-hero-cta{ width:100%; }
  .rf-hero-cta .rf-btn{ flex:1; text-align:center; padding:15px 18px; font-size:11px; }

  .rf-marquee{ padding:10px 0; }
  .rf-marquee-track{ font-size:11px; animation-duration:20s; }
  .rf-marquee-track > span{ gap:26px; padding-right:26px; }
  .rf-marquee-full{ display:none; }

  .rf-stats{ display:block; background:none; }
  .rf-stat{ display:flex; align-items:flex-start; gap:16px; padding:22px 0; border-bottom:1px solid var(--rf-line); }
  .rf-stat:hover{ background:none; }
  .rf-stat-n{ font-size:52px; width:78px; flex:none; }
  .rf-stat-body{ padding-top:4px; }
  .rf-stat-t{ font-size:15px; margin:0 0 6px; }
  .rf-stat p{ font-size:13px; }

  .rf-pillars{ padding-top:48px; padding-bottom:8px; }
  .rf-sec-head{ display:block; margin-bottom:20px; }
  .rf-sec-head p{ font-size:13px; margin-top:10px; max-width:none; }
  .rf-cards-3{
    display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory;
    margin-left:calc(var(--rf-gutter) * -1); margin-right:calc(var(--rf-gutter) * -1);
    padding:0 var(--rf-gutter) 6px; scrollbar-width:none;
  }
  .rf-cards-3::-webkit-scrollbar{ display:none; }
  .rf-pillar{ min-width:210px; scroll-snap-align:start; border-top-width:3px; padding:20px 18px 26px; }
  .rf-pillar:hover{ transform:none; }
  .rf-pillar h3{ font-size:17px; }
  .rf-pillar p{ font-size:13px; }
  .rf-swipe{ display:block; margin-top:10px; font-family:var(--rf-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--rf-muted-2); }

  .rf-programs{ padding-top:36px; padding-bottom:48px; }
  .rf-programs .rf-sub{ font-size:13px; margin-top:8px; }
  .rf-chips{ margin-top:16px; overflow-x:auto; scrollbar-width:none; }
  .rf-chips::-webkit-scrollbar{ display:none; }
  .rf-plans{ display:flex; flex-direction:column; gap:14px; }
  .rf-plan{ padding:22px 20px; gap:16px; }
  .rf-plan:hover{ transform:none; }
  .rf-plan-price{ font-size:32px; }
  .rf-plan-list{ font-size:13px; gap:7px; }

  .rf-retreat{ min-height:0; height:430px; }
  .rf-retreat-in{ padding:0 var(--rf-gutter) 32px; display:flex; align-items:flex-end; height:100%; }
  .rf-retreat-fade{ background:linear-gradient(180deg, rgba(13,13,13,.35) 0%, rgba(13,13,13,.9) 100%); }
  .rf-retreat h2{ font-size:34px; margin-bottom:12px; }
  .rf-retreat p{ font-size:14px; margin-bottom:20px; }
  .rf-retreat .rf-btn{ font-size:11px; padding:15px 22px; }

  .rf-coach{ padding-top:44px; padding-bottom:44px; }
  .rf-coach-grid{ display:block; }
  .rf-coach-img{ display:none; }
  .rf-coach-avatar{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }
  .rf-coach-avatar .rf-avatar{ width:74px; height:74px; flex:none; background-size:cover; background-position:center; filter:grayscale(.2); }
  .rf-coach-name{ display:none; }
  .rf-coach h2{ font-size:26px; margin:0; }
  .rf-coach-copy{ font-size:14px; line-height:1.65; gap:12px; }

  .rf-contact-in{ display:block; padding:44px var(--rf-gutter) 44px; }
  .rf-contact h2{ font-size:26px; }
  .rf-contact-lead{ font-size:14px; margin-bottom:20px; }
  .rf-form{ margin-top:28px; }
  .rf-form .rf-btn{ align-self:stretch; text-align:center; }

  .rf-footer-in{ padding:22px var(--rf-gutter) 100px; display:block; text-align:left; }
  .rf-footer-tag{ margin-top:12px; }
  .rf-footer-meta{ margin-top:8px; }
  .rf-footer-social{ display:flex; gap:18px; margin-top:16px; font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--rf-text-3); }
  .rf-footer-social a:hover{ color:var(--rf-lime); }

  .rf-cta-bar{ display:flex; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .rf-hero-img,.rf-retreat-img,.rf-hero-glow,.rf-retreat-glow,.rf-marquee-track{ animation:none !important; }
  [data-reveal]{ opacity:1 !important; animation:none !important; }
  .rf-cta-bar{ transition:none; }
}
