/* ==========================================================
   REHABILITA — DISEÑO FINAL BASADO EN MOCKUP APROBADO
   Capa final de presentación. Mantiene estructura y JS.
========================================================== */
:root{
  --rf-green:#154d36; --rf-green-2:#1e6548; --rf-deep:#0e3a2a;
  --rf-cream:#f7f2e8; --rf-cream-2:#fbf8f1; --rf-mint:#eef4ef;
  --rf-gold:#c3a353; --rf-text:#24372f; --rf-muted:#67746e;
  --rf-line:rgba(21,77,54,.12); --rf-shadow:0 20px 55px rgba(19,57,43,.10);
}
html{scroll-behavior:smooth;background:var(--rf-cream-2)}
body{background:var(--rf-cream-2)!important;color:var(--rf-text)!important;overflow-x:hidden}
.container{width:min(1180px,calc(100% - 40px))!important;margin-inline:auto}

/* HEADER / LOGO */
.site-header{background:rgba(255,255,255,.97)!important;border:0!important;box-shadow:0 1px 0 rgba(18,59,45,.08)!important;position:sticky;top:0;z-index:1000}
.nav-wrap{min-height:82px!important;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex!important;align-items:center!important;gap:11px!important;text-decoration:none!important;min-width:238px}
.brand-logo{width:52px!important;height:52px!important;max-width:none!important;object-fit:contain!important;filter:none!important}
.brand::after{content:"Fundación Terapéutica\A REHABILITA";white-space:pre;color:#789337;font:600 11px/1.15 "DM Sans",sans-serif;letter-spacing:.01em}
.main-nav{gap:22px!important;align-items:center!important}.main-nav>a:not(.nav-cta){font-size:.82rem!important;color:#2f3b36!important;font-weight:600!important}.nav-cta{padding:12px 18px!important;font-size:.81rem!important}

/* HERO — muy cercano al mockup */
.hero-carousel,.hero-premium,.hero-slide{min-height:600px!important;height:600px!important}
.hero-carousel{background:var(--rf-cream)!important;overflow:hidden!important}
.hero-premium-image{inset:0!important;background-position:center!important;background-size:cover!important;filter:saturate(.85) contrast(.94) brightness(1.03)!important}
.hero-premium-overlay{background:linear-gradient(90deg,rgba(249,246,238,.99) 0%,rgba(249,246,238,.95) 29%,rgba(249,246,238,.72) 45%,rgba(249,246,238,.22) 66%,rgba(14,58,42,.12) 100%)!important}
.hero-premium-content{height:600px!important;min-height:600px!important;display:flex!important;align-items:center!important;padding-top:0!important}
.hero-premium-text{width:min(560px,52vw)!important;max-width:560px!important;padding:10px 0 34px!important;position:relative;z-index:3}
.hero-premium-eyebrow{font-size:.69rem!important;letter-spacing:.15em!important;color:#879d43!important;font-weight:800!important}.hero-premium-line{width:55px!important;height:2px!important;background:var(--rf-gold)!important;margin:13px 0 20px!important}
.hero-premium-text h1,.hero-carousel-subtitle{font-family:"Playfair Display",serif!important;font-size:clamp(3rem,5.25vw,4.85rem)!important;line-height:1.03!important;letter-spacing:-.045em!important;color:var(--rf-green)!important;text-shadow:none!important;margin:0 0 20px!important}.hero-premium-text h1 em,.hero-carousel-subtitle em{color:var(--rf-green)!important;font-style:normal!important;font-weight:500!important}
.hero-premium-text>p{font-size:.95rem!important;line-height:1.66!important;color:#36483f!important;text-shadow:none!important;margin:0 0 8px!important;max-width:505px!important}.hero-premium-text>p+p{display:none!important}
.hero-premium-actions{margin-top:23px!important;gap:12px!important}.hero-btn{min-height:47px!important;padding:0 20px!important;border-radius:13px!important;font-size:.83rem!important}.hero-btn-primary{background:var(--rf-green)!important;border-color:var(--rf-green)!important;box-shadow:0 10px 22px rgba(21,77,54,.16)!important}.hero-btn-secondary{background:rgba(255,255,255,.86)!important;border:1px solid rgba(195,163,83,.65)!important;color:var(--rf-green)!important}
.hero-premium-note{display:inline-flex!important;margin-top:16px!important;padding:7px 11px!important;font-size:.75rem!important;background:rgba(255,255,255,.58)!important;color:var(--rf-green)!important;border-color:rgba(21,77,54,.08)!important}
.hero-carousel-arrow{width:42px!important;height:42px!important;border-radius:50%!important}.hero-carousel-prev{left:18px!important}.hero-carousel-next{right:18px!important}.hero-carousel-dots{bottom:18px!important}

/* PILARES FLOTANTES */
.hero-pillars{margin-top:-62px!important;padding:0 0 55px!important;background:linear-gradient(to bottom,transparent 0 62px,var(--rf-cream-2) 62px)!important}
.hero-pillars-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;max-width:1010px!important;margin:auto!important;background:rgba(255,255,255,.98)!important;border:1px solid rgba(21,77,54,.08)!important;border-radius:18px!important;box-shadow:0 22px 50px rgba(20,55,42,.12)!important;overflow:hidden!important}
.hero-pillar{min-height:160px!important;padding:28px 30px 25px!important;display:grid!important;grid-template-columns:54px 1fr!important;column-gap:16px!important;align-content:start!important;background:white!important}
.hero-pillar+.hero-pillar{border-left:1px solid var(--rf-line)!important}.hero-pillar-top{grid-row:1/4!important;width:52px;height:52px;border:1px solid rgba(21,77,54,.14);border-radius:50%;display:grid!important;place-items:center!important;color:var(--rf-green)!important;background:#fff!important}.hero-pillar-top i{font-size:1.4rem!important}.hero-pillar h3{grid-column:2!important;font-family:"Playfair Display",serif!important;font-size:1.14rem!important;line-height:1.12!important;margin:1px 0 9px!important;color:#1d3028!important}.hero-pillar h3 em{font-style:normal!important;color:#1d3028!important}.hero-pillar p{grid-column:2!important;font-size:.73rem!important;line-height:1.48!important;margin:0!important;color:#66736c!important}.hero-pillar-number,.hero-pillar-top .bi-arrow-up-right{display:none!important}

/* NUEVO BLOQUE NOSOTROS DEL MOCKUP */
.reference-about{padding:42px 0 68px;background:var(--rf-cream-2)}
.reference-about-grid{display:grid;grid-template-columns:.82fr 1.35fr;gap:66px;align-items:center}.reference-about-copy .eyebrow{font-size:.67rem!important;color:var(--rf-gold)!important}.reference-about-copy h2{font:500 clamp(2.1rem,3.4vw,3.45rem)/1.06 "Playfair Display",serif!important;color:#172b23!important;margin:12px 0 18px}.reference-about-copy p{font-size:.91rem;line-height:1.65;color:#57665f;margin-bottom:21px}.reference-about-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--rf-green);border:1px solid rgba(21,77,54,.45);border-radius:12px;padding:11px 16px;font-size:.79rem;font-weight:700}.reference-about-media{position:relative}.reference-about-media img{display:block;width:100%;height:350px;object-fit:cover;border-radius:20px;box-shadow:var(--rf-shadow)}.reference-about-badge{position:absolute;left:-34px;bottom:-22px;width:125px;min-height:118px;background:#fff;border:1px solid var(--rf-line);border-radius:18px;box-shadow:var(--rf-shadow);display:grid;place-content:center;text-align:center;padding:16px}.reference-about-badge i{font-size:1.75rem;color:#86a245;margin-bottom:8px}.reference-about-badge strong{font-size:.70rem;line-height:1.35;color:#33483f}

/* FRANJA DE AYUDA */
.support-strip{background:#edf3ee!important;border-block:1px solid rgba(21,77,54,.1)!important}.support-strip-inner{min-height:96px!important;max-width:970px!important}.support-strip-icon{border:0!important;background:transparent!important;color:var(--rf-gold)!important}.support-strip-copy strong{font-size:1.13rem!important}.support-strip-button{border-radius:12px!important;padding:12px 19px!important}

/* ESTADISTICAS */
.stats-section{padding:48px 0!important;background:linear-gradient(115deg,#2b694c,#164b35 70%,#103b2a)!important}.stats-heading{display:none!important}.stats-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important}.stat-item{background:transparent!important;border:0!important;border-radius:0!important;text-align:center!important;padding:15px 26px!important;min-height:140px!important}.stat-item+.stat-item{border-left:1px solid rgba(255,255,255,.12)!important}.stat-number{font-family:"Playfair Display",serif!important;font-size:3rem!important;color:#fff!important}.stat-item h3{color:#fff!important;font-size:.81rem!important;margin:6px 0!important}.stat-item p{color:rgba(255,255,255,.72)!important;font-size:.71rem!important;line-height:1.4!important;margin:0 auto!important;max-width:170px}

/* SECCIONES / CARDS */
.section{padding:75px 0!important}.programs{background:#fff!important}.therapies{background:var(--rf-cream-2)!important}.section-heading{text-align:center!important;margin-bottom:30px!important}.section-heading .eyebrow{font-size:.66rem!important;color:var(--rf-gold)!important}.section-heading h2{font-size:clamp(2rem,3vw,3rem)!important;line-height:1.08!important;margin-top:9px!important}.section-heading h2 br{display:none}.card-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:18px!important}.service-card{border-radius:16px!important;background:#fff!important;border:1px solid rgba(21,77,54,.09)!important;box-shadow:0 12px 32px rgba(17,54,40,.08)!important;overflow:hidden!important}.service-image{height:170px!important}.service-image img{width:100%;height:100%;object-fit:cover}.service-body{padding:21px 19px 22px!important;text-align:center!important}.service-body h3{font:600 1.03rem/1.2 "Playfair Display",serif!important;color:#1e3028!important}.service-body p{font-size:.75rem!important;line-height:1.55!important;color:#68756f!important}.info-button{border-radius:10px!important;color:var(--rf-green)!important}

/* FAQ más liviano */
.faq{background:#edf3ee!important}.faq h2,.faq h3,.faq-question{color:#18392b!important}.faq p,.faq-answer,.faq-answer p{color:#5d6d65!important}.faq .eyebrow{color:var(--rf-gold)!important}.faq-item{background:#fff!important;border-color:rgba(21,77,54,.09)!important;box-shadow:0 8px 22px rgba(17,54,40,.05)!important}

/* TESTIMONIOS */
.testimonials{background:#f8f4ec!important}.testimonials-heading{max-width:1000px;margin:auto!important}.testimonial{border-radius:17px!important;box-shadow:0 12px 30px rgba(17,54,40,.07)!important}.testimonial p{font-size:.86rem!important}.testimonial-number{color:var(--rf-gold)!important}

/* CONTACTO Y FOOTER */
.location-section{background:#fff!important;padding:70px 0!important}.footer-premium{background:linear-gradient(135deg,#10412e,#0c3426)!important;color:#fff!important}.footer-premium h2,.footer-premium h3,.footer-premium strong{color:#fff!important}.footer-premium p,.footer-premium a,.footer-premium span{color:rgba(255,255,255,.76)!important}

/* WHATSAPP FLOTANTE */
.whatsapp-float{position:fixed!important;right:22px!important;bottom:22px!important;width:58px!important;height:58px!important;border-radius:50%!important;background:#25D366!important;color:#fff!important;display:grid!important;place-items:center!important;z-index:1300!important;box-shadow:0 12px 28px rgba(0,0,0,.20)!important;border:3px solid #fff!important;text-decoration:none!important}.whatsapp-float i{font-size:1.72rem!important}.whatsapp-float:hover{transform:translateY(-3px) scale(1.04)!important}

/* PAGINAS INTERNAS */
.about-page-hero,.team-hero,.community-hero{min-height:470px!important}.about-page-hero h1,.team-hero h1,.community-hero h1{font-size:clamp(2.8rem,5vw,4.7rem)!important}.about-page,.team-intro,.professional-team,.workshop-team,.community-gallery-section{background:var(--rf-cream-2)!important}.team-card,.professional-card,.workshop-card,.community-card,.about-card,.about-value,.standard-card{border-radius:18px!important;border:1px solid rgba(21,77,54,.09)!important;box-shadow:0 14px 36px rgba(17,54,40,.08)!important;background:#fff!important}

@media(max-width:1000px){
 .main-nav{gap:14px!important}.main-nav>a:not(.nav-cta){font-size:.75rem!important}.brand{min-width:190px}.brand::after{font-size:9px}
 .hero-carousel,.hero-premium,.hero-slide,.hero-premium-content{height:560px!important;min-height:560px!important}.hero-premium-text{width:58vw!important}.hero-premium-text h1,.hero-carousel-subtitle{font-size:3.65rem!important}
 .card-grid{grid-template-columns:repeat(2,1fr)!important}.reference-about-grid{gap:38px}
}
@media(max-width:820px){
 .nav-wrap{min-height:72px!important}.brand-logo{width:46px!important;height:46px!important}.brand{min-width:auto}.brand::after{font-size:9px}.menu-toggle{display:grid!important}
 .main-nav{position:fixed!important;top:72px!important;left:16px!important;right:16px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:16px!important;background:#fff!important;border:1px solid var(--rf-line)!important;border-radius:16px!important;box-shadow:var(--rf-shadow)!important;transform:translateY(-18px)!important;opacity:0!important;pointer-events:none!important;transition:.25s!important}.main-nav.active{transform:none!important;opacity:1!important;pointer-events:auto!important}.main-nav>a{padding:12px 10px!important}.nav-cta{margin-top:8px;text-align:center}
 .hero-carousel,.hero-premium,.hero-slide,.hero-premium-content{height:610px!important;min-height:610px!important}.hero-premium-overlay{background:linear-gradient(90deg,rgba(249,246,238,.98) 0%,rgba(249,246,238,.91) 55%,rgba(249,246,238,.55) 100%)!important}.hero-premium-image{background-position:62% center!important}.hero-premium-text{width:68vw!important;max-width:520px!important}.hero-premium-text h1,.hero-carousel-subtitle{font-size:3.35rem!important}.hero-carousel-arrow{display:none!important}
 .hero-pillars{margin-top:-34px!important;background:linear-gradient(to bottom,transparent 0 34px,var(--rf-cream-2) 34px)!important}.hero-pillars-grid{grid-template-columns:1fr!important;max-width:650px!important}.hero-pillar{grid-template-columns:50px 1fr!important;min-height:auto!important}.hero-pillar+.hero-pillar{border-left:0!important;border-top:1px solid var(--rf-line)!important}
 .reference-about-grid{grid-template-columns:1fr!important}.reference-about-copy{max-width:620px}.reference-about-media img{height:320px}.reference-about-badge{left:18px}
 .support-strip-inner{grid-template-columns:44px 1fr!important;padding:18px 0!important}.support-strip-button{grid-column:2!important;justify-self:start}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.stat-item:nth-child(3){border-left:0!important}.stat-item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.12)!important}
}
@media(max-width:560px){
 .container{width:min(100% - 28px,1180px)!important}.brand-logo{width:42px!important;height:42px!important}.brand::after{content:"Fundación Terapéutica\A REHABILITA";font-size:8.5px}
 .hero-carousel,.hero-premium,.hero-slide,.hero-premium-content{height:650px!important;min-height:650px!important}.hero-premium-image{background-position:68% center!important}.hero-premium-overlay{background:linear-gradient(180deg,rgba(249,246,238,.95) 0%,rgba(249,246,238,.88) 59%,rgba(249,246,238,.72) 100%)!important}.hero-premium-content{align-items:flex-start!important;padding-top:76px!important}.hero-premium-text{width:100%!important;max-width:100%!important;padding-right:8px!important}.hero-premium-eyebrow{font-size:.59rem!important}.hero-premium-text h1,.hero-carousel-subtitle{font-size:clamp(2.75rem,13vw,3.6rem)!important;max-width:430px!important}.hero-premium-text>p{font-size:.88rem!important;max-width:390px!important}.hero-premium-actions{flex-direction:column!important;align-items:flex-start!important}.hero-btn{width:auto!important}.hero-premium-note{font-size:.68rem!important}
 .hero-pillars{padding-bottom:42px!important}.hero-pillars-grid{border-radius:16px!important}.hero-pillar{padding:22px 20px!important;grid-template-columns:44px 1fr!important}.hero-pillar-top{width:42px;height:42px}.hero-pillar p{font-size:.72rem!important}
 .reference-about{padding:26px 0 58px}.reference-about-grid{gap:27px}.reference-about-copy h2{font-size:2.35rem!important}.reference-about-media img{height:250px;border-radius:16px}.reference-about-badge{width:112px;min-height:104px;bottom:-18px}.support-strip-inner{display:grid!important;grid-template-columns:1fr!important;text-align:left}.support-strip-icon{display:none!important}.support-strip-button{grid-column:1!important}.stats-section{padding:30px 0!important}.stats-grid{grid-template-columns:1fr 1fr!important}.stat-item{padding:18px 9px!important}.stat-number{font-size:2.35rem!important}.stat-item p{font-size:.66rem!important}.card-grid{grid-template-columns:1fr!important;gap:16px!important}.service-image{height:205px!important}.section{padding:58px 0!important}.whatsapp-float{width:54px!important;height:54px!important;right:16px!important;bottom:16px!important}
}
