:root{--green:#0f5a3f;--green-2:#184f3a;--green-3:#0a3b2a;--sage:#7f9962;--gold:#c9a54d;--cream:#f8f4eb;--cream-2:#f0ece2;--ink:#17231f;--muted:#5c6963;--white:#fff;--shadow:0 20px 55px rgba(20,55,42,.12);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.55}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.shell{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{height:98px;background:rgba(255,255,255,.98);display:flex;align-items:center;position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(19,74,52,.08)}.nav-row{display:flex;align-items:center;gap:26px;height:100%}.brand{display:flex;align-items:center;gap:10px;min-width:215px}.brand img{width:48px;height:48px;object-fit:contain}.brand span{font-size:12px;color:#b39a55;line-height:1.1}.brand strong{display:block;color:#6b943a;font-size:17px;letter-spacing:.02em;margin-top:2px}.main-nav{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:13px;font-weight:600;color:#303d38}.main-nav a{position:relative;padding:10px 0}.main-nav a.active{color:var(--gold)}.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--gold)}.header-cta{display:flex;align-items:center;gap:10px;padding:14px 22px;border-radius:12px;background:var(--green-2);color:#fff;font-weight:700;font-size:13px;white-space:nowrap;box-shadow:0 9px 24px rgba(15,73,51,.16)}.menu-toggle{display:none;border:0;background:none;font-size:30px;color:var(--green-2)}
.hero{height:575px;position:relative;overflow:hidden;background:#d7d3c7}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease}.hero-slide.active{opacity:1;visibility:visible}.hero-bg,.hero-overlay{position:absolute;inset:0}.hero-bg{background-size:cover;background-position:center}.hero-bg-1{background-image:url('../img/hero/hero.jpg')}.hero-bg-2{background-image:url('../img/hero/spicologica.jpg')}.hero-bg-3{background-image:url('../img/hero/reinsercion.jpg')}.hero-overlay{background:linear-gradient(90deg,rgba(255,249,238,.98) 0%,rgba(255,249,238,.88) 30%,rgba(255,249,238,.43) 51%,rgba(12,43,32,.08) 72%,rgba(7,34,25,.24) 100%)}.hero-watermark{position:absolute;z-index:2;left:58%;top:50%;transform:translate(-50%,-50%);width:360px;max-width:30vw;height:auto;opacity:.13;filter:saturate(.9) contrast(.95);pointer-events:none;user-select:none;border-radius:50%;mix-blend-mode:multiply}.hero-inner{z-index:3}.hero-inner{position:relative;height:100%;display:flex;align-items:center}.hero-copy{width:49%;padding-bottom:38px}.hero-kicker{display:block;color:#af8d3e;text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:14px}.hero-rule{display:block;width:92px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(201,165,77,.15));margin-bottom:20px;position:relative}.hero-rule:before{content:"❧";position:absolute;left:0;top:-14px;background:transparent;color:var(--gold);font-size:16px}.hero-copy h1{font-family:var(--serif);font-size:64px;line-height:.98;letter-spacing:-.035em;color:#0a5137;margin:0 0 25px;text-shadow:0 1px 0 rgba(255,255,255,.75)}.hero-copy h1 em{font-style:normal;color:#124b37}.hero-copy p{font-size:17px;line-height:1.65;max-width:520px;color:#203c32;font-weight:500;margin:0 0 26px;text-shadow:0 1px 0 rgba(255,255,255,.55)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:50px;padding:0 23px;border-radius:12px;font-weight:700;font-size:14px;transition:.25s}.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 25px rgba(12,79,53,.18)}.btn-primary:hover{background:#0a4a34;transform:translateY(-2px)}.btn-light{background:rgba(255,255,255,.94);color:var(--green-2);border:1px solid rgba(201,165,77,.62)}.btn-light i{color:var(--gold)}.hero-arrow{position:absolute;top:48%;z-index:8;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:var(--green-2);font-size:24px;box-shadow:0 8px 25px rgba(0,0,0,.09);cursor:pointer}.hero-arrow.prev{left:22px}.hero-arrow.next{right:22px}.hero-dots{position:absolute;z-index:8;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px}.hero-dots button{width:8px;height:8px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.7);cursor:pointer}.hero-dots button.active{width:26px;border-radius:8px;background:var(--gold)}
.floating-pillars{position:relative;z-index:15;margin-top:-58px}.pillar-card{background:#fff;border-radius:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(3,1fr);padding:31px 42px;gap:0}.pillar-card article{display:grid;grid-template-columns:62px 1fr;gap:17px;padding:0 30px;border-right:1px solid #e5e4df}.pillar-card article:first-child{padding-left:0}.pillar-card article:last-child{border-right:0;padding-right:0}.pillar-icon{width:58px;height:58px;display:grid;place-items:center;color:var(--green);font-size:38px}.pillar-card h2{font-family:var(--serif);font-size:23px;line-height:1.06;margin:0 0 10px;font-weight:600;color:#1c2924}.pillar-card p{font-size:12px;line-height:1.6;color:#59655f;margin:0}.about-section{padding:95px 0 54px;background:linear-gradient(90deg,#fbf8f2 0%,#f7f3ea 100%)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:center}.eyebrow{color:#b28f42;text-transform:uppercase;letter-spacing:.09em;font-weight:700;font-size:11px}.about-copy h2,.section-heading h2,.story-card h2,.workshop-card h2,.final-message h2,.contact-box h3{font-family:var(--serif);font-weight:600;color:#18241f}.about-copy h2{font-size:42px;line-height:1.08;margin:12px 0 20px}.about-copy p{color:#4e5a55;font-size:14px;max-width:440px;margin-bottom:26px}.outline-link{display:inline-flex;align-items:center;gap:13px;border:1px solid var(--green-2);border-radius:10px;padding:11px 18px;font-size:12px;color:var(--green-2);font-weight:600}.about-photo-wrap{position:relative}.about-photo{width:100%;height:350px;object-fit:cover;border-radius:16px;box-shadow:0 10px 30px rgba(20,55,42,.08)}.about-badge{position:absolute;left:-48px;bottom:-18px;width:150px;min-height:148px;border-radius:26px;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.about-badge i{font-size:36px;color:#83a84f;margin-bottom:8px}.about-badge span{font-size:11px;line-height:1.45;font-weight:600;color:#405049}.help-strip{background:#edf0e8;border-top:1px solid rgba(20,70,50,.05);border-bottom:1px solid rgba(20,70,50,.05)}.help-row{min-height:92px;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:18px}.help-icon{font-size:35px;color:var(--gold)}.help-row strong{font-family:var(--serif);display:block;font-size:21px;font-weight:500;margin-bottom:2px}.help-row span{font-size:12px;color:#66736d}.help-row>a{background:var(--green);color:#fff;border-radius:11px;padding:13px 22px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:12px}.stats-band{background:linear-gradient(110deg,#356c4b,#0c452f);color:#fff;padding:38px 0 34px;position:relative;overflow:hidden}.stats-band:after{content:"";position:absolute;right:-100px;bottom:-100px;width:400px;height:260px;background:radial-gradient(ellipse,rgba(132,164,92,.2),transparent 65%)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1}.stats-grid article{text-align:center;border-right:1px solid rgba(255,255,255,.13);padding:0 18px}.stats-grid article:last-child{border-right:0}.stats-grid i{display:block;color:#d2b960;font-size:33px;margin-bottom:4px}.stat{font-family:var(--serif);font-size:48px;line-height:1;color:#fff}.stat b{font-weight:400}.stats-grid p{font-size:12px;line-height:1.4;color:rgba(255,255,255,.86);margin:9px 0 0}.programs-section{padding:67px 0 55px;background:#fff}.section-heading.centered{text-align:center}.section-heading h2{font-size:34px;margin:9px 0 0}.ornament{display:block;color:var(--gold);font-size:19px;margin:4px 0 16px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.program-card{position:relative;background:#fff;border:1px solid #e9e7e1;border-radius:15px;overflow:visible;box-shadow:0 12px 28px rgba(25,55,45,.07)}.program-card>img{width:100%;height:140px;object-fit:cover;border-radius:15px 15px 0 0}.program-icon{position:absolute;top:112px;left:50%;transform:translateX(-50%);width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #dfded7;box-shadow:0 5px 13px rgba(0,0,0,.07);font-size:27px;color:var(--green)}.program-body{text-align:center;padding:39px 22px 24px;min-height:235px}.program-body h3{font-family:var(--serif);font-size:21px;line-height:1.1;margin:8px 0 14px}.program-body p{font-size:12px;line-height:1.55;color:#606a65;min-height:76px;margin:0 0 12px}.program-body a{font-size:11px;color:#b08d3c;font-weight:700}.center-action{text-align:center;margin-top:28px}.btn.compact{height:43px;font-size:12px;border-radius:9px}.stories-workshops{padding:0 0 48px;background:#fff}.twin-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.story-card,.workshop-card{background:#f8f6f0;border-radius:17px;padding:27px 30px;min-height:235px;box-shadow:0 10px 30px rgba(27,54,46,.05)}.story-head,.workshop-head{display:flex;justify-content:space-between;align-items:flex-start}.story-card h2,.workshop-card h2{font-size:26px;margin:3px 0 0}.quote-mark{font-family:Georgia,serif;font-size:80px;line-height:.8;color:#ebe8de}.story-text{font-size:14px;color:#55615c;line-height:1.7;max-width:520px;margin:16px 0 21px}.story-person{display:flex;align-items:center;gap:10px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e7eee4;color:var(--green);font-weight:700}.story-person div:nth-child(2){display:flex;flex-direction:column}.story-person strong{font-size:12px}.story-person span{font-size:10px;color:#7c8581}.story-controls{margin-left:auto;display:flex;gap:7px}.story-controls button{width:31px;height:31px;border:0;border-radius:50%;background:#e4ebe2;color:var(--green);cursor:pointer}.workshop-head a{font-size:11px;color:var(--green);font-weight:700}.workshop-items{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:34px;text-align:center}.workshop-items a span{width:57px;height:57px;border-radius:50%;background:#fff;display:grid;place-items:center;margin:0 auto 9px;border:1px solid #e6e3da;color:var(--green);font-size:27px;box-shadow:0 5px 13px rgba(0,0,0,.04)}.workshop-items b{display:block;font-size:11px;line-height:1.25}.final-cta{background:linear-gradient(90deg,rgba(10,57,38,.8),rgba(12,76,48,.66)),url('../img/comunidad/comunidad4.jpeg') center/cover;padding:28px 0}.final-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px}.final-message h2{color:#fff;font-size:31px;line-height:1.25;margin:0 0 8px}.final-message p{color:#d7e2db;margin:0;font-size:13px}.contact-box{background:rgba(255,255,255,.96);padding:23px 29px;border-radius:16px;max-width:430px;margin-left:auto}.contact-box h3{font-size:21px;margin:0 0 6px}.contact-box p{font-size:11px;line-height:1.55;color:#59655f;margin:0 0 13px}.contact-actions{display:flex;gap:10px;flex-wrap:wrap}.contact-box a{display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#fff;border-radius:9px;padding:10px 16px;font-size:11px;font-weight:700}.contact-box .mail-link{background:#eef2ec;color:var(--green)}.footer{background:#073b29;color:#e6f0ea;padding:36px 0 16px}.footer-grid{display:grid;grid-template-columns:1.45fr .7fr .9fr 1.15fr;gap:48px}.footer .brand{min-width:auto;margin-bottom:14px}.footer .brand img{width:43px;height:43px}.footer .brand span{color:#d2c18a}.footer .brand strong{color:#fff;font-size:16px}.footer-brand>p{font-size:11px;max-width:290px;color:#c9d7cf}.footer h4{font-size:12px;margin:0 0 12px;color:#fff}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:6px}.footer a,.footer-grid>div>p{font-size:10px;color:#d1ddd6;margin:0}.socials{display:flex;gap:9px;margin-top:14px}.socials a{width:30px;height:30px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:26px;padding-top:13px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#b8cbc0}.whatsapp-float{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;font-size:31px;border:4px solid #fff;box-shadow:0 10px 25px rgba(0,0,0,.18);z-index:1100}
@media(max-width:1050px){.main-nav{gap:16px}.main-nav a{font-size:12px}.header-cta{padding:12px 15px}.hero-copy{width:58%}.about-grid{gap:60px}.pillar-card{padding:28px 25px}.pillar-card article{padding:0 20px}.program-grid{gap:14px}.footer-grid{gap:28px}}
@media(max-width:850px){.site-header{height:80px}.shell{width:min(100% - 32px,1180px)}.brand{min-width:0}.brand img{width:44px;height:44px}.brand span{display:none}.menu-toggle{display:block;margin-left:auto}.header-cta{display:none}.main-nav{position:absolute;top:80px;left:0;right:0;background:#fff;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 22px;box-shadow:0 16px 30px rgba(0,0,0,.1)}.main-nav.open{display:flex}.main-nav a{padding:12px;border-bottom:1px solid #eee}.main-nav a.active:after{display:none}.hero{height:610px}.hero-copy{width:72%}.hero-copy h1{font-size:53px}.floating-pillars{margin-top:-42px}.pillar-card{grid-template-columns:1fr;padding:15px 24px}.pillar-card article{grid-template-columns:54px 1fr;border-right:0;border-bottom:1px solid #eceae4;padding:18px 0}.pillar-card article:last-child{border-bottom:0}.about-grid{grid-template-columns:1fr;gap:38px}.about-copy{max-width:620px}.about-photo-wrap{width:90%;margin-left:auto}.stats-grid{grid-template-columns:repeat(2,1fr);row-gap:28px}.stats-grid article:nth-child(2){border-right:0}.program-grid{grid-template-columns:repeat(2,1fr)}.twin-grid{grid-template-columns:1fr}.final-grid{grid-template-columns:1fr;gap:24px}.contact-box{margin-left:0}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;row-gap:35px}.footer-grid>div:last-child{grid-column:1/-1}.help-row{grid-template-columns:45px 1fr}.help-row>a{grid-column:2}}
@media(max-width:600px){.shell{width:min(100% - 24px,1180px)}.hero{height:620px}.hero-bg{background-position:62% center}.hero-overlay{background:linear-gradient(90deg,rgba(255,249,238,.98),rgba(255,249,238,.91) 62%,rgba(255,249,238,.62))}.hero-inner{align-items:flex-end;padding-bottom:86px}.hero-copy{width:100%;padding:0}.hero-kicker{font-size:10px}.hero-copy h1{font-size:43px;max-width:390px}.hero-copy p{font-size:14px;max-width:390px}.hero-actions{gap:9px}.btn{height:46px;padding:0 16px;font-size:12px}.hero-arrow{width:40px;height:40px;top:44%}.hero-arrow.prev{left:10px}.hero-arrow.next{right:10px}.hero-dots{bottom:55px}.floating-pillars{margin-top:-25px}.pillar-card{border-radius:14px}.pillar-card h2{font-size:20px}.about-section{padding:65px 0 45px}.about-grid{gap:25px}.about-copy h2{font-size:34px}.about-photo-wrap{width:100%}.about-photo{height:260px}.about-badge{left:15px;bottom:-30px;width:125px;min-height:115px;border-radius:18px;padding:13px}.about-badge i{font-size:28px}.about-badge span{font-size:9px}.help-strip{margin-top:25px}.help-row{padding:18px 0;grid-template-columns:35px 1fr}.help-row strong{font-size:18px}.help-row>a{grid-column:1/-1;justify-self:start}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid article{padding:10px;border-right:0}.stat{font-size:40px}.programs-section{padding:52px 0 42px}.section-heading h2{font-size:29px}.program-grid{grid-template-columns:1fr;gap:20px}.program-card{max-width:390px;margin:auto;width:100%}.program-card>img{height:165px}.program-icon{top:137px}.story-card,.workshop-card{padding:22px 18px}.workshop-items{grid-template-columns:repeat(2,1fr);row-gap:22px}.final-message h2{font-size:27px}.contact-box{padding:20px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.whatsapp-float{width:54px;height:54px;right:16px;bottom:16px}.brand img{width:46px;height:46px}}

/* =========================================================
   TALLERES, TERAPIAS, TESTIMONIOS Y MODAL — V2
========================================================= */
.detail-programs{padding:78px 0;background:#fbfaf6}.therapies-detail{background:#eef4ef}.section-lead{max-width:650px;margin:10px auto 0;color:#66736d;font-size:14px;line-height:1.75}.detail-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}.therapies-grid{grid-template-columns:repeat(3,1fr);max-width:920px;margin-left:auto;margin-right:auto}.detail-card{background:#fff;border:1px solid rgba(25,78,59,.1);border-radius:18px;overflow:hidden;box-shadow:0 14px 38px rgba(23,64,50,.07);transition:transform .35s ease,box-shadow .35s ease}.detail-card:hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(23,64,50,.12)}.detail-card>img{display:block;width:100%;height:180px;object-fit:cover}.detail-card-body{padding:22px}.detail-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#b3914e;font-weight:700}.detail-card h3{font-family:'Playfair Display',serif;color:#173f31;font-size:23px;line-height:1.12;margin:7px 0 10px}.detail-card p{color:#68736f;font-size:13px;line-height:1.65;min-height:64px}.info-button{border:0;background:transparent;color:#1c5c45;font:700 12px 'DM Sans',sans-serif;padding:10px 0 0;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.info-button i{transition:transform .2s ease}.info-button:hover i{transform:translateX(4px)}
.testimonials-section{padding:72px 0 76px;background:#f7f2e8}.testimonials-heading-new{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.testimonials-heading-new h2{font:600 clamp(30px,3vw,42px)/1.1 'Playfair Display',serif;color:#173f31;max-width:650px;margin:6px 0 0}.testimonial-arrows{display:flex;gap:10px}.testimonial-arrows button{width:44px;height:44px;border-radius:50%;border:1px solid #c9d6cd;background:#fff;color:#1c5c45;cursor:pointer;font-size:18px;transition:.25s}.testimonial-arrows button:hover{background:#174c39;color:#fff;border-color:#174c39}.testimonials-viewport{overflow:hidden}.testimonials-track{display:flex;gap:22px;transition:transform .55s cubic-bezier(.22,.75,.3,1);will-change:transform}.testimonial-card{flex:0 0 var(--testimonial-card-width,calc((100% - 44px)/3));min-width:0;background:#fff;border:1px solid rgba(25,78,59,.09);border-radius:18px;padding:28px 26px;position:relative;box-shadow:0 12px 32px rgba(23,64,50,.06)}.testimonial-number{font:700 11px 'DM Sans',sans-serif;letter-spacing:.14em;color:#b7955c}.quote-icon{position:absolute;right:22px;top:17px;font-size:38px;color:#e5dccb}.testimonial-card>p{font:500 16px/1.75 'Playfair Display',serif;color:#2b4038;margin:26px 0 25px;min-height:112px}.testimonial-person{display:flex;align-items:center;gap:12px}.testimonial-person .avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e8f0ea;color:#1c5c45;font-weight:700}.testimonial-person strong,.testimonial-person span{display:block}.testimonial-person strong{font-size:12px;color:#203d33}.testimonial-person span{font-size:10px;color:#839089;margin-top:2px}.testimonial-dots{display:flex;justify-content:center;gap:7px;margin-top:24px}.testimonial-dots button{width:7px;height:7px;border:0;border-radius:50%;background:#b9c7be;padding:0;cursor:pointer;transition:.25s}.testimonial-dots button.active{width:24px;border-radius:999px;background:#1f6248}
body.modal-open{overflow:hidden}.program-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:.25s}.program-modal.open{opacity:1;visibility:visible}.program-modal-overlay{position:absolute;inset:0;background:rgba(8,30,23,.68);backdrop-filter:blur(6px)}.program-modal-box{position:relative;width:min(760px,100%);max-height:min(88vh,820px);overflow:auto;background:#fffdf9;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.3);padding:34px;transform:translateY(18px) scale(.98);transition:.3s}.program-modal.open .program-modal-box{transform:none}.program-modal-close{position:absolute;right:18px;top:18px;width:42px;height:42px;border-radius:50%;border:1px solid #dbe5de;background:#fff;color:#174c39;font-size:18px;cursor:pointer}.program-modal-header{display:flex;align-items:center;gap:17px;padding-right:48px}.program-modal-icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:#eaf2ec;color:#1c5c45;font-size:28px}.program-modal-category{display:block;color:#b7955c;font-weight:700;letter-spacing:.16em;font-size:10px;margin-bottom:5px}.program-modal-header h2{font:600 31px/1.12 'Playfair Display',serif;color:#173f31;margin:0}.program-modal-line{height:1px;background:linear-gradient(90deg,#c6a15f,rgba(198,161,95,0));margin:25px 0}.program-modal-description{font-size:15px;line-height:1.75;color:#5c6d65}.program-modal-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.program-modal-info{display:grid;grid-template-columns:42px 1fr;gap:12px;background:#f3f6f2;border:1px solid #e0e8e2;border-radius:16px;padding:17px}.program-modal-info-icon{width:40px;height:40px;border-radius:12px;background:#fff;display:grid;place-items:center;color:#b3914e;font-size:18px}.program-modal-info span,.program-modal-work-title span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#1c5c45;font-weight:800}.program-modal-info p{font-size:12px;line-height:1.55;color:#657169;margin:5px 0 0}.program-modal-work{margin-top:20px;border:1px solid #e4e8e3;border-radius:16px;padding:19px}.program-modal-work-title{display:flex;align-items:center;gap:8px;color:#1c5c45;margin-bottom:10px}.program-modal-work ul{padding-left:20px;margin:0;display:grid;gap:8px}.program-modal-work li{font-size:13px;color:#5d6c65;line-height:1.45}.program-modal-work li::marker{color:#b7955c}.program-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:18px;border-top:1px solid #e7ebe7}.program-modal-footer>span{font-size:12px;color:#607067}.program-modal-footer>span i{color:#b7955c;margin-right:7px}.program-modal-action{border:0;border-radius:999px;background:#174c39;color:#fff;padding:12px 20px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:8px}
@media(max-width:1020px){.detail-card-grid{grid-template-columns:repeat(2,1fr)}.therapies-grid{grid-template-columns:repeat(3,1fr)}.testimonial-card>p{min-height:130px}}
@media(max-width:760px){.detail-programs{padding:58px 0}.therapies-grid{grid-template-columns:1fr}.detail-card-grid{grid-template-columns:1fr 1fr}.testimonials-heading-new{align-items:center}.testimonials-heading-new h2{font-size:31px}.program-modal-info-grid{grid-template-columns:1fr}.program-modal-box{padding:27px 20px}.program-modal-header h2{font-size:25px}.program-modal-header{align-items:flex-start}.program-modal-icon{width:50px;height:50px;min-width:50px}.program-modal-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.detail-card-grid{grid-template-columns:1fr}.detail-card>img{height:190px}.detail-card p{min-height:0}.testimonials-heading-new{align-items:flex-start;flex-direction:column}.testimonial-arrows{align-self:flex-end}.testimonial-card>p{min-height:0}.program-modal{padding:10px}.program-modal-box{border-radius:18px;max-height:94vh}.program-modal-header{padding-right:38px}}

/* Marca de agua central del hero */
@media(max-width:850px){.hero-watermark{left:56%;top:43%;width:300px;max-width:46vw;opacity:.12}}
@media(max-width:600px){.hero-watermark{left:50%;top:38%;width:270px;max-width:68vw;opacity:.13}}
/* =====================================================
   LOGO HEADER DEFINITIVO
===================================================== */

.site-header .brand {
    min-width: 290px;
    gap: 14px;
}

.site-header .brand img.brand-logo {
    width: 82px !important;
    height: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;

    object-fit: contain;
    flex-shrink: 0;
}

/* TABLET */
@media (max-width: 1024px) {

    .site-header .brand {
        min-width: 245px;
    }

    .site-header .brand img.brand-logo {
        width: 72px !important;
        height: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
    }
}

/* CELULAR */
@media (max-width: 850px) {

    .site-header .brand {
        min-width: auto;
        gap: 8px;
    }

    .site-header .brand img.brand-logo {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
        max-width: 64px !important;
    }

    .site-header .brand span {
        display: block;
        font-size: 9px;
    }

    .site-header .brand strong {
        font-size: 15px;
    }
}

/* CELULARES PEQUEÑOS */
@media (max-width: 480px) {

    .site-header .brand img.brand-logo {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
    }

    .site-header .brand span {
        font-size: 8px;
    }

    .site-header .brand strong {
        font-size: 14px;
    }
}
/* =====================================================
   FOOTER - LOGO, TEXTOS Y REDES MÁS GRANDES
===================================================== */

/* Logo + nombre Fundación */
.footer .footer-brandmark {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
}

/* LOGO MÁS GRANDE */
.footer .footer-brandmark img {
    width: 105px !important;
    height: 105px !important;
    min-width: 105px !important;
    max-width: 105px !important;

    object-fit: contain;
    flex-shrink: 0;
}

/* Fundación Terapéutica */
.footer .footer-brandmark span {
    display: flex;
    flex-direction: column;

    font-size: 18px !important;
    line-height: 1.2;

    color: #d9bd72;
    font-weight: 500;
}

/* REHABILITA */
.footer .footer-brandmark strong {
    display: block;

    margin-top: 3px;

    font-size: 28px !important;
    line-height: 1;

    color: #ffffff;
    font-weight: 800;
    letter-spacing: .5px;
}

/* Descripción bajo el logo */
.footer .footer-brand > p {
    max-width: 480px;

    font-size: 17px !important;
    line-height: 1.7;

    color: rgba(255, 255, 255, .88);
}


/* =====================================================
   REDES SOCIALES
===================================================== */

.footer .socials {
    display: flex;
    align-items: center;
    gap: 14px;

    margin-top: 24px;
}

/* Tamaño general */
.footer .socials a {
    width: 52px !important;
    height: 52px !important;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    font-size: 23px !important;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

/* INSTAGRAM */
.footer .socials a[aria-label="Instagram"] {
    color: #ffffff !important;
    border: none !important;

    background:
        radial-gradient(
            circle at 30% 107%,
            #fdf497 0%,
            #fdf497 5%,
            #fd5949 45%,
            #d6249f 60%,
            #285AEB 90%
        );
}

/* FACEBOOK */
.footer .socials a[aria-label="Facebook"] {
    color: #ffffff !important;
    background: #1877F2 !important;
    border: none !important;
}

/* WHATSAPP */
.footer .socials a[aria-label="WhatsApp"] {
    color: #ffffff !important;
    background: #25D366 !important;
    border: none !important;
}

/* Hover */
.footer .socials a:hover {
    transform: translateY(-4px) scale(1.08);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .25);
}


/* =====================================================
   RESPONSIVE - TABLET
===================================================== */

@media (max-width: 1024px) {

    .footer .footer-brandmark img {
        width: 92px !important;
        height: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
    }

    .footer .footer-brandmark span {
        font-size: 17px !important;
    }

    .footer .footer-brandmark strong {
        font-size: 25px !important;
    }
}


/* =====================================================
   RESPONSIVE - CELULAR
===================================================== */

@media (max-width: 768px) {

    .footer .footer-brandmark {
        gap: 13px;
    }

    .footer .footer-brandmark img {
        width: 82px !important;
        height: 82px !important;
        min-width: 82px !important;
        max-width: 82px !important;
    }

    .footer .footer-brandmark span {
        font-size: 15px !important;
    }

    .footer .footer-brandmark strong {
        font-size: 23px !important;
    }

    .footer .footer-brand > p {
        font-size: 16px !important;
        line-height: 1.65;
    }

    .footer .socials a {
        width: 48px !important;
        height: 48px !important;
        font-size: 21px !important;
    }
}


/* =====================================================
   CELULARES PEQUEÑOS
===================================================== */

@media (max-width: 420px) {

    .footer .footer-brandmark img {
        width: 74px !important;
        height: 74px !important;
        min-width: 74px !important;
        max-width: 74px !important;
    }

    .footer .footer-brandmark span {
        font-size: 14px !important;
    }

    .footer .footer-brandmark strong {
        font-size: 21px !important;
    }
}

/* =====================================================
   FOOTER - TEXTOS UN POCO MÁS GRANDES
===================================================== */

/* Títulos: Enlaces, Programas, Contacto */
.footer-grid > div:not(.footer-brand) h4 {
    font-size: 20px !important;
    line-height: 1.3;
    margin-bottom: 24px;
}

/* Enlaces */
.footer-grid > div:not(.footer-brand) > a {
    font-size: 16.5px !important;
    line-height: 1.55;
}

/* Textos de contacto */
.footer-grid > div:not(.footer-brand) > p {
    font-size: 16.5px !important;
    line-height: 1.55;
}

/* Iconos de ubicación, teléfono y correo */
.footer-grid > div:not(.footer-brand) i {
    font-size: 17px;
}

/* CELULAR */
@media (max-width: 768px) {

    .footer-grid > div:not(.footer-brand) h4 {
        font-size: 19px !important;
        margin-bottom: 18px;
    }

    .footer-grid > div:not(.footer-brand) > a,
    .footer-grid > div:not(.footer-brand) > p {
        font-size: 16px !important;
    }
}

/* =====================================================
   AJUSTE FINAL RESPONSIVE: HERO + FOOTER
   Solo estabiliza estas dos zonas; no altera el resto.
===================================================== */

/* ---------- HERO: tablet ---------- */
@media (max-width: 850px) {
    .hero {
        height: clamp(560px, calc(100svh - 80px), 610px) !important;
        min-height: 560px;
    }

    .hero-slide,
    .hero-inner {
        height: 100%;
    }

    .hero-inner {
        align-items: flex-start !important;
        padding-top: 58px;
        padding-bottom: 72px;
    }

    .hero-copy {
        width: min(72%, 560px) !important;
        padding-bottom: 0 !important;
        margin: 0 !important;
    }

    .hero-watermark {
        left: 64% !important;
        top: 45% !important;
        width: clamp(210px, 33vw, 300px) !important;
        max-width: none !important;
        transform: translate(-50%, -50%) !important;
        opacity: .12 !important;
    }

    .hero-dots {
        bottom: 24px !important;
    }
}

/* ---------- HERO: móvil ---------- */
@media (max-width: 600px) {
    .hero {
        height: clamp(545px, calc(100svh - 80px), 620px) !important;
        min-height: 545px;
    }

    .hero-bg {
        background-position: 62% center;
    }

    .hero-inner {
        align-items: flex-start !important;
        padding-top: clamp(42px, 7vh, 58px) !important;
        padding-bottom: 72px !important;
    }

    .hero-copy {
        width: 100% !important;
        max-width: 430px;
        padding: 0 34px 0 0 !important;
        margin: 0 !important;
    }

    .hero-kicker {
        margin-bottom: 10px;
    }

    .hero-rule {
        margin-bottom: 16px;
    }

    .hero-copy h1 {
        font-size: clamp(36px, 10.8vw, 43px) !important;
        line-height: 1.02 !important;
        margin-bottom: 18px !important;
    }

    .hero-copy p {
        font-size: 14px !important;
        line-height: 1.55 !important;
        margin-bottom: 20px !important;
        max-width: 390px;
    }

    .hero-actions {
        gap: 9px;
    }

    .hero-watermark {
        left: 50% !important;
        top: 56% !important;
        width: clamp(175px, 49vw, 215px) !important;
        max-width: none !important;
        transform: translate(-50%, -50%) !important;
        opacity: .11 !important;
    }

    .hero-arrow {
        top: 48% !important;
    }

    .hero-dots {
        bottom: 24px !important;
    }
}

/* ---------- HERO: teléfonos angostos/cortos ---------- */
@media (max-width: 420px) {
    .hero {
        height: clamp(530px, calc(100svh - 80px), 590px) !important;
        min-height: 530px;
    }

    .hero-inner {
        padding-top: 38px !important;
        padding-bottom: 66px !important;
    }

    .hero-copy {
        padding-right: 28px !important;
    }

    .hero-copy h1 {
        font-size: clamp(34px, 10.4vw, 40px) !important;
    }

    .hero-copy p {
        font-size: 13.5px !important;
        line-height: 1.5 !important;
    }

    .btn {
        height: 44px !important;
        padding-inline: 14px !important;
        font-size: 11.5px !important;
    }

    .hero-watermark {
        top: 57% !important;
        width: clamp(165px, 48vw, 195px) !important;
    }
}

/* ---------- FOOTER: tablet ---------- */
@media (max-width: 850px) {
    .footer-grid {
        grid-template-columns: 1.25fr 1fr !important;
        gap: 34px 28px !important;
    }

    .footer-grid > div:first-child,
    .footer-grid > div:last-child {
        grid-column: 1 / -1;
    }

    .footer .footer-brand > p {
        max-width: 560px;
    }

    .footer-bottom {
        flex-wrap: wrap;
    }
}

/* ---------- FOOTER: móvil ---------- */
@media (max-width: 600px) {
    .footer {
        padding-left: 0;
        padding-right: 0;
    }

    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }

    .footer-grid > div,
    .footer-grid > div:first-child,
    .footer-grid > div:last-child {
        grid-column: 1 !important;
        min-width: 0;
    }

    .footer .footer-brandmark {
        align-items: center;
        gap: 12px !important;
    }

    .footer .footer-brandmark img {
        width: 78px !important;
        height: 78px !important;
        min-width: 78px !important;
        max-width: 78px !important;
    }

    .footer .footer-brandmark span {
        display: flex !important;
        font-size: 14px !important;
    }

    .footer .footer-brandmark strong {
        font-size: 21px !important;
    }

    .footer .footer-brand > p,
    .footer-grid > div:not(.footer-brand) > a,
    .footer-grid > div:not(.footer-brand) > p {
        overflow-wrap: anywhere;
    }

    .footer-grid > div:not(.footer-brand) h4 {
        margin-bottom: 12px !important;
    }

    .footer-bottom {
        align-items: flex-start;
        gap: 8px !important;
        font-size: 11px !important;
        line-height: 1.5;
    }
}

@media (max-width: 420px) {
    .footer .footer-brandmark img {
        width: 72px !important;
        height: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
    }

    .footer .footer-brandmark span {
        font-size: 13px !important;
    }

    .footer .footer-brandmark strong {
        font-size: 20px !important;
    }

    .footer .socials a {
        width: 46px !important;
        height: 46px !important;
        font-size: 20px !important;
    }
}
/* Solo la palabra "gratuita" del hero */
.gratuita-destacada {
    position: relative;
    display: inline-block;

    font-size: 1.28em !important;
    font-weight: 700;
    font-style: italic;

    color: #b7955c !important;

    text-shadow:
        0 4px 18px rgba(183, 149, 92, 0.22);

    animation: gratuitaEntrada 0.8s ease both;
}

/* Línea dorada debajo */
.gratuita-destacada::after {
    content: "";
    position: absolute;

    left: 0;
    bottom: -7px;

    width: 100%;
    height: 3px;

    border-radius: 10px;

    background: linear-gradient(
        90deg,
        transparent 0%,
        #b7955c 15%,
        #d6bd8d 50%,
        #b7955c 85%,
        transparent 100%
    );

    transform-origin: center;
    animation: gratuitaLinea 1s 0.2s ease both;
}

@keyframes gratuitaEntrada {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes gratuitaLinea {
    from {
        transform: scaleX(0);
        opacity: 0;
    }

    to {
        transform: scaleX(1);
        opacity: 1;
    }
}

/* Celular */
@media (max-width: 768px) {
    .gratuita-destacada {
        font-size: 1.22em !important;
    }

    .gratuita-destacada::after {
        height: 2px;
        bottom: -5px;
    }
}
/* =====================================================
   BOTÓN CONTACTO DESTACADO - HERO
===================================================== */

.hero-contact-btn {
    min-height: 58px !important;
    padding: 0 28px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: .2px;

    border-radius: 8px;

    box-shadow:
        0 10px 28px rgba(11, 40, 34, .20);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

/* Ícono WhatsApp */
.hero-contact-btn .bi-whatsapp {
    font-size: 25px !important;
    line-height: 1;
}

/* Hover PC */
.hero-contact-btn:hover {
    transform: translateY(-3px);

    box-shadow:
        0 14px 34px rgba(11, 40, 34, .28);
}


/* =========================
   TABLET
========================= */

@media (max-width: 1024px) {

    .hero-contact-btn {
        min-height: 56px !important;
        padding: 0 24px !important;
        font-size: 16.5px !important;
    }

    .hero-contact-btn .bi-whatsapp {
        font-size: 24px !important;
    }
}


/* =========================
   CELULAR
========================= */

@media (max-width: 768px) {

    .hero-contact-btn {
        min-height: 54px !important;

        padding: 0 22px !important;

        font-size: 16px !important;
        font-weight: 800 !important;

        gap: 9px;
    }

    .hero-contact-btn .bi-whatsapp {
        font-size: 23px !important;
    }
}


/* =========================
   CELULAR PEQUEÑO
========================= */

@media (max-width: 420px) {

    .hero-contact-btn {
        min-height: 52px !important;
        padding: 0 19px !important;

        font-size: 15.5px !important;
    }

    .hero-contact-btn .bi-whatsapp {
        font-size: 22px !important;
    }
}
/* =====================================================
   BOTÓN SECUNDARIO HERO - MISMO TAMAÑO QUE CONTACTO
===================================================== */

.hero-secondary-btn {
    min-height: 58px !important;
    padding: 0 28px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: .2px;

    border-radius: 8px;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background-color .25s ease;
}

.hero-secondary-btn .bi-play-circle-fill {
    font-size: 23px !important;
    line-height: 1;
}

.hero-secondary-btn:hover {
    transform: translateY(-3px);
}


/* TABLET */
@media (max-width: 1024px) {

    .hero-secondary-btn {
        min-height: 56px !important;
        padding: 0 24px !important;
        font-size: 16.5px !important;
    }

    .hero-secondary-btn .bi-play-circle-fill {
        font-size: 22px !important;
    }
}


/* CELULAR */
@media (max-width: 768px) {

    .hero-secondary-btn {
        min-height: 54px !important;
        padding: 0 22px !important;

        font-size: 16px !important;
        font-weight: 800 !important;

        gap: 9px;
    }

    .hero-secondary-btn .bi-play-circle-fill {
        font-size: 21px !important;
    }
}


/* CELULAR PEQUEÑO */
@media (max-width: 420px) {

    .hero-secondary-btn {
        min-height: 52px !important;
        padding: 0 19px !important;
        font-size: 15.5px !important;
    }

    .hero-secondary-btn .bi-play-circle-fill {
        font-size: 20px !important;
    }
}
/* =====================================================
   HERO MOBILE - BOTONES MÁS EQUILIBRADOS
===================================================== */

@media (max-width: 768px) {

    .hero-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;

        width: 100% !important;
        margin-top: 24px !important;
    }

    .hero-contact-btn,
    .hero-secondary-btn {
        width: 100% !important;
        min-width: 0 !important;

        height: 52px !important;
        min-height: 52px !important;

        padding: 0 10px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 7px !important;

        font-size: 14px !important;
        font-weight: 800 !important;

        white-space: nowrap !important;

        border-radius: 10px !important;
    }

    /* WhatsApp */
    .hero-contact-btn .bi-whatsapp {
        font-size: 21px !important;
        flex-shrink: 0;
    }

    /* Icono segundo botón */
    .hero-secondary-btn .bi-play-circle-fill {
        font-size: 18px !important;
        flex-shrink: 0;
    }
}


/* Celulares más pequeños */
@media (max-width: 390px) {

    .hero-actions {
        gap: 6px !important;
    }

    .hero-contact-btn,
    .hero-secondary-btn {
        height: 49px !important;
        min-height: 49px !important;

        padding: 0 7px !important;

        font-size: 13px !important;

        gap: 5px !important;
    }

    .hero-contact-btn .bi-whatsapp {
        font-size: 19px !important;
    }

    .hero-secondary-btn .bi-play-circle-fill {
        font-size: 17px !important;
    }
}

/* =====================================================
   HERO - DISTRIBUCIÓN GENERAL
===================================================== */

.hero-copy {
    position: relative;
    z-index: 3;
}

.hero-copy p {
    max-width: 720px;
}

.hero-actions {
    margin-top: 30px;
}


/* =====================================================
   ESCRITORIO
===================================================== */

@media (min-width: 1025px) {

    .hero-copy {
        padding-left: 28px;
    }

    .hero-prev,
    .hero-arrow.prev {
        left: 18px !important;
    }

    .hero-next,
    .hero-arrow.next {
        right: 18px !important;
    }
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1024px) {

    .hero-copy {
        padding-left: 18px;
        padding-right: 18px;
    }

    .hero-copy p {
        max-width: 620px;
    }

    .hero-actions {
        margin-top: 24px;
    }
}


/* =====================================================
   MÓVIL
===================================================== */

@media (max-width: 768px) {

    .hero-copy {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .hero-copy p {
        max-width: 100% !important;
    }

    .hero-actions {
        margin-top: 22px !important;
    }

    /* flechas más afuera del texto */
    .hero-prev,
    .hero-arrow.prev {
        left: 10px !important;
    }

    .hero-next,
    .hero-arrow.next {
        right: 10px !important;
    }
}


/* =====================================================
   MÓVIL PEQUEÑO
===================================================== */

@media (max-width: 430px) {

    .hero-copy {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .hero-actions {
        margin-top: 18px !important;
    }

    .hero-prev,
    .hero-arrow.prev {
        left: 6px !important;
    }

    .hero-next,
    .hero-arrow.next {
        right: 6px !important;
    }
}
/* =====================================================
   HERO MOBILE - NAVEGACIÓN TÁCTIL
===================================================== */

@media (max-width: 768px) {

    /* En móvil navegamos deslizando con el dedo */
    .hero-prev,
    .hero-next,
    .hero-arrow {
        display: none !important;
    }

    /* Mantener los puntos visibles */
    .hero-dots {
        display: flex !important;
        z-index: 20;
    }
}